Lots of categories are contractible

Table of Contents

By the homotopy type of a category \(C\), I just mean the homotopy type of its nerve \(NC\), or equivalently of the geometric realization of the nerve, usually called the classifying space \(BC\) of the category. The first big difference between a category and it classifying space is that in the classifying space all morphisms of the category become paths, and so are invertible. In fact, the homotopy type of a category \(C\) is precisely the result of inverting all of its morphisms in the world of \((\infty,1)\)-categories –to get an \(\infty\)-groupoid. For example, using the formalism of quasicategories, \(NC[C^{-1}]\) is a Kan complex with the homotopy type of the classifying space of \(C\). The reader not familiar with higher category theory will (1) be relieved to know we won’t use it to show contractibility of our examples, and (2) can still appreciate a \(1\)-truncated version of the previous statement, namely, that the groupoid resulting from \(C\) by inverting all morphisms (in the world of plain old categories) is the \(1\)-type of the classifying space of \(C\), that is, has full information about the number of connected components of \(BC\) and their fundamental groups.

Categories can model all homotopy types, and in fact even just classifying spaces of posets give you all homotopy types1, but categories that “feel natural as categories” are usually contractible. For example any category which satisfies any one of the following conditions is contractible:

Of course, any category satisfying the dual of any of these conditions is also contractible, but to save bandwith, we’ll only prove one out of each pair of dual statements.

A category with a final object is contractible

This one is clear, but as a warm up here is a proof: there is a natural transformation from the identity functor to the constant functor with value the terminal object (whose components are the unique maps to the terminal object); the geometric realization of this natural transformation is a homotopy between the identity map and a constant map, and so the category is contractible.

A category with binary products is contractible

Take any object \(X\) in the category \(C\). Consider the endofunctor \(F : C \to C\) given by \(FY = X \times Y\). Then (1) projection onto the first factor gives a natural transformation from \(F\) to the constant functor with value \(X\), and (2) projection onto the second factor gives a natural transformation from \(F\) to the identity.

A filtered category is contractible

Added [2017-07-09 Sun]: The earliest reference I have found for this result is Quillen’s wonderful Higher Algebraic K-theory: I.

Let’s show this in a very down to earth manner.

The more common definition says that a category is filtered if

  1. for every pair of objects \(X\) and \(Y\) there are morphisms to a common object \(X \to Z\), \(Y \to Z\), and
  2. for every pair of parallel morphisms \(f, g : X \to Y\) there is some morphism \(h : Y \to Z\) with \(hg = hf\).

Right away this tells us a filtered category is simply connected2. Indeed, a) shows it is connected and b) shows that any pair of parallel arrows in \(C\) become equal in the groupoid \(C[C^{-1}]\). To show contractibility we’ll make use of an alternate characterization: a category is filtered if there is a cocone under any finite diagram in \(C\).3 I claim we can represent any class in \(\pi_n(BC)\) by a morphism of simplicial sets \(S \to NC\), where \(S\) is some simplicial set whose geometric realization is \(S^n\). Given this claim the proof is not hard: take a cocone under the diagram in \(C\) given by the image of the \(1\)-skeleton of \(S\); such a cocone let’s you extend the map \(S \to NC\) to a map \(\text{(co)cone}(S) \to NC\), showing the map we started with is inessential.

To prove the claim, we will use Kan’s \(\text{Ex}^\infty\), one construction for fibrant replacement in simplicial sets. Recall the basic facts:

One can define barycentric subdivision of a simplicial set analogously to the very classical barycentric subdivision of a simplicial complex, this a functor \({\text{Sd}}: {\text{sSets}}\to {\text{sSets}}\) which admits a right adjoint called \({\text{Ex}}\). Explicitly, the \(n\)-simplices of \({\text{Ex}}(X)\) are the maps \({\text{Sd}}(\Delta^n) \to X\). The important thing for us is that, while \({\text{Sd}}(\Delta^n)\) has the same geometric realization as \(\Delta^n\), it has “backwards” edges, and more generally simplices with “the wrong orientation”, meaning that a simplex in \({\text{Ex}}(X)\) is a kind of \(n\)-dimensional “zigzag” of simplices of \(X\). There is a natural inclusion \(X \subset {\text{Ex}}(X)\) (that just comes from a map \({\text{Sd}}(\Delta^n) \to \Delta^n\) – to figure out which map, remember that vertices of \({\text{Sd}}(\Delta^n)\) are subsets of \(\{0,1,\ldots,n\}\), the map we’re talking about sends a vertex of \({\text{Sd}}(\Delta^n)\) to its maximum element), and thus a whole chain of inclusions \(X \subset {\text{Ex}}(X) \subset {\text{Ex}}^2(X) \subset {\text{Ex}}^3(X) \subset \ldots\). The union of this chain is \({\text{Ex}}^\infty(X)\) and is a Kan complex whose geometric realization has the same homotopy type as the geometric realization of \(X\). Furthermore, any homotopy class of maps between the geoemtric realizations of two simplicial sets \(Y\) and \(X\), can be obtained by realizing a map of simplicial sets \(Y \to {\text{Ex}}^\infty(X)\) (this is part of what’s meant by the phrase “fibrant replacement”).

This means that any homotopy class in \(\pi_n(X)\) can be represented by a map \(\partial \Delta^n \to {\text{Ex}}^\infty(X)\), and since \(\partial \Delta^n\) has only finitely many non-degenerate simplices, this map must factor through some \({\text{Ex}}^k(X)\), which, by adjunction, means that the homotopy class we started with can be represented by a map of simplicial sets \({\text{Sd}}^k(\partial \Delta^n) \to X\), as required.

Is a connected category with pullbacks necessarily contractible?

As pointed out to me by Clark Barwick, the answer is obviously no! Just consider any group as a one-object category.


In the other extreme direction (of few objects rather than few morphisms), Dusa McDuff has shown that every connected homotopy type is realized by the classifying space of a monoid. See her paper On the classifying spaces of discrete monoids, Topology. 18 (1979), no. 4, p. 313—320.


Strictly speaking we won’t need to use this argument to show \(C\) is contractible, but it’s nice and simple so I feel it’s worth mentioning.


The equivalence is easy to prove. Conditions a) and b) of the definition of filtered category are just existence of cocones under diagrams with shapes a) two points, and b) two parallel arrows. Now, take a finite diagram \(D\) in a filtered category. Using a) repeatedly we can find we can find an object \(Z\) that receives a morphism from all objects in \(D\), this gives a cocone under the discrete diagram having the same objects as \(D\). Add the morphisms in \(D\) one at a time to this discrete diagram and at each step “fix the cocone”, i.e., when you add a morphism \(X \to Y\), the two morphism in the cocone \(X \to Z\) might not match the composite \(X \to Y \to Z\), if not, replace \(Z\) using b).

Omar Antolín Camarena