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: Exponentiating two morphisms


view this post on Zulip Nick Smith (Jul 23 2021 at 08:13):

I have a question related to my quest to understand closed categories:

If there is a monoidal structure on a category, you can use this to "multiply" two morphisms. For example, if I have AfCA \xrightarrow f C and BgDB \xrightarrow g D I can obtain A×Bf×gC×DA \times B \xrightarrow {f \times g} C \times D. The morphism f×gf \times g is guaranteed to exist by the bifunctor ×:C×CC\times: C \times C \to C.

But there's also a bifunctor corresponding to the property of being monoidal closed. It's called the "internal hom functor", and has the form [,]:Cop×CC[-,-] : C^{op} \times C \to C. I want to understand how this acts on pairs of morphisms, akin to above, but it's melting my brain. What does it mean to "raise one morphism to the power of another"? Are there any examples of how this works for simple categories? For Set perhaps? And is it actually a useful concept, or is it just a curiosity?

view this post on Zulip Matteo Capucci (he/him) (Jul 23 2021 at 09:46):

It is analogous to the hom-functor, so it acts by precomposition on the contravariant slot and by postcomposition on the covariant slot

view this post on Zulip Matteo Capucci (he/him) (Jul 23 2021 at 09:47):

i.e. [f,g]:[C,B][A,D][f, g] : [C, B] \to [A,D] sends a map h:CBh : C \to B to the map AfChBgDA \overset{f}\to C \overset{h}\to B \overset{g}\to D

view this post on Zulip Fawzi Hreiki (Jul 23 2021 at 10:34):

Just a note: the notation (f,g)(f, g) usually refers to the pairing of two morphisms with the same domain. What you're describing is usually denoted f×gf \times g.

view this post on Zulip John Baez (Jul 23 2021 at 15:14):

Nick Smith:

And is it actually a useful concept, or is it just a curiosity?

I don't use it much myself, but it's theoretically very important because it shows the functor [,]:Cop×CC[-,-]: C^{\mathrm op} \times C \to C knows how morphisms are composed.

view this post on Zulip John Baez (Jul 23 2021 at 15:15):

The formula Matteo gave illustrates this.

view this post on Zulip John Baez (Jul 23 2021 at 15:17):

But be a bit careful with this formula! It makes perfect sense when C=SetC = \mathrm{Set}, because it seems to be treating [c,b][c,b] as a set of morphisms from cc to bb, with hh as an element of this set. (Matteo used upper-case letters for objects of CC but I'll use lower-case ones so I can say cCc \in C without making the universe collapse.)

view this post on Zulip John Baez (Jul 23 2021 at 15:21):

But the concept of cartesian closed category is the most exciting precisely when the objects are not sets.

view this post on Zulip John Baez (Jul 23 2021 at 15:22):

Nonetheless we can still define an 'element' of an object of CC, and any morphism h:cbh: c \to b gives an 'element' of [c,b][c,b]. Do you know how this works?

view this post on Zulip John Baez (Jul 23 2021 at 15:23):

Using this, Matteo's remark makes sense for arbitrary cartesian closed categories. Thus, the internal hom functor of a cartesian closed category always keeps track of how morphisms are composed. But it does more, too.

view this post on Zulip Nick Smith (Jul 24 2021 at 01:58):

Matteo Capucci (he/him) said:

i.e. [f,g]:[C,B][A,D][f, g] : [C, B] \to [A,D] sends a map h:CBh : C \to B to the map AfChBgDA \overset{f}\to C \overset{h}\to B \overset{g}\to D

Wow, this is exactly the intuitive explanation I was looking for. That's so simple! I'm surprised all the resources on cartesian closed categories begin by waffling on about evaluation maps and adjunctions. None of the ones I've seen even bother to talk about this simple bifunctor. I think this example makes clear why closed categories are interesting.

So the composite 1my choice[C,B][f,g][A,D]1 \xrightarrow {\text{my choice}} [C, B] \xrightarrow {[f,g]} [A, D] allows you to "select" how you'd like to connect f to g (at least in Set\bold{Set}), and tells you what the end result is. It's like playing with lego!

view this post on Zulip Nick Smith (Jul 24 2021 at 02:32):

John Baez said:

the concept of cartesian closed category is the most exciting precisely when the objects are not sets.

Yes, it seems the monoidal closed structure of Poly\bold{Poly} is more interesting than Set\bold{Set}! I understand the internal hom functor for \otimes better than the one for ×\times (Poly is closed in two ways). It firstly tells you how a morphism hh constructs a composite f;h;gf ; h ; g (as above), but it also seems to tell you which "wire" (\mapsto) between directions in hh induced each wire in f;h;gf ; h ; g. It's an explanation: "here is why I'm connected the way I am". Of course, most people here probably aren't familar with Poly\bold{Poly}...

Nonetheless we can still define an 'element' of an object of CC, and any morphism h:cbh: c \to b gives an 'element' of [c,b][c,b]. Do you know how this works?

I suppose I don't really know how h:cbh: c \to b gets encoded as an "element" of [c,b][c, b] when we're talking about arbitrary categories, but I think I know how to point to these elements: you can use a map from the unit of the monoidal structure? For ×\times, this is the terminal object 11 (thus 1el[c,b]1 \xrightarrow {el} [c,b]), and in the case of \otimes in Poly\bold{Poly}, this is the monomial yy (thus yel[c,b]y \xrightarrow {el} [c,b]). But the objects may have additional properties that aren't captured by these maps alone, right?

view this post on Zulip John Baez (Jul 24 2021 at 14:56):

Nick Smith said:

Matteo Capucci (he/him) said:

i.e. [f,g]:[c,b][a,d][f, g] : [c, b] \to [a,d] sends a map h:cbh : c \to b to the map afchbgda \overset{f}\to c \overset{h}\to b \overset{g}\to d

Wow, this is exactly the intuitive explanation I was looking for. That's so simple! I'm surprised all the resources on cartesian closed categories begin by waffling on about evaluation maps and adjunctions. None of the ones I've seen even bother to talk about this simple bifunctor.

It's not "waffling", since this fact follows from the more terse definition: a cartesian closed category is a cartesian category where each functor a×a \times - has a right adjoint.

view this post on Zulip John Baez (Jul 24 2021 at 14:59):

Also, note that this fact is not sufficient to define the bifunctor [,]:Cop×CC[-,-]: C^{\rm op} \times C \to C, except in cases like Set\mathrm{Set} where the object [c,b][c,b] is a mere set, and [f,g][f,g] is a mere function.

view this post on Zulip John Baez (Jul 24 2021 at 15:02):

Here's where you should have been told this formula: when someone told you about the functor

hom:Cop×CSet \mathrm{hom} : C^{\rm op} \times C \to \mathrm{Set}

which any category CC has. You need to know this functor to know what it means when people say

LL and RR are adjoint functors if there's a natural isomorphism hom(La,b)hom(a,Rb)\mathrm{hom}(La,b) \cong \mathrm{hom}(a,Rb)

After all, you can't know what it means for this isomorphism to be natural until you know how hom\mathrm{hom} is a functor - including what it does to morphisms!

view this post on Zulip Nick Smith (Jul 25 2021 at 00:38):

John Baez said:

[...] the functor

hom:Cop×CSet \mathrm{hom} : C^{\rm op} \times C \to \mathrm{Set}

which any category CC has. You need to know this functor to know what it means when people say

LL and RR are adjoint functors if there's a natural isomorphism hom(La,b)hom(a,Rb)\mathrm{hom}(La,b) \cong \mathrm{hom}(a,Rb)

After all, you can't know what it means for this isomorphism to be natural until you know how hom\mathrm{hom} is a functor - including what it does to morphisms!

When I first encountered adjunctions (a few months ago), they were explained in terms of "an isomorphism between sets", so the whole functor thing was swept under a rug.

view this post on Zulip Nick Smith (Jul 25 2021 at 00:44):

Anyway, thank you for the clarifications. I'll continue studying these things. I really do appreciate being able to get help from experts. This Zulip is magical!

view this post on Zulip John Baez (Jul 25 2021 at 15:42):

Nick Smith said:

John Baez said:

[...] the functor

hom:Cop×CSet \mathrm{hom} : C^{\rm op} \times C \to \mathrm{Set}

which any category CC has. You need to know this functor to know what it means when people say

LL and RR are adjoint functors if there's a natural isomorphism hom(La,b)hom(a,Rb)\mathrm{hom}(La,b) \cong \mathrm{hom}(a,Rb)

After all, you can't know what it means for this isomorphism to be natural until you know how hom\mathrm{hom} is a functor - including what it does to morphisms!

When I first encountered adjunctions (a few months ago), they were explained in terms of "an isomorphism between sets", so the whole functor thing was swept under a rug.

It's good to think about why merely having an isomorphism of sets

hom(La,b)hom(a,Rb)\mathrm{hom}(La,b) \cong \mathrm{hom}(a,Rb)

is not enough for LL and RR to be adjoint functors. It really needs to be a natural isomorphism. Without naturality a lot of things go wrong when you try to actually use adjoint functors.

But to even state the naturality condition we need to explain how hom(L,)\mathrm{hom}(L-,-) and hom(,R)\mathrm{hom}(-,R-) are functors. And for that we need to explain how hom(,)\mathrm{hom}(-,-) is a functor. So we need to understand what it does to morphisms.

view this post on Zulip John Baez (Jul 25 2021 at 15:46):

A while back Jade and I were trying to construct the right adjoint to a functor LL, and we found a functor RR and an isomorphism of sets

hom(La,b)hom(a,Rb)\mathrm{hom}(La,b) \cong \mathrm{hom}(a,Rb)

So we thought we had found the right adjoint! But it turned out this isomorphism wasn't natural! So we had found the wrong adjoint.