Homotopy type theory

From Wikipedia, the free encyclopedia

Cover of Homotopy Type Theory: Univalent Foundations of Mathematics.

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.


Prehistory: the groupoid model[edit]

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",[2] 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[3] 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.[4]

Early history: model categories and higher groupoids[edit]

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[5] 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.[6]

At a subsequent workshop about identity types at Uppsala University in 2006[7] there were two talks about the relation between intensional type theory and factorization systems: one by Richard Garner, "Factorisation systems for type theory",[8] 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.[9] A general solution, building on Voevodsky's construction, was eventually given by Lumsdaine and Warren in 2014.[10]

At the PSSL86 in 2007[11] Awodey gave a talk titled "Homotopy type theory" (this was the first public usage of that term, which was coined by Awodey[12]). 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[13] 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",[14] 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),[15] 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".[16]

The univalence axiom, synthetic homotopy theory, and higher inductive types[edit]

The concept of a univalent fibration was introduced by Voevodsky in early 2006.[17] 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.[a][b]

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".[19]

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, 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".[20] As part of a Coq tutorial for this workshop, Andrej Bauer wrote a small Coq library[21] 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[22] (the first commit of the latter[23] 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[24][25]), 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[26] 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.[27]

Univalent foundations[edit]

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.[28]

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",[29] 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).[30] 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.[29]

Special Year on Univalent Foundations of Mathematics[edit]

An animation showing development of the HoTT Book on the GitHub repository by the participants in the Univalent Foundations Special Year project.

In 2012–13 researchers at the Institute for Advanced Study held "A Special Year on Univalent Foundations of Mathematics".[31] 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)[29][32] 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.[33][34][35]

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".[36]

Key concepts[edit]

Intensional type theory Homotopy theory
types spaces
terms points
dependent type fibration
identity type path space

"Propositions as types"[edit]

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.


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

Most importantly, given a path , and a proof of some property , the proof can be "transported" along the path to yield a proof of the property . (Equivalently stated, an object of type can be turned into an object of type .) 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 and has been established, and may be used interchangeably thereafter, with no regard to any distinction between them. In homotopy type theory, however, there may be multiple different paths , 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 , the space of paths 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 for , thereby leaving the type of implicit. Do not confuse it with , denoting the identity function on .[c]

Type equivalence[edit]

Two types and belonging to some universe are defined as being equivalent if there exists an equivalence between them. An equivalence is a function

which has both a left inverse and a right inverse, in the sense that for suitably chosen and , the following types are both inhabited:


This expresses a general notion of " has both a left inverse and right inverse", using equality types. Note that the invertibility conditions above are equality types in the function types and . 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 and :

i.e. for all and ,

The functions of type

together with a proof that they are equivalences are denoted by


The univalence axiom[edit]

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

which expresses that types that are equal are, in particular, also equivalent.

The univalence axiom states that this function is itself an equivalence.[29]: 115 [18]: 4–6  Therefore, we have

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

Martín Hötzel Escardó has shown that the property of univalence is independent of Martin-Löf Type Theory (MLTT).[18]: 6 [d]


Theorem proving[edit]

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.[37] 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.[37]

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.[37]

Computer programming[edit]

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

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

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.[40]

See also[edit]


  1. ^ Univalence is a type, a property of the identity type IdU of a universe U —Martín Hötzel Escardó (2018)[18]: p.1 
  2. ^ "Univalence is a type, and the univalence axiom says that this type has some inhabitant."[18]: p.1 
  3. ^ Here the type theory convention is used, that type names begin with a capitalized letter, but that function names begin with a lower-case letter.
  4. ^ Martín Hötzel Escardó has shown that the property of univalence, "a property of the identity type IdU of a universe U",[18]: 4  may or may not have an inhabitant. By the Univalence Axiom the type 'isUnivalent(U)' has an inhabitant; Hötzel Escardó notes that when reflection is the only way to construct elements of the identity type, other than univalence, one may construct a function J from the identity type, from reflection, and from J.[18]: 2.4 The identity type  Hötzel Escardó proceeds to construct the univalence type, using repeated applications of J. When 'all types are sets' (denoted Axiom K),[18]: 2.4  Axiom K implies the type 'isUnivalent(U)' does not have an inhabitant. Thus Hötzel Escardó finds the type 'isUnivalent(U)' is undecided in Martin-Löf Type Theory (MLTT).[18]: 3.2, p.6 The Univalence Axiom 


  1. ^ Shulman, Michael (27 January 2016). "Homotopy Type Theory: A synthetic approach to higher equalities". arXiv:1601.05035v3 [math.LO]., footnote 1
  2. ^ Hofmann, M.; Streicher, T. (1994). "The groupoid model refutes uniqueness of identity proofs". Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science. pp. 208–212. doi:10.1109/LICS.1994.316071. ISBN 0-8186-6310-3. S2CID 19496198.
  3. ^ 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. Vol. 36. Clarendon Press. pp. 83–111. ISBN 978-0-19-158903-4. MR 1686862.
  4. ^ 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. S2CID 1135785.
  5. ^ "Foundational Methods in Computer Science 2006, University of Calgary, June 7th - 9th, 2006". University of Calgary. Retrieved 6 June 2021.
  6. ^ Warren, Michael A. (2006). Homotopy Models of Intensional Type Theory (PDF) (Thesis).
  7. ^ "Identity Types - Topological and Categorical Structure, Workshop, Uppsala, November 13-14, 2006". Uppsala University - Department of Mathematics. Retrieved 6 June 2021.
  8. ^ Richard Garner, Factorisation axioms for type theory
  9. ^ Berg, Benno van den; Garner, Richard (27 July 2010). "Topological and simplicial models of identity types". arXiv:1007.4638 [math.LO].
  10. ^ 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. S2CID 14068103.
  11. ^ "86th edition of the Peripatetic Seminar on Sheaves and Logic, Henri Poincaré University, September 8-9, 2007". loria.fr. Archived from the original on 17 December 2014. Retrieved 20 December 2014.
  12. ^ Preliminary list of PSSL86 participants
  13. ^ Awodey, Steve; Warren, Michael A. (3 September 2007). "Homotopy theoretic models of identity types". Mathematical Proceedings of the Cambridge Philosophical Society. 146 (1): 45. arXiv:0709.0248. Bibcode:2008MPCPS.146...45A. doi:10.1017/S0305004108001783. S2CID 7915709.
  14. ^ Voevodsky, Vladimir (27 September 2006). "A very short note on homotopy λ-calculus". ucr.edu. Retrieved 6 June 2021.
  15. ^ 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. S2CID 5575780.
  16. ^ Lumsdaine, Peter (2010). "Higher Categories from Type Theories" (PDF) (Ph.D.). Carnegie Mellon University.
  17. ^ Notes on homotopy lambda calculus, March 2006
  18. ^ a b c d e f g h Martín Hötzel Escardó (October 18, 2018) A self-contained, brief and complete formulation of Voevodsky’s Univalence Axiom
  19. ^ GitHub repository, Univalent Mathematics
  20. ^ Awodey, Steve; Garner, Richard; Martin-Löf, Per; Voevodsky, Vladimir (27 February – 5 March 2011). "Mini-Workshop: The Homotopy Interpretation of Constructive Type Theory" (PDF). Oberwolfach Reports. Mathematical Research Institute of Oberwolfach: 609–638. doi:10.4171/OWR/2011/11. Retrieved 6 June 2021.
  21. ^ GitHub repository, Andrej Bauer, Homotopy theory in Coq
  22. ^ Bauer, Andrej; Voevodsky, Vladimir (29 April 2011). "Basic homotopy type theory". GitHub. Retrieved 6 June 2021.
  23. ^ GitHub repository, Homotopy type theory
  24. ^ 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. S2CID 13595170.
  25. ^ Licata, Daniel R.; Harper, Robert (21 July 2011). "Canonicity for 2-Dimensional Type Theory" (PDF). Carnegie Mellon University. Retrieved 6 June 2021.
  26. ^ Homotopy Type Theory and Univalent Foundations Blog
  27. ^ Homotopy Type Theory blog
  28. ^ Type Theory and Univalent Foundations
  29. ^ a b c d e Univalent Foundations Program (2013). Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study.
  30. ^ Homotopy Type Theory: References
  31. ^ IAS school of mathematics: Special Year on The Univalent Foundations of Mathematics
  32. ^ Official announcement of The HoTT Book, by Steve Awodey, 20 June 2013
  33. ^ Monroe, D (2014). "A New Type of Mathematics?". Comm ACM. 57 (2): 13–15. doi:10.1145/2557446. S2CID 6120947.
  34. ^ Shulman, Mike (20 June 2013). "The HoTT Book". The n-Category Café. Retrieved 6 June 2021 – via University of Texas.
  35. ^ Bauer, Andrej (20 June 2013). "The HoTT Book". Mathematics and Computation. Retrieved 6 June 2021.
  36. ^ ACM Computing Reviews. "Best of 2013".
  37. ^ a b c Meyer, Florian (3 September 2014). "A new foundation for mathematics". R&D Magazine. Retrieved 29 July 2021.
  38. ^ Sojakova, Kristina (2015). Higher Inductive Types as Homotopy-Initial Algebras. POPL 2015. arXiv:1402.0761. doi:10.1145/2676726.2676983.
  39. ^ Cohen, Cyril; Coquand, Thierry; Huber, Simon; Mörtberg, Anders (2015). Cubical Type Theory: a constructive interpretation of the univalence axiom. TYPES 2015.
  40. ^ Anguili, Carlo; Favonia; Harper, Robert (2018). Cartesian Cubical Computational Type Theory: Constructive Reasoning with Paths and Equalities (PDF). Computer Science Logic 2018. Retrieved 26 August 2018. (to appear)


Further reading[edit]

  • David Corfield (2020), Modal Homotopy Type Theory: The Prospect of a New Logic for Philosophy, Oxford University Press.
  • Egbert Rijke (2022), Introduction to Homotopy Type Theory, arXiv:2212.11082. Introductory textbook.

External links[edit]

Libraries of formalized mathematics[edit]