Idea

Higher inductive types (HITs) are a generalization of inductive types in homotopy type theory. Like a quotient inductive types, they define constructors, and ‘identity types’ specified by indexed identity equations between terms called path constructors, but extend the notion of path constructors to allow for higher path constructors which spececify identity types between identity types.

Definition

Syntax

An (indexed) higher inductive type is specified by a set of constructors of three kinds:

  • Point constructors - plain constructors used in inductive types these are specified by a chain of types that end in , for some .
  • Path Constructor - these are constructors for terms of the identity type for where is either a point type () or a path type constructed in a well-founded way given below.

Path types, for a HIT , are themselved defined inductively like so:

  • Given with . Then is a path type.
  • Given some path type for , with then is a path type.

Semantics

HITs can be thought of in simple cases as adding a higher-quotient to an inductive type, providing the least identification that satisfies the specification1

Higher inductive types themselves are incompletely understood within HoTT. Cubical type theory provides the most complete existing support for HITs, with models including cubical sets and CCHM. Simplicial Set (Kan complexes) have good support for many HITs but require quotient-inductive or cell presentation.2

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

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 Quotient Type Quotient Inductive Type Inductive-Inductive Type Inductive-Coinductive Type Infinitary (Co)inductive Type Finitary (Co)inductive Type

Footnotes

  1. TODO: Check. This should be made a lot more precise.

  2. TODO: Understand this