# Homotopy type theory

In mathematical logic and computer science, homotopy type theory (HoTT /hɒt/) refers to various lines of development of intuitionistic type theory, based on the interpretation of types as objects to which the intuition of (abstract) homotopy theory applies.

This includes, among other lines of work, the construction of homotopical and higher-categorical models for such type theories; the use of type theory as a logic (or internal language) for abstract homotopy theory and higher category theory; the development of mathematics within a type-theoretic foundation (including both previously existing mathematics and new mathematics that homotopical types make possible); and the formalization of each of these in computer proof assistants.

There is a large overlap between the work referred to as homotopy type theory, and as the univalent foundations project. Although neither is precisely delineated, and the terms are sometimes used interchangeably, the choice of usage also sometimes corresponds to differences in viewpoint and emphasis.[1] As such, this article may not represent the views of all researchers in the fields equally. This kind of variability is unavoidable when a field is in rapid flux.

## History

### Prehistory: the groupoid model

At one time the idea that types in intensional type theory with their identity types could be regarded as groupoids was mathematical folklore. It was first made precise semantically in the 1998 paper of Martin Hofmann and Thomas Streicher called "The groupoid interpretation of type theory", in which they showed that intensional type theory had a model in the category of groupoids.[2] This was the first truly "homotopical" model of type theory, albeit only "1-dimensional" (the traditional models in the category of sets being homotopically 0-dimensional).

Their paper also foreshadowed several later developments in homotopy type theory. For instance, they noted that the groupoid model satisfies a rule they called "universe extensionality", which is none other than the restriction to 1-types of the univalence axiom that Vladimir Voevodsky proposed ten years later. (The axiom for 1-types is notably simpler to formulate, however, since a coherence notion of "equivalence" is not required.) They also defined "categories with isomorphism as equality" and conjectured that in a model using higher-dimensional groupoids, for such categories one would have "equivalence is equality"; this was later proven by Benedikt Ahrens, Krzysztof Kapulkin, and Michael Shulman.[3]

### Early history: model categories and higher groupoids

The first higher-dimensional models of intensional type theory were constructed by Steve Awodey and his student Michael Warren in 2005 using Quillen model categories. These results were first presented in public at the conference FMCS 2006[4] at which Warren gave a talk titled "Homotopy models of intensional type theory", which also served as his thesis prospectus (the dissertation committee present were Awodey, Nicola Gambino and Alex Simpson). A summary is contained in Warren's thesis prospectus abstract.[5]

At a subsequent workshop about identity types at Uppsala University in 2006[6] there were two talks about the relation between intensional type theory and factorization systems: one by Richard Garner, "Factorisation systems for type theory",[7] and one by Michael Warren, "Model categories and intensional identity types". Related ideas were discussed in the talks by Steve Awodey, "Type theory of higher-dimensional categories", and Thomas Streicher, "Identity types vs. weak omega-groupoids: some ideas, some problems". At the same conference Benno van den Berg gave a talk titled "Types as weak omega-categories" where he outlined the ideas that later became the subject of a joint paper with Richard Garner.

All early constructions of higher dimensional models had to deal with the problem of coherence typical of models of dependent type theory, and various solutions were developed. One such was given in 2009 by Voevodsky, another in 2010 by van den Berg and Garner.[8] A general solution, building on Voevodsky's construction, was eventually given by Lumsdaine and Warren in 2014.[9]

At the PSSL86 in 2007[10] Awodey gave a talk titled "Homotopy type theory" (this was the first public usage of that term, which was coined by Awodey[11]). Awodey and Warren summarized their results in the paper "Homotopy theoretic models of identity types", which was posted on the ArXiv preprint server in 2007[12] and published in 2009; a more detailed version appeared in Warren's thesis "Homotopy theoretic aspects of constructive type theory" in 2008.

At about the same time, Vladimir Voevodsky was independently investigating type theory in the context of the search of a language for practical formalization of mathematics. In September 2006 he posted to the Types mailing list "A very short note on homotopy lambda calculus",[13] which sketched the outlines of a type theory with dependent products, sums and universes and of a model of this type theory in Kan simplicial sets. It began by saying "The homotopy λ-calculus is a hypothetical (at the moment) type system" and ended with "At the moment much of what I said above is at the level of conjectures. Even the definition of the model of TS in the homotopy category is non-trivial" referring to the complex coherence issues that were not resolved until 2009. This note included a syntactic definition of "equality types" that were claimed to be interpreted in the model by path-spaces, but did not consider Per Martin-Löf's rules for identity types. It also stratified the universes by homotopy dimension in addition to size, an idea that later was mostly discarded.

On the syntactic side, Benno van den Berg conjectured in 2006 that the tower of identity types of a type in intensional type theory should have the structure of an ω-category, and indeed a ω-groupoid, in the "globular, algebraic" sense of Michael Batanin. This was later proven independently by van den Berg and Garner in the paper "Types are weak omega-groupoids" (published 2008),[14] and by Peter Lumsdaine in the paper "Weak ω-Categories from Intensional Type Theory" (published 2009) and as part of his 2010 Ph.D. thesis "Higher Categories from Type Theories".[15]

### The univalence axiom, synthetic homotopy theory, and higher inductive types

The concept of a univalent fibration was introduced by Voevodsky in early 2006.[16] However, because of the insistence of all presentations of the Martin-Löf type theory on the property that the identity types, in the empty context, may contain only reflexivity, Voevodsky did not recognize until 2009 that these identity types can be used in combination with the univalent universes. In particular, the idea that univalence can be introduced simply by adding an axiom to the existing Martin-Löf type theory appeared only in 2009.

Also in 2009, Voevodsky worked out more of the details of a model of type theory in Kan complexes, and observed that the existence of a universal Kan fibration could be used to resolve the coherence problems for categorical models of type theory. He also proved, using an idea of A. K. Bousfield, that this universal fibration was univalent: the associated fibration of pairwise homotopy equivalences between the fibers is equivalent to the paths-space fibration of the base.

To formulate univalence as an axiom Voevodsky found a way to define "equivalences" syntactically that had the important property that the type representing the statement "f is an equivalence" was (under the assumption of function extensionality) (-1)-truncated (i.e. contractible if inhabited). This enabled him to give a syntactic statement of univalence, generalizing Hofmann and Streicher's "universe extensionality" to higher dimensions. He was also able to use these definitions of equivalences and contractibility to start developing significant amounts of "synthetic homotopy theory" in the proof assistant Coq; this formed the basis of the library later called "Foundations" and eventually "UniMath".[17]

Unification of the various threads began in February 2010 with an informal meeting at Carnegie Mellon University, where Voevodsky presented his model in Kan complexes and his Coq code to a group including Awodey, Warren, Lumsdaine, and Robert Harper, Dan Licata, Michael Shulman, and others. This meeting produced the outlines of a proof (by Warren, Lumsdaine, Licata, and Shulman) that every homotopy equivalence is an equivalence (in Voevodsky's good coherent sense), based on the idea from category theory of improving equivalences to adjoint equivalences. Soon afterwards, Voevodsky proved that the univalence axiom implies function extensionality.

The next pivotal event was a mini-workshop at the Mathematical Research Institute of Oberwolfach in March 2011 organized by Steve Awodey, Richard Garner, Per Martin-Löf, and Vladimir Voevodsky, titled "The homotopy interpretation of constructive type theory".[18] As part of a Coq tutorial for this workshop, Andrej Bauer wrote a small Coq library[19] based on Voevodsky's ideas (but not actually using any of his code); this eventually became the kernel of the first version of the "HoTT" Coq library[20] (the first commit of the latter[21] by Michael Shulman notes "Development based on Andrej Bauer's files, with many ideas taken from Vladimir Voevodsky's files"). One of the most important things to come out of the Oberwolfach meeting was the basic idea of higher inductive types, due to Lumsdaine, Shulman, Bauer, and Warren. The participants also formulated a list of important open questions, such as whether the univalence axiom satisfies canonicity (still open, although some special cases have been resolved positively[22][23]), whether the univalence axiom has nonstandard models (since answered positively by Shulman), and how to define (semi)simplicial types (still open in MLTT, although it can be done in Voevodsky's Homotopy Type System (HTS), a type theory with two equality types).

Soon after the Oberwolfach workshop, the Homotopy Type Theory website and blog[24] was established, and the subject began to be popularized under that name. An idea of some of the important progress during this period can be obtained from the blog history.[25]

## Univalent foundations

The phrase "univalent foundations" is agreed by all to be closely related to homotopy type theory, but not everyone uses it in the same way. It was originally used by Vladimir Voevodsky to refer to his vision of a foundational system for mathematics in which the basic objects are homotopy types, based on a type theory satisfying the univalence axiom, and formalized in a computer proof assistant.[26]

As Voevodsky's work became integrated with the community of other researchers working on homotopy type theory, "univalent foundations" was sometimes used interchangeably with "homotopy type theory",[27] and other times to refer only to its use as a foundational system (excluding, for example, the study of model-categorical semantics or computational metatheory).[28] For instance, the subject of the IAS special year was officially given as "univalent foundations", although a lot of the work done there focused on semantics and metatheory in addition to foundations. The book produced by participants in the IAS program was titled "Homotopy type theory: Univalent foundations of mathematics"; although this could refer to either usage, since the book only discusses HoTT as a mathematical foundation.[27]

## Special Year on Univalent Foundations of Mathematics

In 2012–13 researchers at the Institute for Advanced Study held "A Special Year on Univalent Foundations of Mathematics".[29] The special year brought together researchers in topology, computer science, category theory, and mathematical logic. The program was organized by Steve Awodey, Thierry Coquand and Vladimir Voevodsky.

During the program Peter Aczel, who was one of the participants, initiated a working group which investigated how to do type theory informally but rigorously, in a style that is analogous to ordinary mathematicians doing set theory. After initial experiments it became clear that this was not only possible but highly beneficial, and that a book (the so-called HoTT Book)[27][30] could and should be written. Many other participants of the project then joined the effort with technical support, writing, proof reading, and offering ideas. Unusually for a mathematics text, it was developed collaboratively and in the open on GitHub, is released under a Creative Commons license that allows people to fork their own version of the book, and is both purchasable in print and downloadable free of charge.[31][32][33]

More generally, the special year was a catalyst for the development of the entire subject; the HoTT Book was only one, albeit the most visible, result.

Official participants in the special year

ACM Computing Reviews listed the book as a notable 2013 publication in the category "mathematics of computing".[34]

## Key concepts

Intensional type theoryHomotopy theory
types ${\displaystyle A}$spaces ${\displaystyle A}$
terms ${\displaystyle a}$points ${\displaystyle a}$
${\displaystyle a:A}$${\displaystyle a\in A}$
dependent type ${\displaystyle x:A\ \vdash \ B(x)\ }$fibration ${\displaystyle B\to A}$
identity type ${\displaystyle \mathrm {Id} _{A}(a,b)}$path space
${\displaystyle p:\mathrm {Id} _{A}(a,b)}$path ${\displaystyle p:a\to b}$
${\displaystyle \alpha :\mathrm {Id} _{\mathrm {Id} _{A}(a,b)}(p,q)}$homotopy ${\displaystyle \alpha :p\Rightarrow q}$

### "Propositions as types"

HoTT uses a modified version of the "propositions as types" interpretation of type theory, according to which types can also represent propositions and terms can then represent proofs. In HoTT, however, unlike in standard "propositions as types", a special role is played by 'mere propositions' which, roughly speaking, are those types having at most one term, up to propositional equality. These are more like conventional logical propositions than are general types, in that they are proof-irrelevant.

### Equality

The fundamental concept of homotopy type theory is the path. In HoTT, the type ${\displaystyle a=b}$ is the type of all paths from the point ${\displaystyle a}$ to the point ${\displaystyle b}$. (Therefore, a proof that a point ${\displaystyle a}$ equals a point ${\displaystyle b}$ is the same thing as a path from the point ${\displaystyle a}$ to the point ${\displaystyle b}$.) For any point ${\displaystyle a}$, there exists a path of type ${\displaystyle a=a}$, corresponding to the reflexive property of equality. A path of type ${\displaystyle a=b}$ can be inverted, forming a path of type ${\displaystyle b=a}$, corresponding to the symmetric property of equality. Two paths of type ${\displaystyle a=b}$ resp. ${\displaystyle b=c}$ can be concatenated, forming a path of type ${\displaystyle a=c}$; this corresponds to the transitive property of equality.

Most importantly, given a path ${\displaystyle p:a=b}$, and a proof of some property ${\displaystyle P(a)}$, the proof can be "transported" along the path ${\displaystyle p}$ to yield a proof of the property ${\displaystyle P(b)}$. (Equivalently stated, an object of type ${\displaystyle P(a)}$ can be turned into an object of type ${\displaystyle P(b)}$.) This corresponds to the substitution property of equality. Here, an important difference between HoTT and classical mathematics comes in. In classical mathematics, once the equality of two values ${\displaystyle a}$ and ${\displaystyle b}$ has been established, ${\displaystyle a}$ and ${\displaystyle b}$ may be used interchangeably thereafter, with no regard to any distinction between them. In homotopy type theory, however, there may be multiple different paths ${\displaystyle a=b}$, and transporting an object along two different paths will yield two different results. Therefore, in homotopy type theory, when applying the substitution property, it is necessary to state which path is being used.

In general, a "proposition" can have multiple different proofs. (For example, the type of all natural numbers, when considered as a proposition, has every natural number as a proof.) Even if a proposition has only one proof ${\displaystyle a}$, the space of paths ${\displaystyle a=a}$ may be non-trivial in some way. A "mere proposition" is any type which either is empty, or contains only one point with a trivial path space.

Note that people write ${\displaystyle a=b}$ for ${\displaystyle Id_{A}(a,b)}$, thereby leaving the type ${\displaystyle A}$ of ${\displaystyle a,b}$ implicit. Do not confuse it with ${\displaystyle id_{A}:A\to A}$, denoting the identity function on ${\displaystyle A}$.

### Type equivalence

Two types ${\displaystyle A}$ and ${\displaystyle B}$ belonging to some universe ${\displaystyle U}$ are defined as being equivalent if there exists an equivalence between them. An equivalence is a function

${\displaystyle f:A\to B}$

which has both a left inverse and a right inverse, in the sense that for suitably chosen ${\displaystyle g}$ and ${\displaystyle h}$, the following types are both inhabited:

${\displaystyle Id_{B\rightarrow B}(f\circ g,id_{B}),}$
${\displaystyle Id_{A\rightarrow A}(h\circ f,id_{A}).}$

i.e.

${\displaystyle f\circ g=_{B\rightarrow B}id_{B},}$
${\displaystyle h\circ f=_{A\rightarrow A}id_{A}.}$

This expresses a general notion of "f has both a left inverse and right inverse", using equality types. Note that the invertibility conditions above are equality types in the function types ${\displaystyle A\rightarrow A}$ and ${\displaystyle B\rightarrow B}$. One generally assumes the function extensionality axiom, which ensures that these are equivalent to the following types that express invertibility using the equality on the domain and codomain ${\displaystyle A}$ and ${\displaystyle B}$:

${\displaystyle \Pi _{y:B}.\ Id_{B}((f\circ g)(y),id_{B}(y)),}$
${\displaystyle \Pi _{x:A}.\ Id_{A}((h\circ f)(x),id_{A}(x)).}$

i.e. for all ${\displaystyle x:A}$ and ${\displaystyle y:B}$,

${\displaystyle f(g(y))=_{B}y,}$
${\displaystyle h(f(x))=_{A}x.}$

The functions of type

${\displaystyle A\to B}$

together with a proof that they are equivalences are denoted by

${\displaystyle A\simeq B}$.

### The univalence axiom

Having defined functions that are equivalences as above, one can show that there is a canonical way to turn paths to equivalences. In other words, there is a function of the type

${\displaystyle (A=B)\to (A\simeq B),}$

which expresses that types ${\displaystyle A,B}$ that are equal are, in particular, also equivalent.

The univalence axiom states that this function is itself an equivalence.[27]:115 Therefore, we have

${\displaystyle (A=B)\simeq (A\simeq B)}$

"In other words, identity is equivalent to equivalence. In particular, one may say that 'equivalent types are identical'."[27]:4

## Applications

### Theorem proving

HoTT allows mathematical proofs to be translated into a computer programming language for computer proof assistants much more easily than before. This approach offers the potential for computers to check difficult proofs.[35]

One goal of mathematics is to formulate axioms from which virtually all mathematical theorems can be derived and proven unambiguously. Correct proofs in mathematics must follow the rules of logic. They must be derivable without error from axioms and already-proven statements.[35]

HoTT adds the univalence axiom, which relates the equality of logical-mathematical propositions to homotopy theory. An equation such as “a=b” is a mathematical proposition in which two different symbols have the same value. In homotopy type theory, this is taken to mean that the two shapes which represent the values of the symbols are topologically equivalent.[35]

These topological equivalence relationships, ETH Zürich Institute for Theoretical Studies director Giovanni Felder argues, can be better formulated in homotopy theory because it is more comprehensive: Homotopy theory explains not only why “a equals b” but also how to derive this. In set theory, this information would have to be defined additionally, which makes the translation of mathematical propositions into programming languages more difficult.[35]

### Computer programming

As of 2015, intense research work was underway to model and formally analyse the computational behavior of the univalence axiom in homotopy type theory.[36]

Cubical type theory is one attempt to give computational content to homotopy type theory.[37]

However, it is believed that certain objects, such as semi-simplicial types, cannot be constructed without reference to some notion of exact equality. Therefore, various two-level type theories have been developed which partition their types into fibrant types, which respect paths, and non-fibrant types, which do not. Cartesian cubical computational type theory is the first two-level type theory which gives a full computational interpretation to homotopy type theory.[38]

## References

1. Shulman, Michael (2016-01-27). "Homotopy Type Theory: A synthetic approach to higher equalities". arXiv:1601.05035v3 [math.LO]., footnote 1
2. Hofmann, Martin; Streicher, Thomas (1998). "The groupoid interpretation of type theory". In Sambin, Giovanni; Smith, Jan M. (eds.). Twenty Five Years of Constructive Type Theory. Oxford Logic Guides. 36. Clarendon Press. pp. 83–111. ISBN 978-0-19-158903-4. MR 1686862.
3. Ahrens, Benedikt; Kapulkin, Krzysztof; Shulman, Michael (2015). "Univalent categories and the Rezk completion". Mathematical Structures in Computer Science. 25 (5): 1010–1039. arXiv:1303.0584. doi:10.1017/S0960129514000486. MR 3340533.
4. Foundational Methods in Computer Science, University of Calgary, June 7th - 9th, 2006
5. Michael Warren, "Homotopy Models of Intensional Type Theory"
6. Identity Types - Topological and Categorical Structure, Workshop, Uppsala, November 13-14, 2006
7. Richard Garner, Factorisation axioms for type theory
8. Berg, Benno van den; Garner, Richard (27 July 2010). "Topological and simplicial models of identity types". arXiv:1007.4638 [math.LO].
9. Lumsdaine, Peter LeFanu; Warren, Michael A. (6 November 2014). "The local universes model: an overlooked coherence construction for dependent type theories". ACM Transactions on Computational Logic. 16 (3): 1–31. arXiv:1411.1736. doi:10.1145/2754931.
10. 86th edition of the Peripatetic Seminar on Sheaves and Logic, Henri Poincaré University, September 8-9 2007
11. Preliminary list of PSSL86 participants
12. Awodey, Steve; Warren, Michael A. (3 September 2007). "Homotopy theoretic models of identity types". Mathematical Proceedings of the Cambridge Philosophical Society. 146: 45. arXiv:0709.0248. Bibcode:2008MPCPS.146...45A. doi:10.1017/S0305004108001783.
13. van den Berg, Benno; Garner, Richard (1 December 2007). "Types are weak omega-groupoids". Proceedings of the London Mathematical Society. 102 (2): 370–394. arXiv:0812.0298. doi:10.1112/plms/pdq026.
14. Lumsdaine, Peter (2010). "Higher Categories from Type Theories" (PDF) (Ph.D.). Carnegie Mellon University.
15. Notes on homotopy lambda calculus, March 2006
16. GitHub repository, Univalent Mathematics
17. Mini-Workshop: The Homotopy Interpretation of Constructive Type Theory, Mathematical Research Institute of Oberwolfach, February 27th – March 5th, 2011
18. GitHub repository, Andrej Bauer, Homotopy theory in Coq
19. GitHub Basic homotopy type theory, Andrej Bauer & Vladimir Voevodsky, Apr 29, 2011
20. GitHub repository, Homotopy type theory
21. Shulman, Michael (2015). "Univalence for inverse diagrams and homotopy canonicity". Mathematical Structures in Computer Science. 25 (5): 1203–1277. arXiv:1203.3253. doi:10.1017/S0960129514000565.
22. Canonicity for 2-Dimensional Type Theory, by Daniel R. Licata and Robert Harper, Carnegie Mellon University, July 21, 2011
23. Homotopy Type Theory and Univalent Foundations Blog
24. Homotopy Type Theory blog
25. Type Theory and Univalent Foundations
26. Univalent Foundations Program (2013). Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study.
27. Homotopy Type Theory: References
28. IAS school of mathematics: Special Year on The Univalent Foundations of Mathematics
29. Official announcement of The HoTT Book, by Steve Awodey, 20 June 2013
30. Monroe, D (2014). "A New Type of Mathematics?". Comm ACM. 57 (2): 13–15. doi:10.1145/2557446.
31. Announcement of The HoTT Book, by Mike Shulman at The n-Category Café, June 20, 2013
32. Announcement of The HoTT Book, by Andrej Bauer, June 20, 2013
33. ACM Computing Reviews. "Best of 2013".
34. Meyer, Florian (3 September 2014). "A new foundation for mathematics". R&D Magazine. Retrieved 6 September 2014.
35. Sojakova, Kristina (2015). Higher Inductive Types as Homotopy-Initial Algebras. POPL 2015. arXiv:1402.0761. doi:10.1145/2676726.2676983.
36. Cohen, Cyril; Coquand, Thierry; Huber, Simon; Mörtberg, Anders (2015). Cubical Type Theory: a constructive interpretation of the univalence axiom. TYPES 2015.
37. Anguili, Carlo; Favonia; Harper, Robert (2018). Cartesian Cubical Computational Type Theory: Constructive Reasoning with Paths and Equalities (PDF). Computer Science Logic 2018. Retrieved 26 Aug 2018. (to appear)