homotopy theory FAQ

This page is to provide non-technical or maybe semi-technical discussion of the nature and role of [[homotopy theory]].
For more technical details and further pointers see at [[homotopy theory]].

#Contents#
* table of contents
{:toc}

## What is homotopy theory?

## Is homotopy theory a part of algebraic topology?
{#intro}

On the relation between [[homotopy theory]] and ([[algebraic topology|algebraic]]) [[topology]]:

In one of the first textbooks on [[homotopy theory]],
_[An introduction to homotopy theory](homotopy+theory#Hilton53)_ by [[Peter J. Hilton]] (1953),
one reads:

> Since the introduction of [[homotopy groups]] by [[Hurewicz]] in 1935, [[homotopy theory]] has been occupying an increasingly prominent place in the field of [[algebraic topology]]. Important new advances are continually being made in the subject by various workers; and the recent developments emanating from the French school of topologists underline the desirability of having available a basic introduction to [[homotopy theory]] suitable for those who wish to undertake research in the subject and for those who wish to be in a position to understand the modern techniques and results.

[[Sze-Tsen Hu]] writes in _[Homotopy Theory](homotopy+theory#SzeTsen59)_ (1959):

> The recognition of the branch of mathematics now called [[homotopy theory]] took place in the few years after the introduction of [[homotopy groups]] by [[Witold Hurewicz]] in 1935. Since then, with numerous advances made by various workers, it has been playing an increasingly important role in the expanding field of [[algebraic topology]]. However, there exists no textbook on the subject at any level except the extremely condensed Cambridge tract of [[P. J. Hilton]] entitled “[An Introduction to Homotopy Theory](homotopy+theory#Hilton53)”.

Thus, at the time [[homotopy theory]] was clearly identified as a part of [[algebraic topology]].

The 1995 _[[Handbook of Algebraic Topology]]_ (edited by [[Ioan M. James]]) is overwhelmingly devoted to [[homotopy theory]].

However, the attitudes have changed since then. [[Haynes Miller]] writes in the _[[Handbook of Homotopy Theory]]_ (2019):

> This volume may be regarded as a successor to the “[[Handbook of Algebraic Topology]],” edited by [[Ioan James]] and published a quarter of a century ago.
In calling it the “[[Handbook of Homotopy Theory]],” I am recognizing that the discipline has expanded and deepened, and traditional questions of [[topology]], as classically understood, are now only one of many distinct mathematical disciplines in which it has had a profound impact and which serve as sources of motivation for research directions within [[homotopy theory]] proper.

{#BarwickOnHomotopyTheory} [[Clark Barwick]] writes in _[The future of homotopy theory](https://www.maths.ed.ac.uk/~cbarwick/papers/future.pdf)_ (2018):

> Neither our subject nor its interaction with other areas of inquiry is widely understood.
Some of us[${}^4$](#BarwickFootnote4) call ourselves _algebraic topologists_, but this has the unhelpful effect of making the subject appear to be an area of [[topology]], which I think is profoundly inaccurate. It so happens that one way (and historically the first way) to model homotopical thinking is to employ a very particular class of [[topological spaces]].[${}^5$](#BarwickFootnote5)
Today, the praxis of [[homotopy ]]theory interacts with [[topology]] no more often than it does with [[arithmetic geometry]] and [[category theory]], and the interactions with areas like [[representation theory]] are growing rapidly.
_Homotopy theory is not a branch of topology._ This is important, because as long as homotopy theory is classified under the umbrella of topology, there will be errors of judgement in who is considered competent to judge our work; the results of this at journals, on the job market, and in funding is real and lasting.

> {#BarwickFootnote4} ${}^4$ not me

> {#BarwickFootnote5} ${}^5$ I think of homotopy theory as an enrichment of the notion of [[equality]], dedicated to the primacy of _[[stuff, structure, property|structure over properties]]_. Simplistic and abstract though this idea is, it leads rapidly to a whole universe of nontrivial structures.

## What objects does homotopy theory study?

We list some [[mathematical objects]] that are undoubtedly studied by [[homotopy theory]]:

* The first object is known under various names: [[∞-groupoid]], (homotopy) space, [[homotopy type|(homotopy) type]], more recent (and so far exotic) names include “anima”. See the [section on “spaces”](#spaces) for an explanation of why so many different names are used for (essentially) the same concept.
These objects can be modeled by [[simplicial sets]] up to [[simplicial weak equivalence]], or [[topological spaces]] up to [[weak homotopy equivalence]],
or many other models.
See the [section on models](#models) for more details about models.

* [[Spectra]] or [[stable homotopy types]].
Specific [models](#models) include [[sequential spectra]] or [[symmetric spectra]] (valued in [[simplicial sets]] or [[topological spaces]]), [[orthogonal spectra]], [[reduced excisive functors]], etc.

* [[∞-categories]], also known as [[(∞,1)-categories]], [[homotopy theories]], etc.
Specific [models](#models) include [[relative categories]], [[quasicategories]], [[simplicial categories]], [[Segal categories]], [[complete Segal spaces]], etc.
See the [section on ∞-categories](#infinity) for more information.

* [[(∞,n)-categories]], which can be [modeled](#models) by [[globular n-fold complete Segal spaces]], Rezk's [[Theta-n spaces]], etc.

## What objects does algebraic topology study?

As already explained in the [introduction](#intro),
there is a recent tendency to separate [[homotopy theory]]
from [[algebraic topology]].
This leaves the question as to what exactly [[algebraic topology]] is once the separation happens.

We list some [[mathematical objects]] that are undoubtedly studied by [[algebraic topology]]:

* [[manifolds]], as studied in [[surgery theory]], [[bordism theory]], etc.
These include [[topological manifolds]], [[PL-manifolds]], and [[smooth manifolds]].

* [[knots]], [[tangles]], [[surfaces]], and other objects arising from [[manifolds]].

* [[Lie groups]] and [[characteristic classes]].

* [[polyhedra]].

## What are “spaces” in homotopy theory?

These are some of the first and most important objects
introduced in [[homotopy theory]].

This is witnessed by the many names given to them,
which all describe the same concept but have a slightly different emphasis:

* [[∞-groupoid]], which emphasizes the categorical point of view;
* (homotopy) space, which emphasizes the original [model](#models) using [[topological spaces]] up to [[weak homotopy equivalence]];
the adjective “homotopy” can be used to distinguish
this usage from [[topological spaces]];
* [[homotopy type|homotopy type]], which emphasizes that objects in a [model](#models) are only considered up to [[weak homotopy equivalence]];
* [[type]], which alludes to [[homotopy type theory]], which aims to treat such objects as first-class citizens without invoking specific models.

Yet even this large variety of viewpoints is sometimes deemed insufficient,
which leads mathematicians to introduce further names for such objects,
such as “anima” used by [[Dustin Clausen]] and [[Peter Scholze]],
alluding to the process of [[vertical categorification]],
in its specific incarnation as groupoidal categorification,
alias homotopification, which can be seen as “animating”
1-categorical objects by introducing higher homotopies into them.

We emphasize that these objects (except for [[types]] in [[homotopy type theory]])
come with an associated notion of [[weak equivalence]],
which is _not_ isomorphism.
For example, when using [[topological spaces]] as [models](#models)
for (homotopy) spaces, we are _not_ interested in invariants
under [[homeomorphisms]], but rather only under [[weak homotopy equivalences]].
See the [section on models](#models) for more details.

## What is a model in homotopy theory?
{#models}

Informal ideas of objects studied by [[homotopy theory]],
such as (homotopy) spaces or [[(∞,1)-categories]],
must be presented using rigorous mathematical definitions.
As of April 2020, this most likely means defining
them using some flavor of [[set theory]],
although [[homotopy type theory]] may emerge as an alternative in the future.

This process introduces artifacts that are not present
in the original informal idea and have no meaning in that context.
As an example, suppose we present a (homotopy) space
using a [[simplicial set]].
Then the [[set]] of 0-simplices or $n$-simplices for any $n\ge0$
is a piece of data specific to our chosen presentation.
Another presentation may have a set of 0-simplices of different cardinality, say.
On the other hand, if we take the set of [[connected components]]
of a [[simplicial set]], the resulting set describes
a property of the underlying (homotopy) space and not just some specific presentation.
This can be formalized by saying that the set of connected
components is invariant under [[simplicial weak equivalences]].

Thus [[simplicial sets]] up to [[simplicial weak equivalences]]
_model_ (homotopy) spaces.

One common way to encode models is to organize them
in a [[relative category]]: the underlying category encodes
the specific presentation, whereas weak equivalences
encode the relevant notion of “sameness”.

## Why do we need models in homotopy theory?

The short answer is: we do not know how to work without models.

A good example is the notion of an [[(∞,1)-category]],
which exists at the [[Platonic]] level,
and whose “shadows” (using Plato's terminology)
in the world of rigorous mathematics
have been exhibited as various models of [[(∞,1)-categories]]:
[[relative categories]], [[quasicategories]], [[Segal categories]],
[[complete Segal spaces]], [[simplicial categories]], etc.

However, the concept of [[(∞,1)-categories]] per se
resists formalization in a satisfactory way.
[[Homotopy type theory]] may succeed one day on this path,
but so far no working definition has been exhibited yet.

## What is an ∞-category or (∞,1)-category?
{#infinity}

An (∞,1)-category is a category [[enriched]] in (homotopy) spaces.

This can be formalized in many different ways.
For example, if we [model](#models) homotopy spaces
by [[simplicial sets]] with [[simplicial weak equivalences]],
then we can consider categories enriched in [[simplicial sets]],
equipped with [[Dwyer–Kan equivalences]],
which are [[enriched functors]] that induce a [[simplicial weak equivalence]]
on each mapping [[simplicial set]],
and after passing to the [[homotopy category]]
(which in this case amounts to replacing each mapping [[simplicial set]]
with its set of connected components),
we get an [[equivalence of categories]].

As one can see from this description, there are substantial
[modeling](#models) issues related to (∞,1)-categories.

Other [models](#models) for (∞,1)-categories include
[[relative categories]], [[quasicategories]], [[Segal categories]],
[[complete Segal spaces]], etc.

All these models are equivalent in a precise sense:
we can organize each of them into a [[Quillen model category]]
so that all resulting [[model categories]] are [[Quillen equivalent]].

The term “[[∞-category]]” has two different meanings:
it can either mean (∞,1)-category,
or (more recently) it can mean a [[quasicategory]] (as used in [[Lurie]]'s books,
for example).

## Are quasicategories model-independent?

No, for example, the cardinality of the set of 0-simplices of a small [[quasicategory]]
does not have any model-independent meaning,
although it is an [[isomorphism]] invariant.

Unfortunately, one often sees the adjective “model-independent”
(ab)used to mean that only constructions that
are meaningful on the level of underlying [[(∞,1)-categories]]
are used in a particular argument with [[quasicategories]].
Of course, there is nothing special about [[quasicategories]]
in this context: we often write “model-independent” arguments
of such type also using [[model categories]], for example.

## What is homotopy type theory?

See [[homotopy type theory FAQ]] for a detailed explanation.
Here we only offer a highly impressionistic description.

Consider the traditional mathematical setup for (homotopy) spaces
[modeled](#models) by [[simplicial sets]] and [[simplicial weak equivalences]]:
we start with [[first-order logic]], introduce [[Zermelo-Fraenkel axioms]],
then define [[simplicial sets]] and [[simplicial weak equivalences]].

[[Homotopy type theory]] replaces this entire stack with a flavor of [[type theory]] that aims to axiomatize homotopy types (known in the field simply as types) directly, without these intermediate steps.
In particular, [[first-order logic]] is subsumed into [[type theory]].
The latter (very) roughly resembles [[ETCS]]
in how it chooses to formulate things like existence
of (co)products of sets etc., i.e., these concepts
are formulated in a categorical way rather than through
constructions like [[Kuratowski pairs]] etc.

More fundamentally, the meaning of equality sign $=$
is altered: now $A=B$ (very) roughly means the the space
of paths from the point $A$ to the point $B$ in whatever
ambient space contains the points $A$ and $B$.
Very roughly, if this space is empty, we could interpret this as $A\ne B$
and if it is nonempty, we could interpret this as $A=B$.
However, [[homotopy type theory]] preserves the whole homotopy type
of the path space and not just whether it is empty or not.
The (Platonic) meaning of the equality sign is thus fundamentally enhanced
and [[homotopy type theory]] explains how to manipulate such
enhanced equalities.

This setup allows us to talk about homotopy types directly,
without using models.
Furthermore, the analog of weak equivalences in this setting
behaves similar to [[isomorphisms]] (with a caveat that [[equality]]
is now understood in the enhanced sense).
In particular, every equivalence is invertible,
unlike (say) [[simplicial weak equivalences]], which need not be.

Much has been achieved on this path,
including a new proof of the [[Blakers-Massey theorem]] that
led to new classical consequences after being
instantiated in [[(∞,1)-toposes]].

However, one serious obstacle to adopting this approach
in mainstream [[homotopy theory]] is that there is currently (April 2020)
no working definition of an [[(∞,1)-category]],
although research is being conducted in this direction.

## What is homotopical algebra?
{#halg}

[[Homotopical Algebra]] is the title of a 1967 book by [[Daniel Quillen]] that introduced [[model categories]].

Ever since then this term has been used to describe
research in the area of [[model categories]].

It is often hard to separate homotopical algebra
from homotopy theory.
Typically, “homotopical algebra” is used
to refer to arguments that use notions from [[model categories]]
rather explicitly, as opposed to (say) [[quasicategorical]] arguments.
We do note that setting up the theory of [[quasicategories]]
relies heavily on [[homotopical algebra]] and much
of Lurie's [[Higher Topos Theory]] is devoted
to rather subtle aspects of [[homotopical algebra]].

## How are model categories related to other models of ∞-categories?

If we discard [[cofibrations]] and [[fibrations]]
from the data of a [[model category]],
we get a [[relative category]].
[[Relative categories]] are one of many equivalent [models](#models)
for [[(∞,1)-categories]], so any [[model category]]
has an underlying [[(∞,1)-category]].

Since the underlying [[(∞,1)-category]]
only depends on [[weak equivalences]] and not on [[cofibrations]] or [[fibrations]],
we deduce that two [[model categories]] with the same [[weak equivalences]],
but different [[cofibrations]] or [[fibrations]]
have the same underlying [[(∞,1)-category]].

Thus, the data of [[cofibrations]] and [[fibrations]]
merely enhances the given presentation of an [[(∞,1)-category]]
as a [[relative category]] with additional data
that helps to organize various computations,
e.g., to [derive functors](#derived).

However, the ultimate answer to any computation with [[model categories]]
that makes sense on the level of underlying [[(∞,1)-categories]]
does not depend on the choice of [[cofibrations]] and [[fibrations]],
although its specific [model](#models) certainly does.

Another important aspect of the relation between [[model categories]]
and [[(∞,1)-categories]] is that a [[model category]]
must satisfy additional (co)completeness conditions.
In the original definition by [[Quillen]],
a [[model category]] must be finitely (co)complete,
and its (co)fibrations need not be closed under [[retracts]].
In this case, the underlying [[(∞,1)-category]]
admits finite ∞-(co)limits.
In the revised definition by [[Kan]],
a [[model category]] must be (co)complete,
and its (co)fibrations must be closed under [[retracts]].
In this case, the underlying [[(∞,1)-category]]
admits small ∞-(co)limits.
Finally, Hovey's definition additionally requires factorizations
to be functorial.
This condition does not seem to alter the class of underlying [[(∞,1)-categories]].

## What is the relationship between (higher) category theory and homotopy theory?

[[homotopy theory|Homotopy theory]] serves as a foundation for much of modern (higher) [[category theory]].  For instance, the proof of equivalence of various models of [[(∞,n)-categories]] heavily relies on [homotopical algebra](#halg).  It is difficult to draw a sharp boundary between the two subjects; [[(∞,1)-categories]] could definitely be seen as being part of both, for example.

[[homotopy theory|Homotopy theory]] also somewhat implicitly permeates classical [[category theory]].  For example, the correct notion of a [[pullback]] for diagrams of [[categories]] is not the strict [[pullback]], but rather incorporates an additional isomorphism between the images of two given objects.
But this is precisely the [[homotopy pullback]] in the category of [[small categories]] equipped with the [[natural model structure]].

## What is a derived functor?
{#derived}

Just as [[relative categories]] [model](#models) [[(∞,1)-categories]],
we can expect functors between [[relative categories]]
to [model](#models) [[(∞,1)-functors]].

The easiest way to perform such [modeling](#models)
is to require functors to preserve [[weak equivalences]].
This indeed works perfectly well.
However, many functors arising in practice,
such as the tensor product of [[chain complexes]]
(with [[quasi-isomorphisms]] as [[weak equivalences]])
does not satisfy such a strong condition.

“Deriving” is a process that [models](#models) [[(∞,1)-functors]]
via functors between [[relative categories]] that need not
preserve [[weak equivalences]].

Multiple nonequivalent definitions of [[derived functors]]
exist in the literature,
and functors that can be derived in one of the definitions
need not be derivable in another.

Typically (in most definitions), deriving a [[functor]] $F\colon C\to D$ between [[relative categories]] $C$ and $D$
involves replacing $F$ with $F\circ R$,
where $R\colon C\to C$ is a [[resolution]] functor,
which is typically require to preserve [[weak equivalences]]
and be itself a [[weak equivalence]] of [[relative categories]]
(known as a [[Dwyer-Kan equivalence]] of [[relative categories]]).

A definition with rather good properties
was given recently by [[Hinich]]
and relies on converting a given functor $F\colon C\to D$
into a [[cocartesian fibration]] (or [[cartesian fibration]])
over the category $\{0\to1\}$, and
equipping the total category of this fibration
with an obvious notion of weak equivalence.
If the resulting functor of relative categories
is a (co)cartesian fibration of relative categories,
we can convert it to a functor $C\to D$ that preserves
[[weak equivalences]], which is the (left or right) [[derived functor]] of $F$.

Other (older) definitions involve [[Kan extensions]]
along [[localization]] functors to [[homotopy categories]].
These definitions do not have such nice theoretical properties
as the definition considered above.
For example, they tend to misbehave when we try to derive compositions of functors.

## What is the homotopy category of an (∞,1)-category?  What are its limitations?

The [[homotopy category]] $Ho(C)$ of an [[(∞,1)-category]] $C$
is obtained by replacing each of the hom [[∞-groupoids]] $hom(x,y)$
with its set of connected components: $hom_{Ho(C)}(x,y) := \pi_0(hom_C(x,y))$.

This informal description can be formalized in any [model](#models)
of (∞,1)-categories.
For instance, for [[relative categories]] we can formally
invert all [[weak equivalences]], the resulting [[localization]]
being the [[homotopy category]].
(We note that inverting morphisms _up to homotopy_
instead of strictly simply recovers the underlying [[(∞,1)-category]]
of a [[relative category]].)

The [[homotopy category]] is a useful tool
for extracting invariants from a given [[(∞,1)-category]].
For example, in the [[relative category]] of [[chain complexes]]
with [[quasi-isomorphisms]] we can compute
$$Ext^n(A,B)=Ho(Ch)(A,B[n]).$$

However, passing to the [[homotopy category]]
destroys a tremendous amount of information about the underlying [[(∞,1)-category]].
In particular, it is rarely possible to recover
any information about [[(∞,1)-limits]] and [[(∞,1)-colimits]]
from the [[homotopy category]], other than the case of [[products]] and [[coproducts]].
Thus, typically the passage to the [[homotopy category]]
happens near the end of an argument, where one no longer
needs categorical constructions like limits and colimits.

## What is a triangulated category?  What are its limitations?

A [[stable (∞,1)-category]] is an [[(∞,1)-category]]
that admits finite (∞,1)-(co)limits
and such that [[cartesian squares]] coincide with [[cocartesian squares]]
and there is a morphism from the [[terminal object]] to the [[initial object]].

As is clear from the definition, being a stable (∞,1)-category
is a _property_ of an (∞,1)-category.
Roughly speaking, a _triangulated category_ is the [[homotopy category]]
of a [[stable (∞,1)-category]] equipped with the additional
data of a [[homotopy cofiber]] of any morphism.

The above is not quite true.
In reality, one axiomatizes [[triangulated categories]]
as [[additive categories]] with additional data of distinguished triangles
(basically, [[homotopy cofiber]] sequences)
and suspension functor that satisfies a bunch of axioms.
A counterexample due to Muro, Schwede, and Strickland
constructs a triangulated category that does not arise
as the [[homotopy category]] of an (∞,1)-category.

[[triangulated category|Triangulated categories]] are a variation on the theme of [[homotopy categories]] and suffer from the same set of defects.
In particular, computations with [[homotopy limits]] or [[homotopy colimits]]
are extremely difficult or impossible beyond the simplest cases.

Much work was put into rectifying this defect of triangulated categories.
The resulting constructions are generically known as “enhancements”
and include notions such as [[pretriangulated dg-categories]]
and [[stable derivators]].

These definitions are rather complicated when compared
to [[stable (∞,1)-categories]], and [[derivators]] still suffer
from the same problems as [[homotopy categories]],
albeit on a higher level.

Thus, [[stable (∞,1)-categories]] due to their simplicity
and generality can be reasonably seen as an “ultimate enhancement”
of [[triangulated categories]] that does not suffer from their defects.

The most developed [models](#models) for [[stable (∞,1)-categories]]
are [[stable model categories]]
and stable [[quasicategories]].
The former are treated by [[Hovey]] in Chapter 7 of his book [[Model Categories]]
and the latter are treated in Chapter 1 of [[Lurie]]'s [[Higher Algebra]].

## What is a derived category?  What are its limitations?

The [[derived (∞,1)-category]] of an [[abelian category]] $A$
is an [[(∞,1)-category]] presented by the [[relative category]]
whose underlying [[category]] is the category of [[chain complexes]]
in $A$ and [[weak equivalences]] are [[quasi-isomorphisms]].
The [[homotopy category]] of the [[derived (∞,1)-category]]
recovers the traditional [[derived category]],
which is a [[triangulated category]].

The [[derived category]] of $A$ must not be confused
with the [[homotopy category of chain complexes]] valued in $A$.
The latter category is also defined as the [[homotopy category]]
of the [[relative category]] of $A$-valued [[chain complexes]],
but with [[weak equivalences]] being
[[chain homotopy equivalences]] instead of [[quasi-isomorphisms]].

The [[derived category]] (as well as the [[homotopy category of chain complexes]]) suffers from the same limitations
as [[homotopy categories]] and [[triangulated categories]].
In particular, any theoretical constructions
that involve [[homotopy limits]] and [[homotopy colimits]]
beyond the case of [[homotopy products]] or [[homotopy coproducts]]
invariably run into severe difficulties, often insurmountable.

One way to resolve this issue is to work with
one of the models of the [[derived (∞,1)-category]] instead.
By far the most popular choice in the literature
amounts to working with the [[relative category]] described above,
often augmented by additional formalisms such as [[model categories]].

Under additional conditions on $A$,
the [[relative category]] of [[chain complexes]] with values in $A$
and [[quasi-isomorphisms]]
can be equipped with various [[model structures]],
of which the most important ones are the
[[projective model structure on chain complexes]]
and [[injective model structure on chain complexes]].
These model structures provide a convenient conceptual
framework for [[projective resolutions]] and [[injective resolutions]].

Another treatment of [[derived (∞,1)-categories]]
can be given using [[stable quasicategories]].
See Chapter 1 in [[Lurie]]'s [[Higher Algebra]].

## References

* [Do we still need model categories?](https://mathoverflow.net/questions/78400/do-we-still-need-model-categories)
* [Why do we need model categories?](https://mathoverflow.net/questions/287091/why-do-we-need-model-categories)
* [Is the ∞-category of spectra “convenient”?](https://mathoverflow.net/questions/322808/is-the-infty-category-of-spectra-convenient)
* [Do we still need models of spectra other than the ∞-category Sp?](https://mathoverflow.net/questions/322832/do-we-still-need-models-of-spectra-other-than-the-infty-category-mathrmsp)


homotopy theory in homotopy type theory -- references

### Homotopy theory formalized in homotopy type theory
 {#HomotopyTheoryInHomotopyTyepTheoryReferences}

The following is a list of topics and results of [[homotopy theory]] that have been [[formal logic|formalized]] in [[homotopy type theory]].

\linebreak

On [[homotopy groups of spheres]]:

* [[homotopy groups of spheres in HoTT]]

On [[Whitehead's theorem]]:

* Dan's proof for [n-types](https://github.com/dlicata335/hott-agda/blob/master/homotopy/Whitehead.agda).

On  [[Eilenberg-MacLane spaces]]:

* Dan's [construction](https://github.com/dlicata335/hott-agda/blob/master/homotopy/KGn.agda).

* $K(G,n)$ is a spectrum, [formalized](https://github.com/HoTT/HoTT-Agda/blob/master/homotopy/EilenbergMacLane.agda)

On [[ordinary cohomology]]:

* [Deriving cohomology theories from spectra](https://github.com/HoTT/HoTT-Agda/blob/master/cohomology/SpectrumModel.agda)

* [Mayer-Vietoris sequence](https://github.com/HoTT/HoTT-Agda/blob/master/cohomology/MayerVietoris.agda), with [exposition](http://www.contrib.andrew.cmu.edu/~ecavallo/works/mayer-vietoris.pdf)

* [Cohomology of the n-torus](https://github.com/HoTT/HoTT-Agda/blob/master/cohomology/Torus.agda), which could be easily extended to any finite product of spheres.

* to do:

  * cohomology with finite coefficients, all we need is the boring work of defining $\mathbb{Z}/p\mathbb{Z}$ as an explicit group.

  * Calculate some more cohomology groups.

  * Compute the loop space of [this construction](https://github.com/HoTT/HoTT-Agda/blob/master/homotopy/SpaceFromGroups.agda) and use it to define spectra.

On the [[Freudenthal suspension theorem]]:

* Implies $\pi_k(S^n) = \pi_{k+1}(S^{n+1})$ whenever $k \leq 2n - 2$

* Peter's encode/decode-style proof, [formalized](https://github.com/dlicata335/hott-agda/blob/master/homotopy/Freudenthal.agda) by Dan, using a clever lemma about maps out of 2 n-connected types. This is the "95%" version, which shows that the relevant map is an equivalence on truncations.
* The full "100%" version, [formalized](https://github.com/dlicata335/hott-agda/blob/master/homotopy/FreudenthalConnected.agda) by Dan, which shows that the relevant map is $2n$-connected.

On [[homotopy limits]]:

* Jeremy Avigad, Chris Kapulkin and Peter Lumsdaine [arXiv](http://arxiv.org/abs/1304.0680) [Coq code](https://github.com/peterlefanulumsdaine/hott-limits/)

On the  [[van Kampen theorem]]:

* Mike's proofs are in the book and [Favonia formalized it](http://hott.github.com/HoTT-Agda/Homotopy.VanKampen.html). {{deadlink}}

On [[covering spaces]]:

* Favonia's proofs (link in flux due to library rewrite).

On [[Blakers-Massey theorem]]:

* Favonia/Peter/Guillaume/Dan's formalization of Peter/Eric/Dan's proof (link in flux due to library rewrite).


homotopy theory of Grothendieck

## Idea ##

[[Alexander Grothendieck]] outlined, in [[Pursuing Stacks]] and [[Les Derivateurs]], a systematic approach to [[homotopy theory]] using [[small categories]] and [[basic localizers]], and categories of [[presheaves]] on a small category, as models for [[homotopy types]].  An example of the latter is the category of [[simplicial sets]], which are presheaves on the [[simplex category]] $\Delta$.

This approach has been continued in the past decade, mostly by [[Georges Maltsiniotis]] and [[Denis-Charles Cisinski]].

###References###

G. Maltsiniotis, _La théorie de l'homotopie de Grothendieck_, Astérisque, 301, pp. 1-140, (2005).

[[!redirects the homotopy theory of Grothendieck]]


Homotopy Theory of Higher Categories

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Higher category theory
+--{: .hide}
[[!include higher category theory - contents]]
=--
=--
=--

* [[Carlos Simpson]],

  **Homotopy theory of higher categories**

  Cambridge University Press 2011

  [ISBN:9780521516952](https://www.cambridge.org/in/academic/subjects  /mathematics/geometry-and-topology/homotopy-theory-higher-categories-segal-categories-ini-categories-and-beyond?format=HB))

  [hal:00449826](https://hal.archives-ouvertes.fr/hal-00449826/document)

  [http://arxiv.org/abs/1001.4071](http://arxiv.org/abs/1001.4071)

on [[higher category theory]], specifically on the [[homotopy theory
|homotopy-theoretic]] version of [[enriched categories]] in terms of [[Segal categories]] and [[Segal n-categories]].

category: reference


homotopy theory of inverse semigroups

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Homotopy theory
+--{: .hide}
[[!include homotopy - contents]]
=--
=--
=--

# Homotopy theory of inverse semigroups
* table of contents
{: toc}

##Idea

Methods from abstract [[homotopy theory]] can be used to define a suitable notion of [[homotopy equivalence]] for [[inverse semigroups]].
As an application of this theory, one can prove a theorem for inverse semigroup [[homomorphisms]] which is the exact counterpart of the well-known result in [[topology]] which states that every [[continuous function]] can be factorised into a homotopy equivalence followed by a [[fibration]].

In the paper [LMP](#LMP) it is shown that this factorisation is isomorphic to the one constructed by [[Ben Steinberg|Steinberg]] in his Fibration Theorem, originally proved using a generalisation of Tilson's derived category.

## References

* {#LMP} [[M. V. Lawson]], J. Matthews, and [[T. Porter]], _The homotopy theory of inverse semigroups_ , IJAC 12 (2002) 755-790.

[[!redirects homotopy theory of inverse semigroups]]


+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Cohomology
+--{: .hide}
[[!include cohomology - contents]]
=--
#### Higher geometry
+--{: .hide}
[[!include higher geometry - contents]]
=--
#### Higher algebra
+--{: .hide}
[[!include higher algebra - contents]]
=--
=--
=--

This page collects material related to

* [[David Gepner]],

  _Homotopy topoi and equivariant elliptic cohomology_

  PhD thesis, University of Illinois at Urbana-Champaign, 2005.

  ([citeseer](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.2632), [pdf](http://www.ms.unimelb.edu.au/~nganter/talbot/gepner.thesisformat.pdf), [[GepnerElliptic05.pdf:file]])

on formulating and studying [[equivariant elliptic cohomology]] in [[(infinity,1)-topos theory]] and [[derived algebraic geometry]].

See also

* [[Jacob Lurie]], _[[A Survey of Elliptic Cohomology]]_

category: reference


homotopy totalization

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Limits and colimits
+--{: .hide}
[[!include infinity-limits - contents]]
=--
#### $(\infty,1)$-Category theory
+--{: .hide}
[[!include quasi-category theory contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

__Homotopy totalizations__ are a special case of [[homotopy limits]],
when the indexing diagram is $\Delta$,
the [[category of simplices]].

Homotopy totalizations can be defined in any [[relative category]],
just like [[homotopy limits]],
but practical computations are typically carried out
in presence of additional structures such as [[model structures]],
in fact, [[enriched model categories]] are the most common setup.

## Computation

In any $V$-[[enriched model category]], the homotopy totalization
of a [[cosimplicial object]]
$$X\colon \Delta\to C$$
can be computed in three different ways,
all of which use the notion of [[enriched end]] of [[enriched functors]] (i.e., [[weighted limits]]).

Specifically, consider the [[functor]]
$$Hom\colon (V^\Delta)^{op} \times C^\Delta \to C$$
that takes the [[enriched end]] of [[functors]], i.e., the [[weighted limit]],
where $V$ is the [[monoidal model category]] over which $C$ is enriched.

If we set the first argument to the [[constant functor]]
with value $1$ (the [[monoidal unit]] of $V$),
then the resulting functor is the [[limit functor]] $C^\Delta\to C$.

The functor $Hom$ becomes a [[right Quillen bifunctor]]
if we equip $V^\Delta$ and $C^\Delta$ with one
of the three following pairs of model structures:

* injective and injective;
* projective and projective;
* Reedy and Reedy.

Accordingly, the homotopy totalization of a [[cosimplicial object]] $X\colon \Delta\to C$ can be computed as follows.

* Cofibrantly resolve the constant weight $1$ in one of the three model structures listed above.
* Fibrantly resolve $X$ in the other model structure in the same pair.
* Compute $Hom(Q 1, R X)$, which is the homotopy totalization of $X$.

Cofibrant resolutions in the [[injective model structure]]
can be computed by appling some [[cofibrant resolution functor]] of $C$ objectwise.

Cofibrant resolutions in the [[Reedy model structure]]
can be computed inductively, by repeatedly factoring the [[latching map]] of $X$
as a [[cofibration]] followed by a [[weak equivalence]]
and adjusting $X$ accordingly.

Cofibrant resolutions in the [[projective model structure]]
can be computed explicitly in some practical examples.

### Reduction to semisimplicial objects

The inclusion of the
[[category of semisimplices]] (i.e., fininite inhabited totally ordered sets and injective order-preserving maps) into the [[category of simplices]]
(with the injectivity condition dropped) is a [[homotopy initial functor]],
i.e., restricting along this inclusion preserves [[homotopy limits]].

Thus, homotopy totalizations can be computed as
[[homotopy limits]] over the [[category of semisimplices]].
The latter category is a [[direct category]],
which makes cofibrancy conditions particularly easy.

## Examples

### Simplicial sets

A Reedy [[cofibrant replacement]] of the constant weight $1\colon \Delta\to sSet$
can be computed as the [[Yoneda embedding]] $Y_\Delta\colon\Delta\to sSet$.

Thus, the homotopy totalization of
$$X\colon \Delta \to sSet$$
can be computed as
$$Hom(Y_\Delta, R X),$$
where $R X$ is the Reedy [[fibrant replacement]] of $X$.

### Chain complexes of abelian groups

For [[chain complexes]] with [[quasi-isomorphisms]]
(which we equip with the [[projective model structure on chain complexes]]),
a computation analogous to the one for simplicial sets above
Reedy cofibrantly resolves the constant weight as
$$\mathrm{N} \mathbf{Z} [-]\colon \Delta \to Ch,$$
where $\mathrm{N}$ denotes the [[normalized chains functor]]
and $\mathbf{Z}[-]$ denotes the [[free simplicial abelian group functor]].

All [[cosimplicial objects]] in [[chain complexes]] are Reedy fibrant
because the [[matching map]] is a degreewise surjection of [[chain complexes]].

Thus, the homotopy totalization of $X\colon \Delta \to Ch$
can be computed as
$$Hom(\mathrm{N} \mathbf{Z} [-], X),$$
which is isomorphic to the [[direct product]] [[total complex]]
of the [[double chain complex]]
obtained by applying the [[Dold–Kan correspondence]]
to the [[cosimplicial object]] $X\colon \Delta\to Ch$.

### Topological spaces

Consider [[topological spaces]] with [[weak homotopy equivalences]].
Below, we use the [[Serre model structure]].

The [[topological simplex]] $\mathbf{\Delta}\colon \Delta\to Top$ is Reedy cofibrant as
a [[cosimplicial topological space]].

Not all [[cosimplicial objects]] in [[topological spaces]] are Reedy [[fibrant]],
since the [[matching map]] need not be a [[Serre fibration of topological spaces]].

However, we can pass to the [[semisimplicial]] setting, as explained above.
In this, case Reedy fibrancy boils down to the objectwise fibrancy,
which is always true for [[topological spaces]].

Thus, the homotopy totalization of $X\colon \Delta \to Top$
can be computed as
$$Hom(\mathbf{\Delta}, X)$$
in the category of functors $\Delta_{inj}\to Top$.
This can be seen as the totalization analog of the [[fat geometric realization]].
One could call it the __fat geometric totalization__.

## Related notions

* [[totalization]]

* [[homotopy limit]]

* [[homotopy end]]

* [[homotopy pullback]]

* [[homotopy product]]

* [[homotopy equalizer]]

* [[homotopy realization]]

## References

For the case of [[chain complexes]], see

* [[Kensuke Arakawa]], _Homotopy Limits and Homotopy Colimits of Chain Complexes_, [arXiv:2310.00201](https://arxiv.org/abs/2310.00201).

[[!redirects homotopy totalizations]]


homotopy type

{:fbox: .un_remark style="border:solid #0000cc;background: #add8e6;border-width:2px 1px;padding:0 1em;margin:0 1em;"}

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Homotopy theory
+--{: .hide}
[[!include homotopy - contents]]
=--
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

Traditionally, a _homotopy type_ is a [[topological space]] regarded up to [[weak homotopy equivalence]], (although this may sometimes be referred to as its _weak homotopy type_, (see below)). Formally this may be taken to mean the [[object]] that $X$ represents in the standard [[homotopy category]] [[Ho(Top)]], or, better, in the [[(∞,1)-category]] [[∞Grpd]] $\simeq$ $L_{whe} Top$, the [[simplicial localization]] of the category [[Top]] at the [[weak homotopy equivalences]],  of which $Ho(Top)$ is the [[decategorification]]. As such, topological spaces regarded as homotopy types are equivalently _[[∞-groupoids]]_ (see at _[[homotopy hypothesis]]_ for more on this).

More generally, then, we may think of every object in any [[(∞,1)-topos]] $\mathcal{C}$ as being a _homotopy type in the world of_ $\mathcal{C}$ (just as we may think of an object of a 1-topos $\mathcal{S}$ as being a "set in the world of $\mathcal{S}$").  For instance, if $\mathcal{C} = Sh_\infty(C)$ is an [[(∞,1)-category of (∞,1)-sheaves]]/of [[∞-stacks]] over some [[(∞,1)-site]] $C$, then an object of $\mathcal{C}$ may be thought of as a _homotopy type over $C$_, or a _sheaf of homotopy types_.  If $\mathcal{C}$ is the [[classifying topos]] of some [[geometric theory]] $T$, then an object of $\mathcal{C}$ may be called a "$T$-structured homotopy type".  And if $\mathcal{C}$ is a [[cohesive (∞,1)-topos]], an object of $\mathcal{C}$ may be called a "cohesive homotopy type".  In the special case that $\mathcal{C} = Sh_\infty(*) \simeq \infty Gprd$, this reproduces the traditional notion.

The reason this makes sense is that any $(\infty,1)$-topos has an [[internal language]], which is _[[homotopy type theory]]_ --- a formal [[logic]] whose basic objects are abstract things called _homotopy types_, just as the basic objects of [[set theory]] are abstract things called [[sets]].  Inside the internal logic of $\mathcal{C}$, its objects behave like classical homotopy types (although the ambient logic is [[constructive logic|constructive]]).  This explains why we can think of objects of $\mathcal{C}$ as "homotopy types in the world of $\mathcal{C}$": they are the [[categorical semantics]] of these abstract homotopy types in the internal logic of $\mathcal{C}$.  In the special case of $\infty Grpd$, the internal and external logic are the same, so this meaning also includes the classical usage of "homotopy type".

### Homotopy $n$-types

A homotopy type that is an _[[n-truncated object in an (∞,1)-category]]_ or equivalently that interprets a [[type]] of _[[homotopy level]]_ $n+2$ is also called a _[[homotopy n-type]]_ or _$n$-type_ for short. For topological spaces / [[∞-groupoids]] this means that all [[homotopy groups]] above degree $n$ are trivial.

## Examples

### In topological spaces

In traditional [[homotopy theory]] of [[topological spaces]] one sometimes distinguishes the notion of _strong homotopy types_ from that of _weak homotopy types_, depending on whether one regards topological spaces up to _[[homotopy equivalence]]_ or up to _[[weak homotopy equivalence]]_ (see also there the section _[Relation to homotopy types](weak+homotopy+equivalence#RelationToHomotopyTypes)_).

The two notions agree on good [[cofibrant object|cofibrant spaces]], namely on the [[CW-complexes]] (see [[model structure on topological spaces]]) and for homotopy theory proper it is the _weak_ homotopy equivalences that matter.

More precisely, weak homotopy equivalences between spaces give an equivalence relation on the class of topological spaces, and referring to a _homotopy type_ means that you are to consider properties of a space that are shared by any of the spaces weakly equivalent to it and thus in that [[equivalence class]].  In this expanded sense, therefore, a **homotopy type** is such a weak equivalence class of spaces. Using the terminology from [[homotopy category]], two spaces _have the same homotopy type_ if they are isomorphic in [[Ho(Top)]].

By standard theorems, homotopy types in topological can also be 'modeled' by many other structures, such as

* [[simplicial set|simplicial sets]] up to weak homotopy equivalence;
* small [[category|categories]] up to weak homotopy equivalence of their [[nerves]];
* $\infty$-[[infinity-groupoid|groupoids]] up to category-theoretic [[equivalence of categories|equivalence]] (this is the content of the [[homotopy hypothesis]]).

In most cases the tools of [[homotopy theory]], in particular [[model category|model categories]], can be used to establish these equivalences.

The sense of 'modeled' is related to Whitehead's [[algebraic homotopy|algebraic homotopy theory]]. A setting such as those above acts as a model for homotopy types if there are comparison functors between $\Spaces$ and the category, and some notion of homotopy within the category yielding an equivalence of [[homotopy category|homotopy categories]].

+-- {: .num_remark}
###### Remark

Although the notion of homotopy type is defined for arbitrary spaces, it is most usual to restrict attention to 'locally [[nice topological space|nice]]' spaces such as polyhedra (i.e. realisations of [[simplicial complex|simplicial complexes]] or CW-complexes). Various other classes of space occur naturally in various parts of mathematics in particular in analysis and algebraic geometry and there the methods of abstract homotopy theory provide a way of mimicking the basic idea of homotopy type as described above.

=--

+-- {: .num_remark}
###### Remark

Using variants of 'weak equivalence', for instance, '$n$-equivalence', one gets  coarser notions of equivalence which can be very useful. The particular case of $n$-equivalence leads to the related notion of [[homotopy n-type]].

=--

## Related concepts

* [[homotopy n-type]]

* [[model structure for homotopy types]]

* [[finite homotopy type]], [[homotopy type with finite homotopy groups]]

* [[geometric homotopy type]]

* [[cohesive homotopy type]]

* [[stable homotopy type]]

* [[homotopy sphere]]

* [[equivariant homotopy type]]

* [[persistent homotopy type]]

[[!include notions of type]]

[[!include homotopy n-types - table]]

## References

For instance:

* {#Spanier66} [[Edwin Spanier]], p. 25 & §8 of:  _Algebraic topology_, McGraw Hill (1966), Springer (1982) [[doi:10.1007/978-1-4684-9322-1](https://link.springer.com/book/10.1007/978-1-4684-9322-1)]

* [[Hans J. Baues]], *[[Homotopy Types]]* [[pdf](https://archive.mpim-bonn.mpg.de/id/eprint/2171/1/preprint_1994_88.pdf), [[Baues-HomotopyTypes.pdf:file]]], in: [[Ioan Mackenzie James|I. M. James]] (ed.),  *[[Handbook of Algebraic Topology]]*, North Holland (1995) 1-72 [[ISBN:9780080532981](https://www.elsevier.com/books/handbook-of-algebraic-topology/james/978-0-444-81779-2), [doi:10.1016/B978-0-444-81779-2.X5000-7](https://doi.org/10.1016/B978-0-444-81779-2.X5000-7)]

[[!redirects homotopy types]]
[[!redirects weak homotopy type]]
[[!redirects strong homotopy type]]


homotopy type representation theory -- table

**[[representation theory]] and [[equivariant cohomology]] in terms of [[(∞,1)-topos theory]]/[[homotopy type theory]]** ([[schreiber:Principal ∞-bundles -- theory, presentations and applications|FSS 12 I, exmp. 4.4]]):

| [[homotopy type theory]] |  [[representation theory]] |
|---|---|
| [[pointed type|pointed]] [[connected homotopy type|connected]] [[context]] $\mathbf{B}G$ | [[∞-group]] $G$  |
| [[dependent type]] on $\mathbf{B}G$ | $G$-[[∞-action]]/[[∞-representation]] |
| [[dependent sum]] along $\mathbf{B}G \to \ast$ | [[coinvariants]]/[[homotopy quotient]] |
| [[context extension]] along $\mathbf{B}G \to \ast$ | [[trivial representation]] |
| [[dependent product]] along $\mathbf{B}G \to \ast$ | [[homotopy invariants]]/[[∞-group cohomology]]
| [[dependent product]] of [[internal hom]] along $\mathbf{B}G \to \ast$ | [[equivariant cohomology]]
| [[dependent sum]] along $\mathbf{B}G \to \mathbf{B}H$ | [[induced representation]] |
| [[context extension]] along $\mathbf{B}G \to \mathbf{B}H$ | [[restricted representation]] |
| [[dependent product]] along $\mathbf{B}G \to \mathbf{B}H$ | [[coinduced representation]]
| [[spectrum object]] in [[context]] $\mathbf{B}G$ | [[spectrum with G-action]] ([[naive G-spectrum]])


Homotopy Type System

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Deduction and Induction
+-- {: .hide}
[[!include deduction and induction - contents]]
=--
#### Constructivism, Realizability, Computability
+-- {: .hide}
[[!include constructivism - contents]]
=--
#### Foundations
+-- {: .hide}
[[!include foundations - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea

Proposed by [[Vladimir Voevodsky]], **Homotopy Type System (HTS)** is a type theory with two equality types, an "exact" or "strict" one which satisfies a [[reflection rule]], and a "path" or "homotopical" one which does not. It also distinguishes between "[[fibrant]]" and "non-fibrant" types: the path type only eliminates into fibrant types.

## Specification
 {#Specifiation}

* [[Vladimir Voevodsky]], _A type system with two kinds of identity types_ (Feb. 2013) [[[Voevodsky-HTS.pdf:file]]]

* [[Vladimir Voevodsky]], _A simple type system_ (Jan 2013) [[[Voevodsky-TTS.pdf:file]], [Implementation](https://github.com/DanGrayson/checker)]

## Implementation

* In progress: <https://github.com/andrejbauer/andromeda>

## Remarks and Variations

### Points that are homotopic but not strictly equal

Let $I$ be the type of pointed fibrant types that are merely equal to $Bool$, i.e.

$$I = \sum_{(A:U_F)} A. $$

Define $zero,one:I$ by

$$zero = (Bool,false)$$
$$one = (Bool,true)$$

Then we have $Paths(zero,one)$, since by univalence we have a $p:Paths(Bool,Bool)$ such that $p_*(false) = true$.

However, if $e:Id(zero,one)$, then by $apd$ for strict equality, we have $Id(q_*(false),true)$, where $q$ is the image of $e$ under the map $proj_1:I \to U_F$.  But all strict equalities are equal to reflexivity, so $Id(q_*(false),false)$, and thus $Id(false,true)$, a contradiction.

Therefore, the fibrant type $I$ contains two points $zero,one$ such that $Paths(zero,one)$, but $\neg Id(zero,one)$ (both provable inside the theory).

### The universe of non-fibrant types

The universe $U$ of non-fibrant types is itself *fibrant*.  Moreover, in standard models (such as the simplicial set model, and other model-category-theoretic models) it is *[[contractible type|contractible]]* (in the usual sense of homotopy type theory, with respect to the $Paths$ identity type).

The reason that the universe of non-fibrant types (type families) is contractible is that if you have a type $I$ with two objects $a b : I$ and an object $e : Paths_I a b$ such that for any two types $A, B$ there is a function $(A \coprod B ) \to I$ whose strict fiber over $a$ is isomorphic to $A$ and strict fiber over $b$ is isomorphic to $B$ then the family of fibers of this function gives a map from $I$ to the universe of all types which, when applied to $e$, gives an isomorphism in this universe from $A$ to $B$.
This is sufficient to create a path from a type which is isomorphic to empty to a type which is isomorphic to unit and therefore a path from 0 to 1 in nat.

It is not *provably* contractible in the theory, since we can take its coproduct with pretty much any other type and still have a universe of non-fibrant types.  However, it is "almost" contractible by the following argument.  Let $A$ and $B$ be arbitrary types, and let $I,zero,one$ be as defined above.  Define $f:A+B \to I$ by $f(inl(a)) = zero$ and $f(inr(b)) = one$, and define $P:I\to U_S$ (the universe of non-fibrant types) by

$$P(i) = \sum_{x:A+B} Id(f(x),i). $$

In other words, $P(i)$ is the fiber of $f$ over $i$, computed using strict equality.  It's straightforward to show that $P(zero) \cong A$ and $P(one)\cong B$.  However, since $I$ and $U_S$ are both fibrant, we can apply $P$ to the path $Paths(zero,one)$ to obtain a $Paths(P(zero),P(one))$.  This is not the same as a path $Paths(A,B)$, of course.

### Fibrant replacement

It is natural to wonder whether we can have a "fibrant replacement" type former which makes non-fibrant types into fibrant ones.  However, surprisingly, this is actually inconsistent, essentially because it cannot be made to respect substitution.

Suppose we had a type forming rule

$$\frac{\Gamma \vdash A \, Type}{\Gamma \vdash R A \, Fib} $$

with introduction rule

$$\frac{\Gamma \vdash a:A}{\Gamma \vdash r a : R A} $$

and elimination rule

$$\frac{\Gamma,(x:R A) \vdash T\, Fib\qquad \Gamma,(a:A) \vdash t:T[x:=r a]}{\Gamma,(x:R A) \vdash Relim(a.t,x) : T}. $$

Let $A=0$ and $B=1$, and let $P:I\to U_S$ be defined as above, so that $P(zero) \cong 0$ and $P(one)\cong 1$.  Now consider

$$ (x:I) \vdash R(P(x))\,Fib. $$

Since this is a fibrant type family over a fibrant type, we can transport the element $r(\star) : R(P(one))$ along the known $Paths(zero,one)$ to obtain an element of $R(P(zero))$.  However, by $Relim$, we can define a map $R(P(zero))\to 0$ by defining a map $P(zero)\to 0$, which we have.  Thus, we obtain an element of $0$.

It does, however, seem to be possible to allow fibrant replacement of types in the empty context.  In other words, we could have a rule

$$\frac{\vdash A \, Type}{\vdash R A \, Fib} $$

and so on.  Of course, this does not fit very well in the usual framework of type theory.

### Fibrancy of inductive types

[[Mike Shulman]] has argued that rather than assuming the natural numbers type to be fibrant and yet able to eliminate into non-fibrant types, there should be two natural numbers types: a fibrant one which can only eliminate into fibrant types, and a non-fibrant one which can eliminate into all types.  The same applies to other positive inductive types such as coproducts (even coproducts of fibrant types) and the empty type.

This is because while these types in simplicial sets happens to be fibrant, that is not the case in other categorical models.  It may also pose similar problems for constructing new models of HTS out of old ones.

### Semisimplicial types

[[Vladimir Voevodsky]] claims that HTS allows a definition of [[semisimplicial types]] and other infinite objects, in which diagrams of types commute strictly using the exact equality.  See the comments in the file:

* [[hts-semisimplicial.v:file]]

### Voevodsky's conjecture

Voevodsky has conjectured that any fibrant type definable in HTS is equivalent to one definable in [[Martin-Löf Type Theory|MLTT]], i.e. without using the strict equality.

### Model invariance

The [[model invariance problem]] seems more likely to fail for HTS than for theories that do not include strict equality.  In other words, distinct model categories presenting the same $(\infty,1)$-topos might have different "internal languages" according to HTS.  This can obviously happen if by "internal language" we include the non-fibrant types, but if we restrict to the fibrant types the answer is unclear.  It may be related to Voevodsky's conjecture above.

The following argument, however, shows that model invariance (even for fibrant types) definitely fails if we include fibrant replacement (of types in the empty context), and split inductive types into fibrant and non-fibrant versions (or simply don't include inductive types in the system).

Let $E$ be the poset with four objects $a,b,c,d$ such that $d\lt a$, $d\lt b$, and $d\lt c$ are the only nonidentity relations; thus an $E$-diagram is four
objects $X_a$, $X_b$, $X_c$, $X_d$ with maps $X_d \to X_a$, $X_d \to X_b$, and $X_d \to X_c$.  Since $E$ is an [[nlab:inverse category]], there is a [[nlab:Reedy model structure]] on $sSet^E$ in which the cofibrations are levelwise monomorphisms, the weak equivalences are levelwise weak equivalences, and the fibrant objects are diagrams such that $X_a$, $X_b$, and $X_c$ are fibrant and the induced map $X_d \to (X_a \times X_b \times X_c)$ is a fibration.  Moreover, this model has [[univalence axiom|univalent]] [[universes]] induced from those of $sSet$: if $U$ is a univalent universe in $sSet$, then $V$ is a univalent universe in $sSet^E$, where $V_a = V_b = V_c = U$, and the fiber of $V_d$ over $(A,B,C)$ is the type $A \to B \to C \to U$.

Now we can [[nlab:Bousfield localization|localize]] this Reedy model structure at the maps $0\to a$, $0\to b$, and $0\to c$, where $a$, $b$, and $c$ denote the corresponding [[nlab:representable functor|representables]].  A local object is a fibrant object such that $X_a$, $X_b$, and $X_c$ are contractible, and the local weak equivalences are just the maps that induce a weak equivalence on $d$-components.  In particular, the homotopy category of the localized model structure is equivalent to that of $sSet$.  Moreover, locality and localization (of fibrant objects) can be represented internally as a subobject and an endomorphism, respectively, of the universe $V$.  Because localization is left exact, the subuniverse of local objects is itself local, and thus provides a univalent universe for the localized model structure.

In conclusion, we have two model structures, one on $sSet$ and one on
$sSet^E$, which both model homotopy type theory with univalent
universes, and have equivalent homotopy categories.  Both model HTS as well, although their inductive types come in fibrant and non-fibrant versions.

Now, inside HTS, define a (non-fibrant) type $Y$ to be a "strict [[nlab:homotopy level|hprop]]"
if $\prod_{(x,y:Y)} Id(x,y)$.  Write $sProp$ for the subtype of the universe of non-fibrant types determined by the strict hprops.  Consider the following type

$$\prod_{P,Q,R:sProp} (\neg P \to (Q \vee R)) \to ((\neg P \to Q) \vee (\neg P \to R)) $$

Call this type KP (for Kreisel-Putnam).  Note that "false" and "or"
for strict hprops can be defined impredicatively by quantification
over $sProp$.

For semantics of HTS in a model category whose underlying category is
a topos, the type $sProp$ will be interpreted by the [[nlab:subobject
classifier]] *of that topos* (independently of what the model structure
might look like).  Thus, KP will be interpreted by the assertion, in
the internal language of that topos (again independently of the model
structure), that the Kreisel-Putnam axiom holds.

Now as pointed out by [Francois Dorais](http://mathoverflow.net/questions/159989/internal-logic-of-the-topos-of-simplicial-sets/), the Kreisel-Putnam axiom holds in the
internal logic of (the 1-topos) $sSet$; thus the interpretation of KP
there is globally inhabited.  However, the Kreisel-Putnam axiom does
not hold in the internal logic of (the 1-topos) $sSet^E$.  For this it
suffices to exhibit subterminal objects $P,Q,R$ such that $(\neg P \to (Q
\vee R))$ is not contained in $((\neg P \to Q) \vee (\neg P \to R))$.  Let $P = a$, $Q = b$, and $R = c$.  Then $(\neg P) = (Q \vee R) = \{b,c\}$, so that $(\neg P \to (Q \vee R)) = 1 = \{a,b,c,d\}$, but $(\neg P \to Q) = \{a,b\}$ and $(\neg P \to R) = \{a,c\}$, so that $((\neg P \to Q) \vee (\neg P \to R)) = \{a,b,c\}$.  Thus, the interpretation of KP in $sSet^E$ is not globally inhabited.

It follows that $R(KP)$ is a fibrant type which is inhabited in the model in $sSet$, but not in the model in $sSet^E$.

## See also

* [[two-level type theory]]

* [[semi-simplicial types in homotopy type theory]]

## References

* [[Danil Annenkov]], [[Paolo Capriotti]], [[Nicolai Kraus]], [[Christian Sattler]]: *Two-Level Type Theory and Applications* [[arXiv:1705.03307](https://arxiv.org/abs/1705.03307)]

[[!redirects HTS]]


homotopy type theory

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Constructivism, Realizability, Computability
+-- {: .hide}
[[!include constructivism - contents]]
=--
#### Homotopy theory
+-- {: .hide}
[[!include homotopy - contents]]
=--
#### $(\infty,1)$-Topos Theory
+-- {: .hide}
[[!include (infinity,1)-topos - contents]]
=--
#### Foundations
+-- {: .hide}
[[!include foundations - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea

_Homotopy type theory_ is a flavor of _[[type theory]]_ -- specifically of [[intensional type theory|intensional]] [[dependent type theory]] -- which takes seriously the natural interpretation of _[[identity types]]_ or _[[path types]]_ as formalizing [[path space objects]] in [[homotopy theory]]. Examples of homotopy type theory include variants of [[Martin-Löf type theory]] and [[cubical type theory]] which have [[univalent universes]] and [[higher inductive types]], as well as [[higher observational type theory]].

In the [[categorical semantics of homotopy type theory]], [[types]] are interpreted not as [[set]]-like [[objects]], but as [[homotopy type]]- or [[∞-groupoid]]/[[∞-stack]]-like objects.  Thus, whereas [[extensional type theory]] can serve as the [[internal language]] of [[1-categories]] (such as [[pretoposes]], [[locally cartesian closed categories]], or [[elementary toposes]]), homotopy type theory can serve as an internal language for various kinds of [[(∞,1)-category]] (such as [[locally cartesian closed (∞,1)-categories]] and [[(∞,1)-toposes]]).  At present, such models are usually constructed by way of 1-categorical [[presentable (infinity,1)-category|presentations]] of (∞,1)-categories using [[type-theoretic model categories]] and related structures such as [[weak factorization systems]].

In addition to a viewpoint on identity types and a general class of categorical models, homotopy type theory is characterized by new homotopically motivated axioms and type-theoretic structures.  Notable among these are:

* Voevodsky's [[univalence axiom]], which represents [[object classifiers]] in (∞,1)-categorical semantics.

* Strong [[function extensionality]], which is a consequence of univalence.

* [[higher inductive type|Higher inductive types]], which among other things enable the construction of finite [[(∞,1)-colimits]], [[cell complexes]], [[n-truncated|truncations]], [[localizations]], and other objects which in classical homotopy theory are constructed using the [[small object argument]].

With all of these axioms included, homotopy type theory behaves like the [[internal language of an (∞,1)-topos]], and conjecturally should admit actual models in any [[(∞,1)-topos]].  With fewer axioms and type constructors, it is known to admit models in more weakly structured [[(∞,1)-categories]] --- see below.

Many details are still being worked out, but the impression is that homotopy type theory thus should serve as a [[foundation]] for [[mathematics]] that is natively about [[homotopy theory]]/[[(∞,1)-category theory]] --- in other words, a foundation in which *[[homotopy types]]*, rather than [[sets]], are basic objects.

## Properties

### Advantages {#Advantages}

As a [[foundation]] for [[mathematics]], homotopy type theory (also called **[[univalent foundations for mathematics|univalent foundations]]**) has the following advantages.  Many of these advantages are shared with some other foundational systems, but no other known system shares all of these, and some are unique to HoTT.

* It treats [[homotopy theory]] and [[∞-groupoids]] natively.  This is an advantage for doing homotopical and [[higher category theory|higher-categorical]] mathematics, which is spreading slowly into other fields.

* It inherits the good computational properties of intensional [[Martin-Löf type theory]].  Some of its new axioms, such as [[univalence]] and [[function extensionality]], are not fully understood yet from a computational perspective, but progress is being made. [This paragraph should be updated in view of the computational interpretation of univalence by the cubical model.]

* It is [[constructive mathematics|constructive]] by default, but can easily be made [[classical logic|classical]] by adding axioms.  This makes it potentially more expressive at essentially no cost.  (In fact, it is not entirely clear how possible it is to do homotopy theory constructively in other foundations.)

* It can (conjecturally) be [[internalization|internalized]] in many categories and higher categories, providing an [[internal logic]] which enables a single [[proof]] to be reinterpreted in many places with many different meanings.

* It is naturally [[isomorphism]]- and [[equivalence]]-invariant (respecting the [[principle of equivalence]]).  This is a consequence of the [[univalence axiom]]: any property or structure (even one which speaks only about [[sets]] and makes no reference to homotopy theory) which is expressible in the theory must be invariant under isomorphism/equivalence.

* Notions such as [[propositions]] and sets are *defined* objects, which inherit good computational properties from the underlying type theory.

* It treats sets, [[groupoids]], and [[n-groupoid|higher groupoids]] on an equal footing.  One can easily remain entirely in the fragment of the theory which talks about sets, not worrying about groupoids or homotopy theory, but as soon as one starts to say something which naturally needs structures of higher [[homotopy level]] (such as talking about some collection of structured sets), the groupoidal and homotopical structure is already there.

### Models in $(\infty,1)$-categories and $(\infty,1)$-toposes

It is well known that [[extensional type theory|extensional]] [[dependent type theory]] is an [[internal logic]] for [[locally cartesian closed categories]]. See at _[[relation between type theory and category theory]]_.

The step from extensional to [[intensional type theory]] and the [[identity types]] that this brings with it makes intensional dependent type theory have models in certain [[(∞,1)-categories]].  This connection is usually shown by means of a presentation of the $(\infty,1)$-category using a [[weak factorization system]], a [[category of fibrant objects]], a [[model category]], or other similar structure.

It is conjectured (due to [Awodey 09](#Awodey09), [Awodey, 2010](#Awodey12), [Joyal, 2011](#Joyal11), see [[Awodey's conjecture]]) that

* intensional dependent type theory with dependent sums and products and [[function extensionality]] (a form of homotopy type theory) is an internal language for [[locally cartesian closed (∞,1)-categories]]; and

* with the [[univalence axiom]] added, it becomes an internal language for [[(∞,1)-toposes]].

Indeed:

+-- {: .num_prop }
###### Proposition

Every [[presentable (∞,1)-category|presentable]] and [[locally cartesian closed (∞,1)-category]] has a presentation by a [[type-theoretic model category]]. This provides the [[categorical semantics]] for [[homotopy type theory]] (without, possibly, the [[univalence]] [[axiom]]).

=--

For more on this see at _[[locally cartesian closed (∞,1)-category]]_ in the section on internal logic.

With the [[univalence]] axiom included (for a [[type of types]] "weakly a la Tarski") then homotopy type theory has categorical semantics in [[(∞,1)-toposes]], with the [[type of types]] interpreted as the [[object classifier]].

* [[homotopytypetheory:model of type theory in an (infinity,1)-topos]]

See also at _[[relation between type theory and category theory#HomotopyWithUnivalence|relation between type theory and category theory --- univalent homotopy type theory and elementary $(\infty,1)$-toposes]]_.

For a short introduction to a simplicial model of homotopy type theory see [Streicher 2014](#Streicher14).

### New Axioms

As a foundation for mathematics whose basic objects are higher groupoids, homotopy type theory makes visible new foundational axioms.  Most of these axioms are true as statements about classical $\infty$-groupoids, but may be false in "nonclassical" models of homotopy type theory such as [[(∞,1)-toposes]].

* [[Whitehead's principle]].

* [[sets cover]], and more generally [[n-types cover]].

* Several variants of the [[axiom of choice]].

Additionally, since homotopy type theory as the internal language of $(\infty, 1)$-toposes is not classical, it is possible to add classically inconsistent axioms, just as, say, the [[Kock-Lawvere axiom]] may be added to ordinary topos theory.

* Axiom R ([Shulman 15](cohesive+homotopy+type+theory#Shulman15))

### Relation to representation theory

[[!include homotopy type representation theory -- table]]

## Machine implementation

An important aspect of HoTT is the fact that the [[intensional type theory|intensional]] [[Martin-Löf type theory]] on which it is built has a computational implementation in proof assistants like [[Coq]] and [[Agda]].

This forms the basis of  the _Univalent Foundations_ program ([Voevodsky](#Voevodsky)), which uses Coq to generate and verify proofs with [[homotopy theory|homotopical]] content.

See the [code page](http://homotopytypetheory.org/coq/) at the [HoTT site](#HoTTSite) for more.

## Dictionary HoTT-Coq / $(\infty,1)$-Category theory
 {#DictionaryToCoq}

The following list displays some keywords defined in the [[Coq]]-implementation of homotopy type theory together with their meaning in the [[homotopy theory]]/[[(∞,1)-category theory]] that they describe. (See also at _[[categorical semantics]]_ and _[[categorical semantics of homotopy type theory]]_.)

Let $C$ be a given ambient [[(∞,1)-category]] which

* is [[locally cartesian closed (∞,1)-category|locally cartesian closed]];

* in addition has [[(∞,1)-colimits]].

For instance $C$ could be an [[(∞,1)-topos]] (in which case the homotopy type theory would be the [[internal language of an (∞,1)-topos]]).

Note that while Coq-HoTT is supposed to be the internal language for such $C$, the _strict [[models]]_ for it are actually [[homotopical category|homotopical]] [[1-categories]] equipped with extra structure (such as [[model categories]] or [[categories of fibrant objects]]) that make them serve as [[presentable (infinity,1)-categories|presentations]] for $C$.

We then have the following dictionary.

The [[type of types]] [[Type]]

    Type

denotes an [[object classifier]] in $C$ for a certain size of [[universe]].   Both [[Coq]] and [[Agda]] have systems to manage universe sizes and [[universe enlargement]] automatically; Agda's is more advanced (universe polymorphism), whereas Coq's is good enough for many purposes but tends to produce "universe inconsistencies" when working with [[univalence]].  As a stopgap measure until this is improved, some HoTT code must be compiled with a patch to Coq that turns off all universe consistency checks.

A [[term]] of [[type]] Type (in the empty [[context]])

    X : Type

denotes an [[object]] in the $(\infty,1)$-category $C$.  In a presentation of $C$ by a model category or [[weak factorization system]], it denotes a *fibrant* object.

The [[unit type]]

    unit : Type

is the [[terminal object in an (∞,1)-category|terminal object]].

For $X, Y \in C$ two objects, the [[function type]]

    X -> Y : Type

denotes the [[internal hom]] $[X,Y] \in C$ (a formal proof of that fact is [here](https://github.com/guillaumebrunerie/HoTT/blob/master/Coq/Limits/AdjunctionProdHom.v)).

A [[dependent type]] (that is, a type in [[context]])

    x : X  |-  P x : Type

denotes a [[morphism]] $P \to X$ (regarded as a [[fibration]] or [[bundle]]) in $C$. In a [[presentable (∞,1)-category|presentation]] of $C$ by a [[category of fibrant objects]], it literally denotes a [[fibration]] $P \to X$.  In this case,

    P : X -> Type

denotes the corresponding classifying map, via an internal [[(∞,1)-Grothendieck construction]].

The total space object $P$ of this bundle -- the _[[dependent sum type]]_ -- is the type equivalently coded as any of the following.

    { x : X  &  P x } : Type
    sigT (fun (x : X) => P x) : Type.
    sigT P : Type

The first one is [[sugaring|syntactic sugar]] for the second.  The third is related to the second by [[eta expansion]], which (assuming [[function extensionality]]) is an equivalence in Coq, but not the identity.  In the next version of Coq, all three types above will be identical.

One might expect to also call the dependent sum type

    exists x : X, P x

(see [[existential quantifier]]) but in the current [[Coq]] implementation that keyword is reserved for the corresponding operation on Coq's built-in universe `Prop`, which is not used by homotopy type theory.  In particular, it should not be confused with what HoTT calls [[proposition]]s, which are the [[(-1)-truncated]] types.  In fact, arguably in HoTT `exists` should refer not to the dependent sum itself, but to the (-1)-truncation thereof (its [[bracket type]]).

The type

    forall x : X, P x

denotes the object of [[homotopy]] [[section]]s of this bundle $P\to X$ --- that is, the _[[dependent product]]_ of the bundle.  (See the section _[relation to spaces of sections](http://ncatlab.org/nlab/show/dependent+product#RelationToSpacesOfSections)_ there).  It also denotes the [[universal quantifier]] when acting on (-1)-truncated objects [[propositions]].  A term of this type :

    f : \forall x : X, P x

denotes therefore a particular [[section]] of this bundle

$$
  \array{
     && P
     \\
     & {}^{\mathllap{f}}\nearrow& \downarrow
     \\
     X &= & X
  }
  \,.
$$

Given a type $X$, its [[identity type]], denoted

    paths X : X -> X -> Type
    Id X : X -> X -> Type

corresponds to the [[diagonal morphism]] $X\to X\times X$ in $C$, regarded as a bundle over $X\times X$.  In a [[presentable (infinity,1)-category|presentation]] of $C$ by a [[category of fibrant objects]], this means the [[path space object]] $X^I$, since dependent types must always be fibrations.

The fact that there is a [[weak equivalence]] $X \stackrel{\simeq}{\to} X^I$ given by the inclusion of [[identity]] [[morphisms]] is reflected in the [[inductive type]]-definition of paths, which says that any proposition about terms in the path type is already determined by its value on all identity paths.

Then for x y : X two [[terms]] regarded as morphisms $1\to X$, the application of the identity type $x$ and $y$ (also called the [[identity type]]) denoted variously

    paths X x y : Type
    x ~~> y : Type
    x == y : Type

(the latter two make use of Coq's ability to define new notations), denotes the [[homotopy pullback]] of the form

$$
  \array{
    x \times_X y &\to& {*}
    \\
    \downarrow && \downarrow^{\mathrlap{x}}
    \\
    {*} &\stackrel{y}{\to}&  X
  }
$$

which in a presentation by a [[category of fibrant objects]] is given (see [[factorization lemma]]) by the ordinary pullback

$$
  \array{
    P_{x,y} X &\to& &\to& {*}
    \\
    \downarrow && && \downarrow^{\mathrlap{x}}
    \\
    \downarrow && X^{\Delta[1]} &\to& X
    \\
    \downarrow && \downarrow
    \\
    {*} &\stackrel{y}{\to}& X
  }
  \,.
$$

Beware that the [[identity type|path induction rule]] applies to paths X not to paths X x y.  Where for the former a proposition is fixed by what it does on identity paths, for the latter this is not the case anymore.

More generally, we can define arbitrary pullbacks. If `f : A -> C` and `g : B -> C`, the [[homotopy pullback]] of `f` and `g` is defined by

    {a : A & {b : B & f a ~~> g b}}

together with the obvious projections to `A` and `B` and the homotopy between the composites.
(a proof can be found [here](https://github.com/guillaumebrunerie/HoTT/blob/master/Coq/Limits/Pullbacks.v))

Using [[higher inductive types]], we can also define [[homotopy pushouts]]. If `g : C -> A` and `f : C -> B`, the [[homotopy pushout]] of `f` and `g` is defined by

    Inductive hopushout :=
      | inl : A -> hopushout
      | inr : B -> hopushout
      | glue : forall x : C, inl (g x) ~~> inr (f x).

together with the map `inl`, `inr` and the homotopy `glue`.
(see [here](https://github.com/guillaumebrunerie/HoTT/blob/master/Coq/Limits/Pushout.v) for the proof)

## Related entries

* [[univalent foundations for mathematics]]

* [[homotopy type theory FAQ]]

* [[homotopy type theory events]]

* [[open problems in homotopy type theory]]

* [[higher structures]]

* [[intensional type theory]], [[extensional type theory]]

* [[observational type theory]], [[higher observational type theory]]

* [[book HoTT]]

* [[cubical type theory]]

* [[type-theoretic model category]], [[fibrant type]]

* [[synthetic homotopy theory]]

* [[HoTT methods for homotopy theorists]]

* [[internal category in homotopy type theory]]

* [[Homotopy Type System]]

* [[modal homotopy type theory]]

* [[geometric homotopy type theory]]

* [[cohesive homotopy type theory]]

* [[directed homotopy type theory]]

  [[opetopic type theory]]

  [[simplicial type theory]]

\linebreak

[[!include homotopy n-types - table]]

\linebreak

[[!include proof assistants and formalization projects -- list]]

## References
 {#References}

The standard textbook on homotopy type thoery:

* {#UFP13} [[Univalent Foundations Project]], _[[Homotopy Type Theory -- Univalent Foundations of Mathematics]]_ (2013)

For further resources see also:

* [[Steve Awodey]], *Homotopy Type Theory and the Univalent Foundations of Mathematics* [[www.andrew.cmu.edu/user/awodey/htt.html](http://www.andrew.cmu.edu/user/awodey/htt.html)]

### Early development
 {#EarlyDevelopment}

Precursor discussion that led to the formulation of homotopy type theory in [UFP13](#UFP13):

* [[Martin Hofmann]], [[Thomas Streicher]], *The groupoid model refutes uniqueness of identity proofs*, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science (1994) [[doi:10.1109/LICS.1994.316071](https://doi.org/10.1109/LICS.1994.316071)]

* {#HofmannStreicher98} [[Martin Hofmann]], [[Thomas Streicher]], _The groupoid interpretation of type theory_, in: [[Giovanni Sambin]] et al. (eds.), *Twenty-five years of constructive type theory*, Proceedings of a congress, Venice, Italy, October 19-21, 1995. Oxford: Clarendon Press. Oxf. Logic Guides. **36** (1998) 83-111   [[ISBN:9780198501275](https://global.oup.com/academic/product/twenty-five-years-of-constructive-type-theory-9780198501275), [ps](http://www.mathematik.tu-darmstadt.de/~streicher/venedig.ps.gz), [[HofmannStreicherGroupoidInterpretation.pdf:file]]]

  see also:

  * [[Martin Hofmann]], *The groupoid interpretation of type theory, a personal retrospective*, talk at *[[HoTT at DMV2015]]* (2015) [[[HofmannDMV.pdf|slides:file]]]

  * Ethan Lewis, Max Bohnet, *The groupoid model of type theory*, seminar notes (2017) [[pdf](https://staff.fnwi.uva.nl/b.vandenberg3/Onderwijs/Homotopy_Type_Theory_2017/HoTT-bohnet-lewis-handout.pdf), [[LewisBohnet.GroupoidModelOfTT.pdf:file]]]

* {#Awodey09} [[Steve Awodey]], *Homotopy and Type Theory*, grant proposal project description (2009) [[pdf](https://ncatlab.org/homotopytypetheory/files/proposal2009.pdf)]

* {#Voevodsky10} [[Vladimir Voevodsky]], *Univalent Foundations Project* (2010) [[pdf](http://www.math.ias.edu/~vladimir/Site3/Univalent_Foundations_files/univalent_foundations_project.pdf), [[Voevodsky-UFP2010.pdf:file]]]

* [[Thorsten Altenkirch]], [[Thierry Coquand]], _Towards higher dimensional type theory_, Nottingham (2011) [[pdf](http://www.cs.nott.ac.uk/~txa/talks/aimxiii.pdf)]

* {#Awodey12} [[Steve Awodey]], *Type theory and homotopy*, in: *Epistemology versus Ontology* Springer (2012) 183-201 [[arXiv:1010.1810](http://arxiv.org/abs/1010.1810), [doi:10.1007/978-94-007-4435-6_9](https://doi.org/10.1007/978-94-007-4435-6_9)]

For more on the early history see also:

* {#Altenkirch21} [[Thorsten Altenkirch]], *Martin Hofmann’s contributions to type theory: Groupoids and univalence*, Mathematical Structures in Computer Science **31** 9 (2021) 953-957 [[doi:10.1017/S0960129520000316](https://doi.org/10.1017/S0960129520000316)]

### Introductions
 {#Introductions}

A survey of homotopy type theory aimed at [[formal logic|logicians]] and [[philosophy of mathematics|philosophers of mathematics]]:

* {#Shulman16} [[Michael Shulman]], _Homotopy Type Theory: A synthetic approach to higher equalities_ ([arXiv:1601.05035](http://arxiv.org/abs/1601.05035))

and one with an emphasis on [[synthetic geometry]]:

* {#Shulman17} [[Michael Shulman]], _Homotopy type theory: the logic of space_, in [[Gabriel Catren]], [[Mathieu Anel]] (eds.) _[[New Spaces for Mathematics and Physics]]_ ([arXiv:1703.03007](https://arxiv.org/abs/1703.03007))

More technical introductions:

* [[Michael Shulman]], _Homotopy type theory_ [I](http://golem.ph.utexas.edu/category/2011/03/homotopy_type_theory_i.html), [II](http://golem.ph.utexas.edu/category/2011/03/homotopy_type_theory_ii.html), [III](http://golem.ph.utexas.edu/category/2011/03/homotopy_type_theory_iii.html), [IV](http://golem.ph.utexas.edu/category/2011/04/homotopy_type_theory_iv.html), [V](http://golem.ph.utexas.edu/category/2011/04/homotopy_type_theory_v.html), [VI](http://golem.ph.utexas.edu/category/2011/04/homotopy_type_theory_vi.html)

* {#ShulmanCourse} [[Mike Shulman]], _Minicourse on homotopy type theory_, Swansea, April (2012) ([web](http://home.sandiego.edu/~shulman/hottminicourse2012/))

* [[Dan Licata]], *Programming in Homotopy Type Theory*, Talk at IFIP Working Group 2.8 meeting, November, 2012 ([pdf](https://dlicata.wescreates.wesleyan.edu/pubs/lh122tttalks/lh12wg2.8.pdf), [[LicataProgrammingInHoTT.pdf:file]])

On [[synthetic homotopy theory]] in [[homotopy type theory]]:

* [[Guillaume Brunerie]],  [[Dan Licata]], [[Peter LeFanu Lumsdaine]]: _Homotopy theory in type theory_, 2013 ([pdf slides](http://dlicata.web.wesleyan.edu/pubs/bll13homotopy/bll13homotopy.pdf), [[Licata-HomotopyInTypeTheory.pdf:file]], [blog entry 1](https://homotopytypetheory.org/2013/03/08/homotopy-theory-in-homotopy-type-theory-introduction), [blog entry 2](https://homotopytypetheory.org/2013/05/20/homotopy-theory-in-type-theory-progress-report/))

  > (focus on [[synthetic homotopy theory]])

* {#Voevodsky} [[Vladimir Voevodsky]], _[Univalent foundations](http://www.math.ias.edu/~vladimir/Site3/Univalent_Foundations.html)_

Motivation via practical problems in [[homotopy theory]] and [[higher category theory]] is given in

* {#VoevodskyIASTalk2014} [[Vladimir Voevodsky]], _Univalent foundations_, talk IAS, March 2014 ([pdf](http://www.math.ias.edu/~vladimir/Site3/Univalent_Foundations_files/2014_IAS.pdf), [video](https://video.ias.edu/voevodsky14))

 (specifically highlighting the technical delicacies involved in the [[Simpson conjecture]]).

A list of video-recorded talks by Voevodsky on this topic is [here](http://video.ias.edu/taxonomy/term/42).

Introduction and review:

* [[Nicolai Kraus]], _Homotopy type theory -- An overview_ ([pdf](http://www.cs.nott.ac.uk/~ngk/homotopy_type_theory.pdf))

* [[Egbert Rijke]], _Homotopy type theory_ (2012) ([pdf](http://hottheory.files.wordpress.com/2012/08/hott2.pdf))

* {#PelayoWarren} Álvaro Pelayo, [[Michael Warren]], _Homotopy type theory and Voevodsky's univalent foundations_ ([arXiv:1210.5658](http://arxiv.org/abs/1210.5658))

* [[Cecilia Flori]], [[Tobias Fritz]], *Homotopy Type Theory: Univalent Foundations of Mathematics*, lecture notes (2014) [[pdf](http://tobiasfritz.science/2014/HoTT_lecturenotes.pdf), [webpage](http://tobiasfritz.science/2014/hott.html)]

* [[Daniel Grayson]], _An introduction to univalent foundations for mathematicians_ (2017) [[arXiv:1711.01477](https://arxiv.org/abs/1711.01477)]

* {#Rijke19} [[Egbert Rijke]], _[[Introduction to Homotopy Type Theory]]_ (2019)  ([web](http://www.andrew.cmu.edu/user/erijke/hott/), [pdf](http://www.andrew.cmu.edu/user/erijke/hott/hott_intro.pdf), [GitHub](https://github.com/EgbertRijke/HoTT-Intro))

* {#Rijke19b} [[Egbert Rijke]], _Classifying Types_ ([arXiv:1906.09435](https://arxiv.org/abs/1906.09435))

* [[David Jaz Myers]], *How do you identify one thing with another? -- an intro to Homotopy Type Theory*, talk in Prof. [[Sadok Kallel]]'s seminar at American University of Sharjah (10 Apr 2023) [slides: [[Myers-IntroHoTT-Apr2023.pdf:file]]]

An introduction to the notion of [[equivalence]] in HoTT:

* [[Andrej Bauer]], _Introduction to homotopy type theory_ (2019) [[YT](https://www.youtube.com/playlist?list=PL-47DDuiZOMCRDiXDZ1fI0TFLQgQqOdDa)]

A guided walk through the basics of HoTT and then the formal proof in [[Coq]] that the [[univalence axiom]] implies [[functional extensionality]] is at

* [[Andrej Bauer]], [[Peter LeFanu Lumsdaine]], _[[Oberwolfach HoTT-Coq tutorial]]_

An [[computer science]] oriented introduction to HoTT:

* [[Bob Harper]], _Homotopy Type Theory_ ([web](https://www.cs.cmu.edu/~rwh/courses/hott/))

An introduction to HoTT through [[Agda]]:

* [[Martín Escardó]], *Introduction to Univalent Foundations of Mathematics with Agda* [[arXiv:1911.00580](https://arxiv.org/abs/1911.00580),  [webpage](https://www.cs.bham.ac.uk/~mhe/HoTT-UF-in-Agda-Lecture-Notes/HoTT-UF-Agda.html)]

An introduction to homotopy theory through [[type theory]]:

* [[Andrej Bauer]], _Homotopy (type) theory_ ([web](https://github.com/andrejbauer/homotopy-type-theory-course))

* [[Egbert Rijke]], _Introduction to Homotopy Type Theory_ ([web](http://www.andrew.cmu.edu/user/erijke/hott/))

Gentle invitation to some basics:

* {#Bauer19} [[Andrej Bauer]], _What is an explicit bijection?_, talk at [FPSAC 2019](http://fpsac2019.fmf.uni-lj.si/) ([slides pdf](http://videolectures.net/site/normal_dl/tag=1244258/FPSAC2019_bauer_explicit_bijection_01.pdf), [video recording](http://videolectures.net/FPSAC2019_bauer_explicit_bijection/))

From the point of view of [[cubical type theory]]:

* [[Anders Mörtberg]], Loïc Pujet, _Cubical synthetic homotopy theory_,  CPP 2020: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs January 2020, pp. 158–171, [doi:10.1145/3372885.3373825](https://doi.org/10.1145/3372885.3373825), ([pdf](https://staff.math.su.se/anders.mortberg/papers/cubicalsynthetic.pdf))

### General

A blog serving as a base for the HoTT community is at

* {#HoTTSite} _Homotopy Type Theory_ [website](http://homotopytypetheory.org/)

Reports from the original Oberwolfach workshop on homotopy type theory are in

* _Homotopy type theory_ , Oberwolfach Reports 11-2011, ([pdf](http://hottheory.files.wordpress.com/2011/06/report-11_2011.pdf)).

Material concerning the

* _[Univalent foundations program 2012/2013](http://www.math.ias.edu/sp/univalent)_, Institute of Advanced Study, Princeton

is in the wiki

* _[UF-IAS-2012](http://uf-ias-2012.wikispaces.com/)_ .

A FAQ of sorts, with tips for those getting started in the field, is being maintained at

* _[What I wish I knew when learning HoTT](https://abooij.github.io/wiwikwlhott/)_.

Forums dedicated to homotopy type theory

* The [Homotopy Type Theory Google Group](https://groups.google.com/forum/#!forum/homotopytypetheory)

* The [HoTT Cafe Google Group](https://groups.google.com/forum/#!forum/hott-cafe)

* The [HoTT Zulip Chat](https://hott.zulipchat.com)

The HoTT research group at Carnegie Mellon University:

* [CMU website](https://www.cmu.edu/dietrich/philosophy/hott/)

The HoTT electronic seminar talks:

* [HoTTEST](http://uwo.ca/math/faculty/kapulkin/seminars/hottest.html)

### Models and categorical semantics

The first [[model]] for [[intensional type theory|intensional]] [[Martin-Löf type theory]] on [[groupoids]] (instead of [[sets]] = [[0-groupoids]]) was

* {#HofmannStreicher98} [[Martin Hofmann]], [[Thomas Streicher]]  _The groupoid interpretation of type theory_, in: Giovanni Sambin et al. (ed.) , _Twenty-five years of constructive type theory_, Proceedings of a congress, Venice, Italy, October 19—21, 1995. Oxford: Clarendon Press. Oxf. Logic Guides. 36, 83-111 (1998) [[ps](http://www.mathematik.tu-darmstadt.de/~streicher/venedig.ps.gz), [[HofmannStreicherGroupoidInterpretation.pdf:file]], [doi:10.1093/oso/9780198501275.003.0008](https://doi.org/10.1093/oso/9780198501275.003.0008)]

Generalization of this to [[strict ∞-groupoids]] were discussed in

* [[Michael Warren]], _The strict $\omega$-groupoid interpretation of type theory_ ([pdf](http://www.math.ias.edu/~mwarren/Papers/makkaifest_preprint.pdf))

The fact that every [[simplicial model category]] in which the cofibrations are [[monomorphisms]] provides a sound [[model]] for [[intensional type theory|intensional]] [[Martin-Löf type theory]] is discussed in

* {#AwodeyWarren07} [[Steve Awodey]], [[Michael Warren]], *Homotopy theoretic models of identity type*,  Mathematical Proceedings of the Cambridge Philosophical Society **146** 1 (2009) [[arXiv:0709.0248](http://arxiv.org/abs/0709.0248), [doi:10.1017/S0305004108001783](https://doi.org/10.1017/S0305004108001783)]

and with more details in

* {#Warren} [[Michael Warren]], _Homotopy theoretic aspects of constructive type theory_, PhD thesis (2008) [[pdf](http://www.andrew.cmu.edu/user/awodey/students/warren.pdf), [[Warren-HomotopyTypeTheory.pdf:file]]]

* [[Richard Garner]],  [[Benno van den Berg]], _Topological and simplicial models of identity types_. , ACM Transactions on Computational Logic ([pdf](http://www.mathematik.tu-darmstadt.de/~berg/papers/main.pdf))

* section 2 of ([Shulman 12](#Shulman12))

with lecture notes in

* [[Mike Shulman]], _Categorical models of homotopy type theory_, April 13, 2012 ([pdf](https://home.sandiego.edu/~shulman/hottminicourse2012/03models.pdf))

* [[André Joyal]], _Categorical homotopy type theory_, March 17, 2014 ([pdf](https://ncatlab.org/nlab/files/Categorical+Homotopy+Type+Theory.pdf))

The full model in the [[classical model structure on simplicial sets]] is due to

* {#KapulkinLumsdaine12} [[Chris Kapulkin]], [[Peter LeFanu Lumsdaine]], *The Simplicial Model of Univalent Foundations (after Voevodsky)*, Journal of the European Mathematical Society **23** (2021) 2071–2126  $[$[arXiv:1211.2851](https://arxiv.org/abs/1211.2851), [doi:10.4171/jems/1050](https://doi.org/10.4171/jems/1050)$]$

The trickiest question in finding models of homotopy type theory is to validate the [[univalence axiom]].  The first model satisfying this axiom was constructed by Voevodsky using the standard [[model structure on simplicial sets]], hence for the archetypical [[(∞,1)-topos]] [[∞Grpd]] of [[discrete ∞-groupoids]] (see also at *[[universal Kan fibration]]*).  Some expositions are:

* [[Chris Kapulkin]], [[Peter LeFanu Lumsdaine]], [[Vladimir Voevodsky]], *Univalence in simplicial sets*, [arXiv:v](http://arxiv.org/abs/1203.2553)

* {#Streicher14} [[Thomas Streicher]], *A model of type theory in simplicial sets: A brief introduction to Voevodsky's homotopy type theory*, Journal of Applied Logic **12** 1 (2014) 45-49 [[doi:10.1016/j.jal.2013.04.001](https://doi.org/10.1016/j.jal.2013.04.001)]

* [[Ieke Moerdijk]] (notes by [[Chris Kapulkin]]): *Fiber bundles and univalence*, [link](http://www.pitt.edu/~krk56/fiber_bundles_univalence.pdf)

A discussion of univalence for [[categories of presheaves]] over an [[inverse category]], with values in a category for which univalence is already established (such as simplicial sets) is discussed in

* {#Shulman12} [[Michael Shulman]], _The univalence axiom for inverse diagrams_ ([arXiv:1203.3253](http://arxiv.org/abs/1203.3253)).

Proof that all [[∞-stack]] [[(∞,1)-topos]] have [[presentable (∞,1)-category|presentations]] by [[model categories]] which interpret (provide [[categorical semantics]]) for [[homotopy type theory]] with [[univalence|univalent]] [[type universes]]:

* {#Shulman19} [[Michael Shulman]], _All $(\infty,1)$-toposes have strict univalent universes_ ([arXiv:1904.07004](https://arxiv.org/abs/1904.07004)).

Discussion of univalence in various other [[model category]] presentations for [[∞Grpd]] ([[cubical sets]], [[cellular sets]]) is in

* {#Cisinski14} [[Denis-Charles Cisinski]], _Univalent universes for elegant models of homotopy types_ ([arXiv:1406.0058](http://arxiv.org/abs/1406.0058))

Models in terms of [[cubical sets]] inside [[constructive set theory]]/[[type theory]] are discussed in

* {#BezemCoquandHuber13} Marc Bezem, [[Thierry Coquand]], Simon Huber, _A model of type theory in cubical sets_, 2013  ([web](http://drops.dagstuhl.de/opus/volltexte/2014/4628/), [pdf](http://drops.dagstuhl.de/opus/volltexte/2014/4628/pdf/7.pdf))

* {#KaposiAltenkirch14} Ambrus Kaposi, [[Thorsten Altenkirch]], _A syntax for cubical type theory_ ([pdf](http://mazzo.li/dump/aim-kaposi-pres.pdf))

A weaker version of the [[Awodey conjecture]], that the models of HoTT with function extensionality are [[locally cartesian closed (∞,1)-categories]] is explicitly stated in

* {#Joyal11} [[André Joyal]], _Remarks on homotopical logic_ Oberwolfach (2011) ([pdf](http://hottheory.files.wordpress.com/2011/06/report-11_2011.pdf#page=19))

See also the references at _[[relation between type theory and category theory]]_.

### Syntax

* [[Nicola Gambino]], [[Richard Garner]], _The identity type weak factorisation system_ , Theoretical Computer Science 409 (2008), no. 3, pages 94–109.

* [[Richard Garner]], [[Benno van den Berg]],  _Types are weak ω-groupoids_ ,

* [[Peter LeFanu Lumsdaine]], _Weak ω-Categories from Intensional Type Theory_ , TLCA 2009, Brasília, Logical Methods in Computer Science, Vol. 6, issue 23, paper 24.

* [[Peter LeFanu Lumsdaine]], _Higher Categories from Type Theories_ , PhD Thesis: Carnegie Mellon University, 2010. [PDF]

* Michael Hedberg, _A coherence theorem for Martin-Löf's type theory_ , Journal of Functional Programming 8 (4): 413–436, July 1998.

### Code
 {#Code}

The basic [[Coq]]-code libraries that set up [[identity types]] and the resulting homotopy type theory are at

* [[Vladimir Voevodsky]], _Experimental library of univalent formalization of mathematics_ ([arXiv:1401.0053](http://arxiv.org/abs/1401.0053)) [github](https://github.com/UniMath/)

* _The HoTT Library: A formalization of homotopy type theory in Coq_,
Andrej Bauer, Jason Gross, Peter LeFanu Lumsdaine, Mike Shulman, Matthieu Sozeau, Bas Spitters, 2016 [arxiv](https://arxiv.org/abs/1610.04591) and on [github](https://github.com/HoTT/HoTT/wiki)

A slightly more human readable version is collected as a single pdf in

* _HoTT-Coq code_ ([[HoTT-Coq-code.pdf:file]])

* Voevodsky, Vladimir and Ahrens, Benedikt and Grayson, Daniel and others, [[unimath|UniMath]], [GitHub](https://github.com/UniMath) link.

[[!include homotopy theory in homotopy type theory -- references]]

[[!redirects homotopy type theory]]
[[!redirects homotopy type theories]]

[[!redirects (∞,1)-type theory]]
[[!redirects (infinity,1)-type theory]]
[[!redirects Homotopy type theory]]
[[!redirects HoTT]]
[[!redirects internal language of an (∞,1)-topos]]


homotopy type theory - contents

* [[homotopy type theory]]

  * [[homotopy type]]

  * [[univalence]], [[function extensionality]], [[internal logic of an (∞,1)-topos]]

  * [[cohesive homotopy type theory]]

  * [[directed homotopy type theory]]

  * [[HoTT methods for homotopy theorists]]

[[!redirects HoTT - contents]]

category: type theory