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 Corbineau5
- Pierre Courtieu6
- Maxime Dénès1
- Andres Erbsen7
- Jim Fehrle
- Julien Forest8
- Emilio Jesús Gallego Arias1
- Gaëtan Gilbert1
- Georges Gonthier1
- Benjamin Grégoire1
- Jason Gross9
- Hugo Herbelin1
- Vincent Laporte1
- Olivier Laurent10
- Assia Mahboubi1
- Kenji Maillard1
- Erik Martin-Dorel11
- Guillaume Melquiond1
- Pierre-Marie Pédrot1
- Clément Pit-Claudel12
- Pierre Roux13
- Kazuhiko Sakaguchi1
- Vincent Semeria14
- Michael Soegtrop
- Arnaud Spiwack15
- Nicolas Tabareau1
- Enrico Tassi1
- Laurent Théry1
- Anton Trunov16
- Xia Li-yao17
Related persons:
- 1. Inria
- 2. University of Barcelona
- 3. University of Gothenburg
- 4. VMware
- 5. Université Grenoble Alpes
- 6. CNAM
- 7. MIT
- 8. ENSIEE/CNAM
- 9. MIRI
- 10. ENS Lyon
- 11. Université Toulouse III - Paul Sabatier
- 12. EPFL
- 13. Onera
- 14. Finastra
- 15. Tweag
- 16. Zilliqa
- 17. University of Edinburgh
- 18. Télécom Paris
- 19. Formal Land
- 20. 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.17 integrates a soundness fix to the Coq kernel along with a few new features and a host of improvements to the Ltac2 language and libraries. We highlight some of the most impactful changes here:
-
Fixed a logical inconsistency due to
vm_compute
in presence of side-effects in the enviroment (e.g. usingBack
orFail
). -
It is now possible to dynamically enable or disable notations.
-
Support multiple scopes in
Arguments
andBind Scope
. -
The tactics chapter of the manual has many improvements in presentation and wording. The documented grammar is semi-automatically checked for consistency with the implementation.
-
Fixes to the
auto
andeauto
tactics, to respect hint priorities and the documented use ofsimple apply
. This is a potentially breaking change. -
New Ltac2 APIs, deep pattern-matching with
as
clauses and handling of literals, support for record types and preterms. -
Move from
:>
to::
syntax for declaring typeclass fields as instances, fixing a confusion with declaration of coercions. -
Standard library improvements.
-
While Coq supports OCaml 5, users are likely to experience slowdowns ranging from +10% to +50% compared to OCaml 4. Moreover, the
native_compute
machinery is not available when Coq is compiled with OCaml 5. Therefore, OCaml 5 support should still be considered experimental and not production-ready.
See the Changes in 8.17.0 section below for the detailed list of changes, including potentially breaking changes marked with Changed. Coq's reference manual for 8.17, documentation of the 8.17 standard library and developer documentation of the 8.17 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.
Maxime Dénès, Paolo G. Giarrusso, Huỳnh Trần Khanh, and Laurent Théry have maintained the VsCoq extension for VS Code.
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, Pierre Roux, 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, Andres Erbsen, 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 45 contributors to the 8.17 version are: Reynald Affeldt, Tanaka Akira, Lasse Blaauwbroek, Stephan Boyer, Ali Caglayan, Cyril Cohen, Maxime Dénès, Andrej Dudenhefner, Andres Erbsen, František Farka, Jim Fehrle, Paolo G. Giarrusso, Gaëtan Gilbert, Jason Gross, Alban Gruin, Stefan Haan, Hugo Herbelin, Wolf Honore, Bodo Igler, Jerry James, Emilio Jesús Gallego Arias, Ralf Jung, Jan-Oliver Kaiser, Wojciech Karpiel, Chantal Keller, Thomas Klausner, Olivier Laurent, Yishuai Li, Guillaume Melquiond, Karl Palmskog, Sudha Parimala, Pierre-Marie Pédrot, Valentin Robert, Pierre Roux, Julin S, Dmitry Shachnev, Michael Soegtrop, Matthieu Sozeau, Naveen Srinivasan, Sergei Stepanenko, Karolina Surma, Enrico Tassi, 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.17's development spanned 5 months from the release of Coq 8.16.0. Théo Zimmermann is the release manager of Coq 8.17. This release is the result of 414 merged PRs, closing 105 issues.
Files
coq-8.17.1-reference-manual.pdf
Files
(12.0 MB)
Name | Size | Download all |
---|---|---|
md5:4500726754361a19bfb0f9b971ecd88e
|
4.5 MB | Preview Download |
md5:f433e678395650d7a083923479bbb3c9
|
7.5 MB | Download |
Additional details
Related works
- Is identical to
- Software: https://github.com/coq/coq/tree/V8.17.1 (URL)