{"title":"The Constructive Engine","authors":"G. Huet","doi":"10.1142/9789814368452_0004","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":347958,"journal":{"name":"A Perspective in Theoretical Computer Science","volume":"117 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"44","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"A Perspective in Theoretical Computer Science","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1142/9789814368452_0004","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 44
Abstract
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.