On direct limits, and computing them from cofinal subsets


This article is part of my migration effort, moving some of my articles over from the excellent Functor Network.


Here I talked about computing a direct limit on some cofinal subset. In this post, I want to prove what my assertions.

Note that direct limits are a special case of colimits, and what I’ll talk about can easily be generalized. In particular, colimit may also be computed on cofinal subcategories of their indexing category, and yield equal (“isomorphic up to a unique canonical isomorphism”) colimits. However, in this post I’ll stay in the particular case of direct limits, and I’ll try to define things first in terms of elements, to stay as concrete as possible.

Recall that a poset (A,)(A,\leq) is called directed if any pair of elements in AA has an upper bound. For instance, the integers \mathbb{Z} with the usual order make up a rather trivial example of a directed set. Another example which is quite important in algebraic geometry is the set of all open neighborhoods of a given point in a topological space, ordered by reverse inclusion: a natural choice for an upper bound for two such open neighborhoods is given by their intersection.

When (A,)(A,\leq) is a poset, any subset BAB \subseteq A is also a poset in the order \leq. Such a subset is said to be cofinal in AA if, for any aAa \in A, there exists some bBb \in B with aba \leq b. More formally: (aA),(bB):ab.\forall (a \in A), \exists (b \in B) : a \leq b. If we dualize, we obtain the statement: (aA):(bB),ba.\exists (a \in A) : \forall (b \in B), b \leq a. Hence the concept of being cofinal is dual to the concept of having an upper bound. That was just a quick side remark, it’s not really important as far as I know. If AA is a directed set and BB is cofinal in AA, then an important fact is that BB is also a directed set (hint: two arbitrary elements in BB are also in AA, so they have an upper bound in AA; by cofinality there’s an element of BB that’s larger than this upper bound).

Let C\operatorname{C} be a category that’s “algebraic”, i.e. objects are “sets with some optional extra structure” and arrows are “set functions which respect that extra structure”. For instance, the category Set\operatorname{Set} itself fits this description, as does the category of groups, or the category of modules over some ring, etc. In these categories, objects have elements, so we can be very concrete in our definitions.

Let (I,)(I,\leq) be a directed set, which we will use to index objects and arrows in C\operatorname{C} as follows: we consider {Ai}iI\{A_i\}_{i \in I} a collection of objects of C\operatorname{C}, and a collection of arrow fij:AiAjf_{ij} : A_i \to A_j for all pairs i,jIi,j \in I with iji \leq j, such that:

  • fiif_{ii} is the identity on AiA_i for all ii; and
  • fik=fjkfijf_{ik} = f_{jk} \circ f_{ij} for all ijki \leq j \leq k.

You may recognize that this data is exactly a (covariant) functor from the indexing set II (any poset may be interpreted as a category) to C\operatorname{C}, or in other terminology a diagram of shape II in C\operatorname{C}. In this article, however, we will not use this terminology, and simply say that the “pair” (Ai,fij)(A_i, f_{ij}) is a direct system over II.

The direct limit of a direct system is defined as a set by the equation limAi=(iIAi)mod,\underset{\rightarrow}{\operatorname{lim}} A_i = \left(\bigsqcup_{i \in I} A_i\right) \text{mod} \sim, where \sim is the equivalence relation generated by: two elements xiAix_i \in A_i and xjAjx_j \in A_j verify xixjx_i \sim x_j if and only if there is an upper bound kIk \in I of ii and jj such that fik(xi)=fjk(xj)f_{ik}(x_i) = f_{jk}(x_j). In other words, two elements are declared to be equal when they are “eventually equal” at some large enough index kk.

Because II is a directed set, the underlying set we just defined for the direct limit can always be equipped with the appropriate algebraic structure so that it is an object of C\operatorname{C}:

  • In the category of groups, define multiplication on limAi\underset{\rightarrow}{\operatorname{lim}} A_i in the following way. Write [xi][x_i] and [xj][x_j] for two equivalence classes that are elements of limAi\underset{\rightarrow}{\operatorname{lim}} A_i, so that xiAix_i \in A_i and xjAjx_j \in A_j. Because II is a directed set, there exists some kIk \in I such that both iki \leq k and jkj \leq k. Now define the operation limAi×limAilimAi\underset{\rightarrow}{\operatorname{lim}} A_i \times \underset{\rightarrow}{\operatorname{lim}} A_i \to \underset{\rightarrow}{\operatorname{lim}} A_i by using the group operation in AkA_k: [xi][xj]=[fik(xi)fjk(xj)].[x_i][x_j] = [f_{ik}(x_i)f_{jk}(x_j)]. This is well-defined. First, we show this definition is independant of the chosen upper bound kk. Let kk' be any other upper bound for ii and jj. Then, because II is a directed set, there exists some kk'' that is an upper bound of kk and kk'. But now fk,k(fi,k(xi)fj,k(xj))=fk,k(fi,k(xi))fk,k(fj,k(xj))=fi,k(xi)fj,k(xj)=fk,k(fi,k(xi))fk,k(fj,k(xj))=fk,k(fi,k(xi)fj,k(xj)),\begin{align*} f_{k,k''}(f_{i,k}(x_i)f_{j,k}(x_j)) &= f_{k,k''}(f_{i,k}(x_i))f_{k,k''}(f_{j,k}(x_j)) \\ &= f_{i,k''}(x_i)f_{j,k''}(x_j) \\ &= f_{k',k''}(f_{i,k'}(x_i))f_{k',k''}(f_{j,k'}(x_j)) \\ &= f_{k',k''}(f_{i,k'}(x_i)f_{j,k'}(x_j)), \end{align*} whence [fi,k(xi)fj,k(xj)]=[fi,k(xi)fj,k(xj)][f_{i,k}(x_i)f_{j,k}(x_j)] = [f_{i,k'}(x_i)f_{j,k'}(x_j)] in limAi\underset{\rightarrow}{\operatorname{lim}} A_i. Second, we show the definition is independant of the representants of the equivalence classes. Suppose [xi1]=[xi2][x_{i_1}] = [x_{i_2}] and [xj1]=[xj2][x_{j_1}] = [x_{j_2}]. By definition, this means there are ,mI\ell, m \in I such that \ell is an upper bound for i1i_1 and i2i_2, mm is an upper bound for j1j_1 and j2j_2, and we have fi1,(xi1)=fi2,(xi2)f_{i_1,\ell}(x_{i_1}) = f_{i_2,\ell}(x_{i_2}) and fj1,m(xj1)=fj2,m(xj2)f_{j_1,m}(x_{j_1}) = f_{j_2,m}(x_{j_2}). Now choose any kIk \in I which is an upper bound for \ell and mm. In particular, kk is an upper bound for i1i_1, i2i_2, j1j_1 and j2j_2. By the first part, the product [xi1][xj1][x_{i_1}][x_{j_1}] does not depend on kk, and neither does the product [xi2][xj2][x_{i_2}][x_{j_2}]. But we have fi1,k(xi1)fj1,k(xj1)=f,k(fi1,(xi1))fm,k(fj1,m(xj1))=f,k(fi2,(xi2))fm,k(fj2,m(xj2))=fi2,k(xi2)fj2,k(xj2),\begin{align*} f_{i_1,k}(x_{i_1})f_{j_1,k}(x_{j_1}) &= f_{\ell,k}(f_{i_1,\ell}(x_{i_1}))f_{m,k}(f_{j_1,m}(x_{j_1})) \\ &= f_{\ell,k}(f_{i_2,\ell}(x_{i_2}))f_{m,k}(f_{j_2,m}(x_{j_2})) \\ &= f_{i_2,k}(x_{i_2})f_{j_2,k}(x_{j_2}), \end{align*} hence the product is well-defined, as claimed.

  • In the category of rings, addition and multiplication may be done “representative-wise”, in the same way as what we did with group, simply by sending the two representatives to a common ring AkA_k using the fact that II is a directed set. This gives a well-defined multiplication and addition, and they respect the axioms of a ring since they are defined in terms of elements in a ring.

  • Etc.

The direct limit always come with its canonical arrows, or canonical morphisms, which are the projections ϕj:AjlimAi\phi_j : A_j \to \underset{\rightarrow}{\operatorname{lim}} A_i sending an element to its equivalence class. In fact, the algebraic operations are defined on limAi\underset{\rightarrow}{\operatorname{lim}} A_i to be the “free-est”, or less constrained, operations such that the canonical arrows are morphisms. Also, for any jkj \leq k, we have the commutativity condition ϕkfjk=ϕj\phi_k \circ f_{jk} = \phi_j. One can show that limAi\underset{\rightarrow}{\operatorname{lim}} A_i together with its canonical morphisms is in fact the colimit in C\operatorname{C} under the diagram of shape II given by the data of a directed system (Ai,fij)(A_i, f_{ij}) as above. This means that for any object XX in C\operatorname{C}, and any collection of morphisms {ψi:AiX}iI\{\psi_i : A_i \to X\}_{i \in I} such that ψkfjk=ψj\psi_k \circ f_{jk} = \psi_j when jkj \leq k, there exists a unique morphism α:limAiX\alpha : \underset{\rightarrow}{\operatorname{lim}} A_i \to X such that ψi=αϕi\psi_i = \alpha \circ \phi_i for every iIi \in I. Also, the fact the direct limit is a colimit shows that it is unique up to a unique canonical isomorphism.

By its construction, the direct limit is in some sense the “smallest upper bound”, the idea being that it’s the smallest object (i.e. the one having the least amount of internal constraints) which approximates from above all of the AiA_i’s. Category theory teaches us that we can learn about an object by studying its external relations.

Now we get to the main point. If (Ai,fij)(A_i, f_{ij}) is a direct system over II, and if JIJ \subseteq I is cofinal in II, then we can “restrict” the direct system over II to a direct system over JJ by considering only objects AjA_j and arrows fjkf_{jk} with j,kJj,k \in J. Now the fact we’re trying to prove can be expressed as:

Let (Ai,fij)(A_i, f_{ij}) be a direct system over II, and let JIJ \subseteq I be cofinal in II. Then limIAi=limJAj,\underset{\rightarrow}{\operatorname{lim}}_I A_i = \underset{\rightarrow}{\operatorname{lim}}_J A_j, where the equality symbol is to be interpreted, as usual, as “isomorphic up to a unique isomorphism which makes a certain diagram commute”, the diagram being the expected one with canonical morphisms AilimAiA_i \to \underset{\rightarrow}{\operatorname{lim}} A_i.

Let’s prove this. We will construct a function θ\theta between the two direct limits and show it is a bijection. Take any element [xj][x_j] in limJAj\underset{\rightarrow}{\operatorname{lim}}_J A_j. Then ϕj(xj)\phi_{j}(x_j) is an element of limIAi\underset{\rightarrow}{\operatorname{lim}}_I A_i. This is what we define θ\theta to be: θ([xj])=ϕj(xj).\theta([x_j]) = \phi_j(x_j). This is a well-defined function. Indeed, suppose [xj1]=[xj2][x_{j_1}] = [x_{j_2}]. Then there exists some kJk \in J which is an upper bound of both j1j_1 and j2j_2, such that fj1,k(xj1)=fj2,k(xj2)f_{j_1,k}(x_{j_1}) = f_{j_2,k}(x_{j_2}). Now, the commutativity condition of the canonical morphisms tells us that ϕj1(xj1)=ϕk(fj1,k(xj1))=ϕk(fj2,k(xj2))=ϕj2(xj2),\phi_{j_1}(x_{j_1}) = \phi_k(f_{j_1,k}(x_{j_1})) = \phi_k(f_{j_2,k}(x_{j_2})) = \phi_{j_2}(x_{j_2}), so θ\theta is well-defined as claimed. Moreover, if the objects are groups, rings, anything with algebraic structure, then we see that θ\theta respects this structure, since it’s defined in terms of the canonical morphisms. Now suppose θ([xj1])=θ([xj2])\theta([x_{j_1}]) = \theta([x_{j_2}]). Then ϕj1(xj1)=ϕj2(xj2)\phi_{j_1}(x_{j_1}) = \phi_{j_2}(x_{j_2}) in limIAi\underset{\rightarrow}{\operatorname{lim}}_I A_i, so there exists kIk \in I some upper bound of both j1j_1 and j2j_2 such that fj1,k(xj1)=fj2,k(xj2)f_{j_1,k}(x_{j_1}) = f_{j_2,k}(x_{j_2}). Because JJ is cofinal in II, we can actually suppose kJk \in J. Then this implies [xj1]=[xj2][x_{j_1}] = [x_{j_2}] in the direct limit over JJ, so θ\theta is injective. To show it is surjective, pick any element [xi][x_i] in limIAi\underset{\rightarrow}{\operatorname{lim}}_I A_i. Again, because JJ is cofinal in II, there exists some jJj \in J with iji \leq j. Of course, [xi]=[fij(xi)][x_i] = [f_{ij}(x_i)], so θ([fij(xi)])=[xi]\theta([f_{ij}(x_i)]) = [x_i] and θ\theta is surjective.