Zulip Chat Archive
Stream: Is there code for X?
Topic: Stalk of a sheaf of modules
Raphael Douglas Giles (Nov 13 2025 at 10:42):
If one has a sheaf of modules F, then the stalk of F at some point z should be a module over the stalk of at z (this should also be true for a more general sheaf of rings). I feel like this statement should have a very simple one line proof or even be proven by typeclass inference, but such a proof is not coming to me. Can anyone think of a slick way to show this?
Kevin Buzzard (Nov 13 2025 at 15:15):
Pedantic remark: this isn't a proof, this involves data (and in particular one has to watch out for diamonds). Can you state what you want in lean?
Raphael Douglas Giles (Nov 13 2025 at 17:14):
Sure, sorry I should have been more specific. I would like to have the following instance:
instance instModuleSheafOfModulesStalk {X : Scheme.{u}} (F : X.Modules) (x : X) :
Module (X.presheaf.stalk x) (TopCat.Presheaf.stalk F.val.presheaf x).carrier := sorry
Bryan Wang (Nov 13 2025 at 18:10):
Probably you would want to use the functoriality of taking stalks docs#stalkFunctor_obj, but I think you would need a trick to get an easy 'proof', since we're essentially saying "something is a module over a colimit" which I haven't seen much of in mathlib?
Andrew Yang (Nov 13 2025 at 18:24):
cf #14412 but I don't think the author is active anymore
Kevin Buzzard (Nov 14 2025 at 13:43):
They've got a job doing Lean at a tech company so probably have very little time for mathlib right now.
Last updated: Dec 20 2025 at 21:32 UTC