In this post I shall try to look more closely at the relationship between categories of modules and the category of rings. In fact, we shall see that they form a relatively simple example of a *stack*, a categorical structure which seems to pop up in a lot of areas of mathematics. This example is a simplification of an example certainly appearing in Grothendieck’s FGA, but my hope is that by looking at a purely algebraic structure (where we look at fixed modules over fixed rings rather than sheaves of modules over schemes) we might gain some intuition about the kind of `gluing’ that goes on in algebraic geometry, as distinguished from gluing data over actual different bits of a space together.

Recall that for any ring , there is a category of modules with coefficients in . We therefore might want to argue that there is a functor from to which takes . However, this doesn’t quite work. What might happen to a morphism ? It must be sent to a functor , and the obvious choice is to consider the functor , the extension of scalars along . However, although they are canonically isomorphic, it is not true that we have actual *equalities* or that . We are therefore in the presence of a more subtle structure, not quite a category-valued functor, but almost one.

Let us look at it another way. Let be the category of all modules. We define the objects of to be all pairs where is a ring and is an -module, and the arrows to be pairs of maps where is a ring morphism (note reversed direction) and a morphism of -modules. We define the composite by taking the ring homomorphism and the module homomorphism , where the second map is .

There is an obvious `projection’ functor which retains only the ring-related data (`projection onto the first co-ordinate’). This functor has the property that whenever there is an arrow `downstairs’, we can associate with each -module the -module together with the identity morphism on , and this together with itself gives an arrow of with .

This arrow has a nice (but in this case rather obvious) universal property. It is probably worth the reader drawing a quick picture. Whenever there is a map upstairs, and downstairs, we can find a unique map such that . Indeed, we can just define , and conversely check that any map which factors so must be this one. This appears to be all slightly technical and silly, but what we have checked is that is what is called a *Cartesian* arrow, and that therefore is an example of a *fibred category*.

The reason a fibred category is called what it is can be found by thinking about as a covering projection, so we imagine the `space of modules’ covering the `space of rings’. Each object of has an associated *fibre*, whose objects are and whose arrows (though this inverse image notation is rather dodgy: we aren’t talking about sets here!). In our case, the fibre over is equivalent to the category of -modules, with -module morphisms (we will probably need to identify with and technical stuff like that, so it might be clumsy to say that the categories are actually the same or isomorphic). The definition of a fibred category insists that each `path’ (arrow) downstairs has at least one `lifting’ to a Cartesian arrow, a necessary constraint, if only to rule out bad behaviour on the fibres (isomorphic objects now have to behave reasonably similarly, etc.).

At the start of the post I mentioned it seemed like we almost have a functor. Indeed, it turns out that giving a fibred category is almost the same as giving what is called a pseudo-functor , where we associate with each element of its fibre and for each arrow we pick a `pullback’ for each object (analogous to our choice of ) and use the pullbacks to define a functor in the opposite direction. It is often useful to think of fibred categories as analogous to category-valued presheaves, but there is something quite elegant about the `covering space’ viewpoint which this can lack.

Now, let us return to our modules. The fibred category structure was essentially trivial – just verifying a few definitions. Here comes a much more interesting property: they are also a stack, in a suitable sense. Let’s see what this means.

Firstly, we put what is called a *Grothendieck topology* onto , the underlying space. This should be thought of as a collection of *atlases* for objects in (though our charts need not be isomorphisms but may be any map of our choosing). In our case, all the atlases will consist of a single chart, but in more serious algebraic-geometric situations (and in almost all topological situations) they may consist of many charts. We take the *faithfully flat topology* consisting of atlases containing a single faithfully flat map . One has to think of covering (again, there is a reversal of direction happening from standard covering space theory: instead of working with the category of rings one would normally work with a category of schemes – geometric spaces associated with rings whose arrows are reversed, but we don’t want to bother about that here). A faithfully flat map is one where the operation of tensoring, , can be performed and reversed without affecting the exactness of any sequence of -modules or -modules. For example, all morphisms of fields are faithfully flat (if you like, by dimension counting/picking bases).

Now we will define the notion of descent. In a general setting the idea of descent is to glue together various objects which are defined on all the different `charts’ of an atlas in the topology and suitably nicely isomorphic on overlapping regions, to get one big object on the whole space. However, in our case given our atlases consist of a single chart, this kind of intuition becomes a bit ridiculous. Indeed, I wonder to what extent the idea of `gluing’ really does descent theory justice. For we shall see that even with a single covering space, constructing these gluings is far from trivial.

Suppose is a ring homomorphism, and consider a -module . It would be nice to work out whether we can write in the form for some -module , and indeed all the different ways in which this is possible. Since these correspond to the pullbacks in our fibred category above, this would be very nice. Descent theory gives us a very clever answer to this simple question in the case where is faithfully flat.

We define *descent data* to be an isomorphism of -modules satisfying a cocycle condition, which basically says that the three different ways to lift this isomorphism to one of -modules (by putting in various places) are suitably compatible. In terms of the gluing picture, this isomorphism is an algebraic analogue of demanding that when we take the objects we wish to glue and restrict them to the intersection of two of our charts, those objects must be isomorphic. On a normal topology, , so the case of a cover by a single set isn’t very interesting, but in a Grothendieck topology the intersection corresponds to taking a pullback, which (after we have unwound some basic facts about schemes) corresponds to the pushout of along itself, which is . The thing about the third level corresponds to a technical compatibility condition on triple intersections from the general definition. We let be the category of -modules with descent data.

So what is our picture? We have covering , and an object (module) over equipped with some descent data. We hope that we can glue it all together (whatever that means) to get an object over our base space . If we look a bit closer, things look encouraging.

Firstly, if reversing our operation of tensoring by is really going to correspond to descent, then for an -module, we should have a natural descent datum on . In other words, we need a reasonably natural looking and `nice’ (satisfying the cocycle condition) isomorphism. That generated by turns out to do the trick nicely. Thus we have a nice functor , our old friend `tensor by ‘, which also has the obvious action on morphisms.

We now need to look for a candidate inverse functor. Notice that in the example above. This gives us (admittedely tenuous) motivation to try the following. Consider the set , which I suggestively but perhaps wrongly think of as the `module fixed by ‘. It is easy to check that gives us an -module associated to our -module with descent data, and can be extended to a functor .

Do these functors realise all our dreams of what descent could achieve? In our case, yes!

Theorem 1 (Faithfully flat descent)Let be faithfully flat. Then the functors and give an equivalence of categories

I shall not prove it fully in this post, but refer an interested reader to Vistoli’s marvellous article on the topic. The proof of this proposition is essentially a dance around an exact sequence

In the proof, the `faithfully’ is essential for getting and the `flat’ is essential for , in both cases by hopping between exactness in and .

With faithfully flat descent established, we have that the fibred category is indeed a stack in the faithfully flat topology (a *stack* is simply a fibred category in which descent works). More significantly for algebraic geometry, one is also then well on the way to the fact that the category of quasi-coherent sheaves (a geometrisation of `modules’) over the category of schemes (a geometrisation of `rings’) is a stack with respect to the *fpqc topology* (made up of faithfully flat and quasi-compact atlases). This result taken alone could look dangerously like an `obvious’ geometric result, but in fact because of the deeply algebraic nature of Grothendieck topologies as fine as the fpqc topology, a large proportion of its content is nothing to do with gluing in a concrete sense, and much more to do with the subtle interactions within the underlying commutative algebra. I would guess it is also thence it gains much of its power for transferring algebraic data easily between different levels.

## 3 comments

Comments feed for this article

March 5, 2015 at 10:00 pm

John GowersDo you know if the construction works if you use restriction of scalars rather than extension? I feel it should be equivalent (with some arrows reversed), and the (slight) advantage is that the map $latex\mathbf{Rng}\to\mathbf{Cat}$ is a (contravariant) functor rather than a pseudofunctor. On the other hand, if we use restriction of scalars, it’s not obvious how tensor products enter the picture at all.

March 12, 2015 at 6:07 pm

tloveringThat’s interesting to think about. It’s not going to be “equivalent” because restriction of scalars and tensor product aren’t inverse but just an adjoint pair.

I think my instinct would be still to view your setup as a (maybe co-)fibred category, even though you’re right that the underlying sets are actually equal, but give a composite A —> B —> C map of rings, viewing a C-module M as an A-module (call it M_A) and first viewing M as a B-module M_B and then viewing this B-module as an A-module (maybe call it (M_B)_A) we end up with some other object in the category of A-modules, but there is a canonical way to identify M_A with (M_B)_A as an A-module.

Sure, in the usual way you would write this down, it makes sense to say that M_A=(M_B)_A (as a set equipped with some operations or something), but working in a purely categorical language my gut tells me there’s something slightly dishonest or dangerous about saying such objects are `equal’.

I also doubt the notion of a stack works in this direction, but should probably think about it more.

I have a feeling this answer probably wasn’t very helpful…

March 12, 2015 at 7:10 pm

John GowersYou’re right that the notion of a stack, as it is usually defined, does not work when we use restriction of scalars. The reason is that we need the covering arrows (travelling from the covering objects to the covered objects, so from B to A here) to go in the opposite direction from the ‘restriction’ arrows given by the (pseudo)functor – so that we can ‘restrict’ objects in accordance with the covering. I suppose it’s a bit like trying to make a covariant functor on Top into a sheaf in some way.

In this case, I’ve heard that you can make it work by using monadic descent rather than comonadic descent, but I’m afraid that those are just words to me.