-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Structure presheaf on an affine scheme is a sheaf #6
Comments
More information about 1: The result we need is tag 00EJ . The proof uses a version of the multinomial theorem, which Chris proved. I also prove span = generate in here (two definitions of "ideal generated by" are equal) -- this should perhaps be moved at some point. |
More information about 2: The result we need is tag 009L whose proof should be a lot of fun to do in Lean. Note that a harder theorem is proved in tag 009K but we only need the simpler 009L. The cofinal set is the set of finite covers. |
More information about 3: The main result we need is tag 009N although strictly speaking we are going to have to confirm that it's a sheaf of rings, not just a sheaf of sets. |
OK so most of this is done now. At the time of writing here is what I think is left.
So now we need to think about the glue. We need to define the sheaf on a basis, and this involves some nonconstructive maths which I've not yet managed to make a decision on. If we want to define the basis-sheaf on Then to apply the ring lemma (1) we need to say things like "if this a sheaf but if I change one of the spaces of sections to something isomorphic, it's still a sheaf". Mathematicians find this obvious and I am a bit confused about whether this will be easy in Lean. To apply (2) we now need that any cover of Then I think it's all over. I will try to figure out how much of this is non-trivial, later on today. Any comments @kckennylau @dorhinj ? |
I am not sure if this idea is useful, but maybe this would help: if U is a basis open, say U = D(f), then we can define S = {f \in R | \forall P \in U : f \notin P} Ok, I just realised that this is exactly what Reid Barton also suggested, and what @kbuzzard already recorded in |
So this is the approach I'm going to take. The reason it hasn't happened yet is just that recent changes and re-organisation in mathlib (changes to |
OK so I've just finished the proof that Spec(R) is compact, and in particular the proof that any cover by opens of the form D(f) has a finite subcover. I am now in a position to start putting things together. |
Update: I have spent some time getting the universal properties of localization straight. There are some "obvious in maths" results which we need, such as R[1/f][1/g] = R[1/fg], but I think that these should drop out very quickly now from the universal properties. It is stuff like this which has to be straightened out before we can prove that the structure presheaf on an affine scheme satisfies the sheaf property for finite covers by basic opens, and then general nonsense (all of which I believe is done) extends the sheaf to the whole space. The comments currently at https://github.com/kbuzzard/lean-stacks-project/blob/master/src/tag01HR.lean give some indication of the state of play. |
What is left:
Sheaf axiom for finite cover of Spec(R) by opens of the form D(f).
Sheaf axiom for finite cover by opens D(f) implies sheaf axiom for arbitrary cover by opens D(f) [this is because Spec(R) is compact]
Sheaf axiom for covers by opens of the form D(f) implies sheaf axiom for arbitrary cover by arbitrary opens
The text was updated successfully, but these errors were encountered: