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: fibration composition using pseudofunctors


view this post on Zulip Bruno Gavranović (Mar 20 2021 at 13:41):

I keep seeing fibration composition defined using their projections down to the base space, but is there a resource elaborating how this composition is done when I view a fibration using its pseudofunctor? These are equivalent,but somehow I can't wrap my head around the pseudofunctor "composition" here...

view this post on Zulip Mike Shulman (Mar 20 2021 at 14:16):

This has long been one of Benabou's arguments for the superiority of fibrations over pseudofunctors. Indeed, even making precise what the input data would be for a "composite" of pseudofunctors seems to basically require applying the Grothendieck construction to one of them to define the domain of the other one. I don't know of a reference that works it out explicitly.

view this post on Zulip John Baez (Mar 20 2021 at 17:10):

I've been interested in this question in connection with combinatorics, where you often stack one type of structure or stuff on another, getting a composite of forgetful functors like

[graphs with two-colored edges] \to [graphs] \to [sets]

which are often fibrations. The pseudofunctor point of view is important in Joyal's approach (and its generalization to "stuff types"). But understanding composition in these terms is harder.

view this post on Zulip John Baez (Mar 20 2021 at 17:10):

There must be some equally important thing that's a lot easier to do in the pseudofunctor approach, no? What's the go-to example?

view this post on Zulip Bruno Gavranović (Mar 20 2021 at 18:47):

John Baez said:

There must be some equally important thing that's a lot easier to do in the pseudofunctor approach, no? What's the go-to example?

@John Baez

I'm wondering that myself!
I have a hunch that some game-theoretic stuff can be phrased more intuitively using the pseudofunctor approach. My thinking is "a pseudofunctor maps each state in C\mathcal{C} (state here being just an object) to a category of possible choices in that state". This is along the lines of Spivak's Poly interpretation of "positions" and "directions". Then composition of pseudofunctors would correspond to chaining choices of agents.

But I haven't managed to make much progress since I can't wrap my head around how these pseudofunctors are composed.
Here's what I got so far:

If we have a pseudofunctor F:CopCatF: \mathcal{C}^{op} \to \mathbf{Cat} (i.e. a fibration FπC\int F \xrightarrow{\pi} \mathcal{C}, where F\int F is the Grothendieck construction of FF) then the second pseudofunctor needs to have the domain of a particular form. I.e. G:FCatG:\int F \to \mathbf{Cat} (corresponding to a fibration EπFE \xrightarrow{\pi'} \int F).

Then, I think that G\int G is equivalent to the composition of the corresponding fibrations. So EGE \cong \int G. Does that check out?

view this post on Zulip John Baez (Mar 20 2021 at 20:17):

Yes, that sounds right to me, if you're using \cong to mean "equivalent" - I use \simeq to mean "equivalent" and \cong to mean "isomorphic".

view this post on Zulip Amar Hadzihasanovic (Mar 20 2021 at 20:22):

The second pseudofunctor needs to have (F)op(\int F)^\mathrm{op} as domain, to correspond to a fibration EFE \to \int F.

view this post on Zulip Bruno Gavranović (Mar 20 2021 at 21:06):

John Baez said:

Yes, that sounds right to me, if you're using \cong to mean "equivalent" - I use \simeq to mean "equivalent" and \cong to mean "isomorphic".

Ah, yes

view this post on Zulip Bruno Gavranović (Mar 20 2021 at 21:07):

Amar Hadzihasanovic said:

The second pseudofunctor needs to have (F)op(\int F)^\mathrm{op} as domain, to correspond to a fibration EFE \to \int F.

Ah, right, I somehow keep ignoring/forgetting the variance here (I guess one can form the analogous version where there's no op^{op}'s anywhere).

view this post on Zulip Bruno Gavranović (Mar 20 2021 at 21:09):

I'm tempted to check if this is a category, but as it was pointed out already, to define the domain of the second "morphism" we need to know what the first one is. This sounds like a job for dependent types.

I guess this brings me to the question, does the concept of "dependent composition" make sense, and has anybody studied it?

view this post on Zulip John Baez (Mar 20 2021 at 22:06):

To avoid ops, I often work with the ironically named "opfibrations": opfibrations π:EB\pi: E \to B correspond to pseudofunctors F:BCatF: B \to \mathbf{Cat}.

There's a 2-category of

categories, opfibrations, and natural transformations

and we can describe the morphisms in here as pseudofunctors F:BCatF: B \to \mathbf{Cat}; in this other description a pseudofunctor F:BCatF: B \to \mathbf{Cat} should be considered as a morphism π:FB\pi: \int F \to B.

view this post on Zulip John Baez (Mar 20 2021 at 22:11):

To get this worked out carefully it may be best to use cloven opfibrations, since only a cloven opfibration π:EB\pi : E \to B gives you a specific pseudofunctor F:BCatF : B \to \mathbf{Cat}. The link starts with a nice pep talk on how cleaving makes the property-like structure of being an opfibration "algebraic", i.e. lifting a morphism from BB to EE now becomes an operation.

view this post on Zulip Bruno Gavranović (Mar 20 2021 at 22:58):

Ah, thanks. I guess I was wondering when I'll start needing this cloven/cleavage/normal/split stuff. will I'll have to meditate on this for a while before I can respond, but I guess this might not (or maybe it does, but I don't see it) answer my question about looking at all this fibration stuff in terms of pseudofunctors.

As in, I'd expect there to be some abstract dependently-typed way of composing them. I.e. a map that takes a dependent pair of (F:CopCat,G:FCat(F : \mathcal{C}^{op} \to \mathbf{Cat}, G: \int F \to \mathbf{Cat} )and gives me back a functor of type CopCat\mathcal{C}^{op} \to \mathbf{Cat}, representing the pseudofunctor corresponding to the composite fibration.

I already feel uneasy writing this, not knowing whether this makes any sense :grinning: I guess I need to meditate on your last paragraph, but I'm saying this in case this resonates with you/might help you understand what I mean.

view this post on Zulip Bruno Gavranović (Mar 20 2021 at 23:00):

And yeah, I don't know why, but there's this deep inkling in me attempting to understand this through pseudofunctors... somehow it feels "more natural". Or maybe I just didn't internalize the Grothendieck equivalence properly.

view this post on Zulip John Baez (Mar 21 2021 at 00:52):

You definitely need to cleave a fibration to turn it into a pseudofunctor - so if you're wanting to reformulate composition of fibrations in terms of some operation on pseudofunctors, or just understand how fibrations give pseudofunctors, it's good to ponder the art of cleaving.

Since I rarely think about dependent types, I don't find that helps me very much here, but this stuff is connected to dependent types. In my example of a composite of fibrations:

[graphs with two-colored edges] \to [graphs] \to [sets],

to put the structure of a graph with two-colored edges on a set (which will then be the set of vertices), it's good to first put the stuff of a graph on that set, by equipping it with edges, and then put the structure of a 2-coloring on that graph. I think we are "stacking dependent types" here, if you know what I mean.

view this post on Zulip Matteo Capucci (he/him) (Mar 21 2021 at 09:20):

So, the first obstacle, as Mike points out, is that there's no explicit way to see whether two pseudofunctors are composable, since you don't have the total category of the second to check whether it matches the first's base.
Working one dimension down, when you have functors F:XSetF : X \to Set, G:YSetG : Y \to Set with X,YX, Y sets, you can define their composition as the \lhd (= composition of functors) of their associated polynomial functors. As we discussed yesterday, Bruno, this means that you don't assume the total space of one coincides with the base of the other, you simply assume there's some map between the two and index over the collection of all these maps. Indeed, FFF \lhd F gives you:

xXYF(x)φzF(x)G(φ(z))\sum_{x \in X} Y^{F(x)} \ni \varphi \mapsto \sum_{z \in F(x)} G(\varphi(z))

Specifying a mapping (x:X)YF(x)(x : X) \to Y \to F(x) allows you to collapse this into a functor XSetX \to Set. Indeed, if you know in advance that Y=xXF(x)Y = \sum_{x \in X} F(x), then there's a canonical way to do so, namely with the map xιxx \mapsto \iota_x, where ιx\iota_x is the inclusion of F(x)F(x) into YY.
I suspect the above can be easily generalized to the next dimension by noting that the Grothendieck construction is an oplax colimit, hence you get 'inclusions' of fibers into it. The rest stays pretty much the same, I guess.

That said, this is all very painful.

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 20:51):

John Baez said:

You definitely need to cleave a fibration to turn it into a pseudofunctor - so if you're wanting to reformulate composition of fibrations in terms of some operation on pseudofunctors, or just understand how fibrations give pseudofunctors, it's good to ponder the art of cleaving.

Thanks John. I think I now get the idea, but the naming between fibration, Grothendieck fibration and cloven fibration is still confusing to me. This nLab passage says that a functor "being a fibration" is exactly what we need to turn it into a pseudofunctor, but you you just said a fibration needs to be cloven.
Screenshot_20210323_204438.png

Here's my understanding now:

1) An fibration is just any functor EBE \to B
2) A cleavage is exactly the thing we need to turn this fibration into a pseudofunctor BopCatB ^{op} \to \mathbf{Cat} (making it also a Grothendieck fibration)
3) Every pseudofunctor F:BopCatF: B^{op} \to \mathbf{Cat} can canonically be turned into a fibration FB\int F \to B (no extra conditions necessary)

view this post on Zulip Joe Moeller (Mar 23 2021 at 20:53):

A fibration is not any functor. The definition of fibration includes a lifting property. A cleavage is a choice of specific liftings. A cleavage is necessary to construct the corresponding pseudofunctor.

view this post on Zulip Joe Moeller (Mar 23 2021 at 20:54):

You're right that a pseudofunctor can always be turned into a fibration without anything extra.

view this post on Zulip Joe Moeller (Mar 23 2021 at 20:55):

And "fibration" is short for "Grothendieck fibration" in this particular scenario. There are many other notions of fibration in other branches of math.

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:00):

Joe Moeller said:

A fibration is not any functor. The definition of fibration includes a lifting property. A cleavage is a choice of specific liftings. A cleavage is necessary to construct the corresponding pseudofunctor.

Hmm, okay, so there's one more term here: "lifting property". I take it then a fibration is any functor EBE \to B that has a lifting property. And I guess that somehow this isn't enough to construct a pseudofunctor into Cat\mathbf{Cat} - we need to cleave it, that is, provide a specific lifting?

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:01):

I find this whole fibration business pretty strange! I'm definitely not used to thinking about this

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:02):

Sorry, here's the lifting property spelled out:
image.png

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:03):

No worries, I was only reminding myself about this lifting property; I've seen it enough times already that I should know it...

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:06):

The idea is that when you start with a pseudofunctor F ⁣:BopCatF \colon B^{op} \to \mathsf{Cat}, and you do the Grothendieck construction to get a category F\int F, you have forgotten something about the original piece of data: you forgot that F(b)F(b) and F(b)F(b') where separate categories. There is a straightforward functor FB\int F \to B which does remember that data.

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:06):

But not all functors arise this way. You could view fibrations as a characterization of precisely which functors you get this way.

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:12):

Specifically, the lifting property tells you that the maps in F\int F which did not only arise as the maps in the categories F(b)F(b), but as one which actually has stuff coming from the nontrivial functors of the form F(f) ⁣:F(b)F(b)F(f) \colon F(b) \to F(b') in them, can be sorta "straightened back out" into functors between the "fibers".

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:15):

Right... so let me see if I understand it now:
We start with an arbitrary functor π:EB\pi : E \to B that we're conjecturing is forgetting some data coherently, i.e. for each b:Bb : B there's more than one object in EE mapping to it. So we conjecture this collection of objects is a subcategory!
So π1(b)\pi^{-1}(b) is a subcategory, and π1(b)\pi^{-1}(b') is a subcategory, for some other bb'. And if we have a map f:bbf : b \to b', we might be interested in getting a functor π1(b)π1(b)\pi^{-1}(b) \to \pi^{-1}(b') (or perhaps one going the other way).

I guess I now this is where the cartesian morphisms come in, I think I'll have to meditate on this for a bit...

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:26):

Yes, this is right. You get that π1(b)\pi^{-1}(b) is a subcategory of EE no problem (though you should specify the morphisms as well), and this automatically starts to feel like you're saying π1\pi^{-1} is a (pseudo)functor BopCatB^{op} \to \mathsf{Cat}, but you will run into problems without the cartesian lifts.

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:33):

Right! To define the functor π1(b)π1(b)\pi^{-1}(b) \to \pi^{-1}(b') we need to specify how it acts on objects - and this looks like exactly the data of a cartesian morphism. This is slowly making sense... :)

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:35):

Do you know about covering spaces from topology? This is the first sort of fibration I learned about, and it's pretty much exactly what I think about when I try to understand this stuff, but more arrow-y.

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:36):

Ah no, I'm coming from CS

view this post on Zulip Joe Moeller (Mar 23 2021 at 21:36):

Right, you just never know what people know.

view this post on Zulip Bruno Gavranović (Mar 23 2021 at 21:38):

Right :)

I guess another useful question to ask is: what examples of functors aren't fibrations (but where one would incorrectly assume that they are) ? Is there any good examples to have in mind? I'd assume most functors won't be fibrations.

view this post on Zulip John Baez (Mar 24 2021 at 00:45):

Joe explained it all, but I'll do it again: sometimes it seems more convincing when a bunch of people say the same thing.

1) An fibration is just any functor EBE \to B

No, that's called a "functor".

"Fibration" means one thing in topology (actually a bunch of related things), and something else in pure category theory. Fibrations in category theory are Grothendieck fibrations, but people usually say "fibration" for short, so we'll do that.

A fibration is a functor p:EBp: E \to B such that given any object eEe \in E and any morphism f:bp(e)f: b \to p(e), there is a "cartesian" morphism ϕ:ee\phi: e' \to e with p(ϕ)=fp(\phi) = f. Such ϕ\phi is called a cartesian lifting of ff.

See the link for the definition of "cartesian morphism". It takes a lot of time and thought and looking at examples to appreciate this definition. I will not attempt to lead you through that right now!

A choice of cartesian lifting for every morphism of the form f:bp(e)f : b \to p(e) in BB is called a cleavage. A fibration with a specific cleavage is called a cloven fibration.

Assuming the axiom of choice, every fibration can be cloven... but of course usually not in a unique way.

2) A cleavage is exactly the thing we need to turn this fibration into a pseudofunctor BopCatB ^{op} \to \mathbf{Cat}

Right.

(making it also a Grothendieck fibration)

No, no! A fibration is the exact same thing as a Grothendieck fibration, in the present context. Grothendieck built this world; we just live in it.

3) Every pseudofunctor F:BopCatF: B^{op} \to \mathbf{Cat} can canonically be turned into a fibration FB\int F \to B (no extra conditions necessary).

Right. And this fibration is automatically cloven.

So, the work that's left for you to:

a) get a good intuition of cartesian morphisms and why people care about them,

b) understand how a cloven fibration p:EBp: E \to B gives a pseudofunctor F:BopCatF: B^{op} \to \mathbf{Cat},

c) understand how a pseudofunctor F:BopCatF: B^{op} \to \mathbf{Cat} gives cloven fibration.

view this post on Zulip John Baez (Mar 24 2021 at 00:52):

Bruno Gavranovic said:

I guess another useful question to ask is: what examples of functors aren't fibrations (but where one would incorrectly assume that they are) ? Is there any good examples to have in mind? I'd assume most functors won't be fibrations.

Yeah, most are not. The intuitive idea of a fibration is that it's a forgetful functor p:EBp: E \to B with a special nice property. So, we're gonna think of objects in EE as objects in BB with extra structure (or stuff), and pp forgets that extra structure.

Now, say you have an object bBb \in B and it comes from an object eEe \in E by forgetting the extra structure:

p(e)=b p(e) = b

And say you have a morphism to bb

f:bb f: b' \to b

Then if pp is a fibration, you can "pull back" the extra structure and give bb' the extra structure. In other words, there's a specific best object ee' such that

p(e)=bp(e') = b'

and a specific best morphism

ϕ:ee \phi : e' \to e

such that

p(ϕ)=fp(\phi) = f.

view this post on Zulip John Baez (Mar 24 2021 at 00:52):

The definition of "cartesian morphism" makes precise what we mean by "best" here. It's a kind of universal property.

view this post on Zulip John Baez (Mar 24 2021 at 00:54):

Which examples and counterexamples would be good to illustrate this? Well, that depends a lot on what kind of stuff you like.

view this post on Zulip Bryce Clarke (Mar 24 2021 at 02:25):

John Baez said:

c) understand how a pseudofunctor F:BopCatF: B^{op} \to \mathbf{Cat} gives cloven fibration.

My personal impression is that when one performs the Grothendieck construction to obtain a fibration EB E \rightarrow B , the corresponding "cleavage" of this fibration is left mysterious. However there is a very nice way to "find" it!

view this post on Zulip Joe Moeller (Mar 24 2021 at 02:26):

It certainly gives a cleavable fibration :upside_down:

view this post on Zulip Bryce Clarke (Mar 24 2021 at 02:27):

One can post-compose the pseudo functor F ⁣:BopCat F \colon B^{op} \rightarrow \mathbf{Cat} with the underlying objects functor CatSet \mathbf{Cat} \rightarrow \mathbf{Set} to obtain a discrete fibration from your fibration.

view this post on Zulip John Baez (Mar 24 2021 at 02:29):

Bryce Clarke said:

John Baez said:

c) understand how a pseudofunctor F:BopCatF: B^{op} \to \mathbf{Cat} gives cloven fibration.

My personal impression is that when one performs the Grothendieck construction to obtain a fibration EB E \rightarrow B , the corresponding "cleavage" of this fibration is left mysterious.

Left mysterious by whom? Some naughty people who don't explain it well? "One"?

view this post on Zulip Bryce Clarke (Mar 24 2021 at 02:29):

Moreover, whiskering the pseudofunctor F ⁣:BopCat F \colon B^{op} \rightarrow \mathbf{Cat} with the counit for the underlying objects / discrete category adjunction between Cat \mathbf{Cat} and Set \mathbf{Set} will provide you with a bijective-on-objects functor from this discrete fibration to the fibration EB E \rightarrow B that you found.

view this post on Zulip Bryce Clarke (Mar 24 2021 at 02:30):

This tells you exactly what your "cleavage" of your fibration should be.

view this post on Zulip Joe Moeller (Mar 24 2021 at 02:31):

Well I think the ordinary way you'd go is

view this post on Zulip Joe Moeller (Mar 24 2021 at 02:31):

at this stage, why would you want to define a cleavage as well?

view this post on Zulip John Baez (Mar 24 2021 at 02:32):

Well, the cleavage is staring you in the face (now I see why Eugenia Cheng doesn't like this terminology), and you use it to "notice you've got a fibration".

That is, in a fibration the cartesian liftings merely exist, but when you get a fibration from an indexed category specific cartesian liftings are given to you, and that's how you prove they exist.

view this post on Zulip Bryce Clarke (Mar 24 2021 at 02:33):

Joe Moeller said:

at this stage, why would you want to define a cleavage as well?

I think because it should be made explicit that pseudo functors F ⁣:BopCat F \colon B^{op} \rightarrow \mathbf{Cat} are not equivalent to fibrations but cloven fibrations.

view this post on Zulip Joe Moeller (Mar 24 2021 at 02:35):

Sure, that's fine. It's absolutely necessary when you're talking about proving the equivalence. In my experience, it doesn't come up as much when you're using the equivalence, in this particular direction.

view this post on Zulip Mike Shulman (Mar 24 2021 at 08:45):

Bryce Clarke said:

One can post-compose the pseudo functor F ⁣:BopCat F \colon B^{op} \rightarrow \mathbf{Cat} with the underlying objects functor CatSet \mathbf{Cat} \rightarrow \mathbf{Set} to obtain a discrete fibration from your fibration.

No, you can't compose a pseudo-functor with a 1-functor. This only works if FF is a strict functor.

view this post on Zulip Todd Trimble (Mar 24 2021 at 12:27):

Am I missing something? Can't you regard both as pseudofunctors between (sometimes locally discrete) bicategories?

view this post on Zulip Reid Barton (Mar 24 2021 at 13:23):

"underlying objects" isn't a pseudofunctor from Cat to Set because there's nowhere for the 2-cells to go. Even the invertible ones are problematic.

view this post on Zulip Mike Shulman (Mar 24 2021 at 15:03):

Right, I meant you can't compose a pseudofunctor whose codomain is the 2-category Cat\rm Cat with a 1-functor whose domain is the 1-category Cat\rm Cat.

view this post on Zulip Todd Trimble (Mar 24 2021 at 17:07):

Oh sure; thanks.

view this post on Zulip Bryce Clarke (Mar 24 2021 at 19:24):

Mike Shulman said:

Bryce Clarke said:

One can post-compose the pseudo functor F ⁣:BopCat F \colon B^{op} \rightarrow \mathbf{Cat} with the underlying objects functor CatSet \mathbf{Cat} \rightarrow \mathbf{Set} to obtain a discrete fibration from your fibration.

No, you can't compose a pseudo-functor with a 1-functor. This only works if FF is a strict functor.

Ah of course, I was thinking strict. Thanks Mike!

view this post on Zulip John Baez (Mar 24 2021 at 20:01):

Of course the "downhill slide", i.e. the easy way to go, is to turn a discrete fibration into a fibration by postcomposing with SetCat\mathbf{Set} \to \mathbf{Cat}.

view this post on Zulip John Baez (Mar 24 2021 at 20:02):

But now's a chance to ask about something I've never gotten around to thinking about enough: what's the story on when a pseudofunctor F:CCatF: \mathsf{C} \to \mathbf{Cat} is equivalent to a strict 2-functor? Are there some interesting results on when this happens?

Of course this question is sort of the same as when a fibration can be not merely cloven but actually split.

view this post on Zulip John Baez (Mar 24 2021 at 20:03):

I know (or have heard) that a pseudofunctor to Cat\mathbf{Cat} is always equivalent to a normalized pseudofunctor, meaning one where identity 1-morphisms are strictly preserved.

view this post on Zulip Mike Shulman (Mar 24 2021 at 22:06):

In fact, a pseudofunctor to Cat\bf Cat is always equivalent to a strict 2-functor. Indeed, it is so universally in two different ways: the "inclusion" functor UU from the 2-category [C,Cat][C,\bf Cat] of strict 2-functors and strict 2-natural transformations to the 2-category Ps(C,Cat){\rm Ps}(C,\bf Cat) of pseudofunctors and pseudonatural transformations has both a left adjoint QQ and a right adjoint RR, and the unit FUQFF \to UQF and counit URFFURF\to F are pseudonatural equivalences.

view this post on Zulip Mike Shulman (Mar 24 2021 at 22:12):

On the other side this says that any fibration is equivalent to a split fibration. But that's different from asking whether a fibration can be split, i.e. whether you can choose a splitting without changing the functor. That's certainly not always possible, and would correspond on the pseudofunctor side to asking whether a pseudofunctor is isomorphic to a strict 2-functor.

view this post on Zulip Mike Shulman (Mar 24 2021 at 22:13):

I don't know any general results about when the latter happens.

view this post on Zulip Jade Master (Mar 25 2021 at 20:33):

It occured to me that the right way to compose fibrations in pseudofunctor approach might be more operadic. To get a composite of fibrations EDCE \to D \to C you should have a pseudofunctor F:CCatF : C \to Cat along with a a family of pseudofunctors F(c)CatF(c) \to Cat for every object c of C and a morphism of pseudofunctors for every morphism f:ccf: c \to c'.

view this post on Zulip Jade Master (Mar 25 2021 at 20:38):

For example the fibration composite RGraphGraphSetRGraph \to Graph \to Set from reflexive graphs to graphs to sets of vertices could be decomposed (I think) into pseudofunctors as follows: first a pseudofunctor F:SetCat F : Set \to Cat sending each set to the category of graphs with that set as its vertices, then for each category F(X) we should have a pseudofunctor F(X)Cat F(X) \to Cat sending each graph G to the category of reflexive graphs with G as it's underlying graph.

view this post on Zulip Jade Master (Mar 25 2021 at 20:39):

I think I may have some details wrong about how pseudo some of these things should be...and I may have some ops reversed but does this idea make sense?

view this post on Zulip Matteo Capucci (he/him) (Mar 25 2021 at 21:21):

I love this. It makes a ton of sense! I've been actually thinking in these terms for the discrete case, but it never occured to me the same thing could apply one level up...

view this post on Zulip Jade Master (Mar 25 2021 at 22:04):

Thanks! What have you used the discrete case of this for?

view this post on Zulip Jade Master (Mar 25 2021 at 22:11):

Oh I suppose the Set version is related to the multiplication of the free cocompletion (pseudo?)monad on Cat

view this post on Zulip Jade Master (Mar 25 2021 at 22:17):

You could also go 0-dimensional to get the way that subsets of subsets turn into subsets.

view this post on Zulip Matteo Capucci (he/him) (Mar 26 2021 at 07:20):

Right! It's the same idea! So cool

view this post on Zulip Matteo Capucci (he/him) (Mar 26 2021 at 07:23):

The discrete case turns up in some work I'm doing on a dependently typed version of open games. In that case you have a discrete fibration of 'moves' and you compose those as you explained above. It's very intuitive in that setting since the go-to classical representation of games is 'extensive form', which are just trees. Indeed, in my head I call this way of composing things the 'operad of trees'

view this post on Zulip Matteo Capucci (he/him) (Mar 26 2021 at 07:24):

Though to be fair I've never seen operads whose operations can have Set-valued arities, as required to compose discrete fibrations, let alone of categorical arity. It's a natural and fascinating generalization, though

view this post on Zulip Bruno Gavranović (Mar 27 2021 at 12:13):

Ah, I think I finally get the basic idea behind fibrations (also after conversations with @Matteo Capucci (he/him) ).

I think my main confusion is that I never properly internalized this lifting property; I picked up the idea of what a fibration is from people saying "Let EBE \to B be a fibration" - I remember seeing papers where they'd just define this functor as a projection. I somehow thought this was it, but I guess they were leaving it for the reader to figure out what the lifting property for that particular fibration was.

I also somehow got confused from all the terminology. I think this was partially me not really reading carefully, or maybe expecting the definition to be simpler than it really was.

view this post on Zulip Bruno Gavranović (Mar 27 2021 at 12:17):

So here's how I understand the story of fibrations now. There might be some holes here, but this shouldn't be conceptually wrong:

We start with a big space EE which we conjecture is indexed by a smaller space BB. We can easily figure out the projection π:EB\pi : E \to B, but we're actually thinking even more: that all the things mapping to a particular b:Bb : B are forming a subcategory of EE. That is, π1(b):Cat\pi^{-1}(b) : \mathbf{Cat}.
Now, surely we can figure out the objects in π1(b)\pi^{-1}(b) easily (and I assume morphisms too, even though I have an example where I think this was tricky).
But the real issue is: if π1(b)\pi^{-1}(b) forms a category, and so does π1(b)\pi^{-1}(b') (for some b:Bb' : B), and we have a map f:bbf : b \to b', then this means we ought to get a functor F:π1(b)π1(b)F: \pi^{-1}(b') \to \pi^{-1}(b)! But what does FF map some object in x:π1(b)x: \pi^{-1}(b') to?

This is where the cartesian lifting comes in - we're picking some universal object (from what I can tell, not just by looking inside the category π1(b)\pi^{-1}(b), but even wider, in whole of EE). This universal object is exactly the action of FF on xx.

I still have to internalize why the cartesian lifting is defined in the way it is and properly unpack it (I wasn't really able to find a clear explanation online), but I guess it shouldn't be hard to figure out...

view this post on Zulip Bruno Gavranović (Mar 27 2021 at 12:19):

And yeah, so a fibration is a functor EBE \to B with this lifting property, which is exactly what we need to turn it into a pseudofunctor. And a cloven fibration is just when we have a particular choice of a lifting. (This whole AOC business is still fuzzy to me so I'm not too bothered by this, I guess...)

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:40):

Another way to see why it is defined the way it is, is because you want to get an equivalence with the category of functors BCatB \to \mathbf{Cat}

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:43):

This perspective may seem unhortodox, but in my recent research I came to appreciate that there is a whole jungle of ways to turn a functor to BB into a functor from BB, and vice-versa. That is, you want to consider some flavor of Cat/B\textbf{Cat}/B (by this I mean the category as a whole, a subcategory of it that is well behaved in some respect, consider it as a 1-cat, as a 2-cat and so on) and want to get an equivalence/isomorphism/whatnot with a category of (lax/pseudo/monoidal) functors [B,Something][B,\textbf{Something}]. The point is that, depending on which properties you need (as you see there are a lot of moving parts here) you may get a different something that does the job

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:45):

I guess the take away message here is: The Grothendieck construction, in a broader sense, is a concept. It allows to turn a functor from something into a functor to something, and vice-versa, using some sort of heuristic process that is more or less always the same. You may say that, in this broader sense, a fibration is what you get when you apply this construction. Obviously all this handwavy way of describing this collapses to the formal stuff you are used with when you specialize it enough

view this post on Zulip Bruno Gavranović (Mar 27 2021 at 12:48):

Interesting. What are some other examples of "Something" that isn't Set\mathbf{Set} or Cat\mathbf{Cat}?

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:51):

For instance, for each category C\mathcal{C} there is an equivalence Cat/CCatl[C,Span]\textbf{Cat}/\mathcal{C} \simeq \textbf{Cat}_l[\mathcal{C},\textbf{Span}], where the ll means that you are considering lax monoidal functors.

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:52):

Fundamentally, here we are considering the left hand side as a 1 cat. If you want to consider it as a 2 cat then, if I remember correctly, you need to get Prof\mathbf{Prof} on the right, and change the ll into something a bit different.

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:53):

We used this result here: https://arxiv.org/abs/2101.09100 here: https://arxiv.org/abs/2101.06234 and here (without really knowing it back then): https://arxiv.org/abs/2002.02762

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 12:53):

(It's all Petri net stuff)

view this post on Zulip Bruno Gavranović (Mar 27 2021 at 12:55):

Huh, this is surprising. Now I totally don't have an intuition on what are the things that could appear as "Somethings". I thought it had to be something like Set\mathbf{Set}, or with more higher arrows.

Does that then also mean that Catl[C,Span][C,Cat[\textbf{Cat}_l[\mathcal{C},\textbf{Span}] \cong [\mathcal{C}, \mathbf{Cat}[?

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:03):

No, because in the left hand side of that thing there's a lot of stuff that hasn't lifting properties

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:03):

we're taking literally the whole thing

view this post on Zulip Bruno Gavranović (Mar 27 2021 at 13:12):

Right, I thought you might've been ambiguous, but you're now literally saying that for this example we can literally take any functor XCX \to \mathcal{C}, there's no lifting properties required. Got it

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:15):

Yeps

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:16):

The only thing we're not considering here are 2-morphisms in the left hand side

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:17):

But I guess my point is that you can always take "all the stuff that sits on top of an object" and repack it by sending that object to its "fiber", and then the variant of the Grothendieck construction in the setting one works in just glues all these things together giving the original thing back

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:18):

When people think about ways to get a functor from BB from a functor to BB and vice-versa, they often think in terms of fibrations, but you don't really need them to do so. :smile:

view this post on Zulip Mike Shulman (Mar 27 2021 at 13:32):

Fabrizio Genovese said:

For instance, for each category C\mathcal{C} there is an equivalence Cat/CCatl[C,Span]\textbf{Cat}/\mathcal{C} \simeq \textbf{Cat}_l[\mathcal{C},\textbf{Span}], where the ll means that you are considering lax monoidal functors.

You mean lax 2-functors.

view this post on Zulip Mike Shulman (Mar 27 2021 at 13:35):

Some other Grothendieck constructions are the monoidal one, the bicategorical one, and the double-categorical one.

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:36):

Yes, lax 2-functors. Sorry!

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:43):

Now that I think of it, the source of my confusion was that I was using it in the context of monoidal categories. If your functor FF is lax monoidal, then you can give a monoidal structure also to F\int F, basically applying the monoidal products component-wise

view this post on Zulip Fabrizio Genovese (Mar 27 2021 at 13:45):

Also, I seem to remember that in the context of spans we call this construction "total category", but I'm really not good with notations and names...

view this post on Zulip Nathanael Arkor (Mar 27 2021 at 14:19):

Mike Shulman said:

Some other Grothendieck constructions are the monoidal one, the bicategorical one, and the double-categorical one.

"Bicategorical" here means the vertical categorification of the usual Grothendieck construction. However, considering the existence of the monoidal Grothendieck construction, does that suggest the existence of a horizontal categorification of the Grothendieck construction for monoidal categories, to bicategories?

view this post on Zulip John Baez (Mar 27 2021 at 16:43):

Bruno Gavranovic said:

I still have to internalize why the cartesian lifting is defined in the way it is and properly unpack it (I wasn't really able to find a clear explanation online), but I guess it shouldn't be hard to figure out.

I was only able to understand it by looking hard at a really simple example.

My favorite example is the functor U:GraphSetU: \mathsf{Graph} \to \mathsf{Set} where the category of graphs is defined in the usual way category theorists define it, and the functor UU maps any graph to its underlying set of vertices (aka nodes).

The fact that UU is a fibration then means that for any function f:VVf: V \to V' between sets, and any way of making VV' into a graph GG' by equipping it with edges, there is a "best" way to make VV into a graph GG' and lifting ff to a map of graphs.

It's good to just guess what this "best" way is, and then check that it's a fibration, using the rather complicated usual definition of a fibration. That should convince you that the definition formalizes a certain notion of "best".

view this post on Zulip John Baez (Mar 27 2021 at 16:49):

It's good to check that UU is an also opfibration. I'm pretty sure that's true! So, intuitively: given a function f:VVf: V \to V' between sets, and any way of making VV into a graph by equipping it with edges, there is a best way to make VV' into a graph.

view this post on Zulip David Michael Roberts (Mar 28 2021 at 07:07):

Regarding terminology, I'm low-key pushing for "cleaving" to replace "cleavage", as it is an acceptable alternative translation of "clivage", and is also immediately clear to those familiar with the existing poor choice of word, rather than trying for some complete neologism (cf supine and prone morphisms; I can never remember which is meant to be which)

view this post on Zulip Fawzi Hreiki (Mar 28 2021 at 07:09):

Cleaving is a verb though no?

view this post on Zulip Mike Shulman (Mar 28 2021 at 07:18):

Fabrizio Genovese said:

Also, I seem to remember that in the context of spans we call this construction "total category", but I'm really not good with notations and names...

Yeah, although unfortunately total category also has another meaning. (-:

view this post on Zulip Mike Shulman (Mar 28 2021 at 07:20):

Nathanael Arkor said:

"Bicategorical" here means the vertical categorification of the usual Grothendieck construction. However, considering the existence of the monoidal Grothendieck construction, does that suggest the existence of a horizontal categorification of the Grothendieck construction for monoidal categories, to bicategories?

I would expect that to be the double-categorical version. (Double categories are often a better horizontal categorification of monoidal categories than bicategories are.) Although it looks like so far the double-categorical version is only done for discrete fibrations.

view this post on Zulip David Michael Roberts (Mar 28 2021 at 10:25):

@Fawzi Hreiki it can be a noun. Compare "splitting", which is both a verb, in present tense, and a noun, with the same formation from "split", as "cleaving" comes from "cleave".

view this post on Zulip John Baez (Mar 28 2021 at 17:40):

Yeah, I think I'm gonna go with "cleaving".

view this post on Zulip John Baez (Mar 28 2021 at 17:41):

Almost any verb in English can become a noun.

view this post on Zulip Mike Shulman (Mar 28 2021 at 18:15):

Often one can avoid the issue entirely, talking about cloven fibrations and about the process of cleaving a fibration without needing to give a name to the structure with which a cloven fibration is equipped.

view this post on Zulip Emily (Mar 28 2021 at 20:03):

@Mike Shulman I think Szyld–Bayeh–Pronk have been working on a full version of the double-categorical Grothendieck construction: http://cms.dm.uba.ar/Members/mszyld/slides_uOttawa_szyld.pdf

view this post on Zulip Mike Shulman (Mar 28 2021 at 21:48):

Great!

view this post on Zulip Joshua Meyers (Mar 29 2021 at 00:47):

Théo said:

Mike Shulman I think Szyld–Bayeh–Pronk have been working on a full version of the double-categorical Grothendieck construction: http://cms.dm.uba.ar/Members/mszyld/slides_uOttawa_szyld.pdf

I think this link is broken

view this post on Zulip Emily (Mar 29 2021 at 03:04):

@Joshua Meyers Can you access Szyld's webpage here? The above slides are listed there in the talks section

view this post on Zulip Emily (Mar 29 2021 at 03:04):

In any case, here's a copy of them: slides_uOttawa_szyld.pdf

view this post on Zulip John Baez (Mar 29 2021 at 20:29):

Bruno Gavranovic said:

And yeah, so a fibration is a functor EBE \to B with this lifting property, which is exactly what we need to turn it into a pseudofunctor. And a cloven fibration is just when we have a particular choice of a lifting. (This whole axiom of choice business is still fuzzy to me so I'm not too bothered by this, I guess...)

There's nothing deep about it. In traditional set theory you need the axiom of choice to prove this:

Suppose for any element xx of a set XX there exists an element yy of a set YY that obeys some property involving xx. Then there exists a function f:XYf: X \to Y that sends any element of xXx \in X to an element of f(x)Yf(x) \in Y obeying that property.

A cleaving of a fibration is an example of such a function.