Coq is an interactive proof assistant for the development of mathematical theories and formally certified software. It is based on a theory called the calculus of inductive constructions, a variant of type theory.
This book provides a pragmatic introduction to the development of proofs and certified programs using Coq. With its large collection of examples and exercises it is an invaluable tool for researchers, students, and engineers interested in formal methods and the development of zero-fault software.
1 A Brief Overview.- 2 Types and Expressions.- 3 Propositions and Proofs.- 4 Dependent Products, or Pandora's Box.- 5 Everyday Logic.- 6 Inductive Data Types.- 7 Tactics and Automation.- 8 Inductive Predicates.- 9* Functions and Their Specifications.- 10 * Extraction and Imperative Programming.- 11 * A Case Study.- 12 * The Module System.- 13 ** Infinite Objects and Proofs.- 14 ** Foundations of Inductive Types.- 15 * General Recursion.- 16 * Proof by Reflection.- Insertion Sort.- References.- Coq and Its Libraries.- Examples from the Book.