cartesian logic



Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule


syntax object language

computational trinitarianism =

logiccategory theorytype theory
falseinitial objectempty type
proofgeneralized elementprogram
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
cut elimination for implicationcounit for hom-tensor adjunctionbeta reduction
introduction rule for implicationunit for hom-tensor adjunctioneta conversion
logical conjunctionproductproduct type
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
equivalencepath space objectidentity type/path type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
coinductionlimitcoinductive type
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
proof netstring diagramquantum circuit
synthetic mathematicsdomain specific embedded programming language

homotopy levels




Cartesian logic or finite limit logic is the internal logic of finitely complete categories (which the Elephant calls cartesian categories).

An important property is that every cartesian theory has an initial model. It follows that model reduct functors between cartesian theories have left adjoints: broadly, the free algebra constructions supplied by universal algebra for algebraic theories are also available for cartesian theories.


Various definitions and names for the logic can be found in the references. The Elephant definition amounts to saying that a cartesian theory is a geometric theory in which there is no occurrence of \vee, and every use of \exists requires a proof that the existence in unique.

Palmgren and Vickers showed that in a geometric logic of partial terms (with a non-reflexive equality), the cartesian theories are precisely those that can be presented using only \wedge, \top and ==.


Cartesian logic was introduced in the early seventies by John Isbell, Peter Freyd and Michel Coste (cf. Johnstone 1979). A standard source is Johnstone (2002). Palmgren and Vickers gave a new proof of the initial model theorem, valid in weak foundational settings.

Last revised on April 18, 2019 at 08:30:52. See the history of this page for a list of all contributions to it.