The Coq Proof Assistant
Creators
Contributors
Project leader:
Project manager:
Project members:
- Yves Bertot1
- Frédéric Besson1
- Ana Borges2
- Ali Caglayan3
- Tej Chajed4
- Cyril Cohen1
- Pierre Corbineau
- Pierre Courtieu5
- Maxime Dénès1
- Jim Fehrle
- Julien Forest
- Emilio Jesús Gallego Arias1
- Gaëtan Gilbert1
- Georges Gonthier1
- Benjamin Grégoire
- Jason Gross4
- Hugo Herbelin1
- Vincent Laporte1
- Olivier Laurent6
- Assia Mahboubi1
- Kenji Maillard1
- Guillaume Melquiond1
- Clément Pit-Claudel4
- Pierre Roux7
- Kazuhiko Sakaguchi8
- Vincent Semeria
- Michael Soegtrop
- Arnaud Spiwack
- Enrico Tassi1
- Laurent Théry1
- Anton Trunov9
- Xia Li-yao10
- Théo Zimmermann1
Related persons:
- 1. Inria
- 2. University of Barcelona
- 3. University of Gothenburg
- 4. MIT
- 5. CNAM
- 6. ENS Lyon
- 7. Onera
- 8. University of Tsukuba
- 9. Zilliqa
- 10. University of Pennsylvania
- 11. Nomadic Labs
- 12. Université Toulouse III - Paul Sabatier
- 13. KTH
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, the Verified Software Toolchain for verification of C programs, or the Iris framework for concurrent separation logic), the formalization of mathematics (e.g. the full formalization of the Feit-Thompson theorem, or homotopy type theory), and teaching.
Coq version 8.16 integrates changes to the Coq kernel and performance improvements along with a few new features. We highlight some of the most impactful changes here:
-
The guard checker (see
Guarded
) now ensures strong normalization under any reduction strategy. -
Irrelevant terms (in the
SProp
sort) are now squashed to a dummy value during conversion, fixing a subject reduction issue and making proof conversion faster. -
Introduction of reversible coercions, which allow coercions relying on meta-level resolution such as type-classes or canonical structures. Also allow coercions that do not fullfill the uniform inheritance condition.
-
Generalized rewriting support for rewriting with
Type
-valued relations and inType
contexts, using theClasses.CMorphisms
library. -
Added the boolean equality scheme command for decidable inductive types.
-
Added a Print Notation command.
-
Incompatibilities in name generation for Program obligations,
eauto
treatment of tactic failure levels, use ofident
in notations, parsing of module expressions. -
Standard library reorganization and deprecations.
-
Improve the treatment of standard library numbers by
Extraction
.
See the Changes in 8.16.0 section below for the detailed list of changes, including potentially breaking changes marked with Changed. Coq's reference manual for 8.16, documentation of the 8.16 standard library and developer documentation of the 8.16 ML API are also available.
Ali Caglayan, Emilio Jesús Gallego Arias, Gaëtan Gilbert and Théo Zimmermann worked on maintaining and improving the continuous integration system and package building infrastructure.
Erik Martin-Dorel has maintained the Coq Docker images that are used in many Coq projects for continuous integration.
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 Coq Platform has been maintained by Michael Soegtrop, with help from Karl Palmskog, Enrico Tassi and Théo Zimmermann.
Our current maintainers are Yves Bertot, Frédéric Besson, Ana Borges, Ali Caglayan, Tej Chajed, Cyril Cohen, Pierre Corbineau, Pierre Courtieu, Maxime Dénès, Jim Fehrle, Julien Forest, Emilio Jesús Gallego Arias, Gaëtan Gilbert, Georges Gonthier, Benjamin Grégoire, Jason Gross, Hugo Herbelin, Vincent Laporte, Olivier Laurent, Assia Mahboubi, Kenji Maillard, Guillaume Melquiond, Pierre-Marie Pédrot, Clément Pit-Claudel, Pierre Roux, Kazuhiko Sakaguchi, Vincent Semeria, Michael Soegtrop, Arnaud Spiwack, Matthieu Sozeau, Enrico Tassi, Laurent Théry, Anton Trunov, Li-yao Xia and Théo Zimmermann. See the Coq Team face book page for more details.
The 57 contributors to the 8.16 versions are Tanaka Akira, Frédéric Besson, Martin Bodin, Ana Borges, Ali Caglayan, Minki Cho, Cyril Cohen, Juan Conejero, "stop-cran", Adrian Dapprich, Maxime Dénès, Stéphane Desarzens, Christian Doczkal, Andrej Dudenhefner, Andres Erbsen, Jim Fehrle, Emilio Jesús Gallego Arias, Attila Gáspár, Paolo G. Giarrusso, Gaëtan Gilbert, Rudi Grinberg, Jason Gross, Hugo Herbelin, Wolf Honore, Jasper Hugunin, Bart Jacobs, Pierre Jouvelot, Ralf Jung, Grant Jurgensen, Jan-Oliver Kaiser, Wojciech Karpiel, Thomas Klausner, Ethan Kuefner, Fabian Kunze, Olivier Laurent, Yishuai Li, Erik Martin-Dorel, Guillaume Melquiond, Jean-Francois Monin, Pierre-Marie Pédrot, Rudy Peterson, Clément Pit-Claudel, Seth Poulsen, Ramkumar Ramachandra, Pierre Roux, Takafumi Saikawa, Kazuhiko Sakaguchi, Gabriel Scherer, Vincent Semeria, Kartik Singhal, Michael Soegtrop, Matthieu Sozeau, Enrico Tassi, Laurent Théry, Anton Trunov, Li-yao Xia and Théo Zimmermann.
The Coq community at large helped improve this new version via the GitHub issue and pull request system, the coq-club@inria.fr mailing list, the Discourse forum and the Coq Zulip chat.
Version 8.16's development spanned 6 months from the release of Coq 8.15.0. Pierre-Marie Pédrot is the release manager of Coq 8.16. This release is the result of 356 merged PRs, closing 99 issues.
Files
coq-8.16.0-reference-manual.pdf
Files
(11.8 MB)
Name | Size | Download all |
---|---|---|
md5:2df2847bda6401fb6953e347569063c7
|
4.4 MB | Preview Download |
md5:25d03ce14d34448d6015f5dbc6f2ed2a
|
7.4 MB | Download |
Additional details
Related works
- Is identical to
- https://github.com/coq/coq/tree/V8.16.0 (URL)