@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Name: Coq
Keywords: Calculus of Inductive Constructions, Proof Assistant
Description:
Semantics: Calculus of Inductive Constructions, a non-conservative
extension of the Calculus of Constructions with inductive types.
Deductive machinery: Goal-directed tactics theorem-prover, with a set
of predefined tactics, including an Auto tactic which tries to apply
previous lemmas declared as hints.
Dynamics: You can mix developments in two interfaces, one tty-like,
the other with X-windows interface, allowing quick application of tactics
by clicking in menus, etc. Undo mechanism. Search of relevant lemmas.
Persistence: Developments in a high-level language called the Mathematical
Vernacular can be saved in files and replayed. Proof states may be saved
during a session. Automatic log of proof session available on request.
Program extraction: The logic mixes a constructive logic and a classical
logic. The system automatically extracts the constructive contents of proofs
as an executable ML program, which may be compiled in our CAML implementation.
This permits the development of programs provably consistent with their
specification. The descriptive sub-language of the Mathematical Vernacular
may be seen as a high-level specification language, combining higher-order
predicate calculus, PROLOG-like predicate definitions, and recursive
functional definitions.
Coq is an implementation of the Calculus of Inductive Constructions, under
development at INRIA Rocquencourt and ENS Lyon.
Contact persons: Use the Coq hotline coq@margaux.inria.fr for any problem
with Coq. A users mailing list is being set-up for actual users. If you
want to be put on this mailing list, ask Gerard.Huet@inria.fr,
with a short description of your area of interest.
Pragmatics: Well-adapted to inductive reasoning, powerful type system,
program extraction are the main advantages. Weak in libraries, equality
manipulation. No decision procedure. Currently no modular theories.
Documentation: A 180 pages Reference Manual is available as an INRIA technical
report, and is distributed with the system under dvi and ps forms.
Applications: Main application has been developing specifications for
extracting various sorting and graph-manipulation algorithms. Also
Warshall's algorithm, streams manipulation programs, tautology checker.
Various case-studies have been developed: Schroeder-Berstein theorem,
Tarski's theorem, Higman's lemma, Newman's lemma, Gilbreath's card trick.
All these developments are available with the distribution.
See also
Gerard Huet, Amy Felty, B. Werner, H Herbelin, and Gilles Dowek,
``Presenting the system Coq, version 5.6'',
in Proceedings of the Second Workshop on Logical Frameworks, Edinburgh 1991
Huet, Plotkin, and Jones (eds.)
Where-to-get-it:
Coq is freely available by ftp as follows:
ftp nuri.inria.fr
or ftp 128.93.1.26
with Name anonymous and Password your email address.
Then do
binary
cd INRIA/coq
get README
get coq.tar.Z
quit
Now uncompress coq.tar.Z, untar coq, and follow the README instructions.
Resource requirements:
Coq runs in CAML V3.1, also available on the same machine in directory
INRIA/caml/V3.1. Versions are currently available for the following machines:
Sun3, Sun4, Decstation, SONY68k, SONYR3000, Apollo, and Macintosh/AUX.
You need 16Mbytes to run Coq comfortably.
In order to run the X interface, you need X-windows or a close-enough
substitute such as DEC's OpenWindows.
We are presently developing a new version on top of caml-light, a smaller
and more portable implementation of ML which runs on PC's and Mac's.
Coq-light should be available for Xmas 92.
Date: July 92
Info-source: Gerard Huet
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%