The Unapologetic Mathematician

Mathematics for the interested outsider

Limits in functor categories

Today I want to give a great example of creation of limits that shows how useful it can be. For motivation, take a set X, a monoid M, and consider the set M^X of functions from X to M. Then M^X inherits a monoid structure from that on M. Just define \left[f_1f_2\right](x)=f_1(x)f_2(x) and take the function sending every element to the identity of M as the identity of M^X. We’re going to do the exact same thing in categories, but with having limits instead of a monoid structure.

As a preliminary result we need to note that if we have a set of categories \mathcal{C}_s for s\in S each of which has \mathcal{J}-limits, then the product category \prod\limits_{s\in S}\mathcal{C}_s has \mathcal{J}-limits. Indeed, a functor from \mathcal{J} to the product consists of a list of functors from \mathcal{J} to each category \mathcal{C}_s, and each of these has a limiting cone. These clearly assemble into a limiting cone for the overall functor.

The special case we’re interested here is when all \mathcal{C} are the same category. Then the product category \prod\limits_S\mathcal{C} is equivalent to the functor category \mathcal{C}^S, where we consider S as a discrete category. If \mathcal{C} has \mathcal{J}-limits, then so does \mathcal{C}^S for any set S.

Now, any small category \mathcal{S} has a discrete subcategory |\mathcal{S}|: its set of objects. There is an inclusion functor i:\left|\mathcal{S}\right|\rightarrow\mathcal{S}. This gives rise to a functor \mathcal{C}^i:\mathcal{C}^\mathcal{S}\rightarrow\mathcal{C}^{|\mathcal{S}|}. A functor F:\mathcal{S}\rightarrow\mathcal{C} gets sent to the functor F\circ i:\left|\mathcal{S}\right|\rightarrow\mathcal{C}. I claim that \mathcal{C}^i creates all limits.

Before I prove this, let’s expand a bit to understand what it means. Given a functor F:\mathcal{J}\rightarrow\mathcal{C}^\mathcal{S} and an object S\in\mathcal{S} we can get a functor \left[F(\underline{\hphantom{X}})\right](S):\mathcal{J}\rightarrow\mathcal{C} that takes an object J\in\mathcal{J} and evaluates F(J) at S. This is an |\mathcal{S}|-indexed family of functors to \mathcal{C}, which is a functor to \mathcal{C}^{|\mathcal{S}|}. A limit of this functor consists of a limit for each of the family of functors. The assertion is that if we have such a limit — a \mathcal{J}-limit in \mathcal{C} for each object of \mathcal{S} — then these limits over each object assemble into a functor in \mathcal{C}^\mathcal{S}, which is the limit of our original F.

We have a limiting cone \lambda_{J,S}:L(S)\rightarrow[F(J)](S) for each object S\in\mathcal{S}. What we need is an arrow L(s):L(S_1)\rightarrow L(S_2) for each arrow s:S_1\rightarrow S_2 in \mathcal{S} and a natural transformation L\rightarrow F(J) for each J\in\mathcal{J}. Here’s the diagram we need:
Pointwise Limits Diagram

We consider an arrow j:J_1\rightarrow J_2 in \mathcal{J}. The outer triangle is the limiting cone for the object S_1, and the inner triangle is the limiting cone for the object S_2. The bottom square commutes because F is functorial in \mathcal{S} and \mathcal{J} separately. The two diagonal arrows towards the bottom are the functors F(J_1) and F(J_2) applied to the arrow s. Now for each J we get a composite arrow \left[F(J)\right](s)\circ\lambda_{J,S_1}:L(S_1)\rightarrow\left[F(J)\right](S_2), which is a cone on \left[F(\underline{\hphantom{X}})\right](S_2). Since \lambda_{J,S_2}:L(S_2)\rightarrow\left[F(J)\right](S_2) is a limiting cone on this functor we get a unique arrow L(s):L(S_1)\rightarrow L(S_2).

We now know how L must act on arrows of \mathcal{S}, but we need to know that it’s a functor — that it preserves compositions. To do this, try to see the diagram above as a triangular prism viewed down the end. We get one such prism for each arrow s, and for composable arrows we can stack the prisms end-to-end to get a prism for the composite. The uniqueness from the universal property now tells us that such a prism is unique, so the composition must be preserved.

Finally, for the natural transformations required to make this a cone, notice that the sides of the prism are exactly the naturality squares for a transformation from L to F(J_1) and F(J_2), so the arrows in the cones give us the components of the natural transformations we need. The proof that this is a limiting cone is straightforward, and a good exercise.

The upshot of all this is that if \mathcal{C} has \mathcal{J}-limits, then so does \mathcal{C}^\mathcal{S}. Furthermore, we can evaluate such limits “pointwise”: \left[\varprojlim_\mathcal{J}F\right](S)=\varprojlim_\mathcal{J}(F(S)).

As another exercise, see what needs to be dualized in the above argument (particularly in the diagram) to replace “limits” with “colimits”.

June 23, 2007 Posted by | Category theory | 9 Comments