An Introduction to Programming and Proving with Dependent Types in Coq
DOI:
https://doi.org/10.6092/issn.1972-5787/1978Abstract
Computer proof assistants vary along many dimensions. Among the mature implementations, the Coq system is distinguished by two key features. First, we have support for programming with dependent types in the tradition of type theory, based on dependent function types and inductive type families. Second, we have a domain-specific language for coding correct-by-construction proof automation. Though the Coq user community has grown quite large, neither of the aspects I highlight is widely used. In this tutorial, I aim to provide a pragmatic introduction to both, showing how they can bring significant improvements in productivity.Downloads
Published
2010-12-15
How to Cite
Chlipala, A. (2010). An Introduction to Programming and Proving with Dependent Types in Coq. Journal of Formalized Reasoning, 3(2), 1–93. https://doi.org/10.6092/issn.1972-5787/1978
Issue
Section
Articles
License
Copyright (c) 2010 Adam Chlipala
Copyrights and publishing rights of all the texts on this journal belong to the respective authors without restrictions.
This journal is licensed under a Creative Commons Attribution 3.0 Unported License (full legal code).
See also our Open Access policy