Credits: versions 7
The version V7 is a new implementation started in September 1999 by
Jean-Christophe Filliâtre. This is a major revision with respect to
the internal architecture of the system. The Coq version 7.0 was
distributed in March 2001, version 7.1 in September 2001, version
7.2 in January 2002 and version 7.3 in May 2002.
Jean-Christophe Filliâtre designed the architecture of the new system, he
introduced a new representation for environments and wrote a new kernel
for type-checking terms. His approach was to use functional
data-structures in order to get more sharing, to prepare the addition
of modules and also to get closer to a certified kernel.
Hugo Herbelin introduced a new structure of terms with local
definitions. He introduced ``qualified'' names, wrote a new
pattern-matching compilation algorithm and designed a more compact
logical consistency check algorithm. He contributed to the
simplification of Coq internal structures and the optimisation of the
system. He added basic tactics for forward reasoning and coercions
in patterns.
David Delahaye introduced a new language for tactics. General tactics
using pattern-matching on goals and context can directly be written
from the Coq toplevel. He also provided primitives for the design
of user-defined tactics in Caml.
Micaela Mayero contributed the library on real numbers.
Olivier Desmettre extended this library with axiomatic
trigonometric functions, square, square roots, finite sums, Chasles
property and basic plane geometry.
Jean-Christophe Filliâtre and Pierre Letouzey redesigned a new
extraction procedure from Coq terms to Caml or Haskell programs. This new
extraction procedure, unlike the one implemented in previous version
of Coq is able to handle all terms in the Calculus of Inductive
Constructions, even involving universes and strong elimination. P.
Letouzey adapted user contributions to extract ML programs when it was
sensible.
Jean-Christophe Filliâtre wrote coqdoc
, a documentation
tool for Coq libraries usable from version 7.2.
Bruno Barras improved the reduction algorithms efficiency and
the confidence level in the correctness of Coq critical type-checking
algorithm.
Yves Bertot designed the SearchPattern and
SearchRewrite tools and the support for the pcoq interface
(http://www-sop.inria.fr/lemme/pcoq/).
Micaela Mayero and David Delahaye introduced a decision tactic for commutative fields.
Christine Paulin changed the elimination rules for empty and singleton
propositional inductive types.
Loïc Pottier developed a tactic solving linear inequalities on real numbers.
Pierre Crégut developed a new version based on reflexion of the Omega
decision tactic.
Claudio Sacerdoti Coen designed an XML output for the Coq
modules to be used in the Hypertextual Electronic Library of
Mathematics (HELM cf http://www.cs.unibo.it/helm).
A library for efficient representation of finite sets by binary trees
contributed by Jean Goubault was integrated in the basic theories.
The development was coordinated by C. Paulin.
Many discussions within the Démons team and the LogiCal project
influenced significantly the design of Coq especially with J.
Chrzaszcz, J. Courant, P. Courtieu, J. Duprat, J. Goubault, A. Miquel,
C. Marché, B. Monate and B. Werner.
Intensive users suggested improvements of the system :
Y. Bertot, L. Pottier, L. Théry , P. Zimmerman from INRIA
C. Alvarado, P. Crégut, J.-F. Monin from France Telecom R & D.
Orsay, May. 2002
Hugo Herbelin & Christine Paulin