quotient type



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

logiccategory theorytype theory
trueterminal object/(-2)-truncated objecth-level 0-type/unit type
falseinitial objectempty type
proposition(-1)-truncated objecth-proposition, mere proposition
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
disjunctioncoproduct ((-1)-truncation of)sum type (bracket type of)
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
existential quantificationdependent sum ((-1)-truncation of)dependent sum type (bracket type of)
equivalencepath space objectidentity type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
coinductionlimitcoinductive type
completely presented setdiscrete object/0-truncated objecth-level 2-type/preset/h-set
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
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 the kind of type corresponding in categorical semantics to a quotient object / coequalizer.


From higher inductive types

Quotient type may be constructed as higher inductive types. See here.

History and effectiveness

This notion of quotient type predates the general notion of higher inductive type, however; it appears already in Martin Hofmann’s thesis.

Hofmann works in a theory that includes a type of propositions PropProp that may be assumed to satisfy proof irrelevance? — for instance, it might be the universe of h-propositions — and considers the effectiveness of quotient types only for quotients of Prop-valued equivalence relations. This corresponds to the correct categorical notion of effectiveness (see Barr-exact category) and (as Hofmann noted) is provable in the presence of propositional extensionality (which in turn follows from the univalence axiom).

However, before the introduction of homotopy type theory and the realization of the importance of homotopy levels such as h-propositions, some authors considered also quotients of arbitrary TypeType-valued “equivalence relations” (i.e. setoids). Maietti shows, by adapting Diaconescu’s argument, that “effectiveness” for quotients of this sort of “equivalence relation” implies the law of excluded middle.

From univalence

Quotient types are implied by adding univalence to Martin-Löf type theory. We indicate how this works:

A sufficient set of hypothesis that imply the existence of quotient types is this:

In terms of categorical semantics in fibration categories, this comes about as follows:

In fibration categories where every map is a fibration, “hprop” means “subobject”, propositional truncation becomes a stable image factorisation, and from a univalent universe UU containing all hprops, we can construct a subobject classifier as

x:UisProp(x). \underset{x \colon U}{\sum} isProp(x) \,.

(For the subobject classification axioms: existence comes from “every hprop is equivalent to some type in UU”, and uniqueness comes from univalence of UU.)

So in this setting, the HoTT argument just becomes the usual construction (due to Paré 74, see for instance MacLane-Moerdijk 92, IV.5) of exact quotients from a subobject classifier in a regular locally cartesian closed category. For more on this see at quotient object – in toposes.

One thing to be careful about, in the fibration category setting, is that “equivalences” as defined in type theory correspond not generally to the original equivalences, but to the right homotopy equivalences, which of course may be different. This is why e.g. Mike Shulman’s def of “type-theoretic fibration category” doesn’t include a class of equivalences as separate data, but takes them to be the right homot equivs. So for the type-theoretic arguments to apply, “univalent fibration” should be defined using right homot equivs.


As a higher inductive type

  • Martin Hofmann, Extensional concepts in intensional type theory, Ph.D. Thesis, University of Edinburgh, 1995 (see page 111).

  • Maria Emilia Maietti, About effective quotients in constructive type theory, in “Types for proofs and programs”, 1999

From univalence

The argument that adding univalence (plus universe resizing) to Martin-Löf type theory implies the existence of quotient types is attributed to Voevodsky in places like here: pdf, slides 41 & 61.

Voevodsky’s own account of this seems to be entirely in his Coq-code repository here:

A more readable version of this is in section 6.10 of

Def. 6.10.5 there is the definition of the quotients. This uses truncation, for which something like univalence and resizing is necessary and univalence and truncation is sufficient for. Then theorem 6.10.6 right below that definition checks that these quotient do indeed behave like quotients should, and this is where univalence proper comes in.

This discussion of quotients from univalence in the HoTT book originally comes from

The relevant section there is 2.4 “Voevodsky’s impredicative quotients”, see def. 2.24 and the lines right below.

The category theoretic (“semantics”) version of the argument for colimits from a subobject classifier in an elementary topos is due to

reviewed for instance in

A more elementary discussion is in

Last revised on May 18, 2020 at 06:21:51. See the history of this page for a list of all contributions to it.