A separator for sheaves of modules, and the Grothendieck abelian instance #
Mathlib proves that Sheaf J A is Grothendieck abelian for a Grothendieck abelian target A
(CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean) and that the free presheaves of
modules on representables separate presheaves of modules
(PresheafOfModules.freeYoneda.isSeparating), but records no separator for
SheafOfModules R and hence no IsGrothendieckAbelian instance for it. This file adds both
over a small site. The separating family is the sheafification of the free presheaves of
modules on representables; the argument is the one for Sheaf.freeYoneda, run through the
sheafification adjunction for modules. Its right adjoint is forget R ⋙ PresheafOfModules.restrictScalars (𝟙 R.obj), canonically isomorphic pointwise to forget R
via ModuleCat.restrictScalarsId'App.
AB5 for sheaves of modules is SheafOfModules.ab5OfSize in Sheaf/AB.lean, so with a
separator the Grothendieck abelian instance is a one-liner, and Mathlib then supplies enough
injectives and HasExt. The instance for X.Modules on a scheme is in
AlgebraicGeometry/Modules/AB.lean.
Main results #
SheafOfModules.freeYonedaSheaf,SheafOfModules.freeYonedaSheaf_isSeparating.SheafOfModules.Elements.freeYonedaSheaf,SheafOfModules.freeYonedaSheafCoproduct, andSheafOfModules.fromFreeYonedaSheafCoproduct_epigive a canonical element-indexed coproduct presentation of any module sheaf.SheafOfModules.hasSeparator.SheafOfModules.isGrothendieckAbelian.
The sheaf of modules freely generated by one section over X: the sheafification of the
free presheaf of modules on the representable presheaf of X.
Equations
Instances For
The free sheaves of modules on representables separate sheaves of modules.
Element-indexed presentations #
The canonical free-Yoneda module sheaf associated to a section of a sheaf of modules.
Equations
Instances For
The map from the free-Yoneda sheaf indexed by a section to the sheaf containing it.
Equations
Instances For
The coproduct of the free-Yoneda module sheaves indexed by all sections of M.
Equations
- SheafOfModules.freeYonedaSheafCoproduct R M = ∐ fun (m : M.val.Elements) => SheafOfModules.Elements.freeYonedaSheaf R m
Instances For
The inclusion of the summand indexed by a section of M.
Equations
Instances For
The canonical map from the element-indexed free-Yoneda coproduct to M.
Equations
Instances For
The element-indexed coproduct map is epi: every map from a free-Yoneda sheaf factors through the summand indexed by the image of its distinguished section.
The element of the target sheaf obtained by applying a morphism to a section.
Equations
- SheafOfModules.Elements.map R f m = N.val.elementsMk m.fst ((CategoryTheory.ConcreteCategory.hom (f.val.app m.fst)) m.snd)
Instances For
The map on element-indexed coproducts induced by a morphism of module sheaves.
Equations
Instances For
The functor assigning to a sheaf its free-Yoneda coproduct indexed by its sections.
For M : SheafOfModules.{u} R, the index M.val.Elements is in Type u: it is the sigma
type of an object of the small site and a section over that object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The coproduct presentation commutes with every morphism of sheaves of modules.
The natural transformation from the element-indexed coproduct functor to the identity.
Equations
- SheafOfModules.freeYonedaSheafCoproductToIdentity R = { app := fun (M : SheafOfModules R) => SheafOfModules.fromFreeYonedaSheafCoproduct R M, naturality := ⋯ }
Instances For
Sheaves of modules on a small site have a separator: the coproduct of the free sheaves on representables.
Sheaves of modules on a small site form a Grothendieck abelian category.