DM stacks as locally ringed topoi

Suppose that (Sh(C), O) is a locally ringed topos. When is this the small etale topos of a DM stack? I think the condition is just that it is “locally isomorphic to the small etale topos of a scheme”. Here is why: (again I haven’t worked out all the details — so some of this may not work exactly as stated)

The condition means there exists a sheaf F in Sh(C) such that the localization (Sh(C)/F, O_F) is isomorphic to (Sh(U_{etale}), O_U) as a locally ringed topos. Consider the product sheaf F \times F and think of it as a sheaf over F via one of the projections. Via the isomorphism Sh(C)/F = Sh(U_{etale}) we can think of F \times F as an etale sheaf on U. Since every sheaf  on U_{etale} is representable by an algebraic space over U we conclude that (Sh(C)/F \times F, O_{F \times F}) is isomorphic to (Sh(R_{etale}), O_R) for some algebraic space R. By the fully faithfulness discussed in previous posts we obtain two morphisms s, t : R —> U. Moreover, we can do the same trick with F \times F \times F and obtain a composition morphism R \times_U R —> R (this will require a bit of work relating fibre products of etale morphisms of algebraic spaces to what happens on the side of small etale topoi, but I’m not worried). Hence (U, R, s, t, c) will be an etale groupoid algebraic space. The final step is to show that the DM-stack X = [U/R] has an associated locally ringed small etale topos (X_{etale}, O_X) which is equivalent to the locally ringed topos we started out with.

Note that [U/R] is a DM-stack since in the stacks project we work with algebraic stacks having no separation conditions whatsoever.

To characterize algebraic spaces among these will require a discussion of the inertia in terms of the language of locally ringed topoi as in the post dicussing the difference between Spec(R) and [Spec{C)/{+1, -1}].

Actually this sounds extremely familiar to me and I wouldn’t be surprised if I attended a talk or read an article/book which contained exactly this argument. There is after all an enormous literature on topoi, ringed topoi, etc (starting for example with Hakim, Topos anneles et schemas relatifs). It is also possible that somebody explained this to me in a conversation. Please think of it as being part of algebraic geometry already. But one of the things that is really fun about doing mathematics for me is the discovery process: As I work through material it feels as if I’m discovering it, even if I am reading a 100 year old text.

Certainly this argument will not become part of the stacks project until much later (if at all). My goal for the summer is to really start hacking away at basic properties of algebraic stacks.

PS: For experts on topoi: I keep writing Sh(C) whenever I mean topos since in the stacks project I define a topos to be Sh(C) where C is a site (a la Artin’s notes on Grothendieck topologies).


Theorem Tag 04I7 now has a complete proof. It is the case of schemes for the result I mentioned in this post. It says that given two schemes X, Y any morphism of locally ringed topoi

(Sh(X_{etale}), O_X) —> (Sh(Y_{etale}), O_Y)

comes from a morphism of schemes X —> Y. To prove it you use that an affine scheme V etale over Y can be embedded into A^n_Y for some n (and that it is cut out by polynomial equations in there).

Of course, it would perhaps be quicker to try and directly prove the corresponding result for algebraic spaces or Deligne-Mumford stacks (haven’t worked out the details yet), but I want mostly to stick with the philosophy that each result is proved in various levels of generality: commutative algebra, schemes, algebraic spaces, algebraic stacks, higher topos theory, etc, etc.

In a related discussion Brian Conrad pointed me to Theorem A.4.1 of the preprint by Conrad-Lieblich-Olsson entitled “Nagata compactification for algebraic spaces”. This theorem states that the category of all first order thickenings of algebraic spaces is equivalent to the category of pairs (X, A —> O_X) where X is an algebraic space and A –> O_X is a surjection of sheaves of rings on X_{etale} with quasi-coherent square zero kernel.

It seems to me that it is useful to think about the locally ringed small etale topos of an algebraic space in order to formulate and prove such results, even though it will not necessarily simplify, or shorten the proofs. Namely, in that language Theorem A.4.1 can be reformulated as follows:

  • if X —> X’ is a first order thickening of algebraic spaces, then X_{etale} = X’_{etale}, i.e., the topos doesn’t change,
  • define a locally ringed topos (Sh(C), A) to be an algebraic space if it is equivalent to (Sh(X_{etale}), O_X) for some algebraic space X, and
  • if (Sh(C), A) is an algebraic space and A’ –> A is a surjection of rings with square zero quasi-coherent kernel then (Sh(C), A’) is an algebraic space.

The functoriality takes care of itself by the result discussed higher up.

Base scheme for spaces

This post is a response to Brian Conrad asking the following question: “How come the stacks project includes a base scheme S in the definition of algebraic spaces? Namely, we could think of an algebraic space over S as just an algebraic space over Spec(Z) equipped with a morphism to S.”

The short answer is that everywhere in the stacks project you can just think of X as an algebraic space over Z endowed with a morphism to S whenever you see the statement “let X be an algebraic space over S”. If you do this, then in many statements mentioning S is indeed completely superfluous.

A longer answer is that it is related to the setup in the stacks project, including our choices regarding set-theory.

When you see “Let S be a scheme” at the beginning of a lemma/proposition/theorem about algebraic spaces then this really means “Choose a partial universe of schemes to work with which contains S”. I can quantify exactly what I mean with “partial universe” and we prove using ZFC that partial universes exist containing any given set of schemes. (See Lemma Tag 000J.)

For the stacks project an algebraic space is a functor defined on the comma category C/S where C is this partial universe. So an algebraic space is a functor F : (C/S)^{opp} —> Sets. If you want to get an algebraic space over Spec(Z) you have to apply “Change of base scheme” (Section Tag 03I3 of the chapter “Algebraic Spaces”). Of course this is a completely trivial operation, but to get all the details right this is what you have to do.

A consequence is that an algebraic space over Spec(Z) doesn’t (a priori) have a value on all schemes, only on the schemes in the partial universe C. But you can apply “Change of big site” (Section Tag 03FO of the chapter “Algebraic Spaces”) to enlarge your partial universe to contain any given set of schemes.

A similar story goes for algebraic stacks. But… what we’ve done for algebraic stacks in Properties of Stacks, Section Tag 04XA is introduce the customary abuse of language which forgets about all of this set-theoretical nonsense. This language is also less precise.

We could (and maybe should) do the same thing for algebraic spaces. On the other hand, it mostly doesn’t hurt; it just looks a bit funny here and there.

[Post edited on May 30, 2012.]

Example etale topoi

I think that what I was saying in this post also works for Deligne-Mumford stacks. If so, then this is kind of fun, since it make us think about how the topos distinguishes between group actions and Galois actions. It doesn’t!

Let R, C denote the real and complex numbers. Consider the scheme Spec(R), and the Deligne-Mumford stack [Spec(C)/{+1, -1}] where the group acts trivially. The these have isomorphic small etale topoi, since in both cases an etale sheaf is just given by a set with an action of the group {+1, -1}.

How can we distinguish these? Well, we should look at the ringed small etale topoi, and the structure sheaves are different. Namely, in both cases the structure sheaf corresponds to C with an action of {+1, -1} and in the first case the element -1 acts via complex conjugation and in the second case it acts trivially.

By the way, is there an example of two non isomorphic varieties over C whose small etale topoi are isomorphic? Maybe not since you can recover Galois groups from the topos and the absolute Galois group of a function field determines the function field up to isomorphism IIRC. In other words, perhaps you can sometimes get away with only looking at the topos.

[Edit 5/19/2010: Bhargav mentioned that this cannot be true since the elliptic curves y^2 = x(x-1)(x-e) and y^2 = x(x-1)(x-pi) have isomorphic small etale topoi. Here e = 2.71828… and pi = 3.14159… I googled the function field thing and found a note by Florian Pop where the result is stated over the algebraic closure of Q or the algebraic closure of a finite field (which is what Bhargav was saying), but only for function fields of transcendence degree > 1. Anyway, the above suggestion that sometimes the topos is enough is true. In fact is related to Grothendieck’s anabelian conjecture — for all I know Grothendieck formulated his conjecture in terms of topoi. Of course there is an enormous literature on that subject, and all of those results can be thought of as results towards the “etale topos determines variety” thing if you like.]

The tags system

As you may have noticed the numbering of lemmas, propositions, theorems, sections, chapters etc is not constant over time in the stacks project. Hence if you want to reference a result in the stacks project then you cannot refer to a number in the text, because what works now is almost surely not going to work in the future. Still, I want the stacks project to have stable references.

The reason for not requiring a stable numbering is that I want to be free to edit the latex files in the project, move results around, reorganize chapters, add chapters, and even move results to different chapters. Maybe later I want to change the format altogether and dispense with having chapters, and so on.

We cannot use the latex labels to reference results for various reasons: I want the latex labels to be “human readable”, and we may want to edit them. A random example is the label lemma-stalk-exact which refers to a lemma in etale-cohomology.tex on exactness of the stalk functor. At some point we may want to rename this lemma-stalk-functor-exact. Or perhaps future versions of the stacks project will be written in XML and labels and references work entirely differently.

To provide for stable references Cathy O’Neil came up with the tags system. I implemented it about a year ago, and some people have started using it already. The idea is very simple. Each mathematical result gets a tag, which is just a four character string made out of capitals and digits. Once a tag has been assigned to a mathematical result or definition, it will always point to that exact mathematical result or definition.

Let’s see how this works in practice. For example the lemma mentioned above has tag 03PT. Then if you want to refer to this lemma you refer to the tag instead. You would put something like

\cite[Lemma 03PT]{stacks-project}

in your latex file. How can the reader of your manuscript, or blog post, or email figure out what result you are referring too? They would search for a tag on this page. Entering the tag into the search bar on that page returns a page telling you exactly the location of the corresponding mathematical result in the current version of the stacks project.

Conversely, how do you find the tag of a result in the stacks project? As you may have noticed the lemmas, proposition, theorems in the online version of the stacks project are hyperlinks. If you click on them you will be brought to a page telling you the tag of the result you clicked on (or just hover your mouse over the hyperlink to discover the tag).

There is more we can do with this system. For example the pdf files contain hyperanchors whose anchor name is the tag. Here are two small tests. Currently whether this works still depends on your browser and pdf viewer setup.

No matter. The basic functionality of the tags system, which is to provide stable references, works fine and has been working fine for a while now. You could call it a stable feature of the stacks project!


OK, so currently I am writing a bit of material on etale sites, points of etale sites and (upcoming) morphisms of etale sites. The reason for doing this is that I want to verify that my claim in the preceding post is correct.

Also, I finished rewriting the material on formally unramified, etale and smooth morphisms of schemes. I introduced the notion of a thickening of schemes (which is a closed immersion whose ideal is locally nilpotent), and a first order thickening. Then I introduced the notion of a universal first order thickening of a scheme formally unramified over another scheme. Using this a formally etale morphism is one which is formally unramified such that the universal first order thickening is trivial. I also rewrote some of the material on formally smooth morphisms, splitting the main result into separate lemmas (and slightly generalizing the result). I think this has substantially improved the exposition.

I want to use the same ideas to discuss formally unramified, etale and smooth morphisms of algebraic spaces, as well as modules of differentials and conormal sheaves for morphisms of algebraic spaces (see my previous post). In order to do this it is going to be really helpful to have the claim of the preceding post, so I am trying to finish this up first.

Meanwhile, work on the ideas mentioned in this post has been delayed a bit, but I hope to return to it soon. The reason for the delay is that I decided that the construction of the (badly named) f_!X mentioned there should go in the chapter “More on Morphisms of Spaces”. As a result I started thinking about some of the material that should go into this chapter, and so on and so forth.

PS: I am in the market for a good symbol to use as a replacement for f_!X…

Algebraic spaces

Given an algebraic space X we obtain a ringed topos (Sh(X_{etale}), O_X) of sheaves on the small etale site of X endowed with the structure sheaf. This is a locally ringed topos (as in SGA4, Expose IV, Exercise 13.9). Moreover, a morphism X —> Y of algebraic spaces induces a morphism of ringed topoi in the same direction. In fact it is a morphism of locally ringed topoi (see reference above for definition). In fact I think that

Mor(X, Y) —> Mor( (Sh(X_{etale}), O_X), (Sh(Y_{etale}), O_Y) )

is a bijection, i.e., the category of algebraic spaces is a full subcategory of the category of locally ringed topoi. This is sooooo cool!

Allow me to get excited even if you already knew this ages ago. Namely, it means we can describe algebraic spaces as certain locally ringed topoi. This could be helpful for example when we think about thickenings of algebraic spaces: it will allow us to use the same underlying topos of sheaves and just change the structure sheaf (as we do in the case of schemes).

But it goes farther than that. It also means that we can forget about an algebraic space as just a functor on the category of schemes, and consider it as a geometric object it in its own right. Moreover, one of the things that is currently bogging down the stacks project a bit is writing the interface between schemes theory and the theory of algebraic spaces, where in the schemes language we often use points and locality and on the side of algebraic spaces we constantly worry about all scheme valued points of X. It is conceivable that this can be clarified a bit by using the idea above.

Of course we are not going to rewrite the whole thing from scratch, but I hope to add the observation above to the stacks project and then use it whenever I can!

Cloning the stacks project

To clone the stacks project onto your local linux machine just type

$ git clone git://

on your command line. This assumes you have the linux tool git installed. It will create a directory called “stacks” which has all the tex files in the project (and the complete history of the project). To latex all tex files and obtain dvi files on you system type

$ cd stacks
$ make dvis

You can get all the pdfs by typing make pdfs instead. Play around with it!

If you do not have git installed, then you will usually be able to install it using your distributions package manager (or you may have to ask your administrator to do this). For example on Debian you would use

$ apt-get install git-core

and on Ubuntu you may have to preface that with sudo.

If you still use the windows operating system, then you can install msysgit. This will allow you to clone the stacks git repository by the age old point and click method. But I’m not sure this is too useful, since you still need some kind of make clone to be able to convert the tex files into dvis or pdfs. In that regard it may be better (if you haven’t already) to install Cygwin which gives you access to unix tools on windows (including git).

Zachary Maddock has reported success installing git on OS X (presumably using git-osx-installer) and using it to download the stacks project onto his Apple.

Of course a less nerdy and perhaps more efficient way to get the complete project (source files only) is to download stacks-git.tar.bz2. The advantage of having the git tool is that when you type

$ git pull

on the command line (inside the project directory) it will automatically look for updates and pull them in if there are any. In the file git-howto there are some hints as how to use the git tool and contribute to the stacks project. Much more information on using git can be found on its website.

Universal thickenings

Let T be an algebraic space. A first order thickening of T is a closed immersion T —> T’ of algebraic spaces which is defined by an ideal of square zero. If T is over an algebraic space Y then we can talk about first order thickenings over Y. These form a category with an obvious notion of morphism.

Let X —> Y be a morphism of algebraic space. Consider first order thickenings T —> T’ over Y together with a morphism T —> X over Y. This gives a category of diagrams (T’ <— T —> X) over Y. Claim: If X —> Y is formally unramified then this category has a final object. Moreover, the universal object is actually a first order thickening X —> X’ of X over Y (i.e., T = X for the universal object). Let’s call this the universal first order thickening of X over Y.

Now, given X —> Y formally unramified we define the conormal sheaf of X over Y as the conormal sheaf of X in its universal first order thickening of X over Y. Notation C_{X/Y}. This construction is suitably functorial. For example if you have a morphism of arrows (f, g) : (X —> Y) —> (X’ —> Y’), and both arrows are formally unramified then you get a map f^*C_{X’/Y’} —> C_{X/Y}.

Why is this interesting? Well, I wanted to use this to clarify the notion of the module of differentials of a morphism of algebraic spaces. Namely, if f : X —> Y is an arbitrary morphism of algebraic spaces, then Δ : X —> X \times_Y X is not an immersion, just a monomorphism. Thus we need a slightly more general notion of a conormal sheaf in order to compare \Omega_{X/Y} to the conormal sheaf of Δ.

Note that a very natural definition of \Omega_{X/Y} is to define it as the module of differentials of the map of sheaves of rings f^{-1}O_Y —> O_X on the small etale site of X. (This is the one currently in the stacks project.) The result is that it is canonically isomorphic to the conormal sheaf of Δ. This can then be used to link with infinitesimal deformations of maps into X with \Omega_{X/Y}.

Moreover, as Jarod Alper pointed out, the material in the paragraph above should continue to work for morphisms of Deligne-Mumford stacks (as defined in the stacks project).

Skyscraper sheaves

What is a skyscraper sheaf? Even for just sheaves on topological spaces there seem to be various definitions that one can use and that are used in the literature. Here are a few:

  1. It is an abelian sheaf F whose stalks F_x are nonzero for finitely many points x if X.
  2. It is an abelian sheaf F whose stalks F_x are nonzero for finitely many closed points x of X.
  3. It is an abelian sheaf of the form i_{x,*}A where i_x : {x} —> X is the inclusion of a point into X and A is an abelian group.
  4. It is an abelian sheaf of the form i_{x,*}A where i_x : {x} —> X is the inclusion of a closed point into X and A is an abelian group.

Of course the exact definition of any mathematical object is subject to minor variations. In each paper you have to look carefully what the definition really is. Moreover, sometimes authors have “hidden” assumptions (for example when an algebraic geometry paper says “everything is over C” they probably mean everything is at least locally of finite type over C and maybe even that everything is a variety over C).

Coming back to skyscraper sheaves, I think that for the stacks project the most natural choice is the one where a skyscraper sheaf is a sheaf of the form i_{x, *}A for any point x of X. An advantage of this choice is that we can also define skyscraper sheaves in the category of sheaves of sets.

As an aside we note that a sheaf satisfying 1 is not necessarily a finite direct sum of abelian skyscraper sheaves (think of the combinatorial circle and a nontrivial local system).

For a topos Sh(C) we define a skyscraper sheaf to be any sheaf of the form p_*A where p is a point of the site C.

This has the perhaps unfortunate consequence that if X is a topological space then the topos Sh(X) may have skyscraper sheaves which are not skyscraper sheaves on X. Namely, the points of the topos Sh(X) correspond 1-1 with irreducible closed subsets of X, and hence there may be more points of the topos than points of the space. This does not happen for schemes, which have underlying sober topological spaces.

It also means that the logical choice, in the stacks project, for a skyscraper sheaf on the small etale site S_{etale} of a scheme S is to require it to be a sheaf of the form s_*A where s : Spec(k) —> S is a geometric point of S. The reason is that points of the small etale site of S do indeed correspond to geometric points of S.