The Coq Proof Assistant
Creators
Contributors
Editor:
Others:
- Michael D. Adams
- Guillaume Allais
- Helge Bahmann
- Langston Barrett
- Guillaume Bertholon1
- Frédéric Besson2
- Simon Boulier
- Michele Caci
- Tej Chajed3
- Arthur Charguéraud2
- Cyril Cohen2
- Frédéric Dabrowski4
- Arthur Azevedo de Amorim5
- Maxime Dénès2
- Nikita Eshkeev
- Jim Fehrle
- Emilio Jesús Gallego Arias2
- Paolo G. Giarrusso6
- Gaëtan Gilbert2
- Georges Gonthier2
- Jason Gross3
- Samuel Gruetter3
- Armaël Guéneau7
- Hugo Herbelin2
- Florent Hivert8
- Jasper Hugunin5
- Shachar Itzhaky9
- Jan-Oliver Kaiser10
- Robbert Krebbers6
- Vincent Laporte2
- Olivier Laurent11
- Samuel Lelièvre8
- Nicholas Lewycky
- Yishuai Li12
- Jose Fernando Lopez Fernandez
- Andreas Lynge7
- Kenji Maillard2
- Erik Martin-Dorel13
- Guillaume Melquiond2
- Alexandre Moine
- Olivier Nash
- Wojciech Nawrocki
- Antonio Nikishaev
- Clément Pit-Claudel3
- Lars Rasmusson
- Robert Rand14
- Talia Ringer15
- JP Rodi
- Pierre Roux16
- Kazuhiko Sakaguchi17
- Vincent Semeria
- Michael Soegtrop
- spanjel
- Enrico Tassi2
- Laurent Théry2
- James R. Wilcox15
- Xia Li-yao12
- Théo Zimmermann2
Project leader:
- 1. École Normale Supérieure
- 2. Inria
- 3. MIT
- 4. Université d'Orléans
- 5. Carnegie Mellon University
- 6. TUDelft
- 7. Aarhus University
- 8. Université Paris-Sud
- 9. Technion
- 10. MPI-SWS
- 11. ENS Lyon
- 12. University of Pennsylvania
- 13. Université Toulouse III - Paul Sabatier
- 14. University of Maryland
- 15. University of Washington
- 16. Onera
- 17. University of Tsukuba
Description
Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the certification of properties of programming languages (e.g. the CompCert compiler certification project, or the Bedrock verified low-level programming library), the formalization of mathematics (e.g. the full formalization of the Feit-Thompson theorem or homotopy type theory) and teaching.
The main changes brought by Coq version 8.11 are:
- Ltac2, a new tactic language for writing more robust larger scale tactics, with built-in support for datatypes and the multi-goal tactic monad.
- Primitive floats are integrated in terms and follow the binary64 format of the IEEE 754 standard, as specified in the
Coq.Float.Floats
library. - Cleanups of the section mechanism, delayed proofs and further restrictions of template polymorphism to fix soundness issues related to universes.
- New unsafe flags to disable locally guard, positivity and universe checking. Reliance on these flags is always printed by
Print Assumptions
. - Fixed bugs of
Export
andImport
that can have a significant impact on user developments (common source of incompatibility!). - New interactive development method based on
vos
interface files, allowing to work on a file without recompiling the proof parts of their dependencies. - New
Arguments
annotation for bidirectional type inference configuration for reference (e.g. constants, inductive) applications. - New refine attribute for
Instance
can be used instead of the removedRefine Instance Mode
. - Generalization of the
under
andover
tactics of SSReflect to arbitrary relations. - Revision of the
Coq.Reals
library, its axiomatisation and instances of the constructive and classical real numbers.
Additionally, while the omega
tactic is not yet deprecated in this version of Coq, it should soon be the case and we already recommend users to switch to lia
in new proof scripts (see also the warning message in the corresponding chapter).
The dev/doc/critical-bugs
file documents the known critical bugs of Coq and affected releases. See the Changes in 8.11+beta1 section and following sections for the detailed list of changes, including potentially breaking changes marked with Changed.
Coq's documentation is available at https://coq.github.io/doc/v8.11/api (documentation of the ML API), https://coq.github.io/doc/v8.11/refman (reference manual), and https://coq.github.io/doc/v8.11/stdlib (documentation of the standard library).
Maxime Dénès, Emilio Jesús Gallego Arias, Gaëtan Gilbert, Michael Soegtrop and Théo Zimmermann worked on maintaining and improving the continuous integration system and package building infrastructure.
The OPAM repository for Coq packages has been maintained by Guillaume Claret, Karl Palmskog, Matthieu Sozeau and Enrico Tassi with contributions from many users. A list of packages is available at https://coq.inria.fr/opam/www/.
The 61 contributors to this version are Michael D. Adams, Guillaume Allais, Helge Bahmann, Langston Barrett, Guillaume Bertholon, Frédéric Besson, Simon Boulier, Michele Caci, Tej Chajed, Arthur Charguéraud, Cyril Cohen, Frédéric Dabrowski, Arthur Azevedo de Amorim, Maxime Dénès, Nikita Eshkeev, Jim Fehrle, Emilio Jesús Gallego Arias, Paolo G. Giarrusso, Gaëtan Gilbert, Georges Gonthier, Jason Gross, Samuel Gruetter, Armaël Guéneau, Hugo Herbelin, Florent Hivert, Jasper Hugunin, Shachar Itzhaky, Jan-Oliver Kaiser, Robbert Krebbers, Vincent Laporte, Olivier Laurent, Samuel Lelièvre, Nicholas Lewycky, Yishuai Li, Jose Fernando Lopez Fernandez, Andreas Lynge, Kenji Maillard, Erik Martin-Dorel, Guillaume Melquiond, Alexandre Moine, Oliver Nash, Wojciech Nawrocki, Antonio Nikishaev, Pierre-Marie Pédrot, Clément Pit-Claudel, Lars Rasmusson, Robert Rand, Talia Ringer, JP Rodi, Pierre Roux, Kazuhiko Sakaguchi, Vincent Semeria, Michael Soegtrop, Matthieu Sozeau, spanjel, Claude Stolze, Enrico Tassi, Laurent Théry, James R. Wilcox, Xia Li-yao, Théo Zimmermann
Many power users helped to improve the design of the new features via the issue and pull request system, the Coq development mailing list, the coq-club@inria.fr mailing list or the Discourse forum. It would be impossible to mention exhaustively the names of everybody who to some extent influenced the development.
Version 8.11 is the sixth release of Coq developed on a time-based development cycle. Its development spanned 3 months from the release of Coq 8.10. Pierre-Marie Pédrot is the release manager and maintainer of this release, assisted by Matthieu Sozeau. This release is the result of 2000+ commits and 300+ PRs merged, closing 75+ issues.
Files
coq-8.11.0-reference-manual.pdf
Files
(9.7 MB)
Name | Size | Download all |
---|---|---|
md5:80fbc2d40cad1fcec8eb54bdc207ee45
|
3.1 MB | Preview Download |
md5:0ac754df5d6db454a349d956e100affb
|
6.6 MB | Download |
Additional details
Related works
- Is identical to
- https://github.com/coq/coq/tree/V8.11.0 (URL)
- Is previous version of
- https://github.com/coq/coq/tree/V8.11.1 (URL)
- https://github.com/coq/coq/tree/V8.11.2 (URL)