Calculation of constructions
The calculation of constructions ( CoC of English calculus off constructions ) is a Lambda-calculation typified of a higher nature in which the standard are values of first class. It is consequently possible, in CoC, to define functions which go from the entireties towards the entireties, but also of the entireties towards the types or the types towards the types.
CoC is strongly standardizing, although, according to the Théorème of incomplétude of Gödel, it is impossible to show this property in CoC itself, since it implies its coherence.
CoC was developed initially by Thierry Coquand.
CoC was at the origin of the first versions of the Assistant of proof S Coq. The following versions were built starting from the Calcul of inductive constructions which is an extension of CoC which integrates standard inductive data. In original CoC, the types of inductive data were to be emulated using their function of destruction.
Bases of the calculation of constructions
The calculation of constructions can be regarded as an extension of the Correspondance of Curry-Howard. The latter associates each term of the Lambda-calculation simply typified with a proof in natural Déduction in the logical propositional intuitionalist, and reciprocally. The calculation of constructions as a whole extends this isomorphism to the evidence in the Calcul of the predicates intuitionalist, which includes consequently evidence of quantified formulas (that one will also call “proposals”).
Terms
A term of the calculation of constructions is built using the following rules:
-
T is a term (also called Type )
- P is a term (also called m. , the type of all the proposals)
- If and are terms, are it also:
- ()
- ()
The calculation of constructions has five types of objects:
- the evidence , which are terms whose types are proposals;
- the proposals, which are also called small types;
- the predicates , which are functions which turn over proposals;
- the broad standard , which are types of predicates (for example P is a broad type);
- T itself, which is the type of the broad types.
Judgments
In the calculation of constructions, a judgment is an inference of typing:
who can be read like the implication
-
if the variables have as , then the term has as a type.
The valid judgments for the calculation of constructions are derivable starting from a whole of rule of inférences. In the continuation, one will use to mean succession of associations of the type , and one will write K to indicate either P or T . One will note to mean “ has as a type , and have as a type”, and the result of the substitution of the variable by the term in the term.
A rule of inference is written in the form
what means
-
if is a valid judgment, then is too.
Rules of inference of the calculation of constructions
To define the operators logical
The calculation of constructions is very parsimonious when one considers only his core operators: the only logical operator to form the proposals is . Nevertheless, this single operator is sufficient to define all the other logical operators:
To define types of data
The types of source data used in data processing can be defined in the calculation of constructions:
; Boolean S: ; Whole natural: ; Type produced : ; Disjoined union :
See too
Related articles
- Correspondence of Curry-Howard
- Logical intuitionalist
- Theory of the types
- Lambda-calculation
- System F
Theorists
- Thierry Coquand
- Jean-Yves Girard
References
-
Thierry Coquand and Gerald Huet, “The Calculus off Constructions”. Information and Computation, vol. 76,2-3 (1988).
- For an accessible source freely, to see Coquand and Huet, “The calculus off constructions”. Report 530, INRIA, Center of Rocquencourt (1986).
- Mr. W. Bunder and Jonathan P. Seldin, “Variable off the BASIC Calculus off Constructions” (2004).
| Random links: | Price of poetry Saint-Sulpice Terraces | Marcel Jeanjean | Union of the Islamic courts | Ernest of Saxony-Cobourg-Saalfeld | Park of Maurois | Centre_de_Synovus |