Quasi-coherence, coherence, and sections on Proj #
This file is the finiteness-facing boundary of DerivedAlgGeo's graded-module sheaf construction. Mathlib supplies the affine charts
Spec (A_f)₀ ⟶ Proj A,
while AlgebraicGeometry.Proj.Modules.AssociatedSheaf supplies the sheaf M̃, its stalks, and the
canonical map
(M_f)₀ ⟶ Γ(D₊(f), M̃).
The general affine comparison is deliberately represented by AffineComparisonData: it is an
isomorphism between the restriction of M̃ to each standard affine chart and Mathlib's affine
tilde construction. For the graded ring considered as a module over itself, this file now
constructs the comparison canonically from associatedSheafSelfIso; no certificate input is
needed in that case. Once comparison data is present, quasi-coherence follows by gluing the
affine presentations, and coherence follows from explicit finite-presentation hypotheses on the
localized modules.
The global-section API is similarly conservative. TwistingSectionRange records exactly the
degrees in which a chosen algebraic module is known to compute Γ(Proj A, O(d)); no all-degree
Serre correspondence is asserted. The projective-space corollary uses Mathlib's finite generation
of homogeneous multivariate polynomials and therefore has no hidden noetherianity assumption.
Main declarations #
AffineComparisonData: affinetildecomparison on every standard Proj chart;affineComparisonDataSelf: the constructed comparison for the structure module;localizedNatShiftDegreeOneIso: the explicit rank-one trivialization ofA(d)on a degree-one chart;moduleAwayToSection_natShift_degreeOne_bijective: the corresponding constructed basic-open section comparison for every nonnegative twist;associatedSheaf_isQuasicoherent: quasi-coherence from those comparisons;associatedSheaf_isCoherent_of_finitePresentation: coherence from explicit finite presentation of every localized module;associatedSheaf_isCoherent_of_noetherian_finite: the common noetherian + finite-generation specialization;BasicOpenSectionData: bijectivity of the canonical basic-open section map;basicOpenSectionDataSelf: constructed basic-open certificates for the structure module;TwistingSectionRange: a degree-bounded global-section comparison forO(d);projectiveSpace_globalSections_finite: finite generation for the polynomial-ring specialization in every certified degree.
The standard affine charts #
The canonical index type for the standard affine cover of Proj A: a positive natural
degree together with a homogeneous element of that degree.
Equations
- AlgebraicGeometry.Proj.StandardChartIndex 𝒜 = ((n : ℕ+) × ↥(𝒜 ↑n))
Instances For
The standard affine chart morphism Spec (A_f)₀ ⟶ Proj A.
Equations
Instances For
The degree-zero localization of M on a standard affine chart, bundled as a module over
the chart ring (A_f)₀.
Equations
Instances For
Affine comparison and quasi-coherence #
The exact local input needed to recognize M̃ as quasi-coherent.
Each field identifies the restriction to a standard chart with the affine sheaf attached to the degree-zero localized module. It is data, not an axiom or typeclass: callers can see precisely where the still-missing graded affine-comparison proof is used.
- localIso (i : StandardChartIndex 𝒜) : (associatedSheaf 𝒜 𝓜).restrict (standardAway 𝒜 i) ≅ tilde (localizedModule 𝒜 𝓜 i)
Instances For
For the structure module, the localized module on a standard chart is the chart ring as a module over itself.
Equations
Instances For
A degree-one homogeneous element, bundled as a standard positive-degree chart index.
Equations
Instances For
On a degree-one chart, the localized module underlying the nonnegative twist A(d) is
canonically free of rank one.
Equations
Instances For
Over an open contained in a degree-one chart, the nonnegative twist A(d)̃ is isomorphic to
the structure module as a sheaf of modules on the slice site.
The componentwise map is the chart trivialization natShiftSectionLinearEquivOn, and naturality
is natShiftSectionToSelfOn_map: dividing by f ^ d is pointwise, so it commutes with
restriction on the nose. Working on the slice over V rather than after restriction along the
chart immersion avoids crossing the open immersion entirely; SheafOfModules.QuasicoherentData
transports along this isomorphism directly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A degree-one standard chart has range exactly its basic open, so the twist trivialization applies over it.
The canonical affine-chart comparison for the graded ring considered as a module over
itself. This is constructed from the global structure-module isomorphism, restriction of the
unit module, and Mathlib's tildeSelf; it is not certificate input.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Quasi-coherent data on one range slice, transported from the affine tilde presentation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The standard affine charts cover Proj A in the open-set Grothendieck topology.
Global quasi-coherent data obtained by gluing the standard affine tilde presentations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The associated sheaf of a graded module is quasi-coherent once the canonical affine-chart comparisons have been supplied.
Comparison on a sub-family of charts #
AffineComparisonData asks for a comparison on every standard chart, and for some modules
that is more than is true. The nonnegative twist A(d) is the motivating case: it is
trivialized on a chart D₊(f) by dividing by a power of f, which needs deg f to divide the
twist, so localizedNatShiftDegreeOneIso is available in degree one and not in general. Asking
for all degrees would be asking for O(d) to be locally free on Proj of an arbitrary graded
ring, which is false.
Quasi-coherence does not need it. It is a local property and
SheafOfModules.QuasicoherentData.bind glues over any covering family, so a sub-family that
still covers is enough. AffineComparisonDataOn is that weakening; AffineComparisonData is
the total-family case and is unchanged.
Affine tilde comparison on a chosen family of standard charts, together with the proof
that the family covers. Weaker than AffineComparisonData, and enough for quasi-coherence.
- coversTop : (Opens.grothendieckTopology ↥(Proj 𝒜)).CoversTop fun (j : ι) => Scheme.Hom.opensRange (standardAway 𝒜 (charts j))
The chosen charts cover
Proj A; without this the local data glues to nothing. - localIso (j : ι) : (associatedSheaf 𝒜 𝓜).restrict (standardAway 𝒜 (charts j)) ≅ tilde (localizedModule 𝒜 𝓜 (charts j))
The affine comparison on each chart of the family.
Instances For
Quasi-coherent data on one chart of the family, transported from its tilde presentation.
The same argument as AffineComparisonData.localQuasicoherentData, over one index.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Quasi-coherence from comparisons on a covering sub-family of charts.
A family of degree-one elements generating A over 𝒜 0 gives a covering family of
degree-one charts.
This is what makes the sub-family weakening usable: AffineComparisonDataOn needs a covering
family, and for a graded ring generated in degree one — projective space being the case this
library computes on — the degree-one charts already cover, so nothing of higher degree is
needed. Mathlib's Proj.iSup_basicOpen_eq_top' does the work; the content here is only
identifying each chart's range with its basic open.
The total family is a family: every AffineComparisonData restricts to one on all charts.
Equations
- AlgebraicGeometry.Proj.AffineComparisonData.toOn 𝒜 𝓜 c = { coversTop := ⋯, localIso := c.localIso }
Instances For
The associated structure module is quasi-coherent with no external chart certificate.
Quasi-coherent data for a nonnegative twist on a degree-one standard chart, obtained by transporting the structure module's data along the chart trivialization.
No AffineComparisonData for natShift 𝒜 d is required, and none is available: that structure
demands a comparison on every standard chart, including charts of degree greater than one, where
A(d) need not be trivial at all. Quasi-coherence does not need them. It is local, so data on
any covering family suffices, and SheafOfModules.QuasicoherentData.bind accepts any such
family — for a graded ring generated in degree one the degree-one charts already cover.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Quasi-coherent data for a nonnegative twist, glued from the degree-one charts alone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A nonnegative twist is quasi-coherent as soon as degree-one elements generate A over 𝒜 0.
The hypothesis is exactly what the degree-one trivialization needs, and it is strictly weaker
than an AffineComparisonData for natShift 𝒜 d, which would demand a comparison on charts of
every positive degree — charts on which A(d) need not be trivial at all. It is the same
hypothesis degreeOneCharts_coversTop takes, so the two compose directly.
Integer twists #
The same three steps as the nonnegative case. The one difference is that the chart
trivialization lands at A(0) rather than at A, so the transport is composed with the
zero-normalization — which is an isomorphism for the cheapest possible reason: intShift 𝒜 0
and 𝒜 have the same members.
Trivializing an integer twist over an open contained in a degree-one chart.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The same, for a graded module #
intShiftOverIso and the chart trivializations under it are stated for 𝒜 as a module over
itself, which is all quasi-coherence and coherence of O(d) ever need. #584's tensor comparison
F ⊗ O(d) ≅ F(d) needs an arbitrary graded module, and the port is direct now that
intShiftModuleSectionLinearEquivOn exists: the same three steps, at 𝓜 instead of 𝒜.
Trivializing an integer twist of a graded module over an open inside a degree-one chart.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The zero twist of a graded module is the module itself, as associated sheaves.
Equations
Instances For
On a degree-one chart, an integer twist of a graded module is the module itself.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The zero twist is the structure module, as associated sheaves.
Equations
Instances For
Quasi-coherent data for an integer twist on a degree-one standard chart.
As in the nonnegative case no AffineComparisonData for intShift 𝒜 d is required or
available: quasi-coherence is local, and for a graded ring generated in degree one the
degree-one charts already cover.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Quasi-coherent data for an integer twist, glued from the degree-one charts alone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every integer twist is quasi-coherent as soon as degree-one elements generate A over
𝒜 0.
This is the hypothesis the nonnegative statement already takes, unchanged: the sign of the twist never enters, because the chart trivialization it rests on is uniform in the sign.
Coherence #
Explicit finite-presentation hypotheses for all degree-zero localized modules. No noetherianity is needed when these stronger hypotheses are available directly.
- finitePresentation (i : StandardChartIndex 𝒜) : Module.FinitePresentation (HomogeneousLocalization.Away 𝒜 ↑i.snd) ↑(localizedModule 𝒜 𝓜 i)
Instances For
Explicit hypotheses for the common noetherian criterion: every standard chart ring is noetherian and every degree-zero localized module is finitely generated.
- isNoetherian (i : StandardChartIndex 𝒜) : IsNoetherianRing (HomogeneousLocalization.Away 𝒜 ↑i.snd)
- finite (i : StandardChartIndex 𝒜) : Module.Finite (HomogeneousLocalization.Away 𝒜 ↑i.snd) ↑(localizedModule 𝒜 𝓜 i)
Instances For
Finite presentation of all standard-chart localizations makes the associated sheaf coherent.
The proof uses Mathlib's finite-presentation theorem for affine tilde, transports it across the
explicit local comparison, and glues over the canonical affine open cover.
The structure module has the required finite-presentation data on every standard chart.
The associated structure module is coherent without an external comparison or finiteness certificate.
Over noetherian standard chart rings, finite generation of the localized modules is enough
for coherence. Both hypotheses are fields of hfin, so neither is inferred globally.
Basic-open and global sections #
Bijectivity certificates for the canonical maps (M_f)₀ → Γ(D₊(f), M̃) on all standard
charts. Keeping this separate from AffineComparisonData is useful when a proof only needs
sections and not an isomorphism of sheaves.
- bijective (i : StandardChartIndex 𝒜) : Function.Bijective ⇑(moduleAwayToSection 𝒜 𝓜 ↑i.snd)
Instances For
The canonical basic-open section certificates for the graded ring as a module over itself.
The canonical additive equivalence on a standard basic open, obtained from its explicit bijectivity certificate.
Equations
Instances For
Global sections of O(d), viewed as a module over a chosen base ring map into global
functions. The ring map is explicit because Γ(Proj A, O) need not be definitionally A₀.
Equations
Instances For
A deliberately degree-bounded identification of algebraic modules with the global sections
of O(d). This is the precise input consumed by Serre-finiteness arguments; it does not claim a
global-section formula outside degrees.
- comparison (d : ℕ) (hd : d ∈ self.degrees) : self.algebraicSections d ≅ twistingGlobalSectionsModule 𝒜 R ρ ↑d
Instances For
Finite generation transfers across a certified global-section comparison in one degree.
Projective-space specialization #
Every standard variable chart of polynomial projective space has the constructed basic-open section comparison for each nonnegative twist.
A section comparison for projective space in degree d. The source is the concrete module
of homogeneous polynomials of degree d; the target is Γ(Proj R[X_i], O(d)), restricted to the
chosen base-ring action.
- comparison : ModuleCat.of R ↥(MvPolynomial.homogeneousSubmodule ι R d) ≅ twistingGlobalSectionsModule (MvPolynomial.polynomialGrading ι R) R ρ ↑d
Instances For
In a finite-variable projective-space specialization, every certified nonnegative twist has finitely generated global sections over the base ring.