# Homotopy type theory

In mathematical logic and computer science, homotopy type theory (HoTT) 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 that called 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. 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
### 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 1994 paper of Martin Hofmann and Thomas Streicher called "The groupoid model refutes uniqueness of identity proofs", in which they showed that intensional type theory had a model in the category of groupoids. 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 follow-up paper 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 coherent 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.

### 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 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.
At a subsequent workshop about identity types at Uppsala University in 2006 there were two talks about the relation between intensional type theory and factorization systems: one by Richard Garner, "Factorisation systems for type theory", 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. A general solution, building on Voevodsky's construction, was eventually given by Lumsdaine and Warren in 2014.
At the PSSL86 in 2007 Awodey gave a talk titled "Homotopy type theory" (this was the first public usage of that term, which was coined by Awodey). 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 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", 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), 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".

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

The concept of a univalent fibration was introduced by Voevodsky in early 2006. 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".
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 version of Coq (software), to a group including Awodey, Warren, Lumsdaine, 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". As part of a Coq tutorial for this workshop, Andrej Bauer wrote a small Coq library 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 (the first commit of the latter 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), 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 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.

## 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.
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", 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). 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.

## 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". 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) 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.
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
* Peter Aczel
* Benedikt Ahrens
* Thorsten Altenkirch
* Steve Awodey
* Bruno Barras
* Andrej Bauer
* Yves Bertot
* Marc Bezem
* Thierry Coquand
* Eric Finster
* Daniel Grayson
* Hugo Herbelin
* André Joyal
* Dan Licata
* Peter Lumsdaine
* Assia Mahboubi
* Per Martin-Löf
* Sergey Melikhov
* Alvaro Pelayo
* Andrew Polonsky
* Michael Shulman
* Matthieu Sozeau
* Bas Spitters
* Benno van den Berg
* Vladimir Voevodsky
* Michael Warren
* Khem al-Khem Kardasheva
* Noam Zeilberger
ACM Computing Reviews listed the book as a notable 2013 publication in the category "mathematics of computing".

## Key concepts

| Intensional type theory | Homotopy theory |
| types $A$ | spaces $A$ |
| terms $a$ | points $a$ |
| $a:A$ | $a\in A$ |
| dependent type $x:A\ \vdash \ B(x)\$ | fibration $B\to A$ |
| identity type $\mathrm {Id} _{A}(a,b)$ | path space |
| $p:\mathrm {Id} _{A}(a,b)$ | path $p:a\to b$ |
| $\alpha :\mathrm {Id} _{\mathrm {Id} _{A}(a,b)}(p,q)$ | homotopy $\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 $a=b$ is the type of all paths from the point $a$ to the point $b$. (Therefore, a proof that a point $a$ equals a point $b$ is the same thing as a path from the point $a$ to the point $b$.) For any point $a$, there exists a path of type $a=a$, corresponding to the reflexive property of equality. A path of type $a=b$ can be inverted, forming a path of type $b=a$, corresponding to the symmetric property of equality. Two paths of type $a=b$ resp. $b=c$ can be concatenated, forming a path of type $a=c$; this corresponds to the transitive property of equality.
Most importantly, given a path $p:a=b$, and a proof of some property $P(a)$, the proof can be "transported" along the path $p$ to yield a proof of the property $P(b)$. (Equivalently stated, an object of type $P(a)$ can be turned into an object of type $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 $a$ and $b$ has been established, $a$ and $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 $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 $a$, the space of paths $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 $a=b$ for $Id_{A}(a,b)$, thereby leaving the type $A$ of $a,b$ implicit. Do not confuse it with $id_{A}:A\to A$, denoting the identity function on $A$.

### Type equivalence

Two functions $f,g:A\rightarrow B$ are homotopies by pointwise identification:$^{:2.4.1}$
    $f\sim g:\equiv \prod _{x:A}f(x)=g(x)$
Equivalences between two types $A$ and $B$ belonging to some universe $U$ are defined by the functions $f:A\rightarrow B$ together with the proof of having retractions and sections with respect to homotopies:$^{:2.4.11,2.4.10}$
    $A\simeq B:\equiv \sum _{f:A\rightarrow B}isequiv(f)$, where
    $isequiv(f):\equiv (\sum _{g:B\rightarrow A}(f\circ g)\sim id_{B})\times (\sum _{h:B\rightarrow A}(h\circ f)\sim id_{A})$
Together with the univalence axiom below, one receives a non-circular "$\infty$-isomorphism" expanded to identity.
    $A\simeq B:\equiv {\text{there are}}f:A\leftrightarrows B:g\ {\text{with}}\ g\circ f\simeq id_{A}\ {\text{and}}\ f\circ g\simeq id_{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
    $(A=B)\to (A\simeq B),$
which expresses that types $A,B$ that are equal are, in particular, also equivalent.
The univalence axiom states that this function is itself an equivalence.$^{:115}$$^{:4–6}$ Therefore, we have
    $(A=B)\simeq (A\simeq B)$
"In other words, identity is equivalent to equivalence. In particular, one may say that 'equivalent types are identical'."$^{:4}$
Martín Hötzel Escardó has shown that the property of univalence is independent of Martin-Löf Type Theory (MLTT).$^{:6}$ This is because type equivalence is compatible with all constructions of the type theory$^{:2.6-2.15}$.

## Applications
### Theorem proving

Advocates claim that HoTT allows mathematical proofs to be translated into a computer programming language for computer proof assistants much more easily than before. They argue this approach increases the potential for computers to check difficult proofs. However, these claims aren't universally accepted and many research efforts and proof assistants don't make use of HoTT.
HoTT adopts 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.
These 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, advocates argue, makes the translation of mathematical propositions into programming languages more difficult.

### 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.
Cubical type theory is one attempt to give computational content to homotopy type theory.
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.