nLab type universe




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




In type theory, a type universe – usually written 𝒰\mathcal{U} or TypeType – is a type whose terms are either themselves types (Russell universes), or representations of types in an internal model of the type theory (Tarski universes). Either way, it is a universe of (small) types, a universe in type theory, and sometimes called a type of types.

One also speaks of 𝒰\mathcal{U} as being a reflection of the type system in itself (e.g. MartinLöf 74, p. 6, Palmgren, pp. 2-3, Rathjen, p. 1, Luo 11, section 2.5, Luo 12, p. 2, Stanf. Enc. Phil.), following the reflection principle in set theory.

In homotopy type theory a type of (small) types is what in higher categorical semantics is interpreted as a (small) object classifier. Thus, the type of types is a refinement of the type of propositions which only contains the (-1)-truncated/h-level-1 types (and is semantically a subobject classifier).

In the presence of a type universe a judgement of the form

⊢A:𝒰 \vdash A : \mathcal{U}

says that AA is a term of type 𝒰\mathcal{U}, hence is either a (small) type itself (for Russell universes), or a representation of types in an internal model of the type theory (for Tarski universes).

More generally, in Russell universes a hypothetical judgement of the form

x:X⊢A(x):𝒰 x : X \vdash A(x) : \mathcal{U}

says that AA is an XX-dependent type.

In Tarski universes the corresponding hypothetical judgment would be of the form

x:X⊢El(A)(x)type x : X \vdash El(A)(x)\; type

In homotopy type theory the type universe 𝒰\mathcal{U} is often assumed to satisfy the univalence axiom. This is a reflection of the fact that in its categorical semantics as an object classifier is part of an internal (∞,1)-category in the ambient (∞,1)-topos: the one that as an indexed category is the small codomain fibration.

Per Martin-Lof‘s original type theory contained a Russell universe which contained all types, which therefore in particular contained itself, i.e. one had Type:TypeType : Type. But it was pointed out by Jean-Yves Girard that this was inconsistent; see Girard's paradox. Thus, modern type theories generally contain a hierarchy of types universes, with

n:ℕ⊢𝒰(n):𝒰(n+1)n:\mathbb{N} \vdash \mathcal{U}(n) : \mathcal{U}(n + 1)

for Russell universes, and

n:ℕ⊢𝒰(n)typen:\mathbb{N} \vdash \mathcal{U}(n)\; type
n:ℕ⊢𝒰 ′(n):𝒰(n+1)n:\mathbb{N} \vdash \mathcal{U}^{'}(n) : \mathcal{U}(n + 1)
n:ℕ⊢El n+1(𝒰 ′(n))≡Type(n)n:\mathbb{N} \vdash El_{n+1}(\mathcal{U}^{'}(n)) \equiv Type(n)
n:ℕ⊢El n,n+1:𝒰(n)→𝒰(n+1)n:\mathbb{N} \vdash El_{n,n+1}:\mathcal{U}(n) \to \mathcal{U}(n + 1)
n:ℕ⊢p:is1Monic(El n,n+1)n:\mathbb{N} \vdash p:is1Monic(El_{n,n+1})

for Tarski universes.


Russell universe

A Russell universe or universe à la Russell is a type whose terms are types. In the presence of a separate judgment “AtypeA \;type”, this can be formulated as a deduction rule of the form

A:𝒰Atype\frac{A:\mathcal{U}}{A \;type}

Thus, the type formers have rules saying which universe they belong to, such as:

A:𝒰B:A→𝒰ΠAB:𝒰\frac{A:\mathcal{U}\quad B:A\to \mathcal{U}}{\Pi\, A\, B : \mathcal{U}}

With Russell universes, we can also omit the judgment “AtypeA\; type” and replace it everywhere by a judgment that A is a term of some universe. This is the approach taken in UFP13.

Tarski universes

A Tarski universe or a universe à la Tarski (Hofmann, section 2.1.6, Luo 12, Gallozzi 14, p. 40) is a type UU together with an “interpretation” operation allowing us to regard its terms as codes or names for actual types. Thus we have a rule such as


saying that for each term AA of the type universe UU there is an actual type El(A)El(A). This is the approach taken by Egbert Rijke‘s Introduction to Homotopy Type Theory.

Conversely, with notation as used at object classifier in an (infinity,1)-topos, one might write A=′El(A)′A = 'El(A)' to indicate that AA is the name of the type El(A)El(A) in the type universe.

We usually also have operations on the universe corresponding to (but not identical to) type formers, such as

A:𝒰B:A→𝒰π(A,B):𝒰\frac{A:\mathcal{U}\quad B:A\to \mathcal{U}}{\pi(A, B) : \mathcal{U}}

with an equality El(π(A,B))=ΠEl(A)El(B)El(\pi(A,B))=\Pi \, El(A)\, El(B). Usually this latter equality (and those for other type formers) is a judgmental equality. If it is only an equivalence (i.e. we have a rule which gives us a canonical term of the equivalence type), we may speak of a weakly Tarski universe (Gallozzi 14, p. 49-50).

We can give a slightly different definition of weakly Tarski universe using propositional equality and a larger universe. More precisely, we can consider two (or many) universes 𝒰\mathcal{U} and 𝒰′\mathcal{U}' with the usual rules for the relative reflection el(a):𝒰′el(a):\mathcal{U}' for any a:Ua:U, a choice of weakly or strongly Tarski computation rules for the reflections ElEl and El′El', and a computation rule for the relative reflection el of 𝒰\mathcal{U} inside 𝒰′\mathcal{U}' based on propositional equality, which gives us canonical elements of the identity types Id 𝒰′(π′(el(a),el(b)),el(π(a,b)))Id_{\mathcal{U}'}(\pi'(el(a),el(b)),el(\pi(a,b))) and similarly for the other type formers.

If the containing universe is univalent the two definitions turn out to coincide.

The three notions of Tarski universe can be ordered by generality: Every Tarski universe is weakly Tarski by equivalences, because both definitional equality of types A≡BA \equiv B and the identity types between two types A=BA = B imply that the two types of equivalent A≃ 𝒰BA \simeq_\mathcal{U} B. Similarly, every strict Tarski universe is weakly Tarski by the identity type, because definitional equality of types A≡BA \equiv B implies that two types are identified A=BA = B.

Since each type former is independent of each other, one could also have mixed versions of Tarski universes, where some of the type formers are strictly Tarski and some are weakly Tarski. This leads to 2 n2^n possible Tarski universes, where nn is the number of type formers in a type theory, and the 2 n2^n type theories are only partially ordered by generality. Internally in an ambient universe, that number becomes 3 n3^n.

Universes defined internally via induction-recursion are stricty Tarski. Weakly Tarski universes are easier to obtain in semantics (see below): they are somewhat more annoying to use, but probably suffice for most purposes. In objective type theory, there is no definitional equality, so every Tarski universe is weakly Tarski.


Universe enlargement

Both Coq and Agda support universe polymorphism to deal with the issue of universe enlargement. Moreover, Coq supports typical ambiguity.


A tower of universes is cumulative if A:𝒰 iA:\mathcal{U}_i implies A:𝒰 i+1A:\mathcal{U}_{i+1} (rather than, say, Lift(A):𝒰 i+1Lift(A):\mathcal{U}_{i+1}).

Cumulative Russell universes have some issues; see for instance Luo 12.

  • Coq uses Russell style universes. For practical purposes, it also has cumulativity, although there is some question (perhaps mainly semantic) of whether this is true internally or whether it uses casts that are simply hidden from the user.

  • Agda uses non-cumulative Russell style universes.

  • UFP13 (first edition) uses cumulative Russell style universes.

Categorical semantics

UnivalentRussell universes have been shown to be interpreted in type-theoretic model categories presenting the base (∞,1)-topos ∞Grpd

(Kapulkin-Lumsdaine-Voevodsky 12) and more generally presenting (∞,1)-toposes of (∞,1)-presheaves over elegant Reedy categories (Shulman 13).

Discussion for general (∞,1)-toposes (of (∞,1)-sheaves) that should have implementation weakly Tarski (Gallozzi 14, p. 49-50) is in (Gepner-Kock 12).

For more on this see the respective sections at relation between type theory and category theory.


Type universes in Martin-Löf type theory originate in un-stratified and hence inconsistent form with

and then in stratified and consistent form in

  • Per Martin-Löf, §1.10 in: An intuitionistic theory of types: predicative part, in: H. E. Rose, J. C. Shepherdson (eds.), Logic Colloquium ‘73, Proceedings of the Logic Colloquium, Studies in Logic and the Foundations of Mathematics 80, Elsevier (1975) 73-118 [doi:10.1016/S0049-237X(08)71945-1, CiteSeer]

elaborated on in

which also introduces (p. 48) the distinction into notions of Russell universes and Tarski universes.

Further discussion in

Review and further discussion:

Introduction with an eye towards homotopy type theory:

Definition of weakly Tarski universes:

Detailed discussion of the type of types in Coq is in

See also around slide 8 of the survey

  • Frade, Calculus of inductive constructions (2008/2009) (pdf)

A formal proof in homotopy type theory that the type of homotopy n-types is not itself a homotopy nn-type (it is an (n+1)(n+1)-type) is in

(∞,1)-Categorical semantics for univalent type universes is discussed in

Relation to injective types:

See also

Last revised on January 31, 2023 at 09:43:14. See the history of this page for a list of all contributions to it.