Invertible sheaves of modules #
Mathlib's SheafOfModules.IsLocallyFree remembers local generating families but deliberately
allows their ranks to vary. This file refines that local data by requiring each local generating
type to have exactly one element, which is the site-level content of being locally free of rank
one. Nothing here is specific to schemes, so everything is stated for a sheaf of modules over an
arbitrary site.
Main declarations #
TauCeti.SheafOfModules.LocalGeneratorsData.IsInvertible qsays that every presentationfree (q.generators i).I ⟶ M.over (q.X i)is an isomorphism and that each indexing type is nonempty and a subsingleton;TauCeti.SheafOfModules.IsInvertible Msays that such data exists for the sheaf of modulesM;TauCeti.SheafOfModules.LocalGeneratorsData.ofIsotransports local generator data along an isomorphism of sheaves of modules, andTauCeti.SheafOfModules.IsInvertible.of_isotransports invertibility along one.
The predicate implies Mathlib's local freeness (and hence quasi-coherence). Every free sheaf whose indexing type is nonempty and a subsingleton is invertible.
The scheme-level packaging, where such a sheaf is an invertible sheaf on a scheme, is in
TauCeti/AlgebraicGeometry/LineBundle/Basic.lean. This advances
TauCetiRoadmap/JacobianChallenge/README.md, Layer A, item "Invertible sheaves on a scheme; the
Picard group Pic X under ⊗". No formalization is vendored. The construction reuses Mathlib's
SheafOfModules.LocalGeneratorsData, IsLocallyFreeData, and IsLocallyFree API from
Mathlib.Algebra.Category.ModuleCat.Sheaf.LocallyFree.
Local generators exhibit a sheaf of modules as invertible when they freely generate it on a cover and every local generating type has exactly one element.
- isLocallyFreeData : q.IsLocallyFreeData
The local generators freely generate the restricted sheaf.
- basisNonempty (i : q.I) : Nonempty (q.generators i).I
Every local free basis has at least one element.
- basisSubsingleton (i : q.I) : Subsingleton (q.generators i).I
Every local free basis has at most one element.
Instances For
A sheaf of modules is invertible if it is locally free of rank one. The witness is local generator data whose free presentations are isomorphisms and whose basis types have exactly one element.
- exists_isInvertible : ∃ (q : M.LocalGeneratorsData), LocalGeneratorsData.IsInvertible q
A rank-one local trivialization of the sheaf.
Instances
An invertible sheaf is locally free.
Transport local generator data along an isomorphism of sheaves of modules: the same cover, with each family of local generators pushed forward along the restricted isomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rank-one local generator data stays rank one after transport along an isomorphism.
Invertibility transports along an isomorphism of sheaves of modules.
A free sheaf whose indexing type has exactly one element is an invertible sheaf.