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: Graph of a Profunctor cocontinuous?


view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 14:26):

From the nlab page on [[category of elements]], it's known that the functor el:SetCCat\text{el} : \mathbf{Set}^{\mathcal{C}} \to \mathbf{Cat} is cocontinuous. Is there any similar result for the category of elements of a profunctor? By which I mean, the construction that takes a functor P:Cop×DSetP : \mathcal{C}^\text{op} \times \mathcal{D} \to \mathbf{Set} and produces a category el(P)\text{el}(P) with a projection down to C×D\mathcal{C} \times \mathcal{D}.

view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 14:29):

If I was more familiar with colimits of categories I might've been able to answer this myself, but those still feel out of reach for me at the moment. Nevertheless, my guess is that you can construct el(P)\text{el}(P) by first currying to D[Cop,Set]\mathcal{D} \to [\mathcal{C}^\text{op}, \mathbf{Set}], then taking the category of elements in the second argument to get a functor DCat\mathcal{D} \to \mathbf{Cat}, and then taking the grothendieck construction?

view this post on Zulip Fernando Chu (Feb 03 2026 at 15:19):

Your guess is almost right. You also have to postcompose DCat\mathcal{D} \to \mathbf{Cat} with the opposite involution op:CatCatop:\mathbf{Cat} \to \mathbf{Cat}. There was a previous discussion about this construction in this thread, which you might find interesting.

view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 15:22):

Ah I see I see. Does that ensure the overall process is cocontinuous?

view this post on Zulip Fernando Chu (Feb 03 2026 at 15:26):

I don't know. The last step involves the Grothendieck construction on DCat\mathcal{D} \to \mathbf{Cat} (not the usual category of elements) and this is an oplax colimit. So maybe it preserves these?

view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 15:27):

I would hope that suffices since “op” also preserves colimits, but that’s a little too slick for me to be sure…

view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 19:47):

Ok, I think I may have been able to resolve this.

Suppose el\text{el} was indeed cocontinuous. There's a density formula for profunctors:

P(x,y)c,dP(c,d)×Hom(x,c)×Hom(d,y)P(x, y) \cong \int^{c , d} P(c, d) \times \text{Hom}(x, c) \times \text{Hom}(d, y), or in other words P(,+)c,dP(c,d)×Hom(,c)×Hom(d,+)P(-, +) \cong \int^{c, d} P(c, d) \times \text{Hom}(-, c) \times \text{Hom}(d, +).

Thus, it suffices to define it on Hom(,c)×Hom(d,+):Cop×DSet\text{Hom}(-, c) \times \text{Hom}(d, +) : \mathcal{C}^\text{op} \times \mathcal{D} \to \mathbf{Set}. The obvious candidate is the product of the slice category over cc and the coslice category under dd, i.e. C/c×d/D\mathcal{C} / c \times d / \mathcal{D}. This has the requisite projection functor to C×D\mathcal{C} \times \mathcal{D}.

So, we'd just need to verify that el(P)c,dDisc(P(c,d))×C/c×d/D\text{el}(P) \cong \int^{c, d} \text{Disc}(P(c, d)) \times \mathcal{C} / c \times d / \mathcal{D}. I think you can probably do this directly, but you can also check the universal property - that functors el(P)E\text{el}(P) \to \mathcal{E} correspond to natural transformations POb([C/×+/D,E])P \to \text{Ob}([\mathcal{C}/- \times +/\mathcal{D}, \mathcal{E}]), where the right adjoint sends E\mathcal{E} to the functor Cop×DSet\mathcal{C}^\text{op} \times \mathcal{D} \to \mathbf{Set} defined by (c,d)Ob([C/c×d/D,E])(c, d) \mapsto \text{Ob}([\mathcal{C}/c \times d/\mathcal{D}, \mathcal{E}]).

This can be proven as follows. Take a functor F:el(P)EF : \text{el}(P) \to \mathcal{E}. For each cOb(C),dOb(D),αP(c,d)c \in \text{Ob}(\mathcal{C}), d \in \text{Ob}(\mathcal{D}), \alpha \in P(c, d), we can define a functor Fc,d,α:C/c×d/DEF_{c, d, \alpha} : \mathcal{C} / c \times d / \mathcal{D} \to \mathcal{E} by sending (f:cc,g:dd)F(c,d,P(f,g)(α))(f : c' \to c, g : d \to d') \mapsto F(c', d', P(f, g)(\alpha)) on objects. We can use "heteromorphism" notation to write P(f,g)(α)=gαfP(f, g)(\alpha) = g \circ \alpha \circ f, which makes functoriality of this map more obvious - it boils down to requiring g1(g2αf2)f1=(g1g2)α(f2f1)g_1 \circ (g_2 \circ \alpha \circ f_2) \circ f_1 = (g_1 \circ g_2) \circ \alpha \circ (f_2 \circ f_1).

Collecting these functors together gives a natural transformation POb([C/×+/D,E])P \Rightarrow \text{Ob}([\mathcal{C}/- \times +/\mathcal{D}, \mathcal{E}]), I think. So el(P)\text{el}(P) has a right adjoint, thus is cocontinuous.

view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 19:56):

For context, I've been looking to edit the nlab page for categories of elements for... quite a while. The "covariant" and "contravariant" forms are really special cases of the category of elements of a profunctor, which is a "two-sided" version of the usual category of elements. This also subsumes examples such as comma categories.

view this post on Zulip Nathanael Arkor (Feb 03 2026 at 20:11):

The nLab page on the [[category of elements]] and [[Grothendieck construction]] have been frustrating me for similar reasons. They would be significantly clarified by presenting the two-sided versions from the beginning.

view this post on Zulip Ruby Khondaker (she/her) (Feb 03 2026 at 20:12):

Unfortunately I am not quite skilled enough to understand the two-sided Grothendieck construction just yet! But at least in the discrete case (i.e. set-valued functors) I think I can improve the current articles.

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

Ok, I've made an edit to the [[category of elements]] nlab page! Hope things seem a little clearer now.

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

Bryce Clarke said:

Ruby Khondaker (she/her) said:

Checking nlab, it seems that “category of elements of a profunctor” is one of the notions listed under “graph of a profunctor”? Whereas the category of elements page only takes about Set-valued functors…

I think these nlab pages should be updated. I will add it to my to-do list, unless you feel happy to update them yourself.

I've also finally gotten around to fulfilling (half) of my promise to Bryce :)

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

Also now edited the [[graph of a functor]] page! That should finally resolve the questions I started asking in #learning: questions > ✔ Comma Categories vs Categories of Elements.