# 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 types^{1}, but
categories that “feel natural as categories” are usually contractible.
For example any category which satisfies any one of the following
conditions is contractible:

- has a terminal object
- has binary products
- is filtered

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 *: 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

- for every pair of objects \(X\) and \(Y\) there are morphisms to a common object \(X \to Z\), \(Y \to Z\), and
- 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 connected^{2}.
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.

^{1}

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.

^{2}

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.

^{3}

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).