EN FR
EN FR


Section: New Software and Platforms

Coq

The Coq Proof Assistant

Keywords: Proof - Certification - Formalisation

Functional Description

Coq provides both a dependently-typed functional programming language and a logical formalism, which, altogether, support the formalisation of mathematical theories and the specification and certification of properties of programs. Coq also provides a large and extensible set of automatic or semi-automatic proof methods. Coq's programs are extractible to OCaml, Haskell, Scheme, ...

  • Participants: Benjamin Gregoire, Enrico Tassi, Bruno Barras, Yves Bertot, Pierre Boutillier, Xavier Clerc, Pierre Courtieu, Maxime Dénès, Stephane Glondu, Vincent Gross, Hugo Herbelin, Pierre Letouzey, Assia Mahboubi, Julien Narboux, Jean-Marc Notin, Christine Paulin-Mohring, Pierre-Marie Pedrot, Loic Pottier, Matthias Puech, Yann Regis-Gianas, François Ripault, Matthieu Sozeau, Arnaud Spiwack, Pierre-Yves Strub, Benjamin Werner, Guillaume Melquiond and Jean-Christophe Filliatre

  • Partners: CNRS - ENS Lyon - Université Paris-Diderot - Université Paris-Sud

  • Contact: Matthieu Sozeau

  • URL: http://coq.inria.fr/

The Marelle team, in collaboration with the pi.r2 team, plays an important role in the development of Coq. During this year, we contributed to the 8.6 version of Coq, released in December. As the release manager, Maxime Dénès led the implementation of a time-based release process, aiming at shorter and more predicitible release cycles. We successfully transitioned to 10-month cycles and hope to soon move to 6-month cycles, making it easier for users to benefit from the latest improvements.

At a more detailed level, members of the Marelle team attended the Coq developer meetings (organized in Paris by Maxime Dénès and Matthieu Sozeau) and contributed to the development of Coq concerning bug fixes for virtual machine execution (Benjamin Grégoire and Maxime Dénès), cleaning up the API for plug-in developers (Matej Košík), improving the State Transaction Machine (Enrico Tassi), setting up a package index based on OPAM (Enrico Tassi), introducing a system to discuss Coq Enhancement Proposals (Enrico Tassi), and implementing a new configurable system of warnings (Maxime Dénès).

We supervise of an engineer working at MIT on questions related to efficient proof construction and proof development environments, in cooperation with researchers from the pi.r2 team. The collaboration with MIT was also an occasion to reflect on the licence framework governing collaborations around the Coq system.

We also prepared the set-up of a consortium to gather intensive users and contributors to the development of Coq. This was an occasion to work with the promotors of the InriaSoft structure which is expected to host the consortium in the long run.