Homotopy Type Theory
Eric Finster, Towards Higher Universal Algebra in Type Theory (Rev #7)



While homotopy type theory formalizes homotopy theory, it is not a priori clear – and in fact is or was an open problem – how to formalize general homotopy-coherent structures of higher algebra/higher category theory: Since these typically involve an infinite hierarchy of coherence-conditions, these cannot be axiomatized directly, but one needs some scheme that generates them. This turned out to be subtle.

Eric Finster had previously considered another variant of type theory, called opetopic type theory which natively talks about infinity-categories and their higher coherences by type-theoretically formalizing the structure of opetopic sets. In new work Finster 18 he gives something like an implementation of aspects of opetopic type theory within homotopy type theory and provides evidence that this is yields a tool to solve the general problem of coherences of higher algebra/higher category theory within homotopy type theory.

The idea of opetopic sets that Finster 18 is inspired by goes back to

Eric’s talk

Here we collect the definitions and ideas that were given in Eric’s talk. We can also use the agda formalisation for reference too.


Fix a type II of sorts. A polynomial over II, PolyI\Poly I, is the data of

  • A family of operations Op:I𝒰\Op : I \to \mathcal{U}
  • For each operation, for each i:Ii : I, a family of sorted parameters
    Param i:(f:Opi)I𝒰\Param_i : (f : \Op i) \to I \to \mathcal{U}
  • For i:Ii : I, an element f:Opif: \Op i represents an operation whose output sort is ii.

  • For f:Opif : \Op i and j:Ij : I, and element p:Param i(f,j)p : \Param_i(f, j) represents an input parameter of sort jj.

  • The Opi\Op i and Param i(f,j)\Param_i (f, j) are not truncated at set level. So operations and parameters can have higher homotopy.

  • In HoTT book notation, we can write the previous definition as:

PolyI Op:I𝒰 i:IParam i\Poly I \equiv \sum_{\Op : I \to \mathcal{U}}\prod_{i : I} \Param_i
Param i f:OpiI𝒰\Param_i \equiv \prod_{f : \Op i}I \to \mathcal{U}

A polynomial P:PolyIP : \Poly I generates an associated type of trees.


The type of trees associated to a polynomial P:PolyIP : \Poly I is an inductive family? TrP:I𝒰\Tr P : I \to \mathcal{U} that has constructors

  • lf:(i:I)Tr(P,i)\lf : (i : I) \to \Tr(P, i)
  • nd:(i:I)(f:Op(P,i))(ϕ:(j:I)(p:Param i(f,j))Tr(P,j))Tr(P,i)\nd : (i : I) \to (f : \Op(P,i)) \to (\phi : (j : I) \to (p : \Param_i (f, j)) \to \Tr(P, j)) \to \Tr(P, i)

For a tree w:Tr(P,i)w : \Tr (P, i), we will need its type of leaves and type of nodes


The type of leaves of a tree P:PolyIP : \Poly I is given by:

  • Leaf:(i:I)(w:Tri)I𝒰\Leaf : (i : I) \to (w : \Tr i) \to I \to \mathcal{U}
  • Leaf i((lfi),j)(i=j)\Leaf_i((\lf i), j) \equiv (i = j)
  • Leaf i(nd(f,ϕ),j) k:I p:Param(f,k)Leaf i((ϕ(k,p)),j)\displaystyle\Leaf_i ( \nd(f, \phi),j) \equiv \sum_{k : I} \sum_{p : \Param (f, k)} \Leaf_i ((\phi (k, p)), j)

The type of nodes of a tree P:PolyIP : \Poly I is given by:

  • Node:(i:I)(w:Tri)(j:I)OpjType\Node : (i : I) \to (w : \Tr i) \to (j : I) \to \Op j \to \Type
  • Node i((lfi),j,g)0\Node_i ((\lf i), j, g) \equiv \mathbf{0}
  • Node i(nd(f,ϕ),j,g)((i,f)=(j,g))+ k:I p:Param(f,k)Node i(ϕ(j,p),j,g)\displaystyle \Node_i (\nd(f,\phi),j,g) \equiv ((i,f)=(j,g)) + \sum_{k : I} \sum_{p : \Param(f,k)} \Node_i ( \phi( j, p), j, g)
  • Let P:PolyIP : \Poly I be a polynomial w:Tr(P,i)w : \Tr(P,i) a tree and f:Op(P,i)f : \Op(P,i) an operation. A frame from ww to ff is a family of equivalences
    (j:I)Leaf i(w,j)Param(P,f,j)(j:I) \to \Leaf_i(w,j) \simeq \Param(P,f,j)

Revision on December 7, 2018 at 11:04:32 by Ali Caglayan. See the history of this page for a list of all contributions to it.