Line-bundle data #
This file is the neutral home for a line bundle together with a chosen tensor inverse. The definition belongs with the scheme-level tensor product: it does not depend on divisors, determinants, exterior powers, or the Picard group.
Downstream geometric theories may attach their own interpretations to this common root. For
example, Divisors.Determinant constructs Picard-group classes and fixed-rank locally free data,
while pullback and projection-formula APIs can use the underlying line-bundle structure directly.
The chosen inverse also makes tensoring by the line bundle an equivalence, with tensoring by the
inverse as a specified quasi-inverse. Its adjunction supplies the expected equivalence
Hom(L ⊗ M, N) ≃ Hom(M, L⁻¹ ⊗ N). Specializing M to the tensor unit identifies
Hom(L, N) with the global sections of L⁻¹ ⊗ N.
These are equivalences of types. Their scalar-linear refinements live in
Modules.Tensor.LineBundleLinear, downstream of the monoidal-linear structure on module
sheaves. Keeping that dependency separate leaves this file as the neutral categorical root.
An invertible sheaf together with an explicit tensor inverse.
The two intrinsic invertibility certificates make the underlying sheaves available to generic module-theoretic consumers. The explicit tensor inverse is retained as structure, so downstream Picard and duality constructions do not have to choose it again.
- line : X.Modules
- inverse : X.Modules
- lineIsInvertible : (have this := self.line; this).IsInvertible
- inverseIsInvertible : (have this := self.inverse; this).IsInvertible
Instances For
Maps from the tensor unit are the sections over the top open.
Mathlib first identifies a map from the unit with a compatible family of sections. Since ⊤ is
terminal in the category of opens, such a family is equivalent to its component over ⊤.
Equations
- M.unitHomTopEquiv = (have this := M; this).unitHomEquiv.trans ((have this := M; this).val.sectionsEquivOfIsTerminal CategoryTheory.Limits.isTerminalTop)
Instances For
Equations
- AlgebraicGeometry.Scheme.Modules.LineBundleData.instCategoryOpens = { toCategoryStruct := (Preorder.smallCategory X.Opens).toCategoryStruct, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
Instances For
The structure sheaf with itself as tensor inverse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse line bundle, with the two recorded representatives exchanged.
Equations
Instances For
Tensoring by a line bundle is an equivalence, with tensoring by its recorded inverse as the specified quasi-inverse.
The two composites are reduced to tensoring by L⁻¹ ⊗ L and L ⊗ L⁻¹ using the
associator, then to the identity using the two tensor-inverse isomorphisms and the left unitor.
Equivalence.mk performs the standard normalization needed for the triangle identity; no rigid
or closed monoidal structure is assumed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Moving a line-bundle factor across a Hom uses the recorded tensor inverse.
This is the Hom equivalence of tensorLeftEquivalence; in particular it is natural in M and
N through the adjunction API.
Equations
- L.tensorLeftHomEquiv M N = L.tensorLeftEquivalence.toAdjunction.homEquiv M N
Instances For
The forward Hom equivalence is the adjunction unit followed by tensoring the morphism with the identity of the inverse line bundle.
The inverse Hom equivalence tensors the morphism with the identity of the line bundle and then applies the adjunction counit.
The line-bundle Hom/sections comparison:
Hom(L, N) ≃ Γ(X, L⁻¹ ⊗ N).
This is the reusable categorical reduction behind the usual proof that Hom spaces between
coherent sheaves on a projective variety are finite-dimensional. Its scalar-linear refinement is
lineHomTopLinearEquivOver; the remaining geometric input is coherence of L⁻¹ ⊗ N, after which
projective Serre finiteness applies.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Tensor product of explicitly invertible line bundles.
Equations
- One or more equations did not get rendered due to their size.