Idea

Higher inductive types (HITs) are a generalization of inductive types in homotopy type theory. Like quotient inductive types, they are specified by point constructors together with ordinary path constructors, but HITs also allow higher path constructors, that is, constructors whose targets are iterated identity types.

They were introduced to construct types corresponding to homotopy-theoretic cell complexes. 1

Signature

A HIT signature consists of:

  • A sort symbol .
  • be strictly positive telescopes for
  • for each , specify , as well as two terms,

specifying the two sides of the th path constructor at level .

From this signature, one generates point constructors

and path constructors, where is the dimension the path is operating at,

Then for , defines an ordinary path constructors, while for , defines a higher path constructors.

Semantics

See lumsdaine2018-higher-inductive-types.

A full general syntax and semantics for HITs is still subtle, and not every proposed HIT is known to have a model in every setting.

Simplicial Set (Kan complexes) have good support for many HITs but require quotient-inductive or cell presentation.2

Algebras

An algebra for a HIT signature consists of a carrier type together with, for each point constructor arity , an operation

These operations induce interpretations of all formal terms. The algebra satisfies the quotient part of the signature when, for each equation context 3 and each

the interpreted endpoints agree:

When the arities are strictly positive, they usually assemble into a functor

so that a QIT algebra may be viewed as an -algebra satisfying the specified equations.

Examples

Circle ()

Definition

The circle is a Higher Inductive Type with one point and one non-trivial path from that point to itself.

Constructors:

The circle is the simplest non-trivial Higher Inductive Type, representing the topological circle as a type with a single basepoint and a loop.

Link to original

Interval

Definition

The interval is a Higher Inductive Type with two distinct points and a path connecting them.

Constructors:

The interval represents the unit interval from topology as a type with two endpoints and a path between them.

Link to original

Propositional Truncation

Definition

The propositional truncation is a Higher Inductive Type that truncates a type to a proposition (a (-1)-Type).

Given a type , the propositional truncation has the following constructors:

The first constructor embeds elements of into the truncation. The second constructor ensures that any two elements of are equal, making it a proposition.

Link to original

Pushout

Definition

The pushout is a Higher Inductive Type that serves as the general colimit form in homotopy type theory.

Given types , , and functions and , the pushout has the following constructors:

The pushout glues together copies of and by identifying in with in for each .

Link to original

Suspension

Definition

The suspension of a type is a Higher Inductive Type defined as the pushout of the terminal maps .

Constructors:

  • (north pole)
  • (south pole)
  • (meridian)

The suspension can be visualized as taking a type and placing it as the “equator” between two poles, with paths (meridians) connecting the north pole to the south pole through each point of .

Link to original

Spheres

Definition

The n-dimensional spheres are higher inductive types defined recursively using the suspension operation and the boolean type.

  • (the boolean type)
  • (suspension of the n-sphere)

This recursive definition constructs spheres of arbitrary dimension, where each sphere is obtained by suspending the previous one.

Link to original

Torus

Definition

The torus is a Higher Inductive Type with a 2-dimensional path constructor, representing the topological torus.

Constructors:

  • (basepoint)
  • (first loop)
  • (second loop)
  • (surface witnessing commutativity)

The torus is defined natively as a HIT with a basepoint, two loops through that point, and a 2-dimensional path (surface) witnessing that the two loops commute.

Link to original

Set Quotient

Set Quotient

Definition

The set quotient is a quotient inductive type that quotients a type by a relation and truncates the resulting type to a hSet.

Given a type and a relation , the set quotient has the following constructors:

The first constructor embeds elements of into the quotient. The second constructor identifies elements that are related by . The third constructor ensures that the quotient is a set by requiring that all parallel paths are equal.

Properties

Effectiveness: If is an equivalence relation, then implies that . Truncation: The set quotient is a hSet (set) by construction, due to the constructor which is a truncation constructor.

Remarks

The set quotient does not require to be an equivalence relation a priori, though in practice it is often used with equivalence relations.

Without the set truncation, it is not garunteed that there is a unique path between any two elements, instead you get the free infinity groupoid.

Higher Inductive Type Quotient Inductive Type hSet Truncation (HoTT) Equivalence Relation

Link to original

See also

Inductive Type Coinductive Type Set Quotient Quotient Inductive Type Inductive-Inductive Type

References

Footnotes

  1. hott2013-book

  2. kapulkin2012-simplicial-model-univalent

  3. Note that is a symbol standing in for a type, whereas is a type itself.