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: Name this construction on SMCs?


view this post on Zulip Martti Karvonen (Oct 25 2020 at 15:45):

Let C\mathbf{C} be a symmetric monoidal category and D\mathbf{D} a monoidal subcategory. Then we can build a new monoidal category where our objects are those of C\mathbf{C} but a morphism xyx\to y in the new category is a morphism xdyx\otimes d\to y for some dDd\in\mathbf{D}. Is there a name for this (or the dual) construction? I've seen versions of this construction happening under the hood a bit too many times to think it's just a coincidence, but I don't know if the general construction has been named/studied on its own.

view this post on Zulip Cole Comfort (Oct 25 2020 at 15:48):

What is the composition?

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:02):

Easiest to describe in string diagrams, but given f ⁣:xdyf\colon x\otimes d\to y and g ⁣:ydzg\colon y\otimes d'\to z the composite is g(fid) ⁣:xddzg\circ(f\otimes id)\colon x\otimes d\otimes d'\to z

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:03):

and symmetry is needed to get a monoidal category out of this

view this post on Zulip Chad Nester (Oct 25 2020 at 16:04):

I want to call this "stateful morphisms" or something like that. (Edit: Never mind -- this doesn't make sense!)

view this post on Zulip Reid Barton (Oct 25 2020 at 16:05):

Do you want to identify two morphisms xdyx \otimes d \to y, xdyx \otimes d' \to y if there exists dd'', ...?

view this post on Zulip Reid Barton (Oct 25 2020 at 16:06):

Otherwise equality of morphisms in the output depends on equality of objects in D\mathbf{D}.

view this post on Zulip Reid Barton (Oct 25 2020 at 16:07):

I didn't really think about what "..." should be but my guess is "and maps ddd'' \to d, ddd'' \to d' in D\mathbf{D} such that xdxdyx \otimes d'' \to x \otimes d \to y equals xdxdyx \otimes d'' \to x \otimes d' \to y".

view this post on Zulip Cole Comfort (Oct 25 2020 at 16:10):

Chad Nester said:

I want to call this "stateful morphisms" or something like that. (Edit: Never mind -- this doesn't make sense!)

Stateful morphisms, xy x \to y traditionally are equivalence classes of morphisms xdyd x \otimes d \to y \otimes d . It is weird to me that one would consider morphisms instead as xdyx \otimes d \to y without taking any quotient.

view this post on Zulip Cole Comfort (Oct 25 2020 at 16:12):

Like in the CPM construction or the cartesian completion of a discrete inverse category, there is a quotient which in some sense forgets the extra representative object.

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:13):

I'm not against quotioning out morphisms by some equivalence relation - could someone elaborate how that would go here? In many of the specific contexts I've seen something like this people are thinking of the SMC as a resource theory, so often they are happy to even further and quotion out all the way to the preorder collapse (which I find a bit excessive).

view this post on Zulip Reid Barton (Oct 25 2020 at 16:13):

It seems the effect of this construction is basically to adjoin new maps 1d1 \to d for each dDd \in \mathbf{D}, as a monoidal category. So it's sort of like a one-sided version of "quotienting" by D\mathbf{D}.

view this post on Zulip Reid Barton (Oct 25 2020 at 16:14):

(Whereas the xdydx \otimes d \to y \otimes d version is effectively "inverting" the objects of D\mathbf{D}, if I'm not mistaken.)

view this post on Zulip Cole Comfort (Oct 25 2020 at 16:15):

If the original category is a dagger category, then there are various ways in which one can somehow ``undo the dd'' like in the CPM construction for a \dag-CCC, or the cartesian completion of a discrete inverse category.

view this post on Zulip Reid Barton (Oct 25 2020 at 16:16):

If you start with monoidal preorders (aka preordered monoids?) then you're imposing the relation 1d1 \le d for each dDd \in \mathbf{D}.

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:16):

I most certainly won't have a dagger in all the examples of interest

view this post on Zulip Oscar Cunningham (Oct 25 2020 at 16:18):

This is a construction I'm thinking about for my thesis (in the case when D\mathbf{D} is all of C\mathbf{C}). I think of it as adding an extra state for each object that represents uncertainty about that system. But unlike the CPM\mathrm{CPM} construction, this is Knightian uncertainty, about which nothing quantified can be said. Various more useful forms of uncertainty can then be thought of as quotients of this category.

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:18):

I guess it's also somewhat related to the coKleisli category of the graded comonad corresponding to the colax (in fact strong) monoidal functor D[C,C]\mathbf{D}\to [\mathbf{C},\mathbf{C}] that sends dd to d-\otimes d, but that pov alone doesn't explain why the end result is monoidal

view this post on Zulip Reid Barton (Oct 25 2020 at 16:19):

I guess that means that you should be able to describe (perhaps some variation of) the original construction as the coinserter in MonCat from the functor DC\mathbf{D} \to \mathbf{C} sending everything to 11 to the inclusion functor DC\mathbf{D} \to \mathbf{C}.

view this post on Zulip Reid Barton (Oct 25 2020 at 16:19):

That's not really a "name" though.

view this post on Zulip Reid Barton (Oct 25 2020 at 16:20):

(oops, fixed "inserter" -> "coinserter")

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:24):

Cole Comfort said:

Chad Nester said:

I want to call this "stateful morphisms" or something like that. (Edit: Never mind -- this doesn't make sense!)

Stateful morphisms, xy x \to y traditionally are equivalence classes of morphisms xdyd x \otimes d \to y \otimes d . It is weird to me that one would consider morphisms instead as xdyx \otimes d \to y without taking any quotient.

Do you have a good ref for these stateful things? I'd be happy to compare (and as I said, I don't oppose taking quotients and indeed it seems reasonable in the concrete cases where I've seen this)

view this post on Zulip Cole Comfort (Oct 25 2020 at 16:25):

Martti Karvonen said:

I guess it's also somewhat related to the coKleisli category of the graded comonad corresponding to the colax (in fact strong) monoidal functor D[C,C]\mathbf{D}\to [\mathbf{C},\mathbf{C}] that sends dd to d-\otimes d, but that pov alone doesn't explain why the end result is monoidal

Isn't there some result that the Kleisli category of a monoidal monad is itself monoidal. Is this the case here?

view this post on Zulip Cole Comfort (Oct 25 2020 at 16:27):

Martti Karvonen said:

Cole Comfort said:

Chad Nester said:

I want to call this "stateful morphisms" or something like that. (Edit: Never mind -- this doesn't make sense!)

Stateful morphisms, xy x \to y traditionally are equivalence classes of morphisms xdyd x \otimes d \to y \otimes d . It is weird to me that one would consider morphisms instead as xdyx \otimes d \to y without taking any quotient.

Do you have a good ref for these stateful things? I'd be happy to compare (and as I said, I don't oppose taking quotients and indeed it seems reasonable in the concrete cases where I've seen this)

I have been reading up on this because I am interested in premonoidal categories, which apparently arise as subcategories of the kleisli category of the state monad. This is the paper I have been trying to get a grip on:
https://asaj.org/papers/premonA.pdf
https://asaj.org/papers/premonB.pdf

I don't know if this is a good reference though.

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:28):

Cole Comfort said:

Martti Karvonen said:

I guess it's also somewhat related to the coKleisli category of the graded comonad corresponding to the colax (in fact strong) monoidal functor D[C,C]\mathbf{D}\to [\mathbf{C},\mathbf{C}] that sends dd to d-\otimes d, but that pov alone doesn't explain why the end result is monoidal

Isn't there some result that the Kleisli category of a monoidal monad is itself monoidal. Is this the case here?

yes, but I've only seen that stated for ordinary monads and not for graded ones. Presumably it goes through in the graded case too but I haven't seen that written down.

view this post on Zulip Martti Karvonen (Oct 25 2020 at 16:39):

Reid Barton said:

It seems the effect of this construction is basically to adjoin new maps 1d1 \to d for each dDd \in \mathbf{D}, as a monoidal category. So it's sort of like a one-sided version of "quotienting" by D\mathbf{D}.

This is a good way of thinking about it actually: in the situations I've seen, C\mathbf{C} is some kind of a resource theory, so objects are resources and morphisms transform resourcers to other resources. However, for some reason the transformations aren't quite powerful enough so that objects of D\mathbf{D} that should be free (from the pov of the actual thing you're modeling) are not, and this is an easy fix.

view this post on Zulip Jules Hedges (Oct 25 2020 at 18:40):

Martti Karvonen said:

Let C\mathbf{C} be a symmetric monoidal category and D\mathbf{D} a monoidal subcategory. Then we can build a new monoidal category where our objects are those of C\mathbf{C} but a morphism xyx\to y in the new category is a morphism xdyx\otimes d\to y for some dDd\in\mathbf{D}. Is there a name for this (or the dual) construction? I've seen versions of this construction happening under the hood a bit too many times to think it's just a coincidence, but I don't know if the general construction has been named/studied on its own.

For the case C=DC = D we call this the "Para construction" (for "parameterised morphisms"). It's almost explicit in Backprop As Functor by Fong + Spivak. (Me and Brendan Fong once went through most of the details checking that it's a monad on the category of SMCs). @Bruno Gavranovic is heavily using it recently. I don't think I've ever seen it written down anywhere "officially"

view this post on Zulip John Baez (Oct 25 2020 at 22:50):

Btw, there's another construction where you start with a symmetric monoidal category CC and an object dd, and define a new category in which a morphism from xx to yy is a morphism f:xdydf: x \otimes d \to y \otimes d in CC. Here dd is getting used as a "catalyst".

This new category is not monoidal, but it's "premonoidal", meaning that only the interchange law

(fg)(hk)=fggk (f \otimes g)(h \otimes k) = f g \otimes g k

fails. We explain this stuff in section 4 here:

view this post on Zulip John Baez (Oct 25 2020 at 22:52):

For experts: a premonoidal category is the same as a pseudomonoid in Cat with its "funny" tensor product. Cat has just two symmetric monoidal closed structures: the usual cartesian one and the funny tensor product.

view this post on Zulip John Baez (Oct 25 2020 at 22:53):

There should be a bunch of constructions generalizing the construction @Martti Karvonen is talking about and this construction using a single catalyst object.

view this post on Zulip John Baez (Oct 25 2020 at 22:55):

His construction lets you use a bunch of extra objects for the input of a morphism but none for the output. The construction I'm talking about lets you use a single extra object for both the input and output of a morphism. The call to generalize is clear!

view this post on Zulip Cole Comfort (Oct 25 2020 at 23:02):

Yes, is this not also the Kleisli category for the state monad, for some fixed mutable state? In his paper Jeffrey shows that every strict symmetric premonoidal category is actually a subcategory in a suitable sense of the Kleisli category of the state monad for some strict symmetric monoidal category. So in some loose sense, all premonoidal categories arise in this way. Something I have been trying to wrap my head around.

view this post on Zulip Jules Hedges (Oct 26 2020 at 10:49):

The kleisli category of state is almost the same but with the quantifiers in a different order. In that, for some object dd a morphism xyx \to y is a morphism xdyx \otimes d \to y. For this, a morphism xyx \to y is a morphism xdyx \otimes d \to y for some object dd

view this post on Zulip Jules Hedges (Oct 26 2020 at 10:49):

For the state monad you fix dd for all time, whereas for Para every morphism carries around its own dd

view this post on Zulip Amar Hadzihasanovic (Oct 30 2020 at 17:55):

This is a Grothendieck construction. Specifically it's the Grothendieck construction for the functor F:Ob(D)CatF: \mathrm{Ob}(D) \to \mathrm{Cat} where Ob(D)\mathrm{Ob}(D) is the (pseudo)monoid of objects of DD seen as a (bi)category with a single object *, and FF sends

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 11:41):

Jules Hedges said:

Martti Karvonen said:

Let C\mathbf{C} be a symmetric monoidal category and D\mathbf{D} a monoidal subcategory. Then we can build a new monoidal category where our objects are those of C\mathbf{C} but a morphism xyx\to y in the new category is a morphism xdyx\otimes d\to y for some dDd\in\mathbf{D}. Is there a name for this (or the dual) construction? I've seen versions of this construction happening under the hood a bit too many times to think it's just a coincidence, but I don't know if the general construction has been named/studied on its own.

For the case C=DC = D we call this the "Para construction" (for "parameterised morphisms"). It's almost explicit in Backprop As Functor by Fong + Spivak. (Me and Brendan Fong once went through most of the details checking that it's a monad on the category of SMCs). Bruno Gavranovic is heavily using it recently. I don't think I've ever seen it written down anywhere "officially"

Oh I've missed this somehow! Indeed, I've been thinking about this for a long while and this construction is actually incredibly rich in categorical structure.
As @Amar Hadzihasanovic pointed out, you can think of Para(C)\mathbf{Para}(\mathcal{C}) as the Grothendieck construction (albeit I'm thinking of it a bit more generally) from the delooping of a monoidal category into Cat\mathbf{Cat}. This gives you a bicategory with the same objects as in C\mathcal{C}, 1-cells as parameterized morphisms and 2-cells as reparameterizations.
This also corresponds to the oplax colimit of that functor as well. If your starting monoidal category is strict, then you get a 2-category.

This is also how you form (Co)Kleisli categories of a generalized (co)monad. That is, you can think of Para(C)\mathbf{Para}(\mathcal{C}) as a sort of a generalized CoKleisli category (think about the CoKleisli category for the (×X)(- \times X) comonad (for a specific X:CX: \mathcal{C}) first and notice how Para allows you to pick a different object for each morphism.

The way I think of Para(C)\mathbf{Para}(\mathcal{C}) is with two dimensional string diagrams with the "parameters" coming on top. Turns out, this is also precisely formal: you can show a variant of Para(C)\mathbf{Para}(\mathcal{C}) is a double category, i.e. an internal category in Cat\mathbf{Cat}.

Turns out, Para(C)\mathbf{Para}(\mathcal{C}) is also coherent w.r.t. base change and is actually an endofunctor on the category of strict symmetric monoidal categories SMCat\mathbf{SMCat}. Funnily enough, it's also a monad there (first noticed by @Jules Hedges , Fong and Spivak I think) and this is something that I'm now thinking about in terms of meta-learning https://twitter.com/bgavran3/status/1307260999209234444

Misc thought: the fact that meta-learning is learning can be seen in the fact that Para construction (https://arxiv.org/abs/1907.08292, Def 1) is a monad. That is, when Para is applied to Optic(C), the join of the monad here tells us that a learner of learners is also a learner.

- Bruno Gavranović (@bgavran3)

(You can also get the "actegorical" perspective by allowing your parameters to come from a different category. )

And lastly (I think), there is an enriched CT perspective on Para, where an element of Para(C)(A,B)\mathbf{Para}(\mathcal{C})(A, B) is precisely a generalized element of C(A,B)\mathcal{C}(A, B) (I've been thinking about this recently with @Matteo Capucci who is invited to correct me on anything that I might've said incorrectly).

Pardon for the long rant, I thought I'd just share progress that we've done on this (I'm not sure how original all this is, I've been checking the literature but couldn't find anything, any pointers welcome!)

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 11:42):

I should also check the ACT zulip more often, there's so much stuff here. How do you all navigate this?

view this post on Zulip Matteo Capucci (he/him) (Nov 24 2020 at 11:44):

Bruno Gavranovic said:

And lastly (I think), there is an enriched CT perspective on Para, where an element of Para(C)(A,B)\mathbf{Para}(\mathcal{C})(A, B) is precisely a generalized element of C(A,B)\mathcal{C}(A, B) (I've been thinking about this recently with Matteo Capucci who is invited to correct me on anything that I might've said incorrectly)

When the enrichment base is closed, yes :)

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 11:46):

Indeed :)

view this post on Zulip Matteo Capucci (he/him) (Nov 24 2020 at 11:49):

To me ParaPara is something you apply to (possibly lax) modules of pseudomonoids, i.e. actions V[C,C]V \to [C,C] of a pseudomonoid VV on another object CC. The usual situation is when VV is a monoidal cat and CC is a cat (this is the 'actegorical' perspective Bruno was referring to).
This encompasses:

In the first case ParaPara is the Kleisli construction, in the second case is change of base along the slice functor.

view this post on Zulip Morgan Rogers (he/him) (Nov 24 2020 at 13:32):

Bruno Gavranovic said:

I should also check the ACT zulip more often, there's so much stuff here. How do you all navigate this?

It helps to mute any threads you can tell you won't have time to get involved in, so you mainly get updates on things you already know you're interested in :wink:

view this post on Zulip Fabrizio Genovese (Nov 24 2020 at 13:47):

It also helps to spend like 5 mins 3 times a day to skin through all the new messages, in case you find something interesting. If every time you connect it's like 1000+ unread messages then it's natural to just shut everything down for good :grinning:

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 15:29):

I think I'll just mark the 1300+ messages as read and move on from there... :grinning:

view this post on Zulip John Baez (Nov 24 2020 at 17:00):

I just spend 15 or 20 minutes every morning reading everything here and commenting on the stuff that I understand. I wish there were more going on here.

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 17:27):

I think it's more about managing my own mental resources and attention. I'm loving this, but it takes quite a long time to process some of the posts here and I really have to carefully pick what I think about. It does seem to get easier with time, though!

view this post on Zulip John Baez (Nov 24 2020 at 17:29):

There are a lot of posts I just barely understand, so I just read them quickly and hope that gradually over time they will make me smarter. :upside_down:

view this post on Zulip Martti Karvonen (Nov 24 2020 at 19:02):

Bruno Gavranovic said:

Jules Hedges said:

Martti Karvonen said:

Let C\mathbf{C} be a symmetric monoidal category and D\mathbf{D} a monoidal subcategory. Then we can build a new monoidal category where our objects are those of C\mathbf{C} but a morphism xyx\to y in the new category is a morphism xdyx\otimes d\to y for some dDd\in\mathbf{D}. Is there a name for this (or the dual) construction? I've seen versions of this construction happening under the hood a bit too many times to think it's just a coincidence, but I don't know if the general construction has been named/studied on its own.

For the case C=DC = D we call this the "Para construction" (for "parameterised morphisms"). It's almost explicit in Backprop As Functor by Fong + Spivak. (Me and Brendan Fong once went through most of the details checking that it's a monad on the category of SMCs). Bruno Gavranovic is heavily using it recently. I don't think I've ever seen it written down anywhere "officially"

Oh I've missed this somehow! Indeed, I've been thinking about this for a long while and this construction is actually incredibly rich in categorical structure.
As Amar Hadzihasanovic pointed out, you can think of Para(C)\mathbf{Para}(\mathcal{C}) as the Grothendieck construction (albeit I'm thinking of it a bit more generally) from the delooping of a monoidal category into Cat\mathbf{Cat}. This gives you a bicategory with the same objects as in C\mathcal{C}, 1-cells as parameterized morphisms and 2-cells as reparameterizations.
This also corresponds to the oplax colimit of that functor as well. If your starting monoidal category is strict, then you get a 2-category.

This is also how you form (Co)Kleisli categories of a generalized (co)monad. That is, you can think of Para(C)\mathbf{Para}(\mathcal{C}) as a sort of a generalized CoKleisli category (think about the CoKleisli category for the (×X)(- \times X) comonad (for a specific X:CX: \mathcal{C}) first and notice how Para allows you to pick a different object for each morphism.

The way I think of Para(C)\mathbf{Para}(\mathcal{C}) is with two dimensional string diagrams with the "parameters" coming on top. Turns out, this is also precisely formal: you can show a variant of Para(C)\mathbf{Para}(\mathcal{C}) is a double category, i.e. an internal category in Cat\mathbf{Cat}.

Turns out, Para(C)\mathbf{Para}(\mathcal{C}) is also coherent w.r.t. base change and is actually an endofunctor on the category of strict symmetric monoidal categories SMCat\mathbf{SMCat}. Funnily enough, it's also a monad there (first noticed by Jules Hedges , Fong and Spivak I think) and this is something that I'm now thinking about in terms of meta-learning https://twitter.com/bgavran3/status/1307260999209234444

(You can also get the "actegorical" perspective by allowing your parameters to come from a different category. )

And lastly (I think), there is an enriched CT perspective on Para, where an element of Para(C)(A,B)\mathbf{Para}(\mathcal{C})(A, B) is precisely a generalized element of C(A,B)\mathcal{C}(A, B) (I've been thinking about this recently with Matteo Capucci who is invited to correct me on anything that I might've said incorrectly).

Pardon for the long rant, I thought I'd just share progress that we've done on this (I'm not sure how original all this is, I've been checking the literature but couldn't find anything, any pointers welcome!)

Thanks for the very helpful answer! The only thing misssing from here is references to places where the construction appears (self-plugs totally ok), so that I can source the construction now that I need it and make it clear that it's not my own. I know places where it's done under the hood, but I'd be happy if I could point to a paper with CPara(C)\mathcal{C}\mapsto\mathbf{Para}(\mathcal{C}) written down somewhat explicitly (not that I need all the results you mention).

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 22:19):

Martti Karvonen said:

Thanks for the very helpful answer! The only thing misssing from here is references to places where the construction appears (self-plugs totally ok), so that I can source the construction now that I need it and make it clear that it's not my own. I know places where it's done under the hood, but I'd be happy if I could point to a paper with CPara(C)\mathcal{C}\mapsto\mathbf{Para}(\mathcal{C}) written down somewhat explicitly (not that I need all the results you mention).

The only resources I know where it's been explicitly defined is Backprop as Functor (https://arxiv.org/abs/1711.10455), but that's specialized to the base category of Euclidean spaces. In my master thesis (https://arxiv.org/abs/1907.08292) I gave a bit more abstract definition, but that's also far from complete. I might've seen some other resources but as far as I know there isn't really a comprehensive one...

view this post on Zulip Bruno Gavranović (Nov 24 2020 at 22:23):

As for exactly CPara(C)\mathcal{C} \to\mathbf{Para}(\mathcal{C}), this assignment does the only thing possible. It's identity on objects and to each map
f:ABf:A \to B it assigns the map fλA:IABf \circ \lambda_A : I \otimes A \to B