 
 
 
How to read this book
This is a Reference Manual, not a User Manual, then it is not made for a
continuous reading. However, it has some structure that is explained
below.
- 
The first part describes the specification language,
 Gallina. The chapters 1 and 2
 describe the concrete syntax as well as the meaning of programs,
 theorems and proofs in the Calculus of Inductive Construction. The
 chapter 3 describes the standard library of Coq. The
 chapter 4 is a mathematical description of the formalism. 
 
 
- The second part describes the proof engine. It is divided in
 three chapters. Chapter 5 presents
 all commands (we call them vernacular commands) that are not
 directly related to interactive proving: requests to the environment,
 complete or partial evaluation, loading and compiling files. How to
 start and stop proofs, do multiple proofs in parallel is explained
 in the chapter 6. In chapter 7, 
 all commands that realize one or more steps of the proof are
 presented: we call them tactics. 
 
 
- The third part describes how to extend the system in two ways:
 adding parsing and pretty-printing rules (chapter
 9) and writing new tactics (chapter
 10)
 
 
- In the fourth part more practical tools are documented. First in
 the chapter 11 the usage of coqc (batch mode)
 and coqtop (interactive mode) with their options is
 described. Then (in chapter 12) 
 various utilities that come with the Coq distribution are presented.
At the end of the document, after the global index, the user can find
a tactic index and a vernacular command index.
 
 
