9. Limit

9.1. Diagram

The proofs we have seen so far, and the comments about the philosophy of category theory in Section 2.3, suggest that most theorems of category theory have proofs involving directed graphs where the vertices represent the objects of a category and the arrows represent morphisms. Moreover, it seems the goal of most categorical proofs is to demonstrate that a particular diagram commutes.

Since they play such a fundamental role in the theory, we may wish to consider a more precise definition of diagram. Up to now we have been somewhat informal when speaking of diagrams (see, e.g., Section 5.1). However, we now have the tools needed to treat this notion with greater precision and elegance (as we do in Section 9.4 below). Nonetheless, there is arguably little to gain from the more formal, technical definition of diagram and, for our present purposes at least, our informal understanding is perfectly adequate.

So, let us review the definition we gave in Section 5.1.

By a diagram of a category \(\mathcal C\) we simply mean some (possibly empty) collection of objects \(A, B, C, \dots\) of \(\mathcal C\) along with a (possibly empty) collection of morphisms between some (or all, or none) of the objects in this collection.

Also, recall, we said that a diagram commutes if it has the following property: for every pair of objects, say, \(C\), \(D\), in the diagram, all paths (along morphisms in the diagram) from \(C\) to \(D\) yield the same morphism under composition.

More precisely, a diagram commutes iff \(∀ x ∈ C\), \(φ(x) = ψ(x)\) whenever \(φ = f_1 ∘ \dots ∘ f_m: C → D\) and \(ψ = g_1 ∘ \dots ∘ g_n: C → D\) are compositions of morphisms in the diagram with the same source \(C\) and target \(D\).

Examples 9.1

The examples here may seem somewhat trivial, but it will be helpful to have these simple cases around when we define “diagram” in a fancier way (using functors), and when we introduce the notions limit and colimit.

  1. The empty diagram has no objects or morphisms. The diagram looks like this:




  2. The two element diagram with objects \(A\) and \(B\) and no morphisms looks like this:

    [auto,node distance=2cm]
\node (A) at (0,0) {$A$};
\node (B) [right of=A] {$B$};

  3. Suppose the diagram has two objects \(A\) and \(B\) and two morphisms \(f, g: A → B\). The diagram is as follows:

    [->,semithick,auto,node distance=2cm]
\node (A) at (0,0) {$A$};
\node (B) [right of=A] {$B$};
\draw (0.2,0.1) to node {$f$} (1.8,.1);
\draw (0.2,-0.1) to node [swap] {$g$} (1.8,-.1);


9.2. Cone

Let \(\mathcal C\) be a category.

If \(D\) is a commutative diagram with objects \(\{J_i \mid i \in I\}\) and \(A\) an object in \(\mathcal C\), then the cone below \(D\) (or \(D\)-cone) with bottom \(A\) is a collection \(c_A = \{ f_i\colon A \to J_i \mid i\in I\}\) of morphisms such that the augmented diagram—that is, \(D\) adjoined with \(A\) and the morphisms in \(c_A\)—commutes.

Example 9.2 (a cone)

Suppose \(D\) is the commutative diagram shown here.

[->,semithick,node distance=2cm]
\node (J1) at (0,0) {$J_1$};
\node (J2) at (1,1.5) {$J_2$};
\node (J3) at (4,0) {$J_3$};
\node (J4) at (5,1.5) {$J_4$};
\draw (J1) to node [above,pos=.65] {$h$} (J3);
\draw (J2) to node [above] {$h'$} (J4);
\draw (J1) to node [left] {$g$} (J2);
\draw (J3) to node [left] {$g'$} (J4);

Then the cone below \(D\) with bottom \(A\) looks like this.

[->,semithick,node distance=2cm]
\node (J1) at (0,0) {$J_1$};
\node (J2) at (1,1.5) {$J_2$};
\node (J3) at (4,0) {$J_3$};
\node (J4) at (5,1.5) {$J_4$};
\node[blue] (A) at (3.5,-2.5) {$A$};
\draw (J1) to node [above,pos=.65] {$h$} (J3);
\draw (J2) to node [above] {$h'$} (J4);
\draw (J1) to node [left] {$g$} (J2);
\draw (J3) to node [left] {$g'$} (J4);
\draw[blue] (A) to node [below] {$f_1$} (J1);
\draw[blue,dotted] (A) to node [left] {$f_2$} (J2);
\draw[blue] (A) to node [left] {$f_3$} (J3);
\draw[blue] (A) to node [right] {$f_4$} (J4);

Dually, the cocone above \(D\) (or \(D\)-cocone) with top \(A\) is a collection \(c^A = \{ f_i\colon J_i \to A \mid i\in I\}\) of morphisms such that the augmented diagram—that is, \(D\) augmented with \(A\) and \(c^A\)—commutes.

Example 9.3 (a cocone)

If \(D\) is as in the example above, then the cocone above \(D\) with top \(A\) looks like this:

[->,semithick,node distance=2cm]
\node (J1) at (0,0) {$J_1$};
\node (J2) at (1,1.5) {$J_2$};
\node (J3) at (4,0) {$J_3$};
\node (J4) at (5,1.5) {$J_4$};
\node[blue] (A) at (1,4) {$A$};
\draw (J1) to node [below] {$h$} (J3);
\draw (J2) to (J4);
\draw (J1) to node [right] {$g$} (J2);
\draw (J3) to node [below right] {$g'$} (J4);
\draw[blue] (J1) to node [left] {$f_1$} (A);
\draw[dotted,blue] (J2) to (A);
\draw[blue] (J3) to node [right] {$f_3$} (A);
\draw[blue] (J4) to node [above] {$f_4$} (A);
\node[blue] (fa') at (1.3,2.5) {$f_2$};
\node (h') at (2,1.25) {$h'$};


Exercise 9.2.1: Check that cones and their morphisms form a category.

9.3. Limit

A limit of a diagram \(D\), when it exists, is denoted by \(\varprojlim D\) and is defined to be the terminal cone below \(D\).

In other words, a limit of \(D\) is a \(D\)-cone \(c^A\) with the property that if \(d^B\) is a cone below the same diagram, then there is a unique morphism \(\varphi: B \to A\) that makes the entire augmented diagram—\(D\) augmented with both cones and the morphism \(\varphi\)—commute.

Example 9.4 (limit)

Carrying on with our running example, we illustrate the limit of \(D\) in the diagram below.

[->,semithick,node distance=2cm]
\node (J1) at (0,0) {$J_1$};
\node (J2) at (1,1.5) {$J_2$};
\node (J3) at (4,0) {$J_3$};
\node (J4) at (5,1.5) {$J_4$};
\node[blue] (A) at (3.5,-1.5) {$A$};
\node[red] (B) at (4,-3.6) {$B$};
\draw (J1) to (J3);
\draw (J2) to (J4);
\draw (J1) to (J2);
\draw (J3) to (J4);
\draw[blue] (A) to (J1);
\draw[blue,dotted] (A) to (J2);
\draw[blue] (A) to (J3);
\draw[blue] (A) to (J4);
\draw[red,bend left] (B) to (J1);
\draw[red,dotted,bend left] (B) to (J2);
\draw[red,bend right] (B) to (J3);
\draw[red,bend right] (B) to (J4);
\draw[dashed] (B) to node [left] {$\exists ! \varphi$} (A);

The dual notion is a colimit of a diagram \(D\), which is a limit of the diagram in the opposite category \(\mathcal C^{\mathrm{op}}\).

That is, a colimit of a diagram \(D\), when it exists, is denoted by \(\varinjlim D\) and is defined to be the initial cocone above \(D\).

Since terminal (initial) objects are unique up to isomorphism, any two limits (colimits) of a diagram are isomorphic in the category of cones (cocones).

It is easy to see that if \(h \colon \mathcal C \to \mathcal C'\) is an isomorphism of (co)cones, it is also an isomorphism of \(\mathcal{C}\) and \(\mathcal{C'}\) in the underlying category.


Exercise 9.3.1: Prove that the limit of a discrete diagram \(D = \{A, B\}\) with two objects and no arrows (see Example b above), is the product, \(A × B\), with projection functions \(π_1: A × B → A\) and \(π_2: A × B → B\).

9.4. Diagram as functor

A diagram in a category \(\mathcal C\) is a functor \(D \colon \mathcal J \to \mathcal C\) whose domain, the indexing category, is a small category.

A diagram is called commutative if, for every pair of vertices, all compositions given by a path from the first vertex to the second are equal morphisms of the category.

For example, let \(A, A', B, B'\) be objects of the category \(\mathcal C\), and let \(f\colon A \to B\) and \(f\colon A \to B\)

Most of the commutative diagrams we have seen so far are diagrams in this formal sense.

If a vertex of diagram \(F\) is labeled by an object \(A\), then we often refer to both the vertex and its label as \(A\); we adopt a similar practice for morphisms and edges.

The reason for defining diagrams formally is so that we can precisely define the notions limit and colimit, and these will be defined as the terminal and initial “cones” of a diagram, respectively. Thus, before defining limits and their duals, we must first define cone. The concept of cone, in turn, depends on the definition of constant functor.

Example 9.5 (constant functor)

Fix a category \(\mathcal C\). For each object \(A\) of \(\mathcal C\) and for every category \(\mathcal J\), the constant functor at \(A\) is the map \(A \colon \mathcal J \to \mathcal C\) which sends every object of \(\mathcal J\) to \(A\) and sends every morphism of \(\mathcal J\) to the identity morphism \(\mathrm{id}_A\).

A constant functor defines an embedding \(\mathcal C \hookrightarrow \mathcal C^{\mathcal J}\) which sends each object \(A\) to the constant functor at \(A\) and each morphism \(f \colon A \to B\) to the constant natural transformation at \(f\), each component of which is \(f\). That is, the constant natural transformation takes every morphism in \(\mathcal J\) to \(f\).

In the diagram below, the constant natural transformation is denoted by \(\varphi\).

[semithick,->,node distance=3cm,scale=1.75,auto]
\node (K) at (0,0) {$K$};
\node (J) [above of=K] {$J$};
\draw (J) to node[pos=.5,right] {$f$} (K);
\node (AK) at (1,0) {$AK$};
\node (BK) [right of=AK] {$BK$};
\node (AJ) at (1,1.5) {$AJ$};
\node (BJ) [right of=AJ] {$BJ$};
\node[font=\large] (JJ) at (0,2.5) {$\mathcal J$};
\node[font=\large] (C) at (2,2.5) {$\mathcal C$};
\draw[bend left] (JJ) to node[pos=.5,above] {$A$} (C);
\draw[bend right] (JJ) to node[pos=.5,below] {$B$} (C);
\draw (AK) to node[pos=.5,below] {$\varphi_K$} (BK);
\draw (AJ) to node[pos=.5,left] {$Af$} (AK);
\draw (AJ) to node[pos=.5,above] {$\varphi_J$} (BJ);
\draw (BJ) to node[pos=.5,right] {$Bf = \mathrm{id}_B$} (BK);
\draw[double] (1,2.75) to node[pos=.5,right] {$\varphi$} (1,2.25);
\node[font=\small] (labl1) at (1.5,-.7) {$AJ = A = AK \qquad BJ = B = BK$};
\node[font=\small] (labl2) at (1.5,-1) {$Af = \mathrm{id}_A \qquad \varphi_J = f = \varphi_K$};


9.5. Cone as natural transformation

A cone below \(\mathcal D\) with bottom \(A\) is a natural transformation \(\beta \colon A \Rightarrow \mathcal D\) whose domain is the constant functor at \(A\).

The components of \(\beta\) are \((\beta_J \colon A \to F J)\), for each \(J \in \mathcal J_0\), and are called the legs of the cone.

The naturality condition asserts that for each morphism \(f \colon J \to K\) of \(\mathcal J\), the following triangle commutes in \(\mathcal C\):

Todo

insert figure

Dually, a cocone above \(F\) with top \(A\) is a natural transformation \(\tau \colon F \Rightarrow A\), whose legs are the components \((\tau_J \colon F J \to C)\), for each \(J\in \mathcal J_0\).

The naturality condition asserts that, for each morphism \(f \colon J \to K\) of \(\mathcal J\), the following triangle commutes in \(\mathcal C\):

Todo

insert figure


A diagram is typically depicted by drawing the objects and morphisms in its image, with the domain category left implicit, particularly in the case where the indexing category \(\mathcal J\) is a preorder, so that any two paths of composable arrows have a common composite. Nonetheless, the indexing category \(\mathcal J\) plays an important role.

Functoriality requires that any composition relations that hold in \(\mathcal J\) must hold in the image of the diagram, which is what it means to say that the directed graph defined by the image of the diagram in \(\mathcal C\) is commutative. Thus, we may use the phrase a diagram \(D\) of shape \(\mathcal J\) when we wish to make explicit the indexing category \(\mathcal J\).

Theorem:Functors preserve commutative diagrams.

A diagram in \(\mathcal C\) is given by a functor \(F \colon \mathcal J \to \mathcal C\), whose domain is a small category.

Given any functor \(G \colon \mathcal C \to \mathcal D\), the composite \(GF \colon \mathcal J \to \mathcal D\) defines the image of the diagram in \(\mathcal D\).

A cone below \(F \colon \mathcal J \to \mathcal C\) is precisely a cocone above \(F \colon \mathcal J^{\mathrm{op}} \to \mathcal C^{\mathrm{op}}\).


9.6. Solutions

Exercise 9.2.1

Solution (to do).


Exercise 9.3.1

Solution (to do).