nLab Set in homotopy type theory



Topos Theory

topos theory



Internal Logic

Topos morphisms

Extra stuff, structure, properties

Cohomology and homotopy

In higher category 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




The syntax for sets in homotopy type theory behaves a lot like the internal language of a topos.


Chapter 10 in the HoTT book and RijkeSpitters make this precise. Set is a Π \Pi W-pretopos. Assuming the resizing axiom, [Set]] is actually a topos. These arguments don’t quite work in the absence of type universes, because they use so-called large elimations — recursively defined functions into a universe. But one can augment (H)ITs in a universeless theory by special rules for large elims — in the HIT case, replacing paths in the universe by the equivalences that would correspond to them by univalence – and then the arguments go through.


If all types are sets, we cannot have very many univalent universes. Moreover, not all 1-toposes even contain non-univalent universes (beyond Prop). So we need a version of dependent type theory with a separate judgment “A is a type” that is not identified with “A:U for some universe U”. Then we need to assume function extensionality explicitly, since we don’t have univalence to derive it from, and we can assume a univalent Prop with resizing. At this point (and without any (H)ITs) we have a theory that’s almost just a notational variant of iHOL, hence corresponds very closely to elementary 1-toposes. (In this case the coherence issues are solvable, because the only universe Prop is already strict.) Adding ordinary inductive types corresponds to requiring the topos to have a NNO – it’s known that all inductive types can be constructed from a NNO in a topos.

However, now there is a problem on the other side: not every elementary topos with NNO admits all large elims. For instance, with a large elim over nat you can construct beth-omega, which is known not to exist in all toposes (e.g. models of Zermelo set theory). One can construct large elims “categorically” out of something else by using replacement and separation axioms, however, it’s not clear how to express in type theory.

Moreover, with HITs the problem is even worse: even replacement and separation don’t suffice. Using HITs we can construct uncountable regular cardinals, whereas (possibly assuming some large cardinal property) there are toposes satisfying replacement and separation (namely, certain models of ZF) in which all uncountable cardinals are singular. (we should check whether this construction requires large elims, but at the least, even without large elims, it’s certainly not clear how one might show that every elementary topos admits HITs).

See also


Last revised on June 9, 2022 at 19:12:42. See the history of this page for a list of all contributions to it.