# The Unapologetic Mathematician

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

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

### Like this:

Posted by John Armstrong | Category theory

## 9 Comments	»

1. wow, your blog is all math. this is very much an interest to you isn’t it? are you a professor? and are you from maryland?

Comment by | June 23, 2007 | Reply

2. I grew up a long time in Maryland and did my undergraduate work at College Park. I completed my Ph.D. at Yale, and yes, I’ll be a professor in the math department at Tulane in the fall. Until then I’m hanging around central Maryland where my parents still live.

Comment by | June 23, 2007 | Reply

3. Hi John,

Under suitable assumptions on your category C (e.g., if C has arbitrary *coproducts* (!)), there’s another way of deriving this result, using the fact that the functor C^S –> C^|S| is monadic, hence preserves and reflects (creates) any limits which happen to exist. (I haven’t checked; have you talked about the Eilenberg-Moore category of algebras somewhere on your blog?) Similarly, if C has arbitrary products, then C^S –> C^|S| is comonadic.

Comment by Todd Trimble | June 24, 2007 | Reply

4. No, I haven’t gone into Eilenberg-Moore, nor monads. In fact, I haven’t quite talked about monoidal categories yet, which would be a precursor (in my mind) to that sort of thing. It’s a good point, though.

Comment by | June 24, 2007 | Reply

5. [...] the proof of this is so similar to how we established limits in categories of functors, I’ll just refer you back to that and suggest this as practice with those [...]

Pingback by | June 24, 2007 | Reply

6. Lots of new non-parsing formulas in this one

Comment by Avery | January 8, 2008 | Reply

7. If I is a small category ans it has an initial object, i, how can I prove that any functor F:I->C has limit and the limit is F(i) ?

Comment by Lucia | February 2, 2009 | Reply

8. Lucia, I am not in the business of doing your homework.

Comment by | February 2, 2009 | Reply

9. Thank you you were very helpful:)

Comment by Lucia | February 2, 2009 | Reply

« Previous | Next »

## About this weblog

This is mainly an expository blath, with occasional high-level excursions, humorous observations, rants, and musings. The main-line exposition should be accessible to the “Generally Interested Lay Audience”, as long as you trace the links back towards the basics. Check the sidebar for specific topics (under “Categories”).

I’m in the process of tweaking some aspects of the site to make it easier to refer back to older topics, so try to make the best of it for now.
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 79, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.935133159160614, "perplexity_flag": "head"}