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: Descending into Sheaves


view this post on Zulip John Onstead (Jan 20 2025 at 12:39):

So a while ago on this server I was in a very engaging conversation about monadic and effective descent in which I learned a great deal, but I had a lot more to understand before I could fully grasp it. It was a while ago, so I've certainly forgotten a few things (and so I might get a few things wrong here) but I wanted to revisit the concept in light of another concept I learned about more recently.

This concept is that of local objects and localization, which we covered extensively in the previous discussion on model categories. An object XX is called gg-local (for a morphism g:YZg: Y \to Z) if Hom(g,X)\mathrm{Hom}(g,X) is a bijection (more generally, we usually refer to whole classes of morphisms). The function Hom(g,X):Hom(Z,X)Hom(Y,X)\mathrm{Hom}(g,X): \mathrm{Hom}(Z,X) \to \mathrm{Hom}(Y,X) reflects composition: "lifting" a morphism from ZZ into one from YY by composition with gg. The fact this function has an inverse in this case means the opposite direction is possible- you can "descend" a morphism from YY into one from ZZ along gg always. In a sense, a gg-local object "thinks" that gg is invertible, even if it isn't actually. Furthermore, the nlab page "descent object" defines the notion of a "descent object": given a morphism g:YZg: Y \to Z and an object XX, the descent object is the set Hom(Y,X)\mathrm{Hom}(Y, X) equipped with the function (or bijection, if XX is gg-local) Hom(g,X)\mathrm{Hom}(g, X).

More generally, if we are in a 2-category, then the descent object becomes a category (hom category). So here are the two questions I want answered. First, is the descent category Hom(Y,X)\mathrm{Hom}(Y, X) in this 2-categorical case the same thing as a "category of descent data"? Secondly, if so, then in the usual case of effective descent, what is the 2-category we are set in, what are the objects XX, YY, and ZZ, and what is the morphism gg, such that Hom(Y,X)\mathrm{Hom}(Y, X) is the category of effective descent data? Thanks!

view this post on Zulip Mike Shulman (Jan 20 2025 at 19:18):

In the notation at [[category of descent data]], the 2-category is fibrations over CC, the morphism g:YZg:Y\to Z is the inclusion hxC/xh_x \hookrightarrow C/x, and the object XX is DD.

view this post on Zulip John Onstead (Jan 20 2025 at 20:51):

Mike Shulman said:

In the notation at [[category of descent data]], the 2-category is fibrations over CC, the morphism g:YZg:Y\to Z is the inclusion hxC/xh_x \hookrightarrow C/x, and the object XX is DD.

Ah thanks!

view this post on Zulip John Onstead (Jan 20 2025 at 21:17):

John Onstead said:

so I've certainly forgotten a few things

Also I just reread my question and real quick I want to clarify this bit of perhaps poor word choice... I always make sure to take meticulous notes for all discussions (my notes document is just about 200,000 words long right now, and I eventually hope to repackage it in a way others can find helpful). So when I say I've "forgotten" something, it just means I need to revisit my notes and recall my understanding, not that I've disregarded some response or discussion.

view this post on Zulip John Onstead (Jan 21 2025 at 12:50):

So now I really want to understand what "descent" means from a more conceptual perspective. I already understand descent, in reference to local objects, is meant to encode when one object "thinks" a certain morphism is invertible. But now I want to get more into what the descent object is supposed to be doing. First off, is "descent" in general describing some form of locality (in the sense of local-global interaction), or does descent only describe locality when in its use in talking about sheaves? Second, how are the elements of a descent object, or in the 2-categorical case the objects of a category with descent data, actually "data" of any kind? That is, what is this "data" supposed to be data for? Thanks!

view this post on Zulip John Baez (Jan 21 2025 at 17:46):

Let me try to state the general pattern for 'descent' and 'descent data'. It's very general so what I say may sound a bit vague. When you have a map p:YXp: Y \to X of some sort, you can often pull things over XX back to get things over YY.

The first crude descent question is: given a thing over YY, can you get it by pulling back a thing over XX?

If you can do it, we say that thing descends to XX.

A better descent question is: what extra structure must we give an thing over YY, to specify how it comes from pulling back a particular thing over XX? (Different things over XX can give the same thing when you pull them back to YY.)

The answer to the better descent question is to describe descent data for a thing over YY, and prove: the (n-)category of things over XX is equivalent to the (n-)category of things over YY equipped with descent data.

Example. For a simple example of this pattern, let p:YXp: Y \to X be an open cover of XX by contractible open sets

Y=iUiUi open in X Y = \bigsqcup_i U_i \qquad U_i \text{ open in } X

and say that a thing is a principal GG-bundle. Then the descent question is: what extra data do we need to give a principal GG-bundle over YY (wlog trivial) for it to descend to a principal GG-bundle over XX? And the answer is: transition functions

gij:UiUjG g_{ij} : U_i \cap U_j \to G

obeying the cocycle condition

gijgjk=gik g_{ij} g_{jk} = g_{ik}

So in this case descent data consists of transition functions obeying the cocycle condition.

view this post on Zulip John Baez (Jan 21 2025 at 17:49):

We have already seen, in earlier conversations, how in this example descent data is connected to a certain monad, and to a certain simplicial object. This is typical! Indeed here's a pretty general descent question:

Q: Given a right adjoint functor U:DCU: \mathsf{D} \to \mathsf{C} that is monadic, what data do we need to give an object of cCc \in \mathsf{C} to specify an object of D\mathsf{D} that it came from?

And the answer is:

A: cc must be equipped with a map α:Tcc\alpha: Tc \to c making it into an algebra of the monad T=RLT = R L, where LL is the left adjoint of RR.

This is called monadic descent. For more try these:

The first one features the example of principal bundles that I just gave. The second features a classic example from algebra, where some arrows are turned around - as usual when we go from topology to algebra. Here the descent question is: given a ring homomorphism ϕ:AB\phi: A \to B, what data do we need to equip a BB-module with for it to be of the form BAMB \otimes_A M for some AA-module?

I became enamored with the second question in the special case where AA is a field and BB is a field containing AA. People call this case 'Galois descent', and it has a special flavor because it becomes connected to Galois theory and something called Galois cohomology. However, it was easiest for me to understand this stuff when I realized it was 'just' an example of the general subject of descent. (Here 'just' is used in the way category theorists use it. In fact this example has a lot of interesting special features!)

view this post on Zulip John Baez (Jan 21 2025 at 18:20):

Finally, I'll add that descent becomes even more fun when we switch from a 1-categorical setting (as in my examples above) to an n-categorical setting (like descent for stacks).

view this post on Zulip John Onstead (Jan 21 2025 at 21:44):

Thanks for the response. Let me see if I can talk through this!

John Baez said:

Let me try to state the general pattern for 'descent' and 'descent data'. It's very general so what I say may sound a bit vague. When you have a map p:YXp: Y \to X of some sort, you can often pull things over XX back to get things over YY.

So for instance, if you had a morphism "over" XX you can pull back along pp to get one over YY. So in this case we are dealing with morphisms over objects, so the appropriate fibration is C/()C/(-), and this pseudofunctor sends every morphism p:YXp: Y \to X to the pullback functor pb:C/XC/Ypb: C/X \to C/Y. Descent data is then extra structure on objects of C/YC/Y so that the resulting category has a forgetful functor back to C/XC/X (that I guess constitutes an equivalence).

John Baez said:

Then the descent question is: what extra data do we need to give a principal GG-bundle over YY (wlog trivial) for it to descend to a principal GG-bundle over XX? And the answer is: transition functions

Ah! I think I see now how descent can help with locality. We can think of YY as being a "local resolution" of XX, something that works like XX but with its local parts more specified. So when we have something defined on YY, it should also define something on XX if these are meant to be treated the same. We can then think of a "thing" defined on YY to be a collection of "things" defined on each local part of XX. Then, since we are moving from a local resolution of XX to the whole thing, this "descending" needs to tell us how all the local "things" defined over XX come together into a globally defined "thing" over all of XX. Which is why the transition functions are needed! This is also why a bundle might be "locally trivial"- we can first define trivial bundles over each open set of consideration in our open interval YY, and collect them together. Then, we "descend" this collection of trivial bundles onto XX, giving us a locally trivial bundle in the process!

view this post on Zulip John Onstead (Jan 21 2025 at 21:48):

John Baez said:

People call this case 'Galois descent', and it has a special flavor because it becomes connected to Galois theory and something called Galois cohomology. However, it was easiest for me to understand this stuff when I realized it was 'just' an example of the general subject of descent.

This algebraic example is very interesting, it shows the diversity of what "descent" does across math. I think it shows that descent isn't all about locality- but thanks to the above example, I now understand at least some of the times in which it would be about locality (when descending from something defined on a locally resolved version of the object to the object itself).

John Baez said:

to an n-categorical setting (like descent for stacks).

I hope to eventually get there!

view this post on Zulip John Onstead (Jan 21 2025 at 21:57):

I want to use what I learned to see if I can understand where the cocycle condition comes from in defining transition functions for an atlas of a topological manifold. I think we start the same way: we have a topological manifold MM and an open cover YMY \to M. An atlas is given by specifying a homeomorphism to Euclidean space for each open set of MM (or at least those in YY). So maybe the "things" we are dealing with are morphisms from Euclidean spaces (IE, the comma category between the Euclidean spaces in Top and the object of consideration). If we ensure that on each open of YY the morphisms from Euclidean space are homeomorphisms, then we do have an appropriate collection of "things" defined for each open subset of MM. However, I'm a little confused on the next step. We would somehow need a single morphism from some Euclidean space into YY (representing the collection of all open set homeomorphisms) that we can "descend" onto MM, but that's not possible since there cannot be a single domain for such a morphism. For instance, one open set might have a homeomorphism to R\mathbb{R}, but another to R2\mathbb{R}^2. So where is my reasoning going wrong here?

view this post on Zulip John Baez (Jan 21 2025 at 23:26):

I like what you're saying.

John Onstead said:

So for instance, if you had a morphism "over" XX you can pull back along pp to get one over YY.

I'd prefer to start by talking about an object over XX: that's what we call an object equipped with a morphism to XX. Perhaps this is what you are talking about, just using nonstandard terminology?

So in this case we are dealing with morphisms over objects, so the appropriate fibration is C/()C/(-), and this pseudofunctor sends every morphism p:YXp: Y \to X to the pullback functor pb:C/XC/Ypb: C/X \to C/Y. Descent data is then extra structure on objects of C/YC/Y so that the resulting category has a forgetful functor back to C/XC/X (that I guess constitutes an equivalence).

Yes, all this is a classic example of descent theory, and one seeks an equivalence. In the nicest cases that pullback functor is part of a monadic adunction, and then we can win this game.

John Baez said:

Then the descent question is: what extra data do we need to give a principal GG-bundle over YY (wlog trivial) for it to descend to a principal GG-bundle over XX? And the answer is: transition functions

Ah! I think I see now how descent can help with locality. We can think of YY as being a "local resolution" of XX, something that works like XX but with its local parts more specified. So when we have something defined on YY, it should also define something on XX if these are meant to be treated the same. We can then think of a "thing" defined on YY to be a collection of "things" defined on each local part of XX. Then, since we are moving from a local resolution of XX to the whole thing, this "descending" needs to tell us how all the local "things" defined over XX come together into a globally defined "thing" over all of XX. Which is why the transition functions are needed! This is also why a bundle might be "locally trivial"- we can first define trivial bundles over each open set of consideration in our open interval YY, and collect them together. Then, we "descend" this collection of trivial bundles onto XX, giving us a locally trivial bundle in the process!

Yes, great description. In its most general form descent need not be related to 'locality', but in many of the classic examples, like this one, it does. Even the very word 'descent' brings up spatial images in my mind: the descent data is like the glue that lets me take an entity like a bundle or sheaf defined over a cover of XX and 'push it down' or 'glue the pieces together' to form an entity defined over XX.

view this post on Zulip John Onstead (Jan 22 2025 at 12:18):

John Baez said:

Yes, great description. In its most general form descent need not be related to 'locality', but in many of the classic examples, like this one, it does. Even the very word 'descent' brings up spatial images in my mind: the descent data is like the glue that lets me take an entity like a bundle or sheaf defined over a cover of XX and 'push it down' or 'glue the pieces together' to form an entity defined over XX.

I'm glad I'm finally starting to understand this! Thanks for your help!

view this post on Zulip John Onstead (Jan 22 2025 at 12:20):

Ok, let me try to tie everything together. A "category of descent data" is given as a hom object, which above was mentioned to be in the category of fibrations over CC. I personally prefer working instead in contravariant pseudofunctors to Cat, and the two are equivalent anyways. So in the category [Cop,Cat][C^{op}, \mathrm{Cat}], there are three objects (contravariant pseudofunctors) to note. The first is what I will call SS- this is the main functor that sends an object to the "stuff" over it (bundles, or what have you) and morphisms to the pullback operation (so for instance the functor that sends bundles to the pullback bundles along some morphism). The next is what I will call ()/X(-)/X which sends an object to the category of morphisms from it into XX, kind of like a hom functor but more category-y. This is equivalent to the codomain fibration of C/XC/X by Grothendieck. The final is the cover hx()h_x(-) which- well, I'm not sure exactly what it does so I could be wrong about this. But in some sense it should send an object to the set of morphisms from it to XX that are in the designated cover. By Grothendieck this gives rise to the codomain fibration hxh_x detailed above.

view this post on Zulip John Onstead (Jan 22 2025 at 12:24):

Now we have the canonical inclusion i:hx()()/Xi: h_x(-) \to (-)/X and, taking this morphism with respect to SS, we have the classic descent scenario. Taking hom categories, we get Hom(i):Hom(()/X,S)Hom(hx(),S)\mathrm{Hom}(i): \mathrm{Hom}((-)/X, S) \to \mathrm{Hom}(h_x(-), S). As per usual, the latter is called the "descent object", in this case the "category of descent data". The former might be equivalent, at least in some sense, to S(X)S(X) itself (at least, if some sort of Yoneda-like result applies). From all this, it's my impression that "descent data" is then just a natural transformation from hx()h_x(-) to SS. I think I can try to justify this a bit. First, if something like Yoneda holds, then there's a natural transformation ()/Uhx()(-)/U \to h_x(-) for every morphism from UU to XX in the covering, which we can think of as a "part" of XX. Composing with some hx()Sh_x(-) \to S, we get a natural transformation ()/US(-)/U \to S.

Again, assuming something like Yoneda, this gives a single "stuff" over UU. For instance, if UU is an open cover of XX and we are working with bundles over XX, then this would be a trivial bundle over UU by itself that we intend to later glue with other bundles over other open sets in the cover to get a whole locally trivial bundle over XX. So given some hx()Sh_x(-) \to S and considering all maps from pseudofunctors of form ()/U(-)/U to hx()h_x(-) seems to give a "decomposition" of an element of the category of descent data into a bit of "stuff" for each part of XX given by the covering over XX. My guess is that somewhere, somehow, in all this the transition functions and cocycle conditions can be found. But I could be completely off base with all this!

view this post on Zulip John Onstead (Jan 23 2025 at 12:51):

I will be the first to admit that I blab too much- once I start writing sometimes I just can't stop! But I realize that it's unfair to readers, so I'll start doing things in a more condensed way so as to be more convenient to read. With that said, here are condensed versions of what I'm currently trying to think about:

  1. Do Cat-valued pseudofunctors of the form ()/X(-)/X that send an object to the comma category of morphisms from it to XX (and whose fibration is C/XC/X via Grothendieck) satisfy a Yoneda property? That is, will Hom(()/X,S)S(X)\mathrm{Hom}((-)/X, S) \cong S(X) always be true (where this hom is out of [Cop,Cat][C^{op}, \mathrm{Cat}])?
  2. How does one explicitly derive the transition functions, and what is the relation between transition functions and natural transformations of the form hx()Sh_x(-) \to S for some sieve/covering hx()h_x(-) and some general pseudofunctor into Cat SS (given the category of such natural transformations is itself the category of descent data)?
  3. As an illustrative example of the above, how can one derive the transition functions for a topological manifold atlas from descent?

view this post on Zulip Morgan Rogers (he/him) (Jan 23 2025 at 13:35):

John Onstead said:

I'll start doing things in a more condensed way so as to be more convenient to read

To be honest it's not the volume of text that is a problem for me personally, it's the volume per message, since the phone app version of Zulip only keeps track of unread messages. If you break down your posts into, say, a paragraph per message or so, I could read just a part of what you've said while still having a link back to read the rest later if I want to ;)

view this post on Zulip John Baez (Jan 23 2025 at 19:38):

On the other hand, there are other people here who have complained about people who write lots of short messages. I don't care either way, personally. Clarity is important to me, though - so thanks for restating your questions, @John Onstead.

view this post on Zulip John Baez (Jan 23 2025 at 19:43):

I don't have the energy, knowledge and intelligence required to answer your current batch of questions, @John Onstead . But I want to point out that in an earlier discussion we derived the cocycle condition

gijgjk=gik g_{ij} g_{jk} = g_{ik}

from the idea of [[monadic descent]]. This seems to be somewhat different than what you're trying now.

I like the monadic descent because it explains why the above equation looks like the key equation in the definition of "action of a monoid", namely

α(m)α(n)=α(mn) \alpha(m) \alpha(n) = \alpha(m n)

where α:MEnd(S)\alpha: M \to \mathrm{End}(S) is the map we get when we have a monoid MM acting on a set SS. It turns out that both are special cases of the key equation in the definition of "algebra of a monad"!

Another reason that earlier discussion appealed to me is that it clarified the simplicial aspects of descent theory. The equation I've written down twice above looks like a triangle when you draw it as a diagram. When we go further and write down the cocycle condition for a 2-bundle defined using transition functors, it looks like a tetrahedron, and so on.

The reason is that the free monoidal category on a monoid object is Δa\Delta_a, the augmented simplex category.

view this post on Zulip John Onstead (Jan 23 2025 at 20:14):

Morgan Rogers (he/him) said:

To be honest it's not the volume of text that is a problem for me personally, it's the volume per message, since the phone app version of Zulip only keeps track of unread messages. If you break down your posts into, say, a paragraph per message or so, I could read just a part of what you've said while still having a link back to read the rest later if I want to ;)

Thanks for the tip!

John Baez said:

Clarity is important to me, though - so thanks for restating your questions,

Yes, I will try to be more concise with the questions!

view this post on Zulip John Onstead (Jan 23 2025 at 20:16):

If I want to blab for a long time, I will do so on journal posts, like the Abstract Quantum Mechanics one (and a future one I also have planned). But when asking questions like here I will hope to keep things more condensed.

view this post on Zulip John Onstead (Jan 23 2025 at 20:20):

John Baez said:

from the idea of [[monadic descent]]. This seems to be somewhat different than what you're trying now.

And I still think that's quite interesting! I just want to relate this monadic approach we've covered to my new understanding of descent in terms of descent objects. Maybe the best way to approach this problem is to review the proof of the monadic descent. They probably would have to define both the descent category and how the monadic category contains the same data as the descent category there. I think it's called the Benabou-Rouband theorem, I'll go check it out!

view this post on Zulip John Onstead (Jan 24 2025 at 09:25):

John Onstead said:

  1. Do Cat-valued pseudofunctors of the form ()/X(-)/X that send an object to the comma category of morphisms from it to XX (and whose fibration is C/XC/X via Grothendieck) satisfy a Yoneda property? That is, will Hom(()/X,S)S(X)\mathrm{Hom}((-)/X, S) \cong S(X) always be true (where this hom is out of [Cop,Cat][C^{op}, \mathrm{Cat}])?

I went to answer this myself and found the answer is obvious in hindsight: it's "no" simply by, ironically, the Yoneda lemma, which guarantees the uniqueness of representing objects. Given a 1-category (as a locally discrete 2-category), its representables in [Cop,Cat][C^{op}, \mathrm{Cat}] are the usual hom functors composed with the inclusion of Set into Cat. The 2-Yoneda lemma then states that the hom functor for some object AA represents the evaluation map evA:[Cop,Cat]Catev_A: [C^{op}, \mathrm{Cat}] \to \mathrm{Cat} and again by the Yoneda lemma any representing object is unique up to isomorphism. My question was basically asking if the same kind of representability applied for ()/A(-)/A. But if it did, then uniqueness would guarantee an isomorphism ()/AHom(,A)(-)/A \cong \mathrm{Hom}(-, A). But this is false since ()/A(-)/A lands outside the image of Set in Cat. Thus ()/A(-)/A does not satisfy the Yoneda property!

view this post on Zulip John Onstead (Jan 24 2025 at 09:29):

But then I realized that this question was itself based on faulty premises! In my blabbing above, I used ()/A(-)/A as the pseudofunctor that became C/AC/A under the Grothendieck construction. However, I was wrong! It turns out that the representable Hom(,A)\mathrm{Hom}(-, A) is actually the pseudofunctor I needed (embarassingly, it's the first example under the nlab page). And obviously this functor satisfies the Yoneda property, so at the very least the rest of my blabbing is still correct (at least I hope!)

view this post on Zulip John Onstead (Jan 24 2025 at 19:25):

Here's a simple question that for the life of me I can't figure out the answer to due to just how confusing and self-contradictory the nlab is on the matter. In general, an abstract cover in a "covering" does not act like a true open cover, but will when passing into the category of sheaves. But my question is precisely how this is. Generally, a "covering" is an epimorphism- therefore, a site should induce a system of "local epimorphisms" onto the presheaf category that become epimorphisms under sheafification. But if the covers become epimorphisms under sheafification, then why do I find it mentioned that sieves, which represent covers, actually correspond to isomorphisms instead of epimorphisms under sheafifcation? In other words, I want a precise characterization of the local epimorphisms and isomorphisms for sheafification!

view this post on Zulip Mike Shulman (Jan 24 2025 at 19:54):

Sieves are monomorphisms, and sheafification preserves monos. So a mono is a local epimorphism if and only if it is a local isomorphism.

view this post on Zulip Kevin Carlson (Jan 24 2025 at 21:22):

As a meta-remark, if I were the author of those nLab pages, "confusing" would be useful feedback but I would be offended at "self-contradictory", which comes across as a claim that something is objectively wrong (which is not all that likely, and probably shown not to be the case by Mike.) I think in your idiolect "self-contradictory" is just an abbreviation for "apparently self-contradictory in my current state of mind" but it's probably worthwhile to say the longer version if you don't want to annoy people.

view this post on Zulip Mike Shulman (Jan 24 2025 at 22:16):

Well, it's not at all unheard-of for the nLab to be literally self-contradictory, especially since different parts of it were written by different people at different times. But if you do think you've found an inconsistency, pointing to specific sentences on specific pages that seem to contradict each other is helpful.

view this post on Zulip John Onstead (Jan 24 2025 at 23:41):

Kevin Carlson said:

I think in your idiolect "self-contradictory" is just an abbreviation for "apparently self-contradictory in my current state of mind" but it's probably worthwhile to say the longer version if you don't want to annoy people.

Right, none of my hyperbole is meant to be taken literally. But I'll try to make it more explicit from now on.

view this post on Zulip John Onstead (Jan 24 2025 at 23:41):

Mike Shulman said:

Sieves are monomorphisms, and sheafification preserves monos. So a mono is a local epimorphism if and only if it is a local isomorphism.

Ah thanks! Then what would be an example of a local epimorphism that is not a local isomorphism under sheafification?

view this post on Zulip Kevin Carlson (Jan 25 2025 at 01:54):

Any epi already between sheaves that isn’t an iso would work, for instance, any epi between sets for the trivial topology on the site given by the terminal category.

view this post on Zulip John Onstead (Jan 25 2025 at 02:08):

I see, thanks!

view this post on Zulip Mike Shulman (Jan 25 2025 at 02:08):

Less trivially, I would say the paradigmatic example is that for a covering family {yix}i\{ y_i \to x\}_i in any site, the corresponding map iyix\coprod_i よy_i \to よx is a local epimorphism but not a local isomorphism. The image of this map is a sieve that is both a local epimorphism and a local isomorphism.

view this post on Zulip Kevin Carlson (Jan 25 2025 at 02:44):

I’m a bit confused, if it’s the trivial cover then that’s also a local isomorphism, right? It’s not obvious to me that there couldn’t be other exceptions.

view this post on Zulip John Onstead (Jan 25 2025 at 03:03):

Mike Shulman said:

Less trivially, I would say the paradigmatic example is that for a covering family {yix}i\{ y_i \to x\}_i in any site, the corresponding map iyix\coprod_i よy_i \to よx is a local epimorphism but not a local isomorphism. The image of this map is a sieve that is both a local epimorphism and a local isomorphism.

Ohhh I think that's what was throwing me off... I was confusing the notion of a "cover" as a sieve representing a covering family vs as a map from the disjoint union of domains of the covering family. In Top a "cover" usually refers to the latter and so that was the running example of "cover" I had in my head! But now I see these are not always the same thing.

view this post on Zulip Mike Shulman (Jan 25 2025 at 17:04):

Kevin Carlson said:

I’m a bit confused, if it’s the trivial cover then that’s also a local isomorphism, right? It’s not obvious to me that there couldn’t be other exceptions.

Yes, by "not a local isomorphism" I meant "not necessarily a local isomorphism", just like a "nonabelian group" is really "not necessarily abelian". (-:O

view this post on Zulip Kevin Carlson (Jan 25 2025 at 19:48):

Just like that…:smiling_face:

view this post on Zulip John Onstead (Jan 27 2025 at 12:17):

Not a question, just want to summarize some of the thoughts I had over the weekend. I've thought about descent and locality a lot more, and I think I've figured out most of how it works. It all centers around the comparison function/functor S(X)Hom(hX(),S)S(X) \to \mathrm{Hom}(h_X(-), S). If we think of S(X)S(X) as the set/category of global data, then we can think of Hom(hX(),S)\mathrm{Hom}(h_X(-), S) as a set of collections of local data (data for each part of XX) along with descent data (the gluing instructions for when parts might overlap). The comparison map can then be thought of as sending a global piece of data to its "local resolution"- if this comparison map is a monomorphism, then every piece of global data has a unique local resolution (satisfying the locality/uniqueness condition).

view this post on Zulip John Onstead (Jan 27 2025 at 12:20):

If this map is furthermore a bijection in "effective descent", then there is an inverse map Hom(hX(),S)S(X)\mathrm{Hom}(h_X(-), S) \to S(X) that I call the "gluing map" because it sends a bunch of local data to its gluing. The existence of this map ensures that for every collection of local data, there exists a global gluing, and thus this satisfies a gluing/existence condition. These are very reminiscent of the sheaf conditions, and they are exactly that! Since a sheaf is precisely local with respect to the sieve monomorphisms, this means that for all covers hXh_X the resulting comparison map is an isomorphism. In other words, a sheaf is a presheaf such that effective descent is satisfied for all covers in the coverage!

view this post on Zulip John Onstead (Jan 27 2025 at 12:21):

There's still a lot to understand! I'll probably be back later today to ask some more questions. But I wanted to share the above to give a baseline of where I am understanding-wise and how I specifically am interpreting the involved mathematical objects.

view this post on Zulip John Baez (Jan 27 2025 at 17:19):

By the way, since you didn't say what hXh_X is, I stopped paying attention. Perhaps I should have gone back and looked to see if hXh_X was defined somewhere, but I often don't have the energy to do this when people use notation that's not "locally defined". I'm saying this not so much to scold you as to point out that this is how I work... and maybe some other people too?

Looking back I see the notation hxh_x getting introduced here:

John Onstead said:

Ok, let me try to tie everything together. A "category of descent data" is given as a hom object, which above was mentioned to be in the category of fibrations over CC. I personally prefer working instead in contravariant pseudofunctors to Cat, and the two are equivalent anyways. So in the category [Cop,Cat][C^{op}, \mathrm{Cat}], there are three objects (contravariant pseudofunctors) to note. The first is what I will call SS- this is the main functor that sends an object to the "stuff" over it (bundles, or what have you) and morphisms to the pullback operation (so for instance the functor that sends bundles to the pullback bundles along some morphism). The next is what I will call ()/X(-)/X which sends an object to the category of morphisms from it into XX, kind of like a hom functor but more category-y. This is equivalent to the codomain fibration of C/XC/X by Grothendieck. The final is the cover hx()h_x(-) which- well, I'm not sure exactly what it does so I could be wrong about this. But in some sense it should send an object to the set of morphisms from it to XX that are in the designated cover. By Grothendieck this gives rise to the codomain fibration hxh_x detailed above.

However, I don't understand this. I guess at the end it's saying I should go back further to figure out what hxh_x is. But I won't. I guess the problem is that I don't understand the overall picture well enough.

view this post on Zulip John Onstead (Jan 27 2025 at 19:35):

John Baez said:

However, I don't understand this. I guess at the end it's saying I should go back further to figure out what hx​ is. But I won't. I guess the problem is that I don't understand the overall picture well enough.

Right, my apologies for not making that clear. hXh_X is simply the sieve corresponding to some cover over XX, viewed as an object of the presheaf category (or as a fibration via Grothendieck)

view this post on Zulip John Onstead (Jan 27 2025 at 19:36):

Ok, here's my first question based on the above. The gluing map Hom(hX(),S)S(X)\mathrm{Hom}(h_X(-), S) \to S(X) seems to me to act a lot like a functor of form col:[J,C]Ccol: [J, C] \to C that sends a diagram in CC to its colimit in CC. The objects/elements of both Hom(hX(),S)\mathrm{Hom}(h_X(-), S) and [J,C][J, C] are very similar: they can both be thought of as collections of "local parts" of some other object along with functions telling how to glue these parts over overlaps. In Hom(hX(),S)\mathrm{Hom}(h_X(-), S) this is given by "stuff over" each local part of some object XX together with descent data, the transition functions, that glue together into a global "stuff over" XX. In [J,C][J, C] it's given by a collection of objects in CC along with morphisms between them that guide the colimit's gluing process, which results in another object in CC.

view this post on Zulip John Onstead (Jan 27 2025 at 19:37):

There's even a way that Hom(hX(),S)\mathrm{Hom}(h_X(-), S) acts like a functor category via the Grothendieck construction. By the equivalence of categories between indexed and fibered categories, this category of natural transformations can be reframed as a category of fibered functors from hXh_X to SS, both as fibered categories.

view this post on Zulip John Onstead (Jan 27 2025 at 19:38):

My question is: is there any way to make this connection concrete? Maybe as an example, consider some sort of bundle over XX. A descent data is then a collection consisting of a bundle over each local part of XX, together with transition functions between them. Is there any way to interpret this descent data as an actual diagram in some category such that the colimit of the diagram is precisely the descent gluing of this descent data? I know there's a way to view a manifold as a colimit over its atlas, maybe something similar applies in the case of bundles.

view this post on Zulip Mike Shulman (Jan 28 2025 at 02:13):

I think hXh_X is confusing notation for that, since it looks like an object canonically associated to XX, whereas you're taking it to be something associated to a chosen cover of XX.

view this post on Zulip Mike Shulman (Jan 28 2025 at 02:17):

Anyway, your intuition is good, but is leading you into somewhat exotic worlds. For any site CC, there is an associated VV such that VV-enriched categories are closely related to sheaves on CC. Specifically, the topos of sheaves on CC embeds into the category of VV-enriched categories in such a way that gluings of descent data are indeed precisely a certain kind of VV-weighted colimit.

view this post on Zulip Mike Shulman (Jan 28 2025 at 02:18):

The tricky bit is that VV is not a monoidal category but a bicategory (regarded as the horizontal categorification of a monoidal category), or perhaps a double category; so you have to define and study categories enriched in those things.

view this post on Zulip Mike Shulman (Jan 28 2025 at 02:25):

The original reference for this is Walters' Sheaves and Cauchy-complete categories and Sheaves on sites as Cauchy-complete categories. A more modern point of view using double categories is buried under mountains of notation in my own Exact completions and small sheaves.

view this post on Zulip John Onstead (Jan 28 2025 at 04:06):

Mike Shulman said:

I think hXh_X is confusing notation for that, since it looks like an object canonically associated to XX, whereas you're taking it to be something associated to a chosen cover of XX.

Now that you mention it, I just realized hXh_X looks like notation that some authors use to denote the hom functor of XX. So I can see how it might have been confusing! Maybe I should have used UxU_x or something similar.

view this post on Zulip John Onstead (Jan 28 2025 at 04:14):

Mike Shulman said:

Anyway, your intuition is good, but is leading you into somewhat exotic worlds. For any site CC, there is an associated VV such that VV-enriched categories are closely related to sheaves on CC. Specifically, the topos of sheaves on CC embeds into the category of VV-enriched categories in such a way that gluings of descent data are indeed precisely a certain kind of VV-weighted colimit.

That's a really interesting an unexpected connection! I'll certainly look into it, might take me a bit to understand what is going on. At first pass, I'm already impressed by the fact this process can be done for any site, which is a very general situation.

view this post on Zulip John Onstead (Jan 30 2025 at 12:12):

Mike Shulman said:

The original reference for this is Walters' Sheaves and Cauchy-complete categories and Sheaves on sites as Cauchy-complete categories. A more modern point of view using double categories is buried under mountains of notation in my own Exact completions and small sheaves.

I've been trying to go over all this on and off for a while now but it's certainly difficult to get through! I'll keep trying to get through it, but I'll do it in parallel to trying to answer more of my questions here.

view this post on Zulip John Onstead (Jan 30 2025 at 12:17):

Given some covering family UiX{U_i \to X}, there's a category UXU_X, the full subcategory of C/XC/X on morphisms that factor through the cover (as defined here). This is the Grothendieck fibration corresponding to the sieve of the cover. A fibered functor UXSU_X \to S for some sheaf SS corresponds to descent data as we covered. But I want to unpack this a bit and try to figure out what this fibered functor is actually doing. That is, how does it act on objects and morphisms.

view this post on Zulip John Onstead (Jan 30 2025 at 12:20):

I like running examples, so let's use one here. Let SS be the sheaf on Open(X)\mathrm{Open}(X) that sends an open of a topological space XX to vector bundles on it. Let's focus on the object XX (viewed as the terminal object of Open(X)\mathrm{Open}(X)) and some UXU_X that corresponds to an open cover of XX. Now, the fibration SS over Open(X)\mathrm{Open}(X) is the category of all vector bundles on any open subset of XX, and so it importantly includes all instances of local data (vector bundles over some subset in UXU_X) as well as all the global vector bundles defined on all of XX (the objects of the fiber of SS over the object XX). Now, let's say we have some locally trivial vector bundle VXV \to X. This can be given by descent data, which comes in the form of a fibered functor UXSU_X \to S. What exactly is this functor doing? Is it sending an open set of XX (viewed as an object of UXU_X) to the trivial vector bundle over it that you would get by restricting VV to that open set? And how does the functor act on morphisms, and is there any connection between morphisms in the image of the functor and transition functions? Thanks!

view this post on Zulip Mike Shulman (Jan 30 2025 at 17:32):

You'll probably have an easier time if you start with an example of a sheaf of sets, like the sheaf of sections of some fixed bundle, rather than a sheaf of categories.

view this post on Zulip John Onstead (Jan 30 2025 at 19:33):

Hmm, I'll have to think about that a bit more. It seems that for a Set-valued sheaf, one would need to consider functors between the category of elements of UXU_X and the category of elements of SS.

view this post on Zulip Mike Shulman (Jan 30 2025 at 19:54):

Yes.

view this post on Zulip John Onstead (Jan 30 2025 at 20:40):

Ok, so let me first try to figure out what Elem(UX)\mathrm{Elem}(U_X) is. It's a subcategory of the slice category of XX, but since XX is the terminal object, this means it's just a sub-poset of Open(X)\mathrm{Open}(X). So given some cover of XX, it's the sub-poset of the category of opens on all the open subsets in that cover.

Now, the category of elements of sections of some bundle (for instance, real-valued continuous functions) would have, as objects, all local sections for any open of XX (along with, of course, the global sections in the special case of the fiber over XX itself). The morphisms seem to be restrictions- for instance, a morphism from a global section to a local section corresponds to that local section being some restriction of that global section.

view this post on Zulip John Onstead (Jan 30 2025 at 20:44):

So a fibered functor between them would assign an open to some local section over it. I'm not sure about morphisms though.

view this post on Zulip John Onstead (Jan 30 2025 at 20:54):

Ok, here's my problem: the morphisms in a subcategory of opens are inclusions, while the morphisms in the category of elements of SS are restrictions. So unless I made a mistake and swapped arrows somewhere, there cannot be a covariant (nontrivial) functor between these two categories!

view this post on Zulip John Onstead (Jan 30 2025 at 21:14):

Ok, I checked again and I think I did get my arrows backwards. The sieve is a subpresheaf of Hom(,X)\mathrm{Hom}(-, X), so let's say there's an inclusion i:ABi: A \to B. The function Hom(i,X):Hom(B,X)Hom(A,X)\mathrm{Hom}(i, X): \mathrm{Hom}(B, X) \to \mathrm{Hom}(A, X) sends the inclusion of BB into XX to the inclusion of AA into XX. So it should be that the category of elements of UXU_X is actually a sub-poset of Open(X)op\mathrm{Open}(X)^{op}! (I'm not sure how this is consistent with the observation that the fibration of UXU_X be the subcategory of C/XC/X however, so something still isn't quite adding up!)

view this post on Zulip John Onstead (Jan 30 2025 at 21:27):

But in any case, it's now clear what a functor between these two would do. It sends an open to a local section over it, and it sends a "restriction" of an open to some other open to the proper restriction of the local section. Not too hard to understand!
What I don't understand is the connection to descent. Sure, descent data does contain a selection of local data, one for each open of XX, like what this functor is doing. But it also includes the transition functions, which are completely absent in this scenario.

view this post on Zulip John Onstead (Jan 30 2025 at 21:33):

Ok, so I showed my work and came to an answer. Could someone provide the correct answer to the question "What does a functor Elem(UX)Elem(S)\mathrm{Elem}(U_X) \to \mathrm{Elem}(S) do?" That way I can compare what I wrote down with the correct answer to see if I got it right, and if not, I can try to work out where I went wrong. Thanks!

view this post on Zulip Mike Shulman (Jan 30 2025 at 23:11):

There are two different "categories of elements" of a functor F:CopSetF:C^{\rm op}\to Set. One of them is a fibration over CC, the other is an opfibration over CopC^{\rm op}. You're looking at the second, but you want to be looking at the first.

view this post on Zulip Mike Shulman (Jan 30 2025 at 23:12):

The transition functions are encoded in the morphisms of these categories of elements, and the corresponding action of the functor out of UXU_X on morphisms.

view this post on Zulip John Onstead (Jan 30 2025 at 23:35):

Mike Shulman said:

There are two different "categories of elements" of a functor F:CopSetF:C^{\rm op}\to Set. One of them is a fibration over CC, the other is an opfibration over CopC^{\rm op}. You're looking at the second, but you want to be looking at the first.

Hmm, maybe this was what was confusing me so much! I'll go back to the drawing board and see what I can do.

view this post on Zulip John Onstead (Jan 31 2025 at 02:34):

Ok, I think I see the problem. A covariant functor CSetC \to \mathrm{Set} induces a discrete opfibration, its usual category of elements. What I was doing was treating presheaves as covariant functors on CopC^{op}. But you can also consider discrete fibrations of contravariant functors on CC that are not equivalent to the discrete opfibration one gets by considering contravariant functors as covariant functors on CopC^{op}. These "categories of elements" have the same objects, but a morphism exists from one element to another aba \to b when bb is mapped to aa by some function in the image of the contravariant functor.

view this post on Zulip John Onstead (Jan 31 2025 at 02:34):

So redoing my analysis. First, consider Elem(UX)\mathrm{Elem}(U_X) with open sets in the cover as objects. The morphisms in this category map an open inclusion AXA \to X to an open inclusion BXB \to X such that AA has an inclusion into BB. So it basically does indeed act as a subcategory of Open(X)\mathrm{Open}(X)! Now for trying to figure out Elem(S)\mathrm{Elem}(S). Again, the objects are all local sections of the bundle over XX. If local section aa is a restriction of bb, then there will exist a morphism from aa to bb in this category. Basically, this morphism says "aa is a restriction of bb".

view this post on Zulip John Onstead (Jan 31 2025 at 02:35):

Then what is a functor between these categories? Again, it's a map assigning an open to some local section over it. On morphisms, it assigns the inclusion of one open set into another ABA \to B to the recognition that some local section on AA is a restriction of some local section on BB. So basically this functor is a way to assign to every open set a local section on it, and gives information about which of those local sections are restrictions of which other ones.

view this post on Zulip John Onstead (Jan 31 2025 at 02:51):

Notably, the functoriality restricts the choices of assignment of local section to each open set. If I choose some local section over BB, then I better be sure that the local section I assign to AA is a restriction of the one I assigned to BB. In other words, any choice I make for a local section on BB determines my choice for any open with an inclusion into BB in the covering family. This reasoning gets interesting when considering XX as the terminal object. This means that every choice of where to send XX (IE, every choice of global section) automatically determines where all other open sets in the covering family are sent (by restriction). Thus, each choice of global section on XX corresponds to some functor between these categories of elements. One hopes this assignment is the same as the descent comparison S(X)Hom(UX,S)S(X) \to \mathrm{Hom}(U_X, S)!

view this post on Zulip Mike Shulman (Jan 31 2025 at 03:11):

Yep!

view this post on Zulip John Onstead (Jan 31 2025 at 12:33):

Mike Shulman said:

Yep!

Great, this is slowly making more sense to me!

view this post on Zulip John Onstead (Jan 31 2025 at 12:35):

Mike Shulman said:

The transition functions are encoded in the morphisms of these categories of elements, and the corresponding action of the functor out of UXU_X on morphisms.

I want to understand this a bit better. I know a fibered functor of form F:Elem(UX)Elem(S)F: \mathrm{Elem}(U_X) \to \mathrm{Elem}(S) is an assignment of a local section to each open that is compatible on overlaps. Let's say the open AA is an overlap (perhaps the intersection) of two other opens, BB and CC. This creates a span of form BACB \leftarrow A \to C in the category of opens (or in the subcategory of opens in the covering we are considering). The property of the functor as it acts on this span then requires the data assigned to AA be a restriction of the data assigned to both BB and CC, automatically ensuring the data assigned to both BB and CC agrees on any overlap. So there doesn't need to be functions at all to specify how to go between the two restrictions to the overlap since there's only one object AA, not a pair of isomorphic objects. In any case, isomorphisms don't even make sense in this context since we are working with posets, which are skeletal in nature. So what is it that I'm missing here?

view this post on Zulip Mike Shulman (Jan 31 2025 at 16:30):

Since we're talking about sheaves of sets, the compatibility condition is that the restrictions to the overlap are equal, not isomorphic, so that's exactly right.

view this post on Zulip Mike Shulman (Jan 31 2025 at 16:31):

(Note though that Elem(S) is not generally a poset, and Elem(U_X) may not be a poset for a general site either.)

view this post on Zulip Mike Shulman (Jan 31 2025 at 16:32):

If we were talking about sheaves of categories or groupoids, the isomorphisms would come from the pseudofunctoriality of F.

view this post on Zulip John Onstead (Jan 31 2025 at 21:55):

Mike Shulman said:

If we were talking about sheaves of categories or groupoids, the isomorphisms would come from the pseudofunctoriality of F.

Just to clarify- by FF you mean the sheaf itself, that is the pseudofunctor CopCatC^{op} \to \mathrm{Cat}? (I called this SS above). It wouldn't be the fibered functor between fibered categories, since the fibered category for a pseudofunctor from a 1-category into the category of 1-categories is also a 1-category (and there's only strict functors between 1-categories).

view this post on Zulip John Onstead (Jan 31 2025 at 22:02):

Also, I'm interested in trying to apply this knowledge back to the articles mentioned above where sheaves can be thought of as enriched categories. There, given a site (C,J)(C, J), a sheaf is a Rel(C,J)\mathrm{Rel}(C,J)-enriched category (with that being a bicategory rather than a "mere" monoidal category). The interesting connection is that the objects of the sheaf as an enriched category would be the same exact objects as the category of elements of the sheaf. So maybe there's some connection between the two! In that case, I'm wondering if it's possible to transpose this setup F:Elem(UX)Elem(S)F: \mathrm{Elem}(U_X) \to \mathrm{Elem}(S) to an enriched functor between the two Rel(C,J)\mathrm{Rel}(C,J)-enriched categories corresponding to UXU_X and SS. The paper either didn't mention trying something like this or I wasn't able to pick up on it, but if this connection exists I think it can help me to better understand what the paper is trying to do!

view this post on Zulip John Onstead (Jan 31 2025 at 22:13):

Oh, I just realized that would only work if UXU_X is also a sheaf, otherwise it's not guaranteed to also be viewed as such an enriched category. Oh well. Though in the proof of Cauchy completeness, the author constructs an entity σi\sigma_i that he describes as a "compatible family of sections", which appears to be a similar kind of data. Maybe there's an enriched functorial way to view this data?

view this post on Zulip Mike Shulman (Jan 31 2025 at 22:48):

John Onstead said:

Mike Shulman said:

If we were talking about sheaves of categories or groupoids, the isomorphisms would come from the pseudofunctoriality of F.

Just to clarify- by FF you mean the sheaf itself, that is the pseudofunctor CopCatC^{op} \to \mathrm{Cat}? (I called this SS above). It wouldn't be the fibered functor between fibered categories, since the fibered category for a pseudofunctor from a 1-category into the category of 1-categories is also a 1-category (and there's only strict functors between 1-categories).

No, I meant the thing you called F. But "pseudofunctoriality" was the wrong word, I should have said "pseudonaturality", thinking of it in "indexed form" as a pseudonatural transformation betwen Cat-valued pseudofunctors. In the fibrational picture this corresponds to F not preserving chosen cartesian arrows, only cartesianness of arrows.

view this post on Zulip Mike Shulman (Jan 31 2025 at 22:52):

There is also a way to view pre sheaves (of categories) as enriched categories. The original paper is called variation through enrichment by Betti, Carboni, Street, and Walters, and I double-category-ized it in Enriched indexed categories.

view this post on Zulip John Onstead (Jan 31 2025 at 23:24):

Mike Shulman said:

There is also a way to view pre sheaves (of categories) as enriched categories. The original paper is called variation through enrichment by Betti, Carboni, Street, and Walters, and I double-category-ized it in Enriched indexed categories.

It looks like at the tail end of the paper they are able to connect it back to the other one. So that's good to know that presheaves and sheaves can be seen as compatible kinds of enriched category. Maybe then my original idea was possible, but I'll have to try and understand this better first!

view this post on Zulip John Onstead (Jan 31 2025 at 23:35):

As for "pseudonaturality", I still am not sure of what this is doing. Let's say you have some data AA defined on UiU_i and BB defined on UjU_j (so AA and BB are both objects of the fibered category Fib(S)\mathrm{Fib}(S) for some Cat-valued sheaf SS). Now, there's two ways to restrict this data to an intersection UiUjU_i \cap U_j. The first is the object AUiUjA|_{U_i \cap U_j} and the second is the object BUiUjB|_{U_i \cap U_j}. If both these objects are isomorphic (IE, given by the transition functions between them), then it means they both have a pair of morphisms in Fib(S)\mathrm{Fib}(S) to the objects AA and BB. But now let's say you have a functor F:Fib(UX)Fib(S)F: \mathrm{Fib}(U_X) \to \mathrm{Fib}(S). If F(Ui)=AF(U_i) = A and F(Uj)=BF(U_j) = B, this gives two possible choices of what F(UiUj)F(U_i \cap U_j) could be (either of the restrictions given above). So then, which is it? It can't be both, since a functor doesn't map objects "up to isomorphism class"- an object F(X)F(X) is defined to be in the image of FF up to strict equality, regardless of if the functor is a pseudofunctor or not. So what exactly is happening here?

view this post on Zulip Mike Shulman (Feb 01 2025 at 05:16):

It could be either one. The two choices give you isomorphic functors.

view this post on Zulip John Onstead (Feb 03 2025 at 12:23):

Mike Shulman said:

It could be either one. The two choices give you isomorphic functors.

That makes sense, but now another problem pops up: from this approach, the data of transition functions comes not from the functor FF itself, but from some natural isomorphism out of it. So my original question remains: given transition functions are part of the data for "descent data", if FF (by itself without any specified isomorphism) is "descent data", then it should be required for FF (again, by itself) to carry the data of the transition functions.

view this post on Zulip John Onstead (Feb 03 2025 at 12:26):

I did some searching online and I think I found an answer that makes some sense. First, let ui:UiXu_i: U_i \to X and uj:UjXu_j: U_j \to X be two morphisms in a cover of XX. Now, let's take the pullback of these two morphisms to get Ui×XUjU_i \times_X U_j, along with the usual two projections. This gives us two paths back to XX, uipiu_i \circ p_i and ujpju_j \circ p_j. Since these are both in the cover as it is closed under pullback, this gives two objects in Fib(UX)\mathrm{Fib}(U_X) with a canonical isomorphism between them. Then, given a functor F:Fib(UX)Fib(S)F: \mathrm{Fib}(U_X) \to \mathrm{Fib}(S) with F(ui)=AF(u_i) = A and F(uj)=BF(u_j) = B, the functor acts F(uipi)=AUi×XUjF(u_i \circ p_i) = A|_{U_i \times_X U_j} and F(ujpj)=BUi×XUjF(u_j \circ p_j) = B|_{U_i \times_X U_j}. The canonical isomorphism uipiujpju_i \circ p_i \cong u_j \circ p_j is then sent directly to the transition function as we want!

view this post on Zulip John Onstead (Feb 03 2025 at 12:27):

There's just one thing I'm still confused about. The pullback square is commutative up to equality, meaning that uipi=ujpju_i \circ p_i = u_j \circ p_j. Yet, somehow, in Fib(UX)\mathrm{Fib}(U_X), these two equal paths are "merely" isomorphic to one another? Isn't it impossible in any context to distinguish between two strictly equal things, or is there something I'm missing?

view this post on Zulip Mike Shulman (Feb 03 2025 at 16:13):

Yes, that's right: equal things stay equal. For that reason, I don't think the answer you gave makes sense (where did you find it?).

I don't understand what you object to about my answer. The isomorphism is an isomorphism in the codomain of FF, as it must be, and it is determined by FF, as it also must be.

view this post on Zulip John Baez (Feb 03 2025 at 16:27):

For at least a week I've been having trouble understanding this conversation. It seemed like John was trying to understand things like

1) vector bundles, where you can assemble a vector bundle over XX from trivial bundles over open sets UiU_i covering XX and isomorphisms gijg_{ij} between their restrictions to intersections UiUjU_i \cap U_j, obeying the 2-cocycle condition gijgjk=gikg_{ij} g_{jk} = g_{ik}

using the mathematical technology that works for

0) sections of a vector bundle, where you can assemble a section of a vector bundle over XX from sections over open sets UiU_i covering XX and equations between their restrictions to intersections UiUjU_i \cap U_j

In other words, he seemed to be trying to learn about stacks by studying sheaves. But stacks are categorified sheaves, so the isomorphisms in 1) reduce to mere equations in 0).

He seemed to be hoping that 'descent data' would show up in studying 0). But it only does so in a rather trivial way, which nobody calls descent data, because there's no data yet, just equations.

It's definitely worth comparing 0) and 1), because they're just the first two cases of a fascinating systematic story

0) sheaves
1) stacks
2) 2-stacks
3) 3-stacks

etc., which brings in higher and higher dimensional simplices in the Cech nerve of the covering, and thus higher and higher cocycle conditions.

But I keep getting the feeling that John is studying 0) and being annoyed that it's not working like 1).

view this post on Zulip John Baez (Feb 03 2025 at 16:28):

Mike already said this:

Mike Shulman said:

Since we're talking about sheaves of sets, the compatibility condition is that the restrictions to the overlap are equal, not isomorphic...

But it seemed to have little effect.

view this post on Zulip John Baez (Feb 03 2025 at 16:34):

I could be completely wrong, because John is doing everything in a way that I'm not used to, and I don't understand it at all. But he's definitely frustrated, so he must be doing something wrong.

view this post on Zulip John Onstead (Feb 03 2025 at 20:23):

Mike Shulman said:

Yes, that's right: equal things stay equal. For that reason, I don't think the answer you gave makes sense (where did you find it?).

I don't have the link, I think it was to a math exchange answer. If I remember correctly, the reason given (that I didn't find satisfying, hence my question here) is that objects in Fib(UX)\mathrm{Fib}(U_X) can come with factorization information, which is able to distinguish between the paths (since they are two different factorizations of the same morphism).

John Baez said:

But he's definitely frustrated, so he must be doing something wrong.

Certainly true!

John Baez said:

But I keep getting the feeling that John is studying 0) and being annoyed that it's not working like 1).

Right, that might have something to do with it. The situation seems simple in the strict set case, but I'm having troubles seeing how the transition functions emerge when moving up a level to the category case.

view this post on Zulip Mike Shulman (Feb 03 2025 at 20:28):

Do you understand how when you make pseudofunctors into fibrations, a pseudo natural transformation between two pseudofunctors corresponds to a cartesian-morphism-preserving functor between fibrations?

view this post on Zulip Mike Shulman (Feb 03 2025 at 20:28):

I.e. where the coherence isomorphisms of the pseudonatural transformation get "hidden" in the fibration picture?

view this post on Zulip Mike Shulman (Feb 03 2025 at 20:29):

Because I think that's really what's going on here.

view this post on Zulip John Onstead (Feb 03 2025 at 20:33):

Mike Shulman said:

Do you understand how when you make pseudofunctors into fibrations, a pseudo natural transformation between two pseudofunctors corresponds to a cartesian-morphism-preserving functor between fibrations?

Well, at least at a high level. The category Fib(C)\mathrm{Fib}(C) of fibrations over CC is equivalent to the category [Cop,Cat][C^{op}, \mathrm{Cat}]. So of course the usual notion of map between pseudofunctors, the pseudo natural transformations, will become the usual notion of map between fibered categories, which preserve cartesian morphisms.

Mike Shulman said:

I.e. where the coherence isomorphisms of the pseudonatural transformation get "hidden" in the fibration picture?

But I'm not sure what you mean by that.

view this post on Zulip John Onstead (Feb 03 2025 at 20:38):

John Baez said:

etc., which brings in higher and higher dimensional simplices in the Cech nerve of the covering, and thus higher and higher cocycle conditions.

Right, and maybe some insight from this perspective can help. So here's how I understand this so far. A sieve in a category of n-presheaves (a presheaf targeted in the category of n-categories) can be expanded as a colimit (via the co-Yoneda lemma) of an (n+2)-term truncation of a simplicial object in the category of n-presheaves UXcol(Δi)U_X \cong \mathrm{col}(\Delta_i) (with 0in+10 \le i \le n+1). By taking the functor Hom(,S)\mathrm{Hom}(-, S) with some presheaf SS out of the presheaf category into the category of n-categories, we get Hom(col(Δi),S)\mathrm{Hom}(\mathrm{col}(\Delta_i), S). But we can then employ a trick to "take out" the colimit of the hom, turning it into a limit lim(Hom(Δi,S))\mathrm{lim}(\mathrm{Hom}(\Delta_i, S)). Therefore, we can express the category of descent data as a limit of an n-truncation of a cosimplicial object in the category of n-categories! For instance, if we let n=0n=0 and consider Set-valued presheaves, we get a two term truncation of a cosimplicial object in Set, which is used to derive the usual equalizer condition of a sheaf.

view this post on Zulip Mike Shulman (Feb 03 2025 at 23:15):

I mean at a "low level". Suppose I give you a map between fibered categories and ask you to construct a pseudonatural transformation from it. Can you write down exactly where the pseudonaturality constraints of that pseudonatural transformation come from?

view this post on Zulip John Onstead (Feb 04 2025 at 02:08):

Mike Shulman said:

Suppose I give you a map between fibered categories and ask you to construct a pseudonatural transformation from it. Can you write down exactly where the pseudonaturality constraints of that pseudonatural transformation come from?

Well, as you mentioned above...

Mike Shulman said:

In the fibrational picture this corresponds to F not preserving chosen cartesian arrows, only cartesianness of arrows.

So it could come from cartesian arrows being preserved only "up to isomorphism" rather than on the nose by the functor. But I'm not too adept at cartesian morphisms, which is why I was focusing so much on what the functor is doing between the underlying categories. But maybe I was missing important details in that process!

view this post on Zulip Mike Shulman (Feb 04 2025 at 02:25):

Yes, I think that's where the answer to your question lies.

view this post on Zulip John Onstead (Feb 04 2025 at 12:13):

Mike Shulman said:

Yes, I think that's where the answer to your question lies.

Well, I did a little bit of looking into cartesian morphisms. Apparently, given a cartesian morphism f:ABf: A \to B in a fibered category F:ECF: E \to C, we call AA the "cartesian lift of BB along F(f)F(f)". In any case, given any other object AA' that does the cartesian lift thing in the same way, we have a canonical isomorphism AAA \cong A' by the fact that the cartesian morphisms satisfies a universal property.

view this post on Zulip John Onstead (Feb 04 2025 at 12:15):

Now, let's switch to the context of UXU_X and have some pullback Ui×XUjU_i \times_X U_j, we then have a morphism in UXU_X given by f:Ui×XUjUif: U_i \times_X U_j \to U_i. Now let's assume that this is a cartesian morphism (I don't know if it is. Please just go with me here). That means, given a fibered functor FF into SS, then F(f)F(f) is also a cartesian morphism. As mentioned, this only preserves the "cartesian lift" object up to isomorphism. So if F(Ui)=AF(U_i) = A and F(Uj)=BF(U_j) = B, and we let F(Ui×XUj)=AUi×XUjF(U_i \times_X U_j) = A|_{U_i \times_X U_j} (which is a "cartesian lift" in the cartesian morphism F(f)F(f)), then since BUi×XUjB|_{U_i \times_X U_j} also is a "cartesian lift" with respect to these same kind of morphisms, the universal property makes them isomorphic in some way.

view this post on Zulip John Onstead (Feb 04 2025 at 12:16):

It could be like how a functor F:CDF: C \to D that "preserves products" has an isomorphism F(A×B)F(A)×F(B)F(A \times B) \cong F(A) \times F(B).

view this post on Zulip Mike Shulman (Feb 04 2025 at 21:59):

Yep, that's right!

view this post on Zulip Mike Shulman (Feb 04 2025 at 22:00):

As for whether ff is a cartesian morphism, since UXU_X is a discrete fibration (set-valued), all its morphisms are cartesian.

view this post on Zulip John Onstead (Feb 04 2025 at 22:31):

Mike Shulman said:

Yep, that's right!

Thanks for the help, I'm glad I was able to figure it out!

Mike Shulman said:

As for whether ff is a cartesian morphism, since UXU_X is a discrete fibration (set-valued), all its morphisms are cartesian.

Ah, that's good to know!

view this post on Zulip John Onstead (Feb 04 2025 at 22:37):

Though if this is the case, I'd want to make sure that when we're talking about a functor "preserving" something (like a cartesian morphism), we mean to talk about a functor with extra (perhaps property-like) structure, not mere property. For instance, a product preserving functor F:CDF: C \to D is actually a functor equipped with the extra structure of a natural isomorphism between functors F()×F()F(×)F(-) \times F(-') \cong F(- \times -') in the category [C×C,D][C \times C, D], not the mere property that it does preserve products. With this extra structure, FF inherently contains the data of any isomorphism F(A)×F(B)F(A×B)F(A) \times F(B) \cong F(A \times B) via the components of this natural isomorphism. So there should be some equivalent "extra structure" for cartesian morphism preserving functors such that the induced isomorphisms are directly part of its data.

view this post on Zulip John Baez (Feb 04 2025 at 22:40):

No, a product-preserving functor is just a functor equipped with an extra property.

view this post on Zulip John Baez (Feb 04 2025 at 22:42):

Every functor FF comes with a god-given natural transformation F(A×B)F(A)×F(B)F(A \times B) \to F(A) \times F(B) (finding this natural transformation is an excellent exercise), and we say FF is product-preserving if it has the property that this natural transformation is a natural isomorphism.

view this post on Zulip John Baez (Feb 04 2025 at 22:44):

Similarly, for a functor to preserve limits or colimits of any sort is merely a property of that functor, because in each case there's a 'god-given' natural transformation which may have the property of being an isomorphism.

view this post on Zulip John Baez (Feb 04 2025 at 22:45):

We don't care about natural isomorphisms other than the god-given one, although in theory someone could study them and prove a theorem explaining why they're 'worse' than the god-given one.

view this post on Zulip John Onstead (Feb 04 2025 at 22:47):

John Baez said:

Similarly, for a functor to preserve limits or colimits of any sort is merely a property of that functor, because in each case there's a 'god-given' natural transformation which may have the property of being an isomorphism.

Mmm, I see- I didn't know about this kind of canonical transformation! Let me see if I can figure out how to find it...

view this post on Zulip John Onstead (Feb 04 2025 at 22:53):

Well certainly applying FF to the projection maps p1:A×BAp_1: A \times B \to A and p2:A×BBp_2: A \times B \to B will give a "cone" in DD, F(p1),F(p2):F(A×B)F(A),F(B)F(p_1),F(p_2): F(A \times B) \to F(A),F(B). By the universal property of the product, any "cone" of this form has a unique map to the universal such cone, the product cone F(A)×F(B)F(A) \times F(B).

view this post on Zulip John Onstead (Feb 04 2025 at 22:55):

The universal property also ensures commuting, so it does seem that the set of all such unique maps from F(A×B)F(A \times B) to F(A)×F(B)F(A) \times F(B) for each AA and BB are components that form a valid natural transformation.

view this post on Zulip John Baez (Feb 04 2025 at 22:59):

That's it, good! :thumbs_up:

We can go a bit further and prove this: any functor between cartesian categories is oplax monoidal in a canonical way. Similarly, any functor between cocartesian categories is lax monoidal in a canonical way.

You described the 'oplaxator' ϕA,B:F(A×B)F(A)×F(B)\phi_{A,B} : F(A \times B) \to F(A) \times F(B), and you can get the morphism ϕ:F(1)1\phi: F(1) \to 1 even more easily, and then check that these make the associativity hexagon and unitality squares commute.

view this post on Zulip John Onstead (Feb 04 2025 at 23:09):

John Baez said:

You described the 'oplaxator' ϕA,B:F(A×B)F(A)×F(B)\phi_{A,B} : F(A \times B) \to F(A) \times F(B), and you can get the morphism ϕ:F(1)1\phi: F(1) \to 1 even more easily, and then check that these make the associativity hexagon and unitality squares commute.

That's an interesting perspective! Plus, I really like the term "oplaxator"- it sounds like a sci fi concept (maybe I'm thinking of the Terminator?)
In any case, I think I'm finally satisfied with where transition functions come from. I'll take a break for now, but there's still much more to learn about descent!

view this post on Zulip John Baez (Feb 05 2025 at 00:12):

I think ϕ:F(1)1\phi: F(1) \to 1 deserves to be called the terminator.

view this post on Zulip John Onstead (Feb 05 2025 at 12:49):

I now want to understand the difference between the descent and sheaf perspectives on what it means for an object to be "locally probed" or "locally isomorphic" to another. To do this, let's work in Top\mathrm{Top}. Define (CartSp/Top)(\mathrm{CartSp} / \mathrm{Top}) to be the comma category codomain fibration over Top\mathrm{Top} where CartSp\mathrm{CartSp} is the forgetful functor from smooth cartesian spaces and smooth maps between them to topological spaces. So this is the category of every morphism from a smooth cartesian space to any other space. Now, fix an object XX and a cover of it, UXU_X. By our above discussion, there's then a fibered category Fib(UX)\mathrm{Fib}(U_X) and we can consider fibered functors of the form F:Fib(UX)(CartSp/Top)F: \mathrm{Fib}(U_X) \to (\mathrm{CartSp} / \mathrm{Top}).

view this post on Zulip John Onstead (Feb 05 2025 at 12:50):

These functors are an assignment, to each open in the cover of XX, a morphism from a smooth cartesian space into that open, that respects/agrees on overlaps. Now, what if some functor FF just so happened to land so that every open of XX in the cover was assigned an isomorphism from some smooth cartesian space? Essentially, this would be an assignment of an isomorphism from Euclidean space to each open in the cover that agrees on overlaps- which seems very manifold-y to me! So that's my question: what is the difference between such functors FF and smooth manifolds? And second, if there is in fact a connection, is there any way to tie this approach to considering smooth manifolds as smooth sets and hence as sheaves on the site of smooth cartesian spaces and smooth maps between them?

view this post on Zulip John Onstead (Feb 05 2025 at 21:27):

If it helps, I forgot to mention this earlier, but in this case the situation does not need to satisfy effective descent. That's because there doesn't need to be a global morphism from Euclidean space into a manifold, since that would defeat the purpose of a manifold being locally euclidean.
I'm extremely curious about what the precise connection between a bundle atlas and manifold atlas was so I'm really looking forward to sorting through this!

view this post on Zulip John Onstead (Feb 06 2025 at 12:32):

Hmm... I did a more thorough check of math exchange/overflow and some of the literature and (somewhat to my surprise) I couldn't find a direct answer there. So I'll try to make what I want to understand more concise here: yes or no (either one!), can a manifold atlas be given in terms of descent data in a similar way to a bundle atlas? Thanks!

view this post on Zulip John Baez (Feb 06 2025 at 19:29):

All I can say offhand is that it's an interesting question that's making my brain struggle.

view this post on Zulip Mike Shulman (Feb 06 2025 at 20:26):

I think so, if you're careful. The tricky bit is that while a bundle can be pulled back along any continuous map, a manifold structure can't. But it can be pulled back along open inclusions, which is all we need.

So let O\mathcal{O} be the category whose objects are topological spaces and whose morphisms are open inclusions. There's a pseudofunctor G:OopGpdG:\mathcal{O}^{\rm op} \to \rm Gpd sending any space XX to the groupoid whose objects are homeomorphisms XAX \cong A, where AA is some open subset of some Euclidean space, and whose morphisms are homeomorphisms (or diffeomorphisms, if you want smooth manifolds) AAA\cong A' that make the triangle commute. An open inclusion XYX\subseteq Y sends a homeomorphism YAY\cong A to the resulting homeomorphism XAXX\cong A|_X, where AXA|_X is the image of the composite XYAX\to Y \to A.

Now suppose we have an open cover UU of XX. A descent datum for GG with respect to this cover consists of, for each open VXV\subseteq X in UU, a homeomorphism VAV\cong A for some AA, together with transition functions when such opens overlap. So this is exactly a way to make UU into a manifold atlas for XX.

view this post on Zulip John Onstead (Feb 06 2025 at 22:38):

Mike Shulman said:

I think so, if you're careful. The tricky bit is that while a bundle can be pulled back along any continuous map, a manifold structure can't. But it can be pulled back along open inclusions, which is all we need.

I see, so when we want to do descent with something, we have to make sure that the structure we want can be pulled back along the morphisms in the category. And if it can't then we can choose some wide subcategory (such as O\mathcal{O}) consisting of the morphisms which it can be pulled back along!

Mike Shulman said:

Now suppose we have an open cover UU of XX. A descent datum for GG with respect to this cover consists of, for each open VXV\subseteq X in UU, a homeomorphism VAV\cong A for some AA, together with transition functions when such opens overlap. So this is exactly a way to make UU into a manifold atlas for XX.

Thanks, that's really interesting!

view this post on Zulip John Onstead (Feb 07 2025 at 12:34):

Here's one of the last (but not least) things I wanted to know about descent in general. If effective descent is satisfied, then every functor F:Fib(UX)Fib(S)F: \mathrm{Fib}(U_X) \to \mathrm{Fib}(S) will correspond to some unique object- the "gluing" object- in the fiber of Fib(S)\mathrm{Fib}(S) over XX. My question is then: what exactly is the relation between the gluing object for FF and FF itself?

view this post on Zulip John Onstead (Feb 07 2025 at 12:36):

(Ideally, there should minimally be a unique morphism in Fib(S)\mathrm{Fib}(S) from any object in the image of FF to this global data, representing how each object is a restriction of it. So it almost seems like the global data "acts like" a terminal object, but only with respect to FF, in that any object in the image of FF has a unique morphism to it. But this isn't enough to make the object actually terminal, nor is it enough to guarantee its uniqueness. Still, there might be some other universal property that characterizes the relation between FF and the gluing object, which is what I'm looking for!)

view this post on Zulip Mike Shulman (Feb 07 2025 at 17:35):

By the Yoneda lemma, an element of S(X)S(X) determines a map from the representable functor YXY_X to SS, and we have UXYXU_X \subseteq Y_X. The relation is that the resulting triangle commutes.

view this post on Zulip John Onstead (Feb 07 2025 at 23:27):

Mike Shulman said:

By the Yoneda lemma, an element of S(X)S(X) determines a map from the representable functor YXY_X to SS, and we have UXYXU_X \subseteq Y_X. The relation is that the resulting triangle commutes.

Ah, I see! I guess this ties into the fact of SS being a local object with respect to the inclusion UXYXU_X \subseteq Y_X when effective descent is satisfied.

view this post on Zulip Mike Shulman (Feb 08 2025 at 00:59):

Exactly!