Zulip Chat Archive
Stream: mathlib4
Topic: Sheaf of modules on a scheme
Raphael Douglas Giles (Jul 14 2025 at 09:18):
We have a couple of questions about sheaves of modules in mathlib.
Q1: Mathlib has support for sheaves of modules over an arbitrary sheaf of rings, but now if X is a scheme and I want a sheaf of O_X modules, then the best I can come up with is:
(F : SheafOfModules ((sheafCompose (Opens.grothendieckTopology ↥X) (forget₂ CommRingCat RingCat)).obj X.sheaf))
Is there a better way with current mathlib or do we need a new definition?
Q2: Suppose X is a scheme over an affine base Spec R. Is there already a slick way to turn a sheaf of O_X modules F into a sheaf of R modules? I started writing this snippet but it looks like it 's going to be a pretty long definition because the second component of the structure morphism is a morphism of sheaves
def foo {X : Scheme} (R : CommRingCat) [X.CanonicallyOver (Spec R)]
(F : SheafOfModules ((sheafCompose (Opens.grothendieckTopology ↥X)
(forget₂ CommRingCat RingCat)).obj X.sheaf)) :
X.Opensᵒᵖ ⥤ ModuleCat R where
obj U := by
let f := X ↘ Spec R
sorry
map := sorry
map_id := sorry
map_comp := sorry
Joël Riou (Jul 14 2025 at 09:33):
Q1 -> We have https://leanprover-community.github.io/mathlib4_docs/Mathlib/AlgebraicGeometry/Modules/Sheaf.html
Joël Riou (Jul 14 2025 at 10:18):
Q2 -> I would think that what we need is an equivalence of categories between the category of presheaves of R-modules on a category and the category of presheaves of modules over the constant presheaf with values R. Up to the verification that the presheaves we construct are sheaves (which shall be easy here), we are reduced to the "basic" functoriality of presheaves corresponding to the "restriction of scalars" for a morphism from the constant presheaf of rings R to the structure (pre)sheaf https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.html
Last updated: Dec 20 2025 at 21:32 UTC