1.2 Simplicial sets
Before introducing an axiomatic framework that allows us to develop \(\infty \)-category theory in general, we first consider one model in particular: quasi-categories, which were introduced in 1973 by Boardman and Vogt [ BV73 ] in their study of homotopy coherent diagrams. Ordinary 1-categories give examples of quasi-categories via the construction of Definition 1.2.15. Joyal first undertook the task of extending 1-category theory to quasi-category theory in [ Joy02 ] and [ Joy08 ] and in several unpublished draft book manuscripts. The majority of the results in this section are due to him.
Let \(\Delta \) denote the simplex category of finite nonempty ordinals \([n] = \{ 0 {\lt}1 {\lt}\cdots {\lt} n\} \) and order-preserving maps.
The maps in the simplex category include in particular:
The elementary face operators are the maps
whose images omit the element \(i \in [n]\).
The elementary degeneracy operators are the maps
whose images double up on the element \(i \in [n]\).
The following decomposition result is yet to be proven, though there are related results on the image factorization in the simplex category:
Every morphism in \(\Delta \) factors uniquely as an epimorphism followed by a monomorphism; these epimorphisms, the degeneracy operators, decompose as composites of elementary degeneracy operators, while the monomorphisms, the face operators, decompose as composites of elementary face operators.
The image factorizations have been formalized but the canonical decompositions into elementary face and degeneracy operators remain to be done.
A simplicial set is a presheaf on the simplex category.
The category of simplicial sets is the category \({\mathord {\mathcal{sSet}}}:={\mathord {\mathcal{Set}}}^{\Delta ^{\mathord {\textup{op}}}}\) of presheaves on the simplex category.
Standard examples of simplicial sets include:
We write \(\Delta [n]\) for the standard \(n\)-simplex the simplicial set represented by \([n] \in \Delta \).
We write \(\partial \Delta [n] \subset \Delta [n]\) for the boundary sphere of the \(n\)-simplex. The sphere \(\partial \Delta [n]\) is the simplicial subset generated by the codimension-one faces of the \(n\)-simplex.
We write \(\Lambda ^k[n] \subset \Delta [n]\) for the \(k\)-horn in the \(n\)-simplex. The horn \(\Lambda ^k[n]\) is the further simplicial subset of \(\partial \Delta [n]\) that omits the face opposite the vertex \(k\), but it is defined as a subset of \(\Delta [n]\).
Given a simplicial set \(X\), it is conventional to write \(X_n\) for the set of \(n\)-simplices, defined by evaluating at \([n] \in \Delta \). This is implemented as a scoped notation “_[n]” accessible with “open Simplicial” or “open scoped Simplicial.”
By the Yoneda lemma:
Each \(n\)-simplex \(x \in X_n\) corresponds to a map of simplicial sets \(x \colon \Delta [n] \to X\). Accordingly, we write \(x \cdot \delta ^i\) for the \(i\)th face of the \(n\)-simplex, an \((n-1)\)-simplex classified by the composite map
This is a special case of the Yoneda lemma.
The right action of the face operator defines a map \(X_n \xrightarrow {\cdot \delta ^i} X_{n-1}\). Geometrically, \(x\cdot \delta ^i\) is the “face opposite the vertex \(i\)” in the \(n\)-simplex \(x\).
The category of simplicial sets, as a presheaf category, is very well-behaved:
The category of simplicial sets is complete.
Presheaf categories are complete.
The category of simplicial sets is cocomplete.
Presheaf categories are cocomplete.
Instances of these facts currently appear in Mathlib, which likely also knows that the category of simplicial sets is cartesian closed.
The definition of a quasi-category can be found in Mathlib as well.
A quasi-category is a simplicial set \(A\) in which any inner horn can be extended to a simplex, solving the displayed lifting problem:
Quasi-categories were first introduced by Boardman and Vogt [ BV73 ] under the name “weak Kan complexes,” as they generalize the following notion:
A Kan complex is a simplicial set admitting extensions as in 1.2.13 along all horn inclusions \(n \geq 1, 0 \leq k \leq n\).
Since any topological space can be encoded as a Kan complex, 1 in this way spaces provide examples of quasi-categories.
Categories also provide examples of quasi-categories via the nerve construction.
The category \({\mathord {\mathcal{Cat}}}\) of 1-categories embeds fully faithfully into the category of simplicial sets via the nerve functor. An \(n\)-simplex in the nerve of a 1-category \(C\) is a sequence of \(n\) composable arrows in \(C\), or equally a functor \([n]\to C\) from the ordinal category \([n]\) with objects \(0,\ldots , n\) and a unique arrow \(i \to j\) just when \(i \leq j\).
The map \([n] \mapsto [n]\) defines a fully faithful embedding \(\Delta \hookrightarrow {\mathord {\mathcal{Cat}}}\). From this point of view, the nerve functor can be described as a “restricted Yoneda embedding” which carries a category \(C\) to the restriction of the representable functor \(\hom (-,C)\) to the image of this inclusion.
This is an instance of a more general family of “nerve-type constructions.”
The nerve of a category \(C\) is 2-coskeletal as a simplicial set, meaning that every sphere \(\partial \Delta [n] \to C\) with \(n \geq 3\) is filled uniquely by an \(n\)-simplex in \(C\), or equivalently that the nerve is canonically isomorphic to the right Kan extension of its restriction to 2-truncated simplicial sets. 2
Note a sphere \(\partial \Delta [2] \to C\) extends to a 2-simplex if and only if that arrow along its diagonal edge is the composite of the arrows along the edges in the inner horn \(\Lambda ^1[2] \subset \partial \Delta [2] \to C\). The simplices in dimension 3 and above witness the associativity of the composition of the path of composable arrows found along their spine, the 1-skeletal simplicial subset formed by the edges connecting adjacent vertices. In fact, as suggested by the proof of Proposition 1.2.18, any simplicial set in which inner horns admit unique fillers is isomorphic to the nerve of a 1-category. This characterization of nerves is not yet in Mathlib, however, we have proven the one-way result, namely that nerves of categories satisfy the “strict Segal condition” and this is used in the proof of 2-coskeletality.
In the book that is the primary source this text [ RV22 ] , as in much of the \(\infty \)-categories literature, we decline to introduce explicit notation for the nerve functor, preferring instead to identify 1-categories with their nerves. As we shall discover the theory of 1-categories extends to \(\infty \)-categories modeled as quasi-categories in such a way that the restriction of each \(\infty \)-categorical concept along the nerve embedding recovers the corresponding 1-categorical concept. For instance, the standard simplex \(\Delta [n]\) is isomorphic to the nerve of the ordinal category \([n]\), and we frequently adopt the latter notation — writing \([0]:=\Delta [0]\), \([1]:=\Delta [1]\), \([2]:=\Delta [2]\), and so on — to suggest the correct categorical intuition. However, Mathlib notates nerves explicitly, so at some point this document should be adapted to follow that convention.
To begin down this path, we must first verify the implicit assertion that has just been made. A proof of the following result, due to Johan Commelin, will appear in Mathlib soon (see Wombat.lean for now).
Nerves of categories are quasi-categories.
This is not the proof that was formalized but we include it for fun:
Via the isomorphism \(C \cong \textup{cosk}_2C\) from Proposition 1.2.17 and the associated adjunction \(\textup{sk}_2 \dashv \textup{cosk}_2\) of, the required lifting problem displayed below-left transposes to the one displayed below-right:
The functor \(\textup{sk}_2\) replaces a simplicial set by its 2-skeleton, the simplicial subset generated by the simplices of dimension at most two. For \(n \geq 4\), the inclusion \(\textup{sk}_2\Lambda ^k[n]\hookrightarrow \textup{sk}_2\Delta [n]\) is an isomorphism, in which case the lifting problems on the right admit (unique) solutions. So it remains only to solve the lifting problems on the left in the cases \(n=2\) and \(n=3\).
To that end consider
An inner horn \(\Lambda ^1[2] \to C\) defines a composable pair of arrows in \(C\); an extension to a 2-simplex exists precisely because any composable pair of arrows admits a (unique) composite.
An inner horn \(\Lambda ^1[3] \to C\) specifies the data of three composable arrows in \(C\), as displayed in the following diagram, together with the composites \(gf\), \(hg\), and \((hg)f\).
Because composition is associative, the arrow \((hg)f\) is also the composite of \(gf\) followed by \(h\), which proves that the 2-simplex opposite the vertex \(c_1\) is present in \(C\); by 2-coskeletality, the 3-simplex filling this boundary sphere is also present in \(C\). The filler for a horn \(\Lambda ^2[3] \to C\) is constructed similarly.
We now turn to the homotopy category functor. The following definitions and results are not currently in Mathlib.
A parallel pair of 1-simplices \(f,g\) in a simplicial set \(X\) are homotopic if there exists a 2-simplex whose boundary takes either of the following forms 3
or if \(f\) and \(g\) are in the same equivalence class generated by this relation.
In a quasi-category, the relation witnessed by either of the types of 2-simplex on display in Definition 1.2.19 is an equivalence relation and these equivalence relations coincide.
Parallel 1-simplices \(f\) and \(g\) in a quasi-category are homotopic if and only if there exists a 2-simplex of any or equivalently all of the forms displayed in Definition 1.2.19.
A lengthy exercise in low-dimensional horn filling.
By 1-truncating, any simplicial set \(X\) has an underlying reflexive quiver or reflexive directed graph with the 0-simplices of \(X\) defining the objects and the 1-simplices defining the arrows:
By convention, the source of an arrow \(f \in X_1\) is its 0th face \(f \cdot \delta ^1\) (the face opposite 1) while the target is its 1st face \(f \cdot \delta ^0\) (the face opposite 0).
The functor that carries a category to its underlying reflexive quiver has a left adjoint, defining the free category on a reflexive quiver:
This has been formalized and is currently in the CatHasColimits branch of Mathlib.
The free category on this reflexive directed graph has \(X_0\) as its object set, degenerate 1-simplices serving as identity morphisms, and nonidentity morphisms defined to be finite directed paths of nondegenerate 1-simplices. The homotopy category \({\mathord {\mathsf{h}}}{X}\) of \(X\) is the quotient of the free category on its underlying reflexive directed graph by the congruence 4 generated by imposing a composition relation \(h = g \circ f\) witnessed by 2-simplices
By soundness of the quotient construction:
Homotopic 1-simplices in a simplicial set represent the same arrow in the homotopy category.
This should be relatively straightforward.
The homotopy category of the nerve of a 1-category is isomorphic to the original category, as the 2-simplices in the nerve witness all of the composition relations satisfied by the arrows in the underlying reflexive directed graph.
This has been formalized and is currently in the CatHasColimits branch of Mathlib.
Indeed, the natural isomorphism \({\mathord {\mathsf{h}}}{C} \cong C\) forms the counit of an adjunction, embedding \({\mathord {\mathcal{Cat}}}\) as a reflective subcategory of \({\mathord {\mathcal{sSet}}}\).
The nerve embedding admits a left adjoint, namely the functor which sends a simplicial set to its homotopy category:
The adjunction of Proposition 1.2.26 exists for formal reasons, via results which have already been formalized in Mathlib, once the category \({\mathord {\mathcal{Cat}}}\) is known to be cocomplete. A proof of this fact did not exist in Mathlib, however, and in fact the adjunction between the homotopy category and the nerve can be used to construct colimits of categories, as it embeds \({\mathord {\mathcal{Cat}}}\) as a reflective subcategory of a cocomplete category (see [ Rie16 , 4.5.16 ] ). Thus, we instead formalized a direct proof.
This has been formalized and is currently in the CatHasColimits branch of Mathlib.
For any simplicial set \(X\), there is a natural map from \(X\) to the nerve of its homotopy category \({\mathord {\mathsf{h}}}{X}\); since nerves are 2-coskeletal, it suffices to define the map \(\textup{sk}_2X \to {\mathord {\mathsf{h}}}{X}\), and this is given immediately by the construction of Definition 1.2.23. Note that the quotient map \(X \to {\mathord {\mathsf{h}}}{X}\) becomes an isomorphism upon applying the homotopy category functor and is already an isomorphism whenever \(X\) is the nerve of a category. Thus the adjointness follows by direct verification of the triangle equalities.
By inspection:
The nerve functor is fully faithful.
This has been formalized and is currently in the CatHasColimits branch of Mathlib.
As a corollary, it follows that \({\mathord {\mathcal{Cat}}}\) has colimits.
The homotopy category of a quasi-category admits a simplified description.
If \(A\) is a quasi-category then its homotopy category \({\mathord {\mathsf{h}}}{A}\) has
the set of 0-simplices \(A_0\) as its objects
the set of homotopy classes of 1-simplices \(A_1\) as its arrows
the identity arrow at \(a \in A_0\) represented by the degenerate 1-simplex \(a \cdot \sigma ^0 \in A_1\)
a composition relation \(h = g \circ f\) in \({\mathord {\mathsf{h}}}{A}\) between the homotopy classes of arrows represented by any given 1-simplices \(f,g,h \in A_1\) if and only if there exists a 2-simplex with boundary
Another lengthy exercise in low-dimensional horn filling.
Later we will require either of the following results:
\(\quad \)
The functor \({\mathord {\mathsf{h}}}\colon {\mathord {\mathcal{sSet}}}\to {\mathord {\mathcal{Cat}}}\) preserves finite products.
The functor \({\mathord {\mathsf{h}}}\colon {\mathord {\mathcal{QCat}}}\to {\mathord {\mathcal{Cat}}}\) preserves small products.
For the first statement, preservation of the terminal object is by direct calculation. By Proposition 1.2.25, preservation of binary products is equivalent to the statement that the canonical map \(N({\mathord {\mathcal{D}}}^{\mathord {\mathcal{C}}}) \to N({\mathord {\mathcal{D}}})^{N{\mathord {\mathcal{C}}}}\) involving nerves of categories is an isomorphism. On \(n\)-simplices, this is defined by uncurrying, which is bijection since \({\mathord {\mathcal{Cat}}}\) is cartesian closed.
For the second statement, we have a canonical comparison functor from the homotopy category of the products to the product of the homotopy categories. It follows from Lemma 1.2.28 that this is an isomorphism on underlying quivers, which suffices.
The properties of the isomorphisms in a quasi-category are somewhat technical to prove and will likely be a pain to formalize (see [ RV22 , § D ] ). Here we focus on a few essential results, which are more easily obtainable.
The homotopy coherent isomorphism \(I\), is the nerve of the free-living isomorphism.
Just as the arrows in a quasi-category \(A\) are represented by simplicial maps \( [1]\to A\) whose domain is the nerve of the free-living arrow, the isomorphisms in a quasi-category can be represented by diagrams \(I\to A\) whose domain is the homotopy coherent isomorphism:
An arrow \(f\) in a quasi-category \(A\) is an isomorphism if and only if it extends to a homotopy coherent isomorphism
If this result proves too annoying to formalize without the general theory of “special-outer horn filling,” we might instead substitute a finite model of the homotopy coherent isomorphism for \(I\).
Quasi-categories define the fibrant objects in a model structure due to Joyal. We use the term isofibration to refer to the fibrations between fibrant objects in this model structure, which admit the following concrete description.
A simplicial map \(f \colon A \to B\) between quasi-categories is an isofibration if it lifts against the inner horn inclusions, as displayed below-left, and also against the inclusion of either vertex into the free-living isomorphism \(I\).
To notationally distinguish the isofibrations, we depict them as arrows “\(\twoheadrightarrow \)” with two heads.
We now introduce the weak equivalences and trivial fibrations between fibrant objects in the Joyal model structure.
A map \(f \colon A \to B\) between quasi-categories is an equivalence if it extends to the data of a “homotopy equivalence” with the free-living isomorphism \(I\) serving as the interval: that is, if there exist maps \(g \colon B \to A\),
We write “\(\rightsquigarrow \)” to decorate equivalences and \(A \simeq B\) to indicate the presence of an equivalence \(A \rightsquigarrow B\).
If \(f \colon A \to B\) is an equivalence of quasi-categories, then the functor \({\mathord {\mathsf{h}}}{f} \colon {\mathord {\mathsf{h}}}{A} \to {\mathord {\mathsf{h}}}{B}\) is an equivalence of categories, where the data displayed above defines an equivalence inverse \({\mathord {\mathsf{h}}}{g} \colon {\mathord {\mathsf{h}}}{B} \to {\mathord {\mathsf{h}}}{A}\) and natural isomorphisms encoded by the composite 6 functors
A map \(f \colon X \to Y\) between simplicial sets is a trivial fibration if it admits lifts against the boundary inclusions for all simplices
We write “\(\twoheadrightarrow \)” to decorate trivial fibrations. 7
The notation “\(\twoheadrightarrow \)” is suggestive: the trivial fibrations between quasi-categories are exactly those maps that are both isofibrations and equivalences. This can be proven by a relatively standard although rather technical argument in simplicial homotopy theory [ RV22 , D.5.6 ] .