Math 2.0

Mathematical logic and foundations Definition

Calculus of inductive constructions

Builds on Calculus of constructionsInductive typeDependent type

Definition

The calculus of inductive constructions is the extension of the calculus of constructions by the following features.

  1. Sorts: an impredicative sort ๐–ฏ๐—‹๐—ˆ๐—‰\mathsf{Prop} and a hierarchy of universes ๐–ณ๐—’๐—‰๐–พ0,๐–ณ๐—’๐—‰๐–พ1,๐–ณ๐—’๐—‰๐–พ2,โ€ฆ\mathsf{Type}_0, \mathsf{Type}_1, \mathsf{Type}_2, \dots, with ๐–ฏ๐—‹๐—ˆ๐—‰:๐–ณ๐—’๐—‰๐–พ0\mathsf{Prop} : \mathsf{Type}_0 and ๐–ณ๐—’๐—‰๐–พi:๐–ณ๐—’๐—‰๐–พi+1\mathsf{Type}_i : \mathsf{Type}_{i+1} for each ii.
  2. Products: if ฮ“โŠขA:s1\Gamma \vdash A : s_1 and ฮ“,x:AโŠขB:๐–ฏ๐—‹๐—ˆ๐—‰\Gamma, x : A \vdash B : \mathsf{Prop}, then ฮ x:A.โ€‰B:๐–ฏ๐—‹๐—ˆ๐—‰\Pi x{:}A.\, B : \mathsf{Prop}, for every sort s1s_1; if A:๐–ณ๐—’๐—‰๐–พiA : \mathsf{Type}_i and B:๐–ณ๐—’๐—‰๐–พjB : \mathsf{Type}_j in the extended context, then ฮ x:A.โ€‰B:๐–ณ๐—’๐—‰๐–พmaxโก(i,j)\Pi x{:}A.\, B : \mathsf{Type}_{\max(i, j)}. If A:๐–ฏ๐—‹๐—ˆ๐—‰A : \mathsf{Prop} and B:๐–ณ๐—’๐—‰๐–พjB : \mathsf{Type}_j, then ฮ x:A.โ€‰B:๐–ณ๐—’๐—‰๐–พj\Pi x{:}A.\, B : \mathsf{Type}_j.
  3. Inductive definitions: declarations of inductive types and inductive families in a sort, given by strictly positive constructors.
  4. Elimination: for each inductive type, functions out of it are defined by case analysis on the constructors and by structurally recursive fixed points. The matching reduction rules are added to conversion.

Remarks

Example: the natural numbers are the inductive type ๐—‡๐–บ๐—:๐–ณ๐—’๐—‰๐–พ0\mathsf{nat} : \mathsf{Type}_0 with ๐–ฎ:๐—‡๐–บ๐—\mathsf{O} : \mathsf{nat} and ๐–ฒ:๐—‡๐–บ๐—โ†’๐—‡๐–บ๐—\mathsf{S} : \mathsf{nat} \to \mathsf{nat}. Addition is the fixed point with ๐—‰๐—…๐—Ž๐—Œย ๐–ฎย m=m\mathsf{plus}\ \mathsf{O}\ m = m and ๐—‰๐—…๐—Ž๐—Œย (๐–ฒโ€‰n)ย m=๐–ฒโ€‰(๐—‰๐—…๐—Ž๐—Œย nย m)\mathsf{plus}\ (\mathsf{S}\, n)\ m = \mathsf{S}\,(\mathsf{plus}\ n\ m), which is accepted because the recursive call is on the smaller argument nn.

Non-example: the judgment ๐–ณ๐—’๐—‰๐–พ0:๐–ณ๐—’๐—‰๐–พ0\mathsf{Type}_0 : \mathsf{Type}_0 is not derivable; the universe ๐–ณ๐—’๐—‰๐–พi\mathsf{Type}_i only has type ๐–ณ๐—’๐—‰๐–พi+1\mathsf{Type}_{i+1}. A type of all types would make the system inconsistent by Girard's paradox.

Equality is itself an inductive family: for AA a type and a:Aa : A, the family ๐–พ๐—Šย Aย a\mathsf{eq}\ A\ a over AA has the single constructor ๐–พ๐—Š_๐—‹๐–พ๐–ฟ๐—…:๐–พ๐—Šย Aย aย a\mathsf{eq\_refl} : \mathsf{eq}\ A\ a\ a, a case of a dependent type defined inductively. In the system used by Coq the universes are cumulative: a type in ๐–ณ๐—’๐—‰๐–พi\mathsf{Type}_i also lies in ๐–ณ๐—’๐—‰๐–พi+1\mathsf{Type}_{i+1}. Eliminations from inductive types in ๐–ฏ๐—‹๐—ˆ๐—‰\mathsf{Prop} into other sorts are restricted, to keep proofs irrelevant to computation.

Reading path

To understand this page from the ground up, read these 31 pages in order. The foundations come first.

Show the path as a graph
Element, definition, no evidence levelElementdefinitionIntuitionistic logic, concept, no evidence levelIntuitionistic logicconceptLambda calculus, concept, no evidence levelLambda calculusconceptLambda cube, concept, no evidence levelLambda cubeconceptLeast fixed point, concept, no evidence levelLeast fixed pointconceptMathematical induction, concept, no evidence levelMathematical inductionconceptProposition, concept, no evidence levelPropositionconceptSet, concept, no evidence levelSetconceptSet, definition, no evidence levelSetdefinitionConjunction, definition, no evidence levelConjunctiondefinitionDisjunction, definition, no evidence levelDisjunctiondefinitionImplication, definition, no evidence levelImplicationdefinitionNegation, definition, no evidence levelNegationdefinitionBiconditional, definition, no evidence levelBiconditionaldefinitionTruth table, concept, no evidence levelTruth tableconceptModus ponens, concept, no evidence levelModus ponensconceptMathematical proof, concept, no evidence levelMathematical proofconceptPropositional logic, concept, no evidence levelPropositional logicconceptTautology, definition, no evidence levelTautologydefinitionLogical equivalence, definition, no evidence levelLogical equivalencedefinitionDouble negation law, statement, no evidence levelDouble negation lawstatementProof by contradiction, concept, no evidence levelProof by contradictionconceptRussell's paradox, statement, no evidence levelRussell's paradoxstatementType theory, concept, no evidence levelType theoryconceptCurryโ€“Howard correspondence, concept, no evidence levelCurryโ€“Howard correspoโ€ฆconceptInductive type, concept, no evidence levelInductive typeconceptDependent type, concept, no evidence levelDependent typeconceptSimply typed lambda calculus, concept, no evidence levelSimply typed lambda cโ€ฆconceptSystem F, concept, no evidence levelSystem FconceptCalculus of constructions, concept, no evidence levelCalculus of constructโ€ฆconceptCalculus of inductive constructions, definition, no evidence levelCalculus of inductiveโ€ฆdefinition
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Element definition
  2. Intuitionistic logic concept
  3. Lambda calculus concept
  4. Lambda cube concept
  5. Least fixed point concept
  6. Mathematical induction concept
  7. Proposition concept
  8. Set concept
  9. Set definition
  10. Conjunction definition
  11. Disjunction definition
  12. Implication definition
  13. Negation definition
  14. Biconditional definition
  15. Truth table concept
  16. Modus ponens concept
  17. Mathematical proof concept
  18. Propositional logic concept
  19. Tautology definition
  20. Logical equivalence definition
  21. Double negation law statement
  22. Proof by contradiction concept
  23. Russell's paradox statement
  24. Type theory concept
  25. Curryโ€“Howard correspondence concept
  26. Inductive type concept
  27. Dependent type concept
  28. Simply typed lambda calculus concept
  29. System F concept
  30. Calculus of constructions concept
  31. Calculus of inductive constructions definition

Further reading

  1. Web https://en.wikipedia.org/wiki/Calculus_of_constructions
About this page
TagTTH8GDK9CG
URIm2://TTH8GDK9CG
Kinddefinition
WritingW0 stub
MSC03B38, 68V15, 03B40
DefinesCalculus of inductive constructions
UsesCalculus of constructions, Inductive type, Dependent type
Changed3 November 2026

Markdown ยท JSON ยท Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.