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: M x X viewed as an (M -> M)-set


view this post on Zulip Harrison Grodin (Apr 13 2026 at 17:36):

Let (M,1,)(M,1,\cdot) be a monoid, and let E=(MM,id,)E = (M^M, \text{id}, \circ) be the monoid of endomorphisms on the carrier MM (not necessarily monoid homomorphisms). I'm interested in the following EE-set:

G:SetE-SetG : \mathbf{Set} \to E\text{-}\mathbf{Set}
U(GX)=M×XU(GX) = M \times X
e(m,x)=(e(m),x)e \cdot (m, x) = (e(m), x)

Notice, GG behaves kind of like the free MM-set functor F:SetM-SetF : \mathbf{Set} \to M\text{-}\mathbf{Set}, but it extends the action to all endomorphisms ee, not just those of the form m()m' \cdot (-) (which, of course, forms forms a monoid homomorphism φ:(M,1,)(MM,id,)\varphi : (M,1,\cdot) \to (M^M, \text{id}, \circ) (defined by φ(m)=m()\varphi(m) = m \cdot (-)).

Using this φ\varphi, we get a functor φ:E-SetM-Set\varphi^* : E\text{-}\mathbf{Set} \to M\text{-}\mathbf{Set}. If we consider GG as a functor mapping into the [[full image]] of φ\varphi^*, then U:FullImage(φ)SetU : \text{FullImage}(\varphi^*) \to \mathbf{Set} is the right adjoint to G:SetFullImage(φ)G : \mathbf{Set} \to \text{FullImage}(\varphi^*)! (The induced monad is the free MM-set monad.)

My question is as follows: is this GG "well-known", or easy to construct out of FF (or the free EE-set) somehow? I know there's lots of structure available (e.g., φ!\varphi_! and φ\varphi_*), but it's not clear to me how to assemble this into GG.

view this post on Zulip Harrison Grodin (Apr 13 2026 at 17:37):

(I came up with this construction "manually", so maybe there's something cleaner! Really, all I want is a way to decompose the monad M×():SetSetM \times (-) : \mathbf{Set} \to \mathbf{Set} in such a way that the left adjoint lands in a category where the objects come equipped with (MM)(M \to M)-actions.)

view this post on Zulip Harrison Grodin (Apr 13 2026 at 17:44):

(Another remark: I proved that this works given

view this post on Zulip John Baez (Apr 13 2026 at 17:59):

Btw, a minor notational thing: mathematicians use +, 0 for commutative monoids and \cdot, 1 for not-necessarily-commutative monoids, so seeing all these +'s and 0's gets the wrong part of my brain to turn on.

view this post on Zulip Harrison Grodin (Apr 13 2026 at 18:01):

(Sorry, good point - edited! The construction I'm presenting works for any monoid on MM; although, I'm mainly interested in commutative monoids MM anyway, so if there's some way to answer my question that uses commutativity somehow, I'd be perfectly happy.)

view this post on Zulip John Baez (Apr 13 2026 at 18:03):

So let's see if I understand this. You're taking a monoid MM and a set XX and getting MMM^M (by which you mean the monoid of endomorphisms of MM, not the monoid of all functions from MM to MM) to act on M×XM \times X in the obvious way. And you're wanting a slick way to show that there's a functor from Set\mathsf{Set} to MMM^M-Set\textsf{Set} that sends any set XX to M×XM \times X, made into an MMM^M-set this way.

I'm just trying to restate your question in a more informal way.

view this post on Zulip Harrison Grodin (Apr 13 2026 at 18:04):

Yes, exactly! (And, I'd like that functor to have a right adjoint.)

view this post on Zulip Harrison Grodin (Apr 13 2026 at 18:05):

Oops, race condition - I do care about all functions MM to MM (not just monoid homomorphisms)! (Although if restricting to monoid homomorphisms helps somehow, that would be interesting to know.)

view this post on Zulip Harrison Grodin (Apr 13 2026 at 18:08):

(For a concrete example, let let (M,1,)=(N,0,+)(M,1,\cdot) = (\mathbb{N},0,+); I'm interested in applying e=(nnlogn)e = (n \mapsto \lceil n \log n \rceil).)

view this post on Zulip John Baez (Apr 13 2026 at 18:10):

Okay, all functions. In that case you're really just using the fact that MMM^M is a monoid that acts on MM. So we might change your question to this more general one where we've got a monoid AA that acts on a set SS.

I've got a monoid AA that acts on a set SS. Then for any set XX, AA acts on S×XS \times X in the obvious way. Can we show that there's a functor from Set\mathsf{Set} to AA-Set\textsf{Set} that sends any set XX to S×XS \times X, made into an AA-set in this way, and does this functor have a right adjoint?

view this post on Zulip John Baez (Apr 13 2026 at 18:11):

This is more general so a priori less likely to be true, but I don't see how taking A=MMA = M^M, S=MS = M helps, so I'd be more inclined to think about this more general version.

view this post on Zulip Harrison Grodin (Apr 13 2026 at 18:20):

Yes, this is a great framing, thanks. Although, I'm willing to land in a category with AA-sets as objects but possibly more restrictive homomorphisms (this [[full image]] idea).

Given just the action, I can define the functor SetA-Set\mathbf{Set} \to A\text{-}\mathbf{Set}.

To define a right adjoint, my idea was to restrict the functor to SetFullImage(φ)\mathbf{Set} \to \text{FullImage}(\varphi^*) (the objects are AA-sets but the morphisms are morphisms of SS-sets), where φ\varphi is a monoid homomorphism from SS (which now needs a monoid structure) to AA.

Then, I'm able to define a right adjoint when I also assume that φ(s)1=s\varphi(s) \cdot 1 = s (which, admittedly, feels like it comes out of nowhere).

view this post on Zulip John Baez (Apr 13 2026 at 18:24):

This FullImage\text{FullImage} thing feels wrong to me; I have to go to work now, and let someone else pick up the baton now and carry it further, but given the functor from Set\mathsf{Set} to AA-Set\mathsf{Set} that we're talking about, if it has a right adjoint it should be fairly simple to describe this right adjoint directly and check that it's a right adjoint straight from the definition of "adjoint". If that works, there are also people here who might be able to solve the problem in a slicker way.

view this post on Zulip Harrison Grodin (Apr 13 2026 at 18:55):

Sounds good, thanks for the advice! I'd be happy to avoid the full image as well, although so far that's the only solution that I've found that gives me a right adjoint inducing the S×()S \times (-) monad*.

*I do need to assume a monoid structure on SS for this to even be a monad...

view this post on Zulip David Egolf (he/him) (Apr 13 2026 at 19:29):

I'm reminded of this result, which might be relevant:
image.png

This is from "Monoid Properties as Invariants of Toposes of Monoid Actions" by Jens Hemelaer and Morgan Rogers.

view this post on Zulip John Baez (Apr 13 2026 at 19:44):

Yes, that could imply my guess if we specialize by taking NN to be the trivial monoid.

In case it helps Harrison: Psh(M)\mathsf{Psh}(M) is a funky name for the category of MopM^{\text{op}}-sets, where MopM^{\text{op}} is the monoid MM with the reversed multiplication

xopy:=yxx \cdot_{\text{op}} y := y x

An MopM^{\text{op}}-set is also known as a right MM-set. If you don't like this you can say the AA in my comment was secretly MopM^{\text{op}}. (We are now using MM in a different way than in your original question.)

view this post on Zulip John Baez (Apr 13 2026 at 19:46):

So, the key idea is that we get the right adjoint by using HomN\text{Hom}_N. If you don't know what that means, I'm sure @David Egolf (he/him) would be happy to explain. :grinning_face_with_smiling_eyes:

view this post on Zulip Harrison Grodin (Apr 13 2026 at 19:54):

Yes, this sounds quite reasonable... although maybe with N=MMN = M^M and B=MB = M or something? Wondering if I can then horizontally compose the adjunctions, where my GG is FF (free MM-set) followed by ()MM(-) \otimes_M M or something... (pondering on scratch paper now)

view this post on Zulip Harrison Grodin (Apr 13 2026 at 20:07):

Oh, yes, I think this is exactly the right thing!!
image.png

view this post on Zulip Harrison Grodin (Apr 13 2026 at 20:13):

Letting my N=MMN = M^M, I get that

view this post on Zulip Harrison Grodin (Apr 13 2026 at 20:14):

This is fantastic, thanks so much!!! What a great paper (link), thanks @David Egolf (he/him)!

view this post on Zulip Harrison Grodin (Apr 13 2026 at 20:25):

Ohh, although, I suppose it's simpler to do what @John Baez suggests (M1M \triangleq 1, NMMN \triangleq M^M, and BMB \triangleq M), indeed, and the same argument applies. :)

view this post on Zulip Harrison Grodin (Apr 13 2026 at 20:26):

(oh, duh, because M=F1M = F1!)

view this post on Zulip John Baez (Apr 13 2026 at 22:22):

Yes, this is looking good. And this theorem should be fairly easy to prove, or at least convince yourself of, since there are explicit "formulas" for both functors in the adjunction.

view this post on Zulip Harrison Grodin (Apr 13 2026 at 22:28):

Indeed - in retrospect, it feels like it was staring me in the face!

view this post on Zulip Harrison Grodin (Apr 13 2026 at 22:53):

(After equipping a set SS with an AA-action, just define the left adjoint FX=XSFX = X \rtimes S, the copower of XX with SS; and then UA=Hom(S,A)UA = \text{Hom}(S, A), which is a set. And they're obviously adjoint, because this is the definition of copower! :man_facepalming:)

view this post on Zulip John Baez (Apr 13 2026 at 23:00):

Well, at some point you have to check that these functors exist, and that they're adjoint.

view this post on Zulip Morgan Rogers (he/him) (Apr 14 2026 at 06:17):

Thanks for dusting off our paper @David Egolf (he/him) :smile_cat:

view this post on Zulip Harrison Grodin (Apr 14 2026 at 19:59):

Upon further thought, this may not be exactly what I'm looking for... the right adjoint is R(A)=Hom(S,A)={f:SUAa:M,f(ms)=mf(s)}R(A) = \text{Hom}(S, A) = \{ f : S \to UA \mid \forall a : M, f(m \cdot s) = m \cdot f(s) \}, not what I wrote above. This seems rather bad - with L(X)=XSL(X) = X \rtimes S, I get R(L(X))={(f1,f2):SX×Sm:M,f1(ms)=f1(s)f2(ms)=mf2(s)}R(L(X)) = \{ (f_1, f_2) : S \to X \times S \mid \forall m : M, f_1(m \cdot s) = f_1(s) \land f_2(m \cdot s) = m \cdot f_2(s) \}. When S=NS = \mathbb{N} and M=NNM = \mathbb{N}^\mathbb{N}, this R(L(X))R(L(X)) is just XX, since f1(s)=f1(s+0)=f1(0)f_1(s) = f_1(s + 0) = f_1(0) and f2f_2 has to be the identity function. But I wanted R(L(X))=S×XR(L(X)) = S \times X...

view this post on Zulip Harrison Grodin (Apr 14 2026 at 20:02):

Seemingly relatedly, for my application, I do want a map M×RARAM \times RA \to RA that gives me an MM-action for everything in the image of RR. When I chose RR to be UU (using my "full image" idea), this was immediate, but for R(A)=Hom(S,A)R(A) = \text{Hom}(S, A), this isn't the case...

view this post on Zulip Harrison Grodin (Apr 14 2026 at 20:06):

Since the full image idea does work but just feels a bit ad-hoc, maybe I should frame the question differently. The full image category on φ\varphi^* (given a monoid homomorphism φ:MN\varphi : M \to N) is a full subcategory of Psh(N)\mathbf{Psh}(N). Is it possible that the inclusion has a left adjoint LL? If so, then my original adjunction will just be the following composite of adjunctions:
image.png

view this post on Zulip John Baez (Apr 14 2026 at 20:07):

My eyes go blurry when I see a wall of symbols like that; for me at least it's better if you instead, or also, say in words what you're thinking. For example why did you "want" R(L(X) = S ×\times X?

view this post on Zulip Harrison Grodin (Apr 14 2026 at 20:08):

Sorry, right - I was writing the symbols to record my thoughts, but maybe it's not so human-readable. :) Maybe the following message is the better one for reading - I want a map M×RARAM \times RA \to RA for whatever the right adjoint RR is.

view this post on Zulip Harrison Grodin (Apr 14 2026 at 20:10):

With my full image idea, this is immediate, since RARA just gets the carrier of AA (what I've been writing UAUA). But with RA=Hom(S,A)RA = \text{Hom}(S, A), I no longer have this (unless the monoid is commutative to begin with or something, which I certainly don't want to assume).

view this post on Zulip Harrison Grodin (Apr 14 2026 at 20:11):

The full-subcategory idea "smells right" to me for my application - I'm really working in type theory, and it would make lots of sense if my construction was just a reflector/modality applied to the free NN-set...

view this post on Zulip John Baez (Apr 14 2026 at 20:13):

Yesterday I thought I had pierced the veil and figured out what you were trying to do. Now I no longer know what you're trying to do, and I'd probably only understand it if you gave a complete new description, not just corrections like "I used to want this, and now I want this".

Other readers, younger and more focused on what you're doing, may not have my problem!

view this post on Zulip Harrison Grodin (Apr 14 2026 at 21:40):

I also thought what you suggested was the right solution, but realized upon studying this adjunction more that it's not quite what I'm looking for. Let me try to give a fresh description of the problem:

I have two monoids, MM and NN, along with a monoid homomorphism φ:MN\varphi : M \to N. (Typically for me, M=NM = \mathbb{N} with addition and NN is arbitrary functions NN\mathbb{N} \to \mathbb{N} with composition.)

I'm interested in viewing the free MM-set as an NN-set, which I can do since (in my cases of interest) I have an NN-action structure on MM, written :N×MM{\cdot} : N \times M \to M. I'm working in a type theory whose semantics lets me choose a pair of adjoint functors FU:CSetF \dashv U : \mathcal{C} \to \mathbf{Set}, and I want it to be the case that objects of C\mathcal{C} come equipped with an NN-action, viewable through UU as maps N×UAUAN \times UA \to UA for all A:CA : \mathcal{C}.

Because of this last condition (which I was so used to when I posed my earlier question that I didn't even think to mention it, sorry!), it seems like I should choose my category C\mathcal{C} to have objects being NN-sets and let UU genuinely extract the carrier of an NN-set.

If I let C\mathcal{C} be the category of NN-sets, though, the left adjoint to UU will be the free NN-set, but I only care about the free MM-set! And for type theory-esque reasons, I can only pick a single adjunction. So, my idea is to let C\mathcal{C} have objects be NN-sets, but have a morphism from ABA \to B be a morphism of MM-sets from φ(A)φ(B)\varphi^*(A) \to \varphi^*(B) (this is the [[full image]] category of φ\varphi^*).

With this in mind, I'm set. The free MM-set functor SetC\mathbf{Set} \to \mathcal{C} is genuinely left adjoint to UU: since the maps of C\mathcal{C} only preserve MM-set structure and thus the "free-ness" is successfully only with respect to the MM-set structure, the notion of free is what I want, M×XM \times X. To prove this, I only need the mildly odd condition connecting the monoid homomorphism φ\varphi and the action \cdot that φ(m)1=m\varphi(m) \cdot 1 = m.

The question is, though, whether this can be recovered out of more elementary parts. Set\mathbf{Set}, Psh(M)\mathbf{Psh}(M), and Psh(N)\mathbf{Psh}(N) all have tons of structure: there are

view this post on Zulip Harrison Grodin (Apr 14 2026 at 21:46):

My best guess (based on domain-specific intuition) for what might happen is that the inclusion functor ι\iota from the full image category might have a left adjoint LL:

Harrison Grodin said:

Is it possible that the inclusion has a left adjoint LL? If so, then my original adjunction will just be the following composite of adjunctions:
image.png

That would be great, since it would render this "full image" business as just the category of algebras for the idempotent monad ιL:Psh(M)Psh(M)\iota \circ L : \mathbf{Psh}(M) \to \mathbf{Psh}(M). And then my construction would just be LFL \circ F, applying this elusive LL to the free MM-set in such a way that its carrier remains M×XM \times X.

So: I'd be very happy if I could find this left adjoint LL! If that doesn't exist, maybe this construction I'm interested in can come out of some other composite of adjoints or something, but I feel less certain about where to look...

view this post on Zulip Harrison Grodin (Apr 14 2026 at 21:47):

(Thanks for going through this, btw - I appreciate your time and thoughts!)