Coq is a proof assistant based on the calculus of constructions. It is used to formalize proofs in a variety of fields, including mathematics and programming languages. Cocorico is the Coq wiki.
You need to install Coq and either CoqIDE (recommended for beginners) or Proof General (recommended for emacs users).
- Installation of the Coq system:
- Configuration of CoqIDE
- Configuration of Proof General (to be completed)
Coq official resources
- The Coq Reference Manual
- The Coq Standard Library
- The Coq Discourse Forum
- The Coq-Club mailing list
- The Coq bug tracker
- The Coq gitter (web chat)
- The Coq FAQ
- The Coq IRC channel:
Coq books and tutorials
- Volume 1: Logical Foundations (by Benjamin C. Pierce et al.)
- Volume 2: Programming Language Foundations (by Benjamin C. Pierce et al.)
- Volume 3: Verified Functional Algorithms (by Andrew W. Appel)
- Volume 4: QuickChick (by Leonidas Lampropoulos and Benjamin C. Pierce)
- Certified Programming with Dependent Types, by Adam Chlipala
- Coq'Art, by Yves Bertot and Pierre Castéran
- Mathematical Components book, by Assia Mahboubi and Enrico Tassi
- Formal Reasoning About Programs, by Adam Chlipala
- Programs and Proofs, by Ilya Sergey
- Computer Arithmetic and Formal Proofs, by Sylvie Boldo and Guillaume Melquiond
- Program Logics for Certified Compilers, by Andrew W. Appel et al.
- Teaching Coq and teaching with Coq
- The Contributing Guide
- Coq Working Groups
- The next Coq Working Group
- Ideas for the Google Summer of Code 2016
- Wishes for Coq (and a specific page of wishes for unification)
- Wishes for Graphical User Interfaces (and a specific page for CoqIDE wishes)
- A development tutorial
- Development frequently asked questions
- List of maintainers
- Archive of discussions
- Setting up your development environment
- State of the continuous integration infrastructure
Coq Users and Developers Workshops
Pointers to existing projects involving Coq.
A non-exhaustive list of Coq libraries that are being used by other people than the developers.
- Mathematical Components: formalization of mathematical theories, focusing in particular on group theory.
- Flocq: formalization of floating-point computations.
- TLC: a non-constructive alternative to Coq's standard library.
- ExtLib: a collection of theories and plugins that may be useful in other Coq developments.
- CoLoR: a library on rewriting theory, lambda-calculus and termination, with sub-libraries on common data structures extending the Coq standard library (especially on vectors)
- Coq-std++: an extended "Standard Library" for Coq
(to be completed)
Coq plugins and tools
(section to be updated)