Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: learning: questions

Topic: Hom-functor preserves limits proof


view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 09:40):

After understanding the definition of [[preserved limit]] better, I have a question about the current nlab article on [[hom-functor preserves limits]].

The proposition that the article proves is the following:

Let X ⁣:JCX_\bullet \colon \mathcal{J} \to \mathcal{C} be a diagram. Then, if the limit limiXi\lim_i X_i exists in C\mathcal{C} then for all YCY \in \mathcal{C} there is a natural isomorphism HomC(Y,limiXi)limi(HomC(Y,Xi))\text{Hom}_\mathcal{C}(Y, \lim_i X_i) \cong \lim_i (\text{Hom}_\mathcal{C}(Y, X_i)), where on the right we have the limit over the diagram of hom-sets given by HomC(Y,)X ⁣:JXCHomC(Y,)Set\text{Hom}_\mathcal{C}(Y, -) \circ X_\bullet \colon \mathcal{J} \overset{X}{\longrightarrow} \mathcal{C} \overset{\text{Hom}_\mathcal{C}(Y, -)}{\longrightarrow} \mathbf{Set}.

However, I'm not entirely convinced this is the result we want to show. The page on preservation of limits emphasises that, for a functor FF to preserve a limit, it is not enough to show that F(limiXi)limiF(Xi)F(\lim_i X_i) \cong \lim_i F(X_i). Instead, the point is to preserve the entire universal cone. Another way to say this is that there is a canonical comparision map F(limiXi)limiF(Xi)F(\lim_i X_i) \to \lim_i F(X_i) obtained by applying FF to the legs of the limit cone; to preserve the limit, this comparison map must be an isomorphism.

Taking F=HomC(Y,)F = \text{Hom}_\mathcal{C}(Y, -), shouldn't the proof involve explicitly applying FF to the legs of the limit cone, and showing that the resulting cone is a limit cone in Set\mathbf{Set}? Otherwise it seems like we're proving a weaker version of limit preservation than we actually want.

Here's an example of the phenomenon I mean. In Set\mathbf{Set}, we have that N×NN\mathbb{N} \times \mathbb{N} \cong \mathbb{N} as sets, by a standard "snaking" argument. Consider the usual limit cone diagram for N×N\mathbb{N} \times \mathbb{N} over two copies of N\mathbb{N} with the usual cartesian product projections. Then the constant functor ΔN ⁣:SetSet\Delta_\mathbb{N} \colon \mathbf{Set} \to \mathbf{Set} sending every set to N\mathbb{N} (and every morphism to the identity) preserves this limit at the object level, since ΔN(N×N)=NN×NΔN(N)×ΔN(N)\Delta_\mathbb{N}(\mathbb{N} \times \mathbb{N}) = \mathbb{N} \cong \mathbb{N} \times \mathbb{N} \cong \Delta_\mathbb{N}(\mathbb{N}) \times \Delta_\mathbb{N}(\mathbb{N}). However, the limit cone with projections π1,π2 ⁣:N×NN\pi_1, \pi_2 \colon \mathbb{N} \times \mathbb{N} \to \mathbb{N} gets mapped to an "identity" cone idN,idN ⁣:NN\text{id}_\mathbb{N}, \text{id}_\mathbb{N} \colon \mathbb{N} \to \mathbb{N}. And the latter is not a limit cone in Set\mathbf{Set}!

So in general, merely having an isomorphism F(limiXi)limiF(Xi)F(\lim_i X_i) \cong \lim_i F(X_i) is not enough to show FF preserves limits. Does the proof at the nlab page need to be updated, then?

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 09:50):

For reference, this would be my proposed proof:

Let X ⁣:JCX_\bullet \colon \mathcal{J} \to \mathcal{C} be a diagram with a limit (L,λi)(L, \lambda_i), with λi ⁣:LXi\lambda_i \colon L \to X_i the legs of the limit cone. Then for all YCY \in \mathcal{C}, the functor HomC(Y,)\text{Hom}_\mathcal{C}(Y, -) preserves this limit.

Proof - we need to show that (HomC(Y,L),HomC(Y,λi))(\text{Hom}_\mathcal{C}(Y, L), \text{Hom}_\mathcal{C}(Y, \lambda_i)) is a limit cone in Set\mathbf{Set}. So, take a set SS, and a family of maps si ⁣:SC(Y,Xi)s_i \colon S \to \mathcal{C}(Y, X_i) that form a cone. This means that, for each sSs \in S, we have a family of morphisms si(s) ⁣:YXis_i(s) \colon Y \to X_i that form a cone in C\mathcal{C}, by inspecting the definition of the diagram maps in Set\mathbf{Set}. By the universal property of the limit, there exists a unique α(s) ⁣:YL\alpha(s) \colon Y \to L such that si(s)=λiα(s)s_i(s) = \lambda_i \circ \alpha(s) for all iJi \in \mathcal{J}. But this is equivalent to saying that there is a unique α ⁣:SHomC(Y,L)\alpha \colon S \to \text{Hom}_\mathcal{C}(Y, L) such that si=HomC(Y,λi)αs_i = \text{Hom}_\mathcal{C}(Y, \lambda_i) \circ \alpha for all iJi \in \mathcal{J}. Thus, HomC(Y,)\text{Hom}_\mathcal{C}(Y, -) preserves this limit.

This is just my first attempt - if anyone has suggestions for how to make the proof more efficient, I'd be very open to hearing them!

view this post on Zulip David Wärn (Feb 09 2026 at 09:53):

What's missing from the claim on the nLab is simply the claim that the map C(Y,limiXi)limiC(Y,Xi)C(Y,\mathrm{lim}_i X_i) \to \mathrm{lim}_i C(Y,X_i) is the "expected one". This is a common "anti-pattern" when people state results like this: instead of saying that a certain easy-to-define map is invertible, they write "there exists a natural iso ...". You see this for example when people state the Yoneda lemma.

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 09:54):

Right, though I'm not actually sure the proof I provided explicitly shows that there is a natural iso, since I work with a fixed YY throughout. I think the goal of showing that HomC(Y,)\text{Hom}_\mathcal{C}(Y, -) preserves limits is separate to the goal of showing that there is a natural iso HomC(Y,limiXi)limiHomC(Y,Xi)\text{Hom}_\mathcal{C}(Y, lim_i X_i) \cong lim_i \text{Hom}_\mathcal{C}(Y, X_i). Neither immediately implies the other, I believe?

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:02):

@Ruby Khondaker (she/her) neither of your statements actually imply the other, but the “correct” general statement is indeed that the obvious map Hom(,limiF(i))limiHom(,F(i)) \mathrm{Hom}(-, \mathrm{lim}_i F(i)) \rightarrow \mathrm{lim}_i \mathrm{Hom}(-, F(i)) is an iso

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:04):

Hm, here's another idea I have for turning the nlab proof into a valid one:

We've shown there's a natural iso HomC(Y,limiXi)limiHomC(Y,Xi)\text{Hom}_\mathcal{C}(Y, \lim_i X_i) \cong \lim_i \text{Hom}_\mathcal{C}(Y, X_i). By yoneda, this is classified by an element of limiHomC(limjXj,Xi)\lim_i \text{Hom}_\mathcal{C}(\lim_j X_j, X_i), and I think by inspecting the iso used in the proof, this element is just the legs of the limit cone λi ⁣:limjXjXi\lambda_i \colon \lim_j X_j \to X_i. Then, since natural isomorphisms are pointwise isomorphisms, we have that the map HomC(Y,limiXi)limiHomC(Y,Xi)\text{Hom}_\mathcal{C}(Y, \lim_i X_i) \to \lim_i \text{Hom}_\mathcal{C}(Y, X_i) given by postcomposition with the λi\lambda_i is an iso. But I think that's precisely the "canonical map" we wish to show is an isomorphism?

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:05):

more generally, you can take this as the definition of a limit: a functor F F has a limit if there is an object limiF(i) \mathrm{lim}_i F(i) equipped with an isomorphism Hom(,limiF(i))limiHom(,F(i)) \mathrm{Hom}(-, \mathrm{lim}_i F(i)) \simeq \mathrm{lim}_i \mathrm{Hom}(-, F(i))

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:05):

Right, that's defining limits representably by how they work in Set, if I understand correctly?

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:05):

yes

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:06):

don't think too hard about "fixing" existing proofs that actually do not achieve what they claim to do: it's often easier to just directly prove the correct statement

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:07):

In that case, which of the two proofs I offered do you think would suffice? The first one considering arbitrary sets S and showing we do indeed get a limit cone?

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:09):

Ruby Khondaker (she/her) said:

The first one considering arbitrary sets S and showing we do indeed get a limit cone?

yes, that's the most direct proof falling out of the definition of limit. You're missing the additional naturality proof, but it should go along the same line

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:10):

although i would probably factorize the proof by a general result that computes limits in Set \mathbf{Set}

view this post on Zulip Josselin Poiret (Feb 09 2026 at 10:13):

a limit in Set \mathbf{Set} of a diagram F:ISet F : I → \mathbf{Set} is the set of "compatible families", ie. families α:(i:I0)F(i) α : (i : I_0) → F(i) such that F(f)(α(i))=α(j) F(f)(α(i)) = α(j) for any f:ij f : i → j

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:18):

Could you maybe spell out in more detail how your proposed proof would go?

view this post on Zulip David Wärn (Feb 09 2026 at 10:18):

I would also distinguish between two statements about the obvious map Hom(Y,limiXi)limiHom(Y,Xi)\mathrm{Hom}(Y,\mathrm{lim}_i X_i) \to \mathrm{lim}_i \mathrm{Hom}(Y,X_i). One statement is that this is an isomorphism of sets. Another statement is that it is natural in YY, XX, and anything else you can think of. These statements are independent of each other and the proof of one does not really involve the other. Together they give you the desired natural isomorphism

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:32):

Actually, how are we even defining the right-hand side? Limits are only defined up to isomorphism after all. Preservation of limits says that “(Hom(Y, lim_i X_i), Hom(Y, lambda_i)” is a limit cone in Set. Could we not just take the right-hand side to be the same as the left-hand side and have these maps all be identities?

Or is the RHS referring to some specific construction of the limit in Set…?

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:45):

image_28AB674D-6B2C-4B27-A265-3ED4B0200DFC_1770633862.jpeg

Ok, Riehl’s book resolved this confusion for me. There is an additional condition you need to check, that the maps we define commute with the projections to the product.

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 10:46):

Honestly, I think I would just prefer to show this result using the bare-bones “limit cone is mapped to limit cone” characterisation, rather than faffing around with natural isomorphisms…

view this post on Zulip David Wärn (Feb 09 2026 at 11:11):

Indeed, the data of an isomorphism ZlimiXiZ \cong \mathrm{lim}_i X_i (where the RHS denotes the apex of some limit cone, it doesn't matter which one) is precisely the data of a limit cone from XX to ZZ.

view this post on Zulip Ruby Khondaker (she/her) (Feb 09 2026 at 11:53):

Ok, I believe I've fixed the nlab proof of this now.

view this post on Zulip Josselin Poiret (Feb 09 2026 at 13:16):

Ruby Khondaker (she/her) said:

Limits are only defined up to isomorphism after all.

Maybe some will find me pedantic, but this is a non-question: limits are not "defined up to isomorphism", there just isn't a notion of "a" limit of a functor, just of what it means to be a limit cone

view this post on Zulip Ralph Sarkis (Feb 09 2026 at 15:07):

This is in contrast with [[subobjects]] which are defined up to isomorphism.

view this post on Zulip Ruby Khondaker (she/her) (Feb 10 2026 at 09:44):

Still, the yoneda-y proofs with manipulations of hom-functors feel cleaner than the manipulations “in components”. There should be a way to keep those kinds of proofs while also proving the true coherent statement of “preserves limits”, surely.

view this post on Zulip Ruby Khondaker (she/her) (Feb 10 2026 at 13:01):

Thinking about it a bit more, I believe you can keep the yoneda-y proof so long as you check that, upon following the identity, you obtain the desired canonical map.

view this post on Zulip Rémy Tuyéras (Feb 11 2026 at 00:44):

@Ruby Khondaker (she/her) The fact that hom-sets preserve limits does not follow from a proof, but rather directly from the definition of limits. See below.

Definition 1. Let F:ICF:I \to \mathcal{C} be a functor and ΔI\Delta_I be the obvious constant functor CCI\mathcal{C} \to \mathcal{C}^I. A limit for a functor FF is a natural transformation ηF:ΔI(L)F\eta_F: \Delta_I(L) \Rightarrow F such that every natural transformation d:ΔI(X)Fd:\Delta_I(X) \Rightarrow F in C\mathcal{C} factorizes uniquely as d=ηFΔI(f)d = \eta_F \circ \Delta_I(f) where f:XLf: X \to L is an arrow in C\mathcal{C}.

Definition 2. Given ηF\eta_F, this is equivalent to requesting that the function C(X,L)CI(ΔI(X),F)\mathcal{C}(X,L) \to \mathcal{C}^I(\Delta_I(X),F) is a bijection.

Remark 1. Now, it is quite straightforward to show that CI(ΔI(X),F)\mathcal{C}^I(\Delta_I(X),F) is exactly the limit limCI(X,F())\mathsf{lim}\,\mathcal{C}^I(X,F(-)) in Set\mathbf{Set} (hint: just describe the natural transformations as families of compatible arrows)