The Constructive Engine
Gérard Huet · WORLD SCIENTIFIC eBooks · 1989
The Calculus of Constructions is a higher-order formalism for writing constructive proofs in a natural deduction style, inspired from work of de Bruijn [4, 7], Girard [21] and MartinLof [33]. The calculus and its syntactic theory were presented in Coquand’s thesis [12], and an implementation by the author was used to mechanically verify a substantial number of proofs demonstrating the power of expression of the formalism [15]. The Calculus of Constructions is proposed as a foundation for the design of programming environments where programs are developed consistently with formal specifications[37]. This note presents in detail an implementation in CAML[18, 44] of a proof-checker for the calculus. This proof-checker proceeds by operating an abstract machine, called the constructive engine. The description in this paper is close in spirit to the inference system described in section 10.2 of [13]. The main departure is the addition of a system of constants, allowing a form of definitional equality. The implementation shown corresponds to a simplification of version 4.9 of the system. Differences with the actual implementation are discussed below.