nLab intensional type theory



Type theory

natural deduction metalanguage, practical foundations

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

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory

logicset theory (internal logic of)category theorytype theory
predicatefamily of setsdisplay morphismdependent type
proofelementgeneralized elementterm/program
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
introduction rule for implicationcounit for hom-tensor adjunctionlambda
elimination rule for implicationunit for hom-tensor adjunctionapplication
cut elimination for implicationone of the zigzag identities for hom-tensor adjunctionbeta reduction
identity elimination for implicationthe other zigzag identity for hom-tensor adjunctioneta conversion
truesingletonterminal object/(-2)-truncated objecth-level 0-type/unit type
falseempty setinitial objectempty type
proposition, truth valuesubsingletonsubterminal object/(-1)-truncated objecth-proposition, mere proposition
logical conjunctioncartesian productproductproduct type
disjunctiondisjoint union (support of)coproduct ((-1)-truncation of)sum type (bracket type of)
implicationfunction set (into subsingleton)internal hom (into subterminal object)function type (into h-proposition)
negationfunction set into empty setinternal hom into initial objectfunction type into empty type
universal quantificationindexed cartesian product (of family of subsingletons)dependent product (of family of subterminal objects)dependent product type (of family of h-propositions)
existential quantificationindexed disjoint union (support of)dependent sum ((-1)-truncation of)dependent sum type (bracket type of)
logical equivalencebijection setobject of isomorphismsequivalence type
support setsupport object/(-1)-truncationpropositional truncation/bracket type
n-image of morphism into terminal object/n-truncationn-truncation modality
equalitydiagonal function/diagonal subset/diagonal relationpath space objectidentity type/path type
completely presented setsetdiscrete object/0-truncated objecth-level 2-type/set/h-set
setset with equivalence relationinternal 0-groupoidBishop set/setoid with its pseudo-equivalence relation an actual equivalence relation
equivalence class/quotient setquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive type
presettype without identity types
set of truth valuessubobject classifiertype of propositions
domain of discourseuniverseobject classifiertype universe
modalityclosure operator, (idempotent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language

homotopy levels


Equality and Equivalence



By intensional type theory one means (but see Rem. ) the flavor of type theory in which identity types are not forced to be mere propositions (that is: not necessarily (-1)-truncated).

The original definition of identity types in Martin-Löf dependent type theory [Martin-Löf (1975, §1.7 and p. 94)] is by default intensional: It takes an additional axiom or rule — the identity reflection rule, cf. Streicher (1993, p. 4, 13 ); Hofmann (1995, p. 16) — to turn intensional into extensional type theory (in which identity types are then truncated to mere propositions).

In particular, homotopy type theory is intensional: the categorical semantics of its identity types are path space objects.


Beware that some authors take the words “intensional type theory” to refer to type theories which fail to satisfy function extensionality. This is in general a requirement orthogonal to the (-1)-truncation of identity types.

Generally, the origin of the names “extensional” and “intensional” is somewhat confusing. Even where the term refers to the behaviour of equality, it in fact refers not to the typal equality expressed by identity types, but to judgmental equality:

The idea is that the identity type is always an “extensional” notion of equality (although it can be more or less extensional, depending on whether further extensionality principles like function extensionality and univalence hold). Thus, if the judgmental equality coincides with the identity type, then the former is also extensional, whence the type theory is called “extensional” — while if the two equalities do not coincide, then the judgmental equality has room to be more intensional than the identity type, making the type theory “intensional” (but see also Hofmann (1995, ftn. 3), p. 17).

(On this historical reading, “extensional type theory” should refer only to judgmentally extensional type theory with the reflection rule, which is much stronger than merely requiring all types to be h-sets.)



Only the intensional but not the extensional Martin-Löf type theory has decidable type checking. (Martin-Löf 75, Hofmann 95).



Last revised on January 19, 2023 at 03:03:52. See the history of this page for a list of all contributions to it.