Don’t get me wrong, I love cat theory as much as the next person, but I see why a lot of mathematicians threat it with such disdain, and the reason is cat theorists themselves. Some of them seem to have everything so precisely backwards from what seems natural for other mathematicians.
This is like “chicken vs egg” problem, or more like “definition vs property” problem: what seems like a definition for us, is a property for them, and the other way around.

Let me illustrate on an example from today’s talk on (abelian) sheaf cohomology.

We all know that sheaf cohomology records the non-exactness of the global sections functor, which, in turn, is a consequence of the image of a sheaf morphism failing to be a sheaf in general. Here’s how the presenter discussed the issue:

1. Define sheafification as the left adjoint of the inclusion Sh(X) into Psh(X) (as a full subcategory)

2. (Pre)sheaves form an abelian category, and abelian categories have a general notion of a (co)kernel (as the pushforward/pullback along the map to/from zero object), so we define the (co)kernel of the (pre)sheaf morphism to be exactly that.

3. One can show that the kernel of a sheaf morphism taken in Psh(X) (defined in 2) is the same as the kernel taken in Sh(X), but the cokernel in Sh(X) is the same as sheafification (defined in 1) of the cokernel in Psh(X)

Having notions of kernels and cokernels, we can then proceed to define exactness in Sh(X) and Psh(X) etc.

This is clean and concise and tells me absolutely nothing.

Here’s what would seem a natural process for me:

1. Seeing how local data can’t always be patched together to form global data (i.e. not every presheaf is a sheaf), we’re interested in how can we force given local data to work together, i.e what additional data do we need to throw in so that our local things could be glued together. Hence we define the sheafification - the smallest sheaf with the same stalks as the given presheaf.

2. Seeing how our presheaves are abelian, and we have a well-understood notions of exactness, kernels and cokernels for abelian groups, we try to define same notions for presheaves in the obvious way (i.e define kernel of presheaf morphism to be the the presheaf of kernels etc).

3. We observe that the kernel of a morphism between sheaves is a sheaf, but the cokernel is not necessarily (which reflects that given F->G, G-global sections don’t always lift to F-global sections - the fact that is immediate from an undergraduate complex analysis course: there’s no globally defined logarithm on the unit circle, and hence global sections on U(1) don’t lift to global sections on R)

4. Hence it seems natural to define cokernel of a sheaf morphism to be the sheafification of the cokernel presheaf.

5. And now we can show that defined in this way, (co)kernels of (pre)sheaves are exactly (co)kernels in the abelian category sense, and use all the wonderful homological algebra machinery to describe properties of our constructions.

All the definitions can be shown to be equivalent, so can (and should! that’s precisely the point) be used interchangeably, but the first, up-down definition, seems to be “I defined an abstract thing, and now I’m going to find something that is actually described by my thing. But if I don’t find something that is described by my thing then I have a whole lot of information (because my definition was so abstract) about nothing.” Second, down-up definition, is “Here’s a thing I’m interested in, and I am going to see if I can find some existing machinery to describe it. But if I don’t find the necessary machinery, I can invent it, because I already know the properties of my thing, it’s lying right there in front of me!”

Basically what I’m saying is, as far as my style of processing mathematics goes, category theory is amazing and incredibly useful for describing things, but please stop using it to define things

The idea of the derived category, as we understand it today, can be formulated as follows:

a) An object \(X\) of an abelian category should be identified with all its resolutions.

b) The main reason for such an identification is that some most important functors, such as Hom, tensor products, \(\Gamma\), etc. should be redefined. Their “naive” definitions should be applied only to some special objects, which are acyclic with respect to this functor. If, say, \(X\) is a flat module and \(Y\) is an arbitrary one, then \(X \otimes Y\) is the correct definition of the tensor product. But in the general case, in order to get a correct definition one has to replace \(X \otimes Y\) by \(P^{\bullet} \otimes Y\), where \(P^{\bullet}\) is a flat resolution of the module \(X\). Similarly, to get the correct definition of the group \(\Gamma (\mathcal{F})\) of a sheaf \(\mathcal{F}\) one has to take the complex \(\Gamma(\mathcal{I}^{\bullet})\) where \(\mathcal{I}\) is an injective resolution of \(\mathcal{F}\).

c) To adopt this point of view we must consider from the very beginning not only objects of an abelian category and their resolutions, but arbitrary complexes. One of the reasons why we have to do this is that \(P^{\bullet} \otimes Y\) and \(\Gamma(\mathcal{I}^{\bullet})\) would usually have nontrivial cohomology in several degrees and not only in degree zero. Hence the relation that enables us to identify an object and its resolution should be generalized to arbitrary complexes. The appropriate generalization is given by the notion of a quasi-isomorphism.

d) The equivalence relation between complexes generated by quasi-isomorphisms is rather complicated, and what happens after the factorization by this equivalence relation is difficult to trace. The technique that enables us to do it form the core of the theory of derived categories.

e) The above redefinitions of such functors as \(\otimes, \Gamma\) and others makes semi-exact functors into “exact” ones, in some sense. The very notion of exactness in a derived category is by no means obvious–the origin of this notion in the classical homological algebra is the exact sequence of higher derived functors, which is invariant under the change of a resolution.

—  Gelfand and Manin, Methods of Homological Algebra
Singular homology, 1:

This series of posts will follow the first chapter of Gelfand and Manin’s textbook on homological algebra, which I’ve been reading off-and-on for the past couple of months. (I totally recommend their Chapter 2, by the way, for a fast-paced, high-level, example-driven introductory review of category theory.)

Definition 1. The \(n\)-dimensional simplex is the topological space \[\Delta_n \overset{\operatorname{df}}{=} \left\{ \left(x_0, \dots, x_n \right) \in \mathbb{R}^{n+1} \operatorname{ | } \sum_{i = 0}^{n} x_i = 1, x_i \geq 0\right\}.\] The \(I\)th face of the simplex \(\Delta_n\) for \(I \subseteq [n] \overset{\operatorname{df}}{=} \{0, \dots, n\}\) is \[\mathsf{Face}(\Delta_n,I) \overset{\operatorname{df}}{=} \left\{ \left(x_0, \dots, x_n \right) \in \mathbb{R}^{n+1} \operatorname{ | } \sum_{i = 0}^n x_i = 1 \operatorname{\land} \forall x_i \text{ with } i \not \in I, x_i = 0\right\}.\]

Sometimes we identify \(I \subseteq [n]\) with the unique injective order-preserving map \(f_I : [m] \to [n]\), for \(m + 1= \#I \).

Proposition 1. There is a unique linear map \(\Delta_f : \Delta_m \to \Delta_n\) preserving the ordering on the vertices such that \(\operatorname{im}(\Delta_f) = \mathsf{Face}(\Delta_n, I).\)

Corollary 1. \(\mathcal{P}_{m + 1} \left([n]\right) \simeq \operatorname{Hom}_{\text{vertex-order-preserving linear maps}}\left(\Delta_m,\Delta_n\right).\)

Proof. Fix \(I \subseteq [n]\) of cardinality \(m + 1\). Then, taking an order-preserving unique \([m] \overset{\widetilde{f}}{\to} [n]\) with \(\widetilde{f}[[m]] = I\) induces a linear transformation \(\Delta_m \overset{\Delta_f}{\to} \Delta_n\) by fixing a vertex (say \(e_0\)) and taking a basis \(\left(e_i - e_0 \right)_{i > 0}\).

Definition 2. A triangulated space is (up to homeomorphism) a topological space \(X\) with the following data (called gluing data):

For each \(n\), we have an indexing set \(X_{(n)}\) for \(n\)-dimensional simplices.

For each \(n\), each \(I \subseteq [n]\), with \(m + 1= \# I\), we have a map \(X_{(n)} \overset{X_f}{\to} X_{(m)}\) which specifies which \(m\)-dimensional simplicies are identified with \(\mathsf{Face}(\Delta_n, I)\) for \(\Delta_n\) indexed by \(X_{(n)}\).

As a set, \[X \simeq \bigsqcup_{n = 0}^{\infty} \left(\Delta_n \times X_{(n)}\right)/R,\] where \(R\) glues together things according to the gluing data. The canonical topology is the strongest one which makes \[\bigsqcup_{n = 0}^{\infty} \left(\Delta_n \times X_{(n)}\right) \twoheadrightarrow X\] continuous, where the \(X_{(n)}\) are equipped with discrete topologies.

Remark 1. There is a more categorical (and, to me, more natural) formulation of this: carrying over the analogy “faces \(\leftrightarrow\) monotone maps \([m] \to [n]\)” further, we may view gluing data instead as a contravariant functor \(X(-)\) from a category \(\mathbf{[\mathbb{N}]}\), with objects finite ordered sets and morphisms the order-preserving embeddings between them, into a category \(\mathbf{X}\), whose objects are \(\left\{X_{(n)}\right\}_{n \in \mathbb{N}}\) viewed as a full subcategory of \(\mathbf{Set}\), so that \[\left([m] \overset{f}{\longrightarrow} [n] \right) \overset{X}{\mapsto} \left(X_{(n)} \overset{X_f}{\longrightarrow} X_{(m)} \right).\]

By Proposition 1, there is also a covariant functor \[\Delta : \mathbf{[\mathbb{N}]} \to \mathbf{\Delta} \overset{\operatorname{df}}{=} \left\{\Delta_n \right\}_{n \in \mathbb{N}}\] with morphisms the vertex-ordering-preserving linear maps between them.

Then the underlying set of the triangulated space \(X\) is the quotient of the “convolution” of \(\Delta\) and \(X(-)\) by “connected components”.

To be precise: form a category of elements \[\int^{[n] \in \mathbf{[\mathbb{N}]}} \Delta([n]) \times X(-)([n]).\] The underlying set of objects is \[\bigsqcup_{n \in \mathbb{N}} \Delta_n \times X_n,\] with morphisms \[\left((\Delta_m,d), (X_m, x) \right) \overset{f}{\longrightarrow} \left((\Delta_n, d’),(X_n, x’)\right)\] if \(f : [m] \to [n]\) in \(\mathbf{[\mathbb{N}]}\) and \(X_f(x’) = x\) and \(\Delta_f(d) = d’\). Now, there is a morphism between any two points \((d,x)\) and \((d’,x’)\) if and only if they’re glued together in the triangulation. (That’s what’s meant by taking “connected components”.)

The analogy with actual convolution’s even more apt because \(X(-)\)’s contravariant. Cool!

From this point of view, the following corollary is clear:

Corollary 2. If \(\Delta_n\) shows up in the gluing data of \(X\), then \(\Delta_n \to X\) (induced by restricting to \(\Delta_n \times \{*\}\) for any \(* \in X_{(n)}\)) is an embedding.

Examples 1. Examples of spaces which admit triangulations include:

  1. The \(n\)-dimensional simplex where each \(X_{(m)}\) enumerates \[\left\{\mathsf{Face}(\Delta_n,I)\right\}_{I \subseteq [n], \#I = m + 1},\] so that the simplex is dismantled and reassembled.
  2. The \(n\)-sphere, which is homeomorphic to the \(n\)-dimensional simplex with the data of \(X_{(n)}\) and \(\Delta_n\) omitted.
  3. Piecewise linear manifolds.
  4. Low-dimensional (\(n \leq 4\)) topological manifolds.

Proposition 2. Any triangulated space \(X\) is, as a set, the disjoint union of the interiors of its simplices. That is, if we let \(\mathring{\Delta}_n\) denote the interior of \(\Delta_n\), the induced map \[\mathring{\pi} : \bigsqcup_{n \in \mathbb{N}} \mathring{\Delta}_n \times X_{(n)} \to X\] is a bijection.

Proof. Let \(\pi\) name the projection \(\int \Delta \times X(-) \overset{\pi}{\twoheadrightarrow} X.\) For any \(x\) in \(X\), \(\pi^{-1}(x)\) has a unique point of lowest dimension, which lives in the interior of its ambient simplex (Why? By Corollary 2, if our claim fails, then there’s another point of lowest dimension living in a separate simplex. But our definition of gluing data says that \(\pi\) identifies these points iff their ambient simplexes are identified at some face, so \(x\) must live in some even-lower-dimensional face, a contradiction.) Then, removing boundaries (i.e. faces) just deletes all the points besides this unique one of lowest dimension from each fiber \(\pi^{-1}(x)\), so that \(\pi\) restricts very naturally to a bijection \(\mathring{\pi}\).

(This is, like, an order of magnitude cleaner than the proof given in the text.)

That was fun! For the next post in this series, we’ll go over taking products of triangulations and simplicial sets.

(Very quickly: if we relax \(\mathbf{[\mathbb{N}]}\) to the category \(\mathbf{FinOrd}\) of finite totally ordered sets with order-preserving maps between them, and \(\mathbf{X}\) to the category of sets, our contravariant functors \(X(-)\) become exactly the simplicial sets.)