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: "Interface" of a functor, what is it?


view this post on Zulip fosco (Nov 25 2025 at 21:24):

I am trying to read a rather impenetrable paper (here) that calls "interface" of a functor MM with small domain C and complete codomain D the following construction.
image.png
If this construction makes sense, there is certainly a way to express it in terms of a universal construction; one would be tempted to write that (in this horrible notation) IntM:cxMxC(x,c)Int_M : c \mapsto \int_x Mx^{C(x,c)}; so the interface of MM is the limit of M weighted by y(c)y(c): too bad that the integration variable xx is now covariant in both positions, so the end doesn't really make sense.

view this post on Zulip fosco (Nov 25 2025 at 21:30):

This seems like a general trick to change the variance of a functor; note that instead, by the usual Togakure-ryū trick, xMxC(,x)M\int_x Mx^{C(-,x)} \cong M. Can it be the case that what I'm using as the weight is the contravariant yoneda embedding y˙:C[C,Set]op\dot y : C \to [C,Set]^{op}, so the limit of MM (covariant) weighted by y˙\dot y yields the functor in question?

view this post on Zulip James Deikun (Nov 25 2025 at 22:45):

It seems like it's climC/cπCCMDc \mapsto \mathop{\mathrm{lim}} \mathcal C/c \xrightarrow{\pi_\mathcal{C}} \mathcal C \xrightarrow{M} \mathcal D if it's the way it's written; it seems like it's using the fact that the codomain fibration is a fibration, and hence gives rise to an indexed category, not just a coindexed category. Of course this actually only works if C\mathcal C has pullbacks. No idea why it's called an "interface".

view this post on Zulip fosco (Nov 26 2025 at 10:22):

it seems like it's using the fact that the codomain fibration is a fibration

I don't think any additional assumption is needed for the construction to make sense; the problem is: what is it, really? It's clearly some sort of weighted limit, but a trick is needed to circumvent the covariance problem.

view this post on Zulip fosco (Nov 26 2025 at 10:23):

I believe my suspicion is correct: the diagram is M, the weight is in fact a family of weights, C[C,Set]oC \to [C,Set]^o

view this post on Zulip fosco (Nov 26 2025 at 10:26):

thus the result is not a single object of D, but an entire functor C to D, contravariant because of how I chose coYoneda as "system of weights"; a similar (dual) trick is in Street-Walters Yoneda structures, defining the weighted colimit wfw\otimes f :

image.png

where (in Cat) the weight is a functor X[Yo,Set]X \to [Y^o,Set]

view this post on Zulip fosco (Nov 26 2025 at 10:27):

well, I don't want to outsource the grunt work on you to check that this indeed is the construction at hand; instead... what intuition is there behind this construction? Have you seen instances of it "in nature"? It's the first time I see this

view this post on Zulip Amar Hadzihasanovic (Nov 26 2025 at 10:39):

Just noting that the poset case seems like quite a simple thing: given an order-preserving map f:PQf: P \to Q where QQ has all meets, the interface of ff is the order-reversing map sending xx to yxf(y)\bigwedge_{y \leq x} f(y).

view this post on Zulip Amar Hadzihasanovic (Nov 26 2025 at 10:43):

If PP is something like an "information order", domain-theory style, then it would seem to me like, as we gain more information, we "see" more and more of QQ through ff, and then we need to cast a wider and wider "net" (=the limit cone) to capture the whole image of ff.

view this post on Zulip Amar Hadzihasanovic (Nov 26 2025 at 10:43):

The net being wider and wider corresponds to the tip of the cone regressing further and further back.

view this post on Zulip Amar Hadzihasanovic (Nov 26 2025 at 10:49):

Perhaps this is also the intuition that the word "interface" is trying to convey: if there is some notion of direction in the domain of MM---perhaps it is a poset, or a directed category---so that it makes sense to look at how the image of MM grows along the direction, then the limit indexed by cc is a way of "packaging" the "image of MM up to object cc" into a single object (from which it can be accessed through the cone projections), and so acts as a single-entry interface with that whole image?

view this post on Zulip fosco (Nov 26 2025 at 11:00):

I think it's something like that, just the limit projections are indexed over pairs of the form (x,u:xc)(x, u : x\to c), so that you project onto the function Mu:MxMcMu : Mx \to Mc, instead of just "M at level c"

view this post on Zulip fosco (Nov 26 2025 at 11:01):

("function", if M has codomain Set)

view this post on Zulip fosco (Nov 26 2025 at 11:06):

Say M:ωSetM : \omega \to Set is a chain of sets. Clearly, the category ω/[n]\omega/[n] is just the total order {0<1<<n}\{0<1<\dots<n\}.

view this post on Zulip fosco (Nov 26 2025 at 11:07):

Hence the projection πn\pi_n is just the inclusion, and the limit of [n]ωSet[n] \hookrightarrow \omega \to Set is... M0M_0 for every n (the domain of the diagram has an initial object).

view this post on Zulip Amar Hadzihasanovic (Nov 26 2025 at 13:26):

Here's a more fun example, maybe. Let XX be a topological space, let PP be a presheaf on XX, and let U\mathcal{U} be a filtered open cover of XX (seen as a subposet of the lattice of opens of XX).

Then, restricting PP to the opens in U\mathcal{U}, we have a functor PU:UopSetP_{\mathcal{U}}: \mathcal{U}^\mathrm{op} \to \mathrm{Set}.
The interface of this functor is the functor IntPU:USet\mathrm{Int}_{P_\mathcal{U}}: \mathcal{U} \to \mathrm{Set} which sends an open UUU \in \mathcal{U} to limUVUPV\mathrm{lim}_{U \subseteq V \in \mathcal{U}} PV.

Assuming wlog that U\mathcal{U} contains \emptyset, we have that IntPU\mathrm{Int}_{P_\mathcal{U}} \emptyset is exactly the set of "compatible families" which show up in the sheaf condition for PP with respect to U\mathcal{U}. The general IntPUU\mathrm{Int}_{P_\mathcal{U}} U seem to be something like "compatible families relative to UU" in the sense that we are only allowed to look at the image of PP on opens in U\mathcal{U} that contain UU.

view this post on Zulip fosco (Nov 26 2025 at 16:45):

After some more discussion and thinking, it seems that this construction is able to generate some trivial examples, and some interesting ones:

Especially the last item of the list feels Isbell-y (Isbell duality behaves like that on the regular representations of the monoid A), which is the initial suspicion I had reading the definition...

view this post on Zulip Amar Hadzihasanovic (Nov 26 2025 at 17:03):

The second example is also constant at MXMX if applied to the "whole" presheaf since O(X)O(X) has a greatest element, that's why I suggested relativising to a filtered cover, where it does seem to become more interesting.

view this post on Zulip Morgan Rogers (he/him) (Nov 27 2025 at 08:20):

Oh when D is Set is this one of the functors in the Isbell adjunction?

view this post on Zulip fosco (Nov 27 2025 at 15:49):

I am still struggling to understand what is the universal property of this object; sending MM to IntMInt_M is certainly a covariant functor [C,D][Co,D][C,D] \to [C^o,D]. Yet, look what happens when I try to check whether it is a right adjoint "for formal reasons". IntM(c)=xMxhom(x,c)Int_M(c) = \int_x Mx^{\hom(x,c)} (this is the only variance that makes IntMInt_M contravariant in cc,a s it is defined to be).
image.png

view this post on Zulip fosco (Nov 27 2025 at 15:49):

which is... weird, and certainly wrong; but where is the mistake?

view this post on Zulip fosco (Nov 27 2025 at 16:28):

It also seems like "Int" is an idempotent construction:

IntM(IntM(c))=xhom(x,c)IntM(x)=xhom(x,c)(yhom(y,x)My)=xyhom(x,c)(hom(y,x)My)=xy(hom(x,c)×hom(y,x))My=y(xhom(x,c)×hom(y,x))My=yhom(y,c)My=IntM(c)\begin{array}{rcl}Int_M(Int_M(c)) &=& \displaystyle \int_x \hom(x,c)\pitchfork Int_M(x)\\&=& \displaystyle \int_x \hom(x,c)\pitchfork \Big(\int_y\hom(y,x)\pitchfork My\Big)\\&=& \displaystyle \int_{xy} \hom(x,c)\pitchfork (\hom(y,x)\pitchfork My)\\&=& \displaystyle \int_{xy} (\hom(x,c)\times \hom(y,x))\pitchfork My\\&=& \displaystyle \int_{y} \Big(\int^x\hom(x,c)\times \hom(y,x)\Big)\pitchfork My\\&=& \displaystyle \int_{y} \hom(y,c)\pitchfork My\\&=& Int_M(c)\end{array}

view this post on Zulip fosco (Nov 27 2025 at 16:34):

Furthermore, there is a universal dinatural copointing IntM..MInt_M \overset{..}\Rightarrow M given on components by πc,idc\pi_{c,\text{id}_c}...

view this post on Zulip fosco (Nov 27 2025 at 16:34):

I am not particularly happy to have discovered an example of idempotent contracomonad...

view this post on Zulip Amar Hadzihasanovic (Nov 27 2025 at 16:45):

In MxC(x,c)Mx^{C(x, c)}, xx is covariant in both positions, so that's not a well-defined end...

view this post on Zulip fosco (Nov 27 2025 at 17:05):

I know, at the same time the definition as lim(Elts(hom(,c))CMD)\lim(Elts(\hom(-,c)) \to C \overset M\to D) plus the fact that the latter is the limit of MM weighted by hom(,c)\hom(-,c), say that something like that should be true. Again, that's the only variance that makes the result contravariant in c; xMxhom(c,x)\int_x Mx^{\hom(c,x)} makes sense, but it's just McMc.

view this post on Zulip fosco (Nov 27 2025 at 17:31):

Together with @Emily (she/her) I developed a language that accounts for the fact that these situations exist "in nature", but I would like to be sure there isn't an easier explanation for this construction, before I resort to "(2,0)-ends"...

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 08:25):

Just a simple example to show that the interface is not "idempotent" in any meaningful way: let PP be the poset x,y<x, y < \top and QQ be the poset <x,y<\bot < x, y < \top, and let j:PQj: P \to Q be the obvious inclusion.

Then

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:19):

This reminded me of something that I worked out a few years ago, and indeed I think it's an instance of it.

Suppose we are given an indexed category S:CCat\mathcal{S}: C \to \mathrm{Cat}.
Then, there are

  1. a category OplaxConeS\mathrm{OplaxCone}_\mathcal{S} of oplax cones under S\mathcal{S}, which are pairs of a category DD and an oplax natural transformation FF from S\mathcal{S} to the constant DD --- a component of this at cc is a functor Fc:ScDFc: \mathcal{S}c \to D;
  2. a functor ConeS:Cop×OplaxConeSCat\mathsf{Cone}_\mathcal{S}: C^\mathrm{op} \times \mathrm{OplaxCone}_\mathcal{S} \to \mathrm{Cat} which, on objects, is defined by sending (c,D,F)(c, D, F) to the category of cones in DD over Fc:ScDFc: \mathcal{S}c \to D.

Moreover, if DD is complete, this functor is naturally isomorphic to a functor LimS\mathsf{Lim}_\mathcal{S} which sends (c,D,F)(c, D, F) to the slice D/limFcD/{\mathrm{lim} Fc}...

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:21):

So in particular if we fix a oplax cone (D,F)(D, F) under S\mathcal{S}, this gives us a functor CopCatC^\mathrm{op} \to \mathrm{Cat}; actually two equivalent descriptions of it, when DD is complete.

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:32):

I think we can see this "interface" as arising from

Then even without any condition on DD we get a contravariant functor CopCatC^\mathrm{op} \to \mathrm{Cat}, sending cc to the category of cones in DD over FdomcF \circ \mathrm{dom}_c; when DD is complete, this functor becomes "representable" as cD/IntFcc \mapsto D/\mathrm{Int} Fc

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:35):

It is interesting that the Yoneda lemma can be recovered as a very special case of the natural isomorphism between ConeS\mathsf{Cone}_\mathcal{S} and LimS\mathsf{Lim}_\mathcal{S} when S:CopCat\mathcal{S}: C^\mathrm{op} \to \mathrm{Cat} is the contravariant slice functor, cc/Cc \mapsto c/C.

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:41):

In any case, I think the fundamental duality at play here, independent of any conditions on DD, is the one that given a covariantly CC-indexed category & an oplax cone under it, produces a contravariantly CC-indexed category.

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:42):

Somehow the oplax cone acts as a dualiser...

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 09:54):

I had not tried to work out the functoriality of OplaxCone\mathrm{OplaxCone}, but presumably there is some sort of fibration

OplaxConeC[C,Cat]\int \mathrm{OplaxCone}^C \to [C, \mathrm{Cat}]

where the objects of the "Grothendieck construction" above are pairs of S:CCat\mathcal{S}: C \to \mathrm{Cat} and an oplax cone under S\mathcal{S}; then Cone\mathsf{Cone} could assemble into a functor OplaxConeC[Cop,Cat]\int \mathrm{OplaxCone}^C \to [C^\mathrm{op}, \mathrm{Cat}], and the whole duality would then be a span between [C,Cat][C, \mathrm{Cat}] and [Cop,Cat][C^\mathrm{op}, \mathrm{Cat}] with tip OplaxConeC\int \mathrm{OplaxCone}^C...

view this post on Zulip fosco (Nov 28 2025 at 09:56):

I agree that whatever is going on here is formal; hence my obsession!

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 10:48):

I think my last message works if [C,Cat][C, \mathrm{Cat}] and [Cop,Cat][C^\mathrm{op}, \mathrm{Cat}] are categories of functors and oplax natural transformations, and the tip of the span is an (oplax, again?) comma category of [C,Cat][C, \mathrm{Cat}] over the functor Cat[C,Cat]\mathrm{Cat} \to [C, \mathrm{Cat}] which sends DD to the constant at DD...

view this post on Zulip Amar Hadzihasanovic (Nov 28 2025 at 10:50):

Of course the projection from the comma should be some sort of fibration, but I don't know if the other leg valued in [Cop,Cat][C^\mathrm{op}, \mathrm{Cat}] has some nice properties

view this post on Zulip Ruby Khondaker (she/her) (Nov 28 2025 at 12:09):

Amar Hadzihasanovic said:

In MxC(x,c)Mx^{C(x, c)}, xx is covariant in both positions, so that's not a well-defined end...

This should still work as an end though right? You have a functor C×Cop×CDC \times C^{op} \times C \to D sending (x,c,y)MyC(x,c)(x, c, y) \mapsto My^{C(x, c)}. So if you hold cc fixed, this gets you a functor C×CDC \times C \mapsto D sending (x,y)MyC(x,c)(x, y) \mapsto My^{C(x, c)}. Precomposing with the diagonal CC×CC \to C \times C gets you a functor CDC \to D sending xMxC(x,c)x \mapsto Mx^{C(x, c)}. Then you can take the end over this by precomposing with the projection Cop×CCC^\text{op} \times C \to C, no?

I guess this is just the general phenomenon of expressing the limit of a functor H:CDH : C \to D as cH(c)\int_c H(c), by first precomposing with the projection Cop×CCC^{op} \times C \to C.

view this post on Zulip fosco (Nov 28 2025 at 12:33):

Ruby Khondaker (she/her) said:

Amar Hadzihasanovic said:

In MxC(x,c)Mx^{C(x, c)}, xx is covariant in both positions, so that's not a well-defined end...

This should still work as an end though right? You have a functor C×Cop×CDC \times C^{op} \times C \to D sending (x,c,y)MyC(x,c)(x, c, y) \mapsto My^{C(x, c)}. So if you hold cc fixed, this gets you a functor C×CDC \times C \mapsto D sending (x,y)MyC(x,c)(x, y) \mapsto My^{C(x, c)}. Precomposing with the diagonal CC×CC \to C \times C gets you a functor CDC \to D sending xMxC(x,c)x \mapsto Mx^{C(x, c)}. Then you can take the end over this by precomposing with the projection Cop×CCC^\text{op} \times C \to C, no?

I guess this is just the general phenomenon of expressing the limit of a functor H:CDH : C \to D as cH(c)\int_c H(c), by first precomposing with the projection Cop×CCC^{op} \times C \to C. Perhaps I misunderstood what you meant when you said "not well-defined"?

What you are describing is a "(0,2)-end" in the language of https://arxiv.org/abs/2011.13881

view this post on Zulip Ruby Khondaker (she/her) (Nov 28 2025 at 12:42):

Oh cool! I had no idea there was a name for these sorts of things. Though, since we take two covariant arguments, would that be a (0,2)(0, 2)-end in the language of that paper?
image.png

I suppose what I outlined in the second paragraph illustrates that (0,1)(0, 1)-ends are equivalent to limits.

view this post on Zulip fosco (Nov 28 2025 at 12:59):

yeah, sorry I meant (0,2) :-)