Nonexistence of flip

This is a write-up of an exercise I did in my office with Alex Perry and Will Sawin. Namely we made an example where you can’t flip a Weil divisor. I couldn’t immediately find one by googling; I hope this helps those who google; all mistakes are mine. For the exact notion of flip, please see below (it may not be the same as your notion of flip).

Let C be an elliptic curve. Let E = L_1 ⊕ L_2 be a direct sum of two invertible modules of degree 1 on C. Let L be a third invertible module of degree 1 on C. We will assume L, L_1, L_2 are Z-lineary independent in Pic(C). Let p : X = P(E) —-> C be the corresponding projective bundle which with my normalization means that p_*O_X(1) = E. Observe that O_X(1) is ample on the surface X because E is an ample vector bundle on C.

Let A = ⨁ H^0(X, O_X(n)). Then Z = Spec(A) is the projective cone on X wrt O_X(1). Thus X gives a nice threefold singularity. Denote U the complement of the vertex in Z. There is a morphism U —> X. The pullback of L via the composition U —> X —> C is of the form O_U(D) for some Weil divisor (class) D on Z. If we take the closure Y of the graph of U —> C in Z x C then we see that D pulls back to a Cartier divisor on Y which is moreover ample on Y (equivalently relatively ample with respect to Y —> Z). Finally, note that the fibre of Y —> Z over the vertex has dimension 1.

Another way to construct Y is to consider the graded A-algebra

B+ = ⨁ d ≥ 0 H^0(U, O(dD)) = ⨁d, n ≥ 0 H^0(X, O_X(n) ⊗ p^*L^d)

(with grading given by d) and then Y = Proj(B+). Proof omitted.

OK, so now we can ask: can we flip (Y —> Z, D)? What I take this to mean is that we want to find a proper morphism Y’ —> Z which is an isomorphism over U, whose fibre over the vertex has dimension < 2 and such that -D determines a Q-Cartier divisor on Y’ which is ample on Y’. Note the sign in front of D!

It turns out that Y’ exist if and only if the algebra

B- = ⨁ d ≥ 0 H^0(U, O(-dD)) = ⨁d, n ≥ 0 H^0(X, O_X(n) ⊗ p^*L^-d)

is finitely generated; you can find this in the literature when you google the question. Using p_*O_X(n) = Sym^n(E) this becomes

B- = ⨁a, b, d ≥ 0 H^0(C, L_1^a ⊗ L_2^b ⊗ L^-d).

Thus we get a natural Z^3-grading for this algebra. By our choice of L_1, L_2, L above we see that we have nonzero elements in the graded piece with (a, b, d) = (0, 0, 0) and in the graded pieces corresponding to (a, b, d) with a + b – d > 0. Thus B- is not finitely generated, because the elements in degrees (a, b , a + b – 1) are all needed as generators for the algebra B-.

No Theorem B for henselian affine schemes

This is just to record informally a counter example which we found in March 2017. Please let me know if such an example is in the literature and I will add a reference.

Let (A, I) be a henselian pair. On Z = Spec(A/I) with the Zariski topology consider the presheaf O^h which associates to the open V = D(f) \cap Z of Z the ring A_f^h where (A_f^h, I_f^h) is the henselization of the pair (A_f, I_f) = (A_f, IA_f). It is easy to see that A_f^h only depends on the Zariski open V of Z.

Then O^h is a sheaf (on the basis of standard opens of Z), but it may have nonvanishing higher cohomology.

You can deduce the sheaf property from Tag 09ZH if you think about it right.

To get an example of where the cohomology is nonzero, start with Z_0 : xy(x+ y – 1) = 0 in the usual affine plane over the complex numbers. Let R be the henselization of C[x, y] at the ideal of Z_0. Let A be the integral closure of R in the algebraic closure K of C(x, y). Then A is a domain and (A, I) is henselian where I is the ideal generated by xy(x + y – 1) in A. Denote Z = V(I).

The reason for going all the way up to A is that A is a normal domain whose fraction field K is algebraically closed. Hence all local rings of A are strictly henselian and moreover affine schemes etale over Spec(A) are just disjoint unions of opens of Spec(A). See Tag 0EZN. Thus O^h = O_{Spec(A)}|_Z in this case (restriction is usual restriction of sheaves in Zariski topology). In particular, the map O_{Spec(A)} —> (constant sheaf value K on Spec(A)) induces a map O^h —> (constant sheaf value K on Z).

Observe that since Z_0 is a triangle, we have H^1(Z_0, Z) = Z. Let g be a generator of this cohomology group. Then you check that g|_Z is still non-torsion. I do this using a limit argument and trace maps for finite maps between normal surfaces. If you have a clever short argument, let me know. You do have to use/prove something because we can “unwind” the triangle topologically, so your argument has to show that this doesn’t happen (in some sense) for the map Z —> Z_0 of topological spaces.

Next we consider the maps of sheaves

Z —> O^h —> (constant sheaf with value K on Z)

Since g|_Z is nontorsion we see that its image in the first cohomology of the last sheaf is nonzero and we conclude H^1(Z, O^h) is nonzero.

Conclusion: no theorem B for henselian affine schemes. Enjoy!

Up to date

This is just a short post letting you know that I have updated the Stacks project by working through all your comments once more. The last time I did this was on May 19 of this year. I try to respond to mathematical errors very quickly, but sometimes I do not realize a comment is pointing out an error until I really sit down and look carefully at the comment. If you’ve left a comment pointing out a mathematical error, feel free to also email. I remind you that it is very helpful to me if you suggest a fix or if you have a counter example to the statement you are objecting to or more generally if you discuss what you think went wrong.


Question about links in proofs

Yesterday I got an email asking about links between tags in proofs. Here is the question:


On the page 00KD in the proof of Lemma 00KK the reader will find the strings “If (00KN)” or “Assume (00KP)”, provided you view the page in “tags” mode. However, these strings are not found in the pdf. You have to click on them to see what they mean, and it turns out to be the items (1), (2), … of Lemma 00KK. How does this work?

Related but different question: on the page 00KA shouldn’t there be a hyperlink to the definition of χM?


The explanation is that in Lemma 00KK there is an itemized list in the underlying latex file. Then I decided to give latex labels to the items so I could refer to them in the proof. If you have a pdf reader which can deal with (internal) links, then you can click on the occurences of (1), (2), … in the proof of 00KK and you’ll be thrown to the corresponding statements in the proof of 00KK.

There are several other places in the Stacks project where the items of an itemized list have latex labels. But most of the time we don’t do this. (It turns out to work to be best for the structure of the Stacks project if each lemma has a single conclusion.) I would appreciate feedback on whether readers think it works well in the cases where we do do this.

I hope that this addresses the first question somewhat.

Second question. Ideally, mathematicians who help out with the Stacks project should only have to worry about helping make the pdfs readable and mathematically correct, etc. The underlying website code will hopefully display the mathematics in such a way that the experience is similar (or better than) reading the pdf. So if you want a “link” back to the definition of χM in Definition 00KA, then try to change or suggest a change in the latex so that it looks good in the pdf.

Specifically in Definition 00KA we could change the latex code to read

$\chi_M$ as defined in Definition \ref{definition-chi}.

except that then we would also need to insert, earlier, a definition environment where we define χM and φM. Perhaps this isn’t a bad idea.

Technically speaking (please ignore this): I do not want to add another layer to the underlying latex files. However, in the future we could have a “hover” functionality where hovering would show you the definitions of defined terms… I would want this to be implemented in such a way that no changes need to be made inside the latex files, but perhaps a separate file would be added (similar to the tags file being maintained outside the latex).


Kerodon is a site modeled after the Stacks project maintained by Jacob Lurie.

1. It uses the tags system for stable references as originally devised for the Stacks project by Cathy O’Neil.

This means that if you reference a tag in the Stacks project or Kerodon, you should make sure to specify which of these two you are referring to (if you use the “cite” links in either project and copy-paste from there this will work fine). All of the references I’ve seen to the Stacks project already do this, so I am not worried.

2. It is running the Gerby website infrastructure with some additional work by Opus Design for a distinct look.

Some of the work done for this by Pieter Belmans will also benefit the Stacks project (this will probably be mostly invisible to the user though).

3. It has a comment system, so please go over there and leave mathematical comments!

4. The mathematics in Kerodon is written and copyrighted by Jacob Lurie.

This is a difference in philosophy: (a) the contributors to the Stacks project collaboratively own the Stacks project and (b) you can directly access the underlying latex files to make changes to submit to the maintainer (me).

5. Currently the pdf version of Kerodon has 85 pages.

The plan is to add more over time. As you can see, the current material covers a tiny fraction of Jacob’s book entitled “Higher Topos Theory”. If you want to know more about what is planned in Kerodon, you’ll have to ask him. But for now, I am kind of taking this opportunity to read Kerodon the way you would read a webcomic. As new material gets added I will head over there and read it. I hope you will enjoy it as well.

A new website for the stacks project

Today the new version of the Stacks project website went online! Before reading the rest of this post, I suggest heading over there and checking it out!

First of all, huge thanks go to Pieter Belmans who wrote all the code for the website (and also the previous website). It was Pieter’s idea to start using plasTeX to parse the LaTeX code. To parse mathematical texts including lots of formulas with plasTeX a lot of code was added to plasTeX by Pieter Belmans and Raymond Cheng. Combining this with the latex code you find in the Stacks project you get the website you see when you click on the first link above. To read about the interplay between the different parts or if you want to setup a site like this for yourself, please visit the Gerby project website.

There are several improvements of the new site over the old one. The foremost for users is probably that the new site works very well on phones and tablets. Most of the features of the old site are still there, except for the graphs; these may return in the future — feel free to help us with that! You can also help us by letting us know if you find some button or feature of the new site that doesn’t work as expected. Either leave a comment on the site, make an issue on github, or email one of us.

On a technical level, a big improvement of the new site over the old one is the separation of the website and the underlying latex project. This makes it significantly easier to start your own geometry over F1 project. Again, please visit the Gerby project link above to see how… Of course you still have to write all the mathematics yourself!

Worked through your comments

OK, once more I have worked through all the comments left on the Stacks project website since I did last time. Thanks to everybody.

One thing that’s different this time is that I have not updated the server with the corresponding changes over the last few days. This will happen at the beginning of the next week when we switch over to the new website running the Stacks project (thanks to work of Pieter Belmans and Raymond Cheng). I will write another blog post when that happens. For now, if you are interested in the tools we will be using, you can take a look at plastex and gerby-website.

Your name in native script

Perhaps you are a contributor to the Stacks project and you would like to see your name spelled differently or you would like your name displayed in your native script. Although there are all kinds of technical difficulties with this, Pieter Belmans and I would like to try to do this. If you are interested please email your name as you would like to have it. For example try sending the info using Unicode or HTML escape characters.

[Edit 2/18/2018: OK, we’ve started to implement this. Look at the link to the contributors file above or look on contributors page.]

Up to date

OK, over the last few days I have worked through all the comments left on the Stacks project. There were some interesting ones that needed a bit of thought. Please keep them coming!