Since the last update we have added the following material:

  1. A chapter on crystalline cohomology. This is based on a course I gave here at Columbia University. The idea, following a preprint by Bhargav and myself, is to develop crystalline cohomology avoiding stratifications and linearizations. This was discussed here, here, and here. I’m rather happy with the discussion, at the end of the chapter, of the Frobenius action on cohomology. On the other hand, some more work needs to be done to earlier parts of the chapter.
  2. An example showing the category of p-adically complete abelian groups has kernels and cokernels but isn’t abelian, see Section Tag 07JQ.
  3. Strong lifting property smooth ring maps, see Lemma Tag 07K4.
  4. Compact = perfect in D(R), see Proposition Tag 07LT.
  5. Lifting perfect complexes through thickenings, see Lemma Tag 07LU.
  6. A section on lifting algebra constructions from A/I to A, culminating in
    • Elkik’s result (as improved by others) that a smooth algebra over A/I can be lifted to a smooth algebra over A, see Proposition Tag 07M8.
    • Given B smooth over A and a section σ : B/IB —> A/I then there exists an etale ring map A —>A’ with A/I = A’/IA’ and a lift of σ to a section B ⊗ A’ —> A’, see Lemma Tag 07M7.
  7. We added some more advanced material on Noetherian rings; in particular we added the following sections of the chapter More on Algebra:
  8. You’re going to laugh, but we now finally have a proof of Nakayama’s lemma.
  9. We started a chapter on Artin’s Axioms but it is currently almost empty.
  10. We made some changes to the results produced by a tag lookup. This change is a big improvement, but I’m hoping for further improvements later this summer. Stay tuned!
  11. We added some material on pushouts; for the moment we only look at pushouts where one of the morphisms is affine and the other is a thickening, see Section Tag 07RS for the case of schemes and see Section Tag 07SW for the case of algebraic spaces.
  12. Some quotients of schemes by etale equivalence relations are schemes, see Obtaining a scheme.
  13. We added a chapter on limits of algebraic spaces. It contains absolute Noetherian approximation of quasi-compact and quasi-separated algebraic spaces due to David Rydh and independently Conrad-Lieblich-Olsson, see Proposition Tag 07SU.


The last result mentioned will allow us to replicate many results for quasi-compact and quasi-separated algebraic spaces that we’ve already proven for schemes. Most of the results I am thinking of are contained in David Rydh’s papers, where they are proven actually for algebraic stacks. I think there is some merit in the choice we’ve made to work through the material in algebraic spaces first, namely, it becomes very clear as we work through this material how very close (qc + qs) algebraic spaces really are to (qc + qs) schemes.

Thunks tu zee Svedeesh Cheff

Hupeffoolly thees duesn’t feeulete-a uny cupyreeghts! Bork Bork Bork!

Geefee a cless ooff elgebreeec fereeeties, it is reesuneble-a tu esk iff zeere-a ere-a oonly fineetely muny members de-afined oofer a geefee fineete-a fiild. Vheele-a thees is cleerly zee cese-a vhee zee epprupreeete-a mudoolee foonctur is buoonded, metters ere-a oofftee nut su seemple-a. Fur ixemple-a, cunseeder zee cese-a ooff ebeleeun fereeeties ooff a geefee deemensiun g. Zeere-a is nu seengle-a mudoolee spece-a peremetereezing zeem; rezeer, fur iech integer d ≥ 1 zeere-a is a mudoolee spece-a peremetereezing ebeleeun fereeeties ooff deemensiun g veet a pulereezeshun ooff degree-a d. It is neferzeeless pusseeble-a tu shoo (see-a [Z, Zeeurem 4.1], [Mee, Curullery 13.13]) thet zeere-a ere-a oonly fineetely muny ebeleeun fereeeties oofer a geefee fineete-a fiild, up tu isumurpheesm. Unuzeer netoorel cless ooff fereeeties vhere-a thees deeffficoolty ereeses is zee cese-a ooff K3 soorffeces. Es veet ebeleeun fereeeties, zeere-a is nut a seengle-a mudoolee spece-a boot rezeer a mudoolee spece-a fur iech ifee integer d ≥ 2, peremetreezing K3 soorffeces veet a pulereezeshun ooff degree-a d.

Wirklich, Ich sollte Deutsch verwenden!

A property of the structure sheaf

Furthering the quest of making this the most technical blog with the highest abstraction level, I offer the following for your perusal.

Let (X, O_X) be a ringed space. For any open U and any f ∈ O_X(U) there is a largest open U_f where f is invertible. Then X is a locally ringed space if and only if

U = U_f ∪ U_{1-f}

for all U and f. Denoting j : U_f —> U the inclusion map, there is a natural map

O_U[1/f] —-> j_*O_{U_f}

where the left hand side is the sheafification of the naive thing. If X is a scheme, then this map is an isomorphism of sheaves of rings on U. Furthermore, we can ask if every point of X has a neighbourhood U such that

U is quasi-compact and a basis for the topology on U is given by the U_f

If X is a scheme this is true because we can take an affine neighbourhood. If U is quasi-affine (quasi-compact open in affine), then U also has this property, however, so this condition does not characterize affine opens.

We ask the question: Do these three properties characterize schemes among ringed spaces? The answer is no, for example because we can take a Jacobson scheme (e.g., affine n-space over a field) and throw out the nonclosed points. We can get around this issue by asking the question: Is the ringed topos of such an X equivalent to the ringed topos of a scheme? I think the answer is yes, but I haven’t worked out all the details.

You can formulate each of the three properties in the setting of a ringed topos. (There are several variants of the third condition; we choose the strongest one.) An example would be the big Zariski topos of a scheme.

Flat is not enough

The title of this blog post is the opposite of this post. But don’t click through yet, because it may be more fun to read this one first.

I claim there exists a functor F on the category of schemes such that

  1. F is a sheaf for the etale topology,
  2. the diagonal of F is representable by schemes, and
  3. there exists a scheme U and a surjective, finitely presented, flat morphism U —> F

but F is not an algebraic space. Namely, let k be a field of characteristic p > 0 and let k ⊂ k’ be a nontrivial finite purely inseparable extension. Define

F(S) = {f : S —> Spec(k), f factors through Spec(k’) etale locally on S}

It is easy to see that F satisfies (1). It satisfies (2) as F —> Spec(k) is a monomorphism. It satisfies (3) because U = Spec(k’) —> F works. But F is not an algebraic space, because if it were, then F would be isomorphic to Spec(k) by Lemma Tag 06MG.

Ok, now go back and read the other blog post I linked to above. Conclusion: to get Artin’s result as stated in that blog post you definitively need to work with the fppf topology.

(Thanks to Bhargav for a discussion.)

Non zero-divisors

Following the example of xkcd I somtimes try to figure out what is the correct terminology by searching different spellings and observing the number of hits. I did this for variants on the phrase in the title but I didn’t find the results convincing. (Google thinks of “-” and ” ” both as whitespace.)

“non zero divisor” 8,630 results
“non zero-divisor” 7,490 results
“non zerodivisor” 9,190 results
“nonzero divisor” 1,900 results
“nonzerodivisor” 9,560 results

“non zero divisor” 5K results
“non zero-divisor” 4K results
“non zerodivisor” 5K results
“nonzero divisor” 2K results
“nonzerodivisor” 61 results

“non zero divisor” 75,300 results
“non zero-divisor” 75,300 results
“non zerodivisor” no results found
“nonzero divisor” 6,490 results
“nonzerodivisor” 4,120 results

Yuhao Huang emailed to say he prefers “non zero-divisor”. I guess that is better and I’ll probably make a global change in the stacks project later today. Any objections or suggestions?

Update (3PM): I’ve decided to go with Jason’s suggestion, see here for changes.

Universal homeomorphisms

To set the stage, I first state a well known result. Namely, suppose that A ⊂ B is a ring extension such that \Spec(B) —> \Spec(A) is universally closed. Then A —> B is integral, i.e., every element b of B satisfies a monic polynomial over A.

Now suppose that A ⊂ B is a ring extension such that Spec(B) —> Spec(A) is a universal homeomorphism. Then what kind of equation does every element b of B satisfy? The answer seems to be: there exist p > 0 and elements a_1, a_2, … in A such that for each n > p we have

b^n + \sum_{i = 1, …, n} (-1)^i (n choose i) a_i b^{n – i} = 0

This is a result of Reid, Roberts, Singh, see [1, equation 5.1]. These authors use weakly subintegral extension to indicate a A ⊂ B which is (a) integral, (b) induces a bijection on spectra, and (c) purely inseparable extensions of residue fields. By the characterization of universal homeomorphisms of Lemma Tag 04DF this means that \Spec(B) —> \Spec(A) is a universal homeomorphism. By the same token, if φ : A —> B is a ring map inducing a universal homeomorphism on spectra, then φ(A) ⊂ B is weakly subintegral.

[1] Reid, Les; Roberts, Leslie G., Singh, Balwant, On weak subintegrality, J. Pure Appl. Algebra 114 (1996), no. 1, 93–109.


This is a post with ideas I’ve considered over time regarding a comment system for the stacks project. The most important thing is that I don’t know what will work. I think initially we want something where it is relatively easy to leave comments, where comments can be tracked (maybe by an rss feed), and where it isn’t too hard to work the comments back into the stacks project.

Structure that exists now:

  • lots of tex files coded in a neurotic way so it is (relatively) easy to parse them
  • the tags system (Cathy came up with this) which tracks mathematical results as they move around the tex files
  • a query page for tags where looking up a tag 0123 returns the results page
  • the results page contains links to the mathematical result in the corresponding pdf and moreover (a more recent feature) the latex code of the environment.

Cathy made some suggestions for what a comment system could look like: Besides the “results page” for each tag have a “comments page” where

  • the address of the comments page is something like http://commentson0123 for direct access,
  • on the query page you can choose to end up on the comments page or the results page for the tag,
  • links between comments page and results page,
  • Cathy’s ideas about the comments page are:
    • at the top of the page a link to the result in one of the pdfs
    • have the statement of the lemma/proposition/theorem/remark/exercise there
    • under this a small strip where if you click it expands to show you the proof
    • under this comments by visitors
    • to the right of the statement a small column with two lists:
      1. the results that rely on this tag and
      2. the results that are used in the proof of this tag.

I have the following thoughts on this:

  • Go for functionality over looks,
  • statements of theorems, etc are updated over time and the comments page should always have the current version.
  • It may seem that we don’t really need both the results page and the comments page. But I think we do. I want the web addresses of the “results pages” to remain the same forever. These addresses are supposed to be used if you want to give a direct url to a result in the stacks project, and they should not be used for more than a link to the result in the pdf and the statement. I think that in the future all of the stacks project will be directly online (i.e., not in pdf form anymore) and then the “results page” may become a redirect (?) to the result in the project — so we will need another page with the comments.
  • I would like there to be a way for the maintainer of the project to check (or be notified) if there is a comment.
  • I want there to be a very low threshold for leaving comments, so have minimal protection to comment spam
  • Math rendering issues: This is a real problem and I don’t think it has been solved by mathjax. But eventually some software package will take care of this. We can in any case generate png from latex code and put that up on the “comments page”.

Different ideas I have toyed and experimented with in the past

  • Have a bug tracking system. What is good about this is that there is standard system that works. My feeling is that it won’t work because the average mathematician has never used or even looked at a bug tracking system.
  • Sign off system: Try to get people like Brian Conrad to sign off on tags: “I, Brian Conrad, declare this theorem is correct”. Again I think that this won’t work, yet, but I think it would be a really cool thing to have in the future.
  • Layers: Have different “layers” of comments, some historical, some references, some sign-off, some bug, etc. This could probably be managed simply by having different types of comments.
  • Mailing list. I actually think this isn’t needed until I convince more people to be active on the stacks project
  • Use blogging software with one page for each tag. I actually kind of like this idea, but I do not see how to make it work.
  • Use wiki software with one page for each tag. I think this could actually work and be easier to implement then Cathy’s above suggestion provided somebody knows how to set-up wikis. My preference would be a wiki which is file based, or a wiki which uses git to keep track of files, etc.
  • Online latex editor for the stacks project

Common feature of all of these ideas: Use already existing, open source, software and just write scripts to interface the stacks project with this. One of my problems with this is that most of the wiki and blog software I looked at will not allow automatic page generation/updating as far as I could tell.

If you have any ideas about this, please leave a comment or email me.

Summer projects

The spring semester has just ended here at Columbia. I assume for most of you similarly the summer will start soonish. Besides running an REU, supervising undergraduates, talking to graduate students, going to conferences, and doing research, I plan to write about Artin’s axioms for algebraic spaces and algebraic stacks this summer.

What are your summer plans? Maybe you intend to work through some commutative algebra or algebraic geometry topic over the summer. In that case take a look at the exposition of this material in the stacks project (if it is in there) and see if you can improve it. Or, if it isn’t there, write it up and send it over. If you want to coordinate with me, feel free to send me an email.

Another (more nerdy?) project is to devise an online comment system for the stacks project. It could be something simple (like a comment box on the lookup page) or something more serious such as a wiki, blog, or bug-tracker, etc. If you are interested in creating something (and you have the skills to do it), please contact me about it.

Finally, I’ve wondered about having mirrors of the stacks project in (very) different locations. If you know what this entails and you are interested in running one, please contact me.

Revamped tag lookup

Before I get into the actual topic of this post, a plea. Please reference results in the stacks project by their tags (which are stable over time) and not in any other way. The tags system is explained here and here and latex instructions can be found here.

Just today I changed the output of the result returned if you lookup tags. See this sample output. You’ll see that currently the result of looking up a tag gives you to corresponding latex code. Moreover, cross references in the proofs and statements are now hyperlinks to the corresponding lookup page. This means that you can quickly follow all the references in proofs of lemmas etc down to the simplest possible lemmas.

Of course this isn’t perfect. In many cases the lemmas need more context and you’ll have to open the pdf to read more. Another complaint is that it is cumbersome to have to parse the latex. I think having the latex code available for quick inspection is good in that people can edit locally and send their changes here. In the future I expect to have a variant page where the latex code is parsed (ideally something like a png file with embedded links for cross references). A requirement is that lookup is fast! (Lookup is already not instantaneous, but I’m sure that is due to poor coding skills of yours truly. I’m not convinced mathjax or anything like it is the answer: I don’t like the way it looks and I don’t like how long it takes to load.)

Please let me know suggestions, bugs (things that don’t work), etc.


For a lark I compiled a version of the stacks project with the XITS font package. (No Max not the zits font package!) You can do this for any of your papers by following the instructions in the user guide that comes with the package. It kind of looks nice. For a sample take a look at the chapter stacks-introduction or the whole project.

Let me know what you think!