natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
basic constructions:
strong axioms
further
The Calculus of Constructions (CoC) is a type theory formal system for constructive proof in natural deduction style. This calculus goes back to Thierry Coquand and Gérard Huet
When supplemented by inductive types, it become the Calculus of Inductive Constructions (CIC). Sometimes coinductive types are included as well and one speaks of the Calculus of (co)inductive Constructions. This is what the Coq software implements.
More in detail, the Calculus of (co)Inductive Constructions is
a pure type system, hence
a system of natural deduction with dependent types;
with the natural-deduction rule for dependent product types specified;
with a rule for how to introduce new natural-deduction rules for arbitrary (co)inductive types.
and with universes:
a cumulative hierarchy of predicative types of types
and an impredicative type of propositions.
All of the other standard type formations are subsumed by the existence of arbitrary inductive types, notably the empty type, dependent sum types and identity types are special inductive types. Specifying these hence makes the calculus of constructions be an intensional dependent type theory.
Original articles include
Thierry Coquand, Gérard Huet, The Calculus of Constructions (inria, pdf)
M. Bunder, Jonathan Seldin, Variants of the basic calculus of constructions (Cite Seer)
Surveys include
Frade, Calculus of inductive constructions (pdf)
Wikipedia, Calculus of constructions
A categorical semantics for CoC is discussed in
For specifics of the implementation in Coq see