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.
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 is called -local (for a morphism ) if is a bijection (more generally, we usually refer to whole classes of morphisms). The function reflects composition: "lifting" a morphism from into one from by composition with . The fact this function has an inverse in this case means the opposite direction is possible- you can "descend" a morphism from into one from along always. In a sense, a -local object "thinks" that is invertible, even if it isn't actually. Furthermore, the nlab page "descent object" defines the notion of a "descent object": given a morphism and an object , the descent object is the set equipped with the function (or bijection, if is -local) .
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 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 , , and , and what is the morphism , such that is the category of effective descent data? Thanks!
In the notation at [[category of descent data]], the 2-category is fibrations over , the morphism is the inclusion , and the object is .
Mike Shulman said:
In the notation at [[category of descent data]], the 2-category is fibrations over , the morphism is the inclusion , and the object is .
Ah thanks!
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.
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!
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 of some sort, you can often pull things over back to get things over .
The first crude descent question is: given a thing over , can you get it by pulling back a thing over ?
If you can do it, we say that thing descends to .
A better descent question is: what extra structure must we give an thing over , to specify how it comes from pulling back a particular thing over ? (Different things over can give the same thing when you pull them back to .)
The answer to the better descent question is to describe descent data for a thing over , and prove: the (n-)category of things over is equivalent to the (n-)category of things over equipped with descent data.
Example. For a simple example of this pattern, let be an open cover of by contractible open sets
and say that a thing is a principal -bundle. Then the descent question is: what extra data do we need to give a principal -bundle over (wlog trivial) for it to descend to a principal -bundle over ? And the answer is: transition functions
obeying the cocycle condition
So in this case descent data consists of transition functions obeying the cocycle condition.
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 that is monadic, what data do we need to give an object of to specify an object of that it came from?
And the answer is:
A: must be equipped with a map making it into an algebra of the monad , where is the left adjoint of .
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 , what data do we need to equip a -module with for it to be of the form for some -module?
I became enamored with the second question in the special case where is a field and is a field containing . 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!)
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).
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 of some sort, you can often pull things over back to get things over .
So for instance, if you had a morphism "over" you can pull back along to get one over . So in this case we are dealing with morphisms over objects, so the appropriate fibration is , and this pseudofunctor sends every morphism to the pullback functor . Descent data is then extra structure on objects of so that the resulting category has a forgetful functor back to (that I guess constitutes an equivalence).
John Baez said:
Then the descent question is: what extra data do we need to give a principal -bundle over (wlog trivial) for it to descend to a principal -bundle over ? And the answer is: transition functions
Ah! I think I see now how descent can help with locality. We can think of as being a "local resolution" of , something that works like but with its local parts more specified. So when we have something defined on , it should also define something on if these are meant to be treated the same. We can then think of a "thing" defined on to be a collection of "things" defined on each local part of . Then, since we are moving from a local resolution of to the whole thing, this "descending" needs to tell us how all the local "things" defined over come together into a globally defined "thing" over all of . 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 , and collect them together. Then, we "descend" this collection of trivial bundles onto , giving us a locally trivial bundle in the process!
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!
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 and an open cover . An atlas is given by specifying a homeomorphism to Euclidean space for each open set of (or at least those in ). 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 the morphisms from Euclidean space are homeomorphisms, then we do have an appropriate collection of "things" defined for each open subset of . However, I'm a little confused on the next step. We would somehow need a single morphism from some Euclidean space into (representing the collection of all open set homeomorphisms) that we can "descend" onto , 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 , but another to . So where is my reasoning going wrong here?
I like what you're saying.
John Onstead said:
So for instance, if you had a morphism "over" you can pull back along to get one over .
I'd prefer to start by talking about an object over : that's what we call an object equipped with a morphism to . 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 , and this pseudofunctor sends every morphism to the pullback functor . Descent data is then extra structure on objects of so that the resulting category has a forgetful functor back to (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 -bundle over (wlog trivial) for it to descend to a principal -bundle over ? And the answer is: transition functions
Ah! I think I see now how descent can help with locality. We can think of as being a "local resolution" of , something that works like but with its local parts more specified. So when we have something defined on , it should also define something on if these are meant to be treated the same. We can then think of a "thing" defined on to be a collection of "things" defined on each local part of . Then, since we are moving from a local resolution of to the whole thing, this "descending" needs to tell us how all the local "things" defined over come together into a globally defined "thing" over all of . 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 , and collect them together. Then, we "descend" this collection of trivial bundles onto , 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 and 'push it down' or 'glue the pieces together' to form an entity defined over .
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 and 'push it down' or 'glue the pieces together' to form an entity defined over .
I'm glad I'm finally starting to understand this! Thanks for your help!
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 . I personally prefer working instead in contravariant pseudofunctors to Cat, and the two are equivalent anyways. So in the category , there are three objects (contravariant pseudofunctors) to note. The first is what I will call - 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 which sends an object to the category of morphisms from it into , kind of like a hom functor but more category-y. This is equivalent to the codomain fibration of by Grothendieck. The final is the cover 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 that are in the designated cover. By Grothendieck this gives rise to the codomain fibration detailed above.
Now we have the canonical inclusion and, taking this morphism with respect to , we have the classic descent scenario. Taking hom categories, we get . 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 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 to . I think I can try to justify this a bit. First, if something like Yoneda holds, then there's a natural transformation for every morphism from to in the covering, which we can think of as a "part" of . Composing with some , we get a natural transformation .
Again, assuming something like Yoneda, this gives a single "stuff" over . For instance, if is an open cover of and we are working with bundles over , then this would be a trivial bundle over 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 . So given some and considering all maps from pseudofunctors of form to seems to give a "decomposition" of an element of the category of descent data into a bit of "stuff" for each part of given by the covering over . 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!
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:
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 ;)
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.
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
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
where is the map we get when we have a monoid acting on a set . 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 , the augmented simplex category.
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!
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.
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!
John Onstead said:
- Do Cat-valued pseudofunctors of the form that send an object to the comma category of morphisms from it to (and whose fibration is via Grothendieck) satisfy a Yoneda property? That is, will always be true (where this hom is out of )?
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 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 represents the evaluation map 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 . But if it did, then uniqueness would guarantee an isomorphism . But this is false since lands outside the image of Set in Cat. Thus does not satisfy the Yoneda property!
But then I realized that this question was itself based on faulty premises! In my blabbing above, I used as the pseudofunctor that became under the Grothendieck construction. However, I was wrong! It turns out that the representable 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!)
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!
Sieves are monomorphisms, and sheafification preserves monos. So a mono is a local epimorphism if and only if it is a local isomorphism.
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.
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.
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.
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?
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.
I see, thanks!
Less trivially, I would say the paradigmatic example is that for a covering family in any site, the corresponding map 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.
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.
Mike Shulman said:
Less trivially, I would say the paradigmatic example is that for a covering family in any site, the corresponding map 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.
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
Just like that…:smiling_face:
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 . If we think of as the set/category of global data, then we can think of as a set of collections of local data (data for each part of ) 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).
If this map is furthermore a bijection in "effective descent", then there is an inverse map 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 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!
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.
By the way, since you didn't say what is, I stopped paying attention. Perhaps I should have gone back and looked to see if 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 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 . I personally prefer working instead in contravariant pseudofunctors to Cat, and the two are equivalent anyways. So in the category , there are three objects (contravariant pseudofunctors) to note. The first is what I will call - 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 which sends an object to the category of morphisms from it into , kind of like a hom functor but more category-y. This is equivalent to the codomain fibration of by Grothendieck. The final is the cover 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 that are in the designated cover. By Grothendieck this gives rise to the codomain fibration 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 is. But I won't. I guess the problem is that I don't understand the overall picture well enough.
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. is simply the sieve corresponding to some cover over , viewed as an object of the presheaf category (or as a fibration via Grothendieck)
Ok, here's my first question based on the above. The gluing map seems to me to act a lot like a functor of form that sends a diagram in to its colimit in . The objects/elements of both and 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 this is given by "stuff over" each local part of some object together with descent data, the transition functions, that glue together into a global "stuff over" . In it's given by a collection of objects in along with morphisms between them that guide the colimit's gluing process, which results in another object in .
There's even a way that 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 to , both as fibered categories.
My question is: is there any way to make this connection concrete? Maybe as an example, consider some sort of bundle over . A descent data is then a collection consisting of a bundle over each local part of , 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.
I think is confusing notation for that, since it looks like an object canonically associated to , whereas you're taking it to be something associated to a chosen cover of .
Anyway, your intuition is good, but is leading you into somewhat exotic worlds. For any site , there is an associated such that -enriched categories are closely related to sheaves on . Specifically, the topos of sheaves on embeds into the category of -enriched categories in such a way that gluings of descent data are indeed precisely a certain kind of -weighted colimit.
The tricky bit is that 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.
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.
Mike Shulman said:
I think is confusing notation for that, since it looks like an object canonically associated to , whereas you're taking it to be something associated to a chosen cover of .
Now that you mention it, I just realized looks like notation that some authors use to denote the hom functor of . So I can see how it might have been confusing! Maybe I should have used or something similar.
Mike Shulman said:
Anyway, your intuition is good, but is leading you into somewhat exotic worlds. For any site , there is an associated such that -enriched categories are closely related to sheaves on . Specifically, the topos of sheaves on embeds into the category of -enriched categories in such a way that gluings of descent data are indeed precisely a certain kind of -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.
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.
Given some covering family , there's a category , the full subcategory of 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 for some sheaf 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.
I like running examples, so let's use one here. Let be the sheaf on that sends an open of a topological space to vector bundles on it. Let's focus on the object (viewed as the terminal object of ) and some that corresponds to an open cover of . Now, the fibration over is the category of all vector bundles on any open subset of , and so it importantly includes all instances of local data (vector bundles over some subset in ) as well as all the global vector bundles defined on all of (the objects of the fiber of over the object ). Now, let's say we have some locally trivial vector bundle . This can be given by descent data, which comes in the form of a fibered functor . What exactly is this functor doing? Is it sending an open set of (viewed as an object of ) to the trivial vector bundle over it that you would get by restricting 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!
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.
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 and the category of elements of .
Yes.
Ok, so let me first try to figure out what is. It's a subcategory of the slice category of , but since is the terminal object, this means it's just a sub-poset of . So given some cover of , 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 (along with, of course, the global sections in the special case of the fiber over 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.
So a fibered functor between them would assign an open to some local section over it. I'm not sure about morphisms though.
Ok, here's my problem: the morphisms in a subcategory of opens are inclusions, while the morphisms in the category of elements of are restrictions. So unless I made a mistake and swapped arrows somewhere, there cannot be a covariant (nontrivial) functor between these two categories!
Ok, I checked again and I think I did get my arrows backwards. The sieve is a subpresheaf of , so let's say there's an inclusion . The function sends the inclusion of into to the inclusion of into . So it should be that the category of elements of is actually a sub-poset of ! (I'm not sure how this is consistent with the observation that the fibration of be the subcategory of however, so something still isn't quite adding up!)
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 , like what this functor is doing. But it also includes the transition functions, which are completely absent in this scenario.
Ok, so I showed my work and came to an answer. Could someone provide the correct answer to the question "What does a functor 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!
There are two different "categories of elements" of a functor . One of them is a fibration over , the other is an opfibration over . You're looking at the second, but you want to be looking at the first.
The transition functions are encoded in the morphisms of these categories of elements, and the corresponding action of the functor out of on morphisms.
Mike Shulman said:
There are two different "categories of elements" of a functor . One of them is a fibration over , the other is an opfibration over . 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.
Ok, I think I see the problem. A covariant functor induces a discrete opfibration, its usual category of elements. What I was doing was treating presheaves as covariant functors on . But you can also consider discrete fibrations of contravariant functors on that are not equivalent to the discrete opfibration one gets by considering contravariant functors as covariant functors on . These "categories of elements" have the same objects, but a morphism exists from one element to another when is mapped to by some function in the image of the contravariant functor.
So redoing my analysis. First, consider with open sets in the cover as objects. The morphisms in this category map an open inclusion to an open inclusion such that has an inclusion into . So it basically does indeed act as a subcategory of ! Now for trying to figure out . Again, the objects are all local sections of the bundle over . If local section is a restriction of , then there will exist a morphism from to in this category. Basically, this morphism says " is a restriction of ".
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 to the recognition that some local section on is a restriction of some local section on . 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.
Notably, the functoriality restricts the choices of assignment of local section to each open set. If I choose some local section over , then I better be sure that the local section I assign to is a restriction of the one I assigned to . In other words, any choice I make for a local section on determines my choice for any open with an inclusion into in the covering family. This reasoning gets interesting when considering as the terminal object. This means that every choice of where to send (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 corresponds to some functor between these categories of elements. One hopes this assignment is the same as the descent comparison !
Yep!
Mike Shulman said:
Yep!
Great, this is slowly making more sense to me!
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 on morphisms.
I want to understand this a bit better. I know a fibered functor of form is an assignment of a local section to each open that is compatible on overlaps. Let's say the open is an overlap (perhaps the intersection) of two other opens, and . This creates a span of form 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 be a restriction of the data assigned to both and , automatically ensuring the data assigned to both and 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 , 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?
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.
(Note though that Elem(S) is not generally a poset, and Elem(U_X) may not be a poset for a general site either.)
If we were talking about sheaves of categories or groupoids, the isomorphisms would come from the pseudofunctoriality of F.
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 you mean the sheaf itself, that is the pseudofunctor ? (I called this 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).
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 , a sheaf is a -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 to an enriched functor between the two -enriched categories corresponding to and . 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!
Oh, I just realized that would only work if 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 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?
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 you mean the sheaf itself, that is the pseudofunctor ? (I called this 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.
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.
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!
As for "pseudonaturality", I still am not sure of what this is doing. Let's say you have some data defined on and defined on (so and are both objects of the fibered category for some Cat-valued sheaf ). Now, there's two ways to restrict this data to an intersection . The first is the object and the second is the object . 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 to the objects and . But now let's say you have a functor . If and , this gives two possible choices of what 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 is defined to be in the image of up to strict equality, regardless of if the functor is a pseudofunctor or not. So what exactly is happening here?
It could be either one. The two choices give you isomorphic functors.
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 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 (by itself without any specified isomorphism) is "descent data", then it should be required for (again, by itself) to carry the data of the transition functions.
I did some searching online and I think I found an answer that makes some sense. First, let and be two morphisms in a cover of . Now, let's take the pullback of these two morphisms to get , along with the usual two projections. This gives us two paths back to , and . Since these are both in the cover as it is closed under pullback, this gives two objects in with a canonical isomorphism between them. Then, given a functor with and , the functor acts and . The canonical isomorphism is then sent directly to the transition function as we want!
There's just one thing I'm still confused about. The pullback square is commutative up to equality, meaning that . Yet, somehow, in , 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?
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 , as it must be, and it is determined by , as it also must be.
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 from trivial bundles over open sets covering and isomorphisms between their restrictions to intersections , obeying the 2-cocycle condition
using the mathematical technology that works for
0) sections of a vector bundle, where you can assemble a section of a vector bundle over from sections over open sets covering and equations between their restrictions to intersections
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).
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.
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.
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 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.
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?
I.e. where the coherence isomorphisms of the pseudonatural transformation get "hidden" in the fibration picture?
Because I think that's really what's going on here.
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 of fibrations over is equivalent to the category . 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.
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 (with ). By taking the functor with some presheaf out of the presheaf category into the category of n-categories, we get . But we can then employ a trick to "take out" the colimit of the hom, turning it into a limit . 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 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.
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?
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!
Yes, I think that's where the answer to your question lies.
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 in a fibered category , we call the "cartesian lift of along ". In any case, given any other object that does the cartesian lift thing in the same way, we have a canonical isomorphism by the fact that the cartesian morphisms satisfies a universal property.
Now, let's switch to the context of and have some pullback , we then have a morphism in given by . 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 into , then is also a cartesian morphism. As mentioned, this only preserves the "cartesian lift" object up to isomorphism. So if and , and we let (which is a "cartesian lift" in the cartesian morphism ), then since also is a "cartesian lift" with respect to these same kind of morphisms, the universal property makes them isomorphic in some way.
It could be like how a functor that "preserves products" has an isomorphism .
Yep, that's right!
As for whether is a cartesian morphism, since is a discrete fibration (set-valued), all its morphisms are cartesian.
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 is a cartesian morphism, since is a discrete fibration (set-valued), all its morphisms are cartesian.
Ah, that's good to know!
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 is actually a functor equipped with the extra structure of a natural isomorphism between functors in the category , not the mere property that it does preserve products. With this extra structure, inherently contains the data of any isomorphism 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.
No, a product-preserving functor is just a functor equipped with an extra property.
Every functor comes with a god-given natural transformation (finding this natural transformation is an excellent exercise), and we say is product-preserving if it has the property that this natural transformation is a natural isomorphism.
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.
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.
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...
Well certainly applying to the projection maps and will give a "cone" in , . By the universal property of the product, any "cone" of this form has a unique map to the universal such cone, the product cone .
The universal property also ensures commuting, so it does seem that the set of all such unique maps from to for each and are components that form a valid natural transformation.
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' , and you can get the morphism even more easily, and then check that these make the associativity hexagon and unitality squares commute.
John Baez said:
You described the 'oplaxator' , and you can get the morphism 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!
I think deserves to be called the terminator.
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 . Define to be the comma category codomain fibration over where 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 and a cover of it, . By our above discussion, there's then a fibered category and we can consider fibered functors of the form .
These functors are an assignment, to each open in the cover of , a morphism from a smooth cartesian space into that open, that respects/agrees on overlaps. Now, what if some functor just so happened to land so that every open of 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 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?
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!
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!
All I can say offhand is that it's an interesting question that's making my brain struggle.
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 be the category whose objects are topological spaces and whose morphisms are open inclusions. There's a pseudofunctor sending any space to the groupoid whose objects are homeomorphisms , where is some open subset of some Euclidean space, and whose morphisms are homeomorphisms (or diffeomorphisms, if you want smooth manifolds) that make the triangle commute. An open inclusion sends a homeomorphism to the resulting homeomorphism , where is the image of the composite .
Now suppose we have an open cover of . A descent datum for with respect to this cover consists of, for each open in , a homeomorphism for some , together with transition functions when such opens overlap. So this is exactly a way to make into a manifold atlas for .
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 ) consisting of the morphisms which it can be pulled back along!
Mike Shulman said:
Now suppose we have an open cover of . A descent datum for with respect to this cover consists of, for each open in , a homeomorphism for some , together with transition functions when such opens overlap. So this is exactly a way to make into a manifold atlas for .
Thanks, that's really interesting!
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 will correspond to some unique object- the "gluing" object- in the fiber of over . My question is then: what exactly is the relation between the gluing object for and itself?
(Ideally, there should minimally be a unique morphism in from any object in the image of 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 , in that any object in the image of 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 and the gluing object, which is what I'm looking for!)
By the Yoneda lemma, an element of determines a map from the representable functor to , and we have . The relation is that the resulting triangle commutes.
Mike Shulman said:
By the Yoneda lemma, an element of determines a map from the representable functor to , and we have . The relation is that the resulting triangle commutes.
Ah, I see! I guess this ties into the fact of being a local object with respect to the inclusion when effective descent is satisfied.
Exactly!