Extracting the maximal power of an integral divisor from a section
OpenOAI.MaximalSeshadri.Geometry.maximal_cartier_extraction_of_isoLet be integral and proper over , with , a finite family of sections of with iso-opens covering and nonzero combination, with integral zero subscheme, and an affine open meeting the zero subscheme, on which and are trivial and the coefficient of the combination is a non-unit. If is a section of with trivialization on , then there are with and a nonzero section of which does not vanish on the zero subscheme, such that is associated to the coefficient of .
Notation. The iso-open of (SectionOpens.isoOpen s) is the union of the opens on which the morphism restricts to an isomorphism. sectionIdeal k s hs v is the comap along sectionsMorphism of the ideal sheaf of the hyperplane with coefficients ; sectionCombination k s v is .
Formalization Note The statement is verbatim from OpenAI's Lean development, with Definitions files of this development imported in place of the upstream modules; these are supporting code for the statement.
import Mathlib
import Definitions.Def_MaximalSeshadriConstants
import Definitions.Def_SeshadriPrelim6
namespace OAI
section
namespace MaximalSeshadri.Geometry
noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open MaximalSeshadri.Frames MaximalSeshadri.Projective
variable {X : Scheme.{0}} [IsIntegral X]
theorem maximal_cartier_extraction_of_iso (p : X ⟶ Spec (CommRingCat.of ℂ)) [IsProper p]
(L M : LineBundle X) (d : ℕ) (hd : 0 < d) (E : M.sheaf ≅ (L.pow d).sheaf)
{σ : Type} [Fintype σ] (k : ℂ →+* Γ(X,⊤))
(s : σ → (O X ⟶ M.sheaf)) (hs : (⨆ i, SectionOpens.isoOpen (s i)) = ⊤) (v : σ → ℂ)
(hne : sectionCombination k s v ≠ 0)
[IsIntegral (sectionIdeal k s hs v).subscheme]
(U : X.affineOpens) [Nonempty U.1]
[Nonempty ((sectionIdeal k s hs v).subschemeι ⁻¹ᵁ U.1).toScheme]
(e : L.sheaf.restrict U.1.ι ≅ O U.1.toScheme)
(eM : M.sheaf.restrict U.1.ι ≅ O U.1.toScheme)
(hnu : ¬ IsUnit (affineCoefficient U eM (sectionCombination k s v)))
(a : ℕ) (t : O X ⟶ (L.pow a).sheaf) (ht : t ≠ 0)
(eA : (L.pow a).sheaf.restrict U.1.ι ≅ O U.1.toScheme) :
∃ j n : ℕ, a = j*d+n ∧ ∃ q : O X ⟶ (L.pow n).sheaf, q ≠ 0 ∧
pullbackSection (sectionIdeal k s hs v).subschemeι q ≠ 0 ∧
Associated ((affineCoefficient U eM (sectionCombination k s v))^j *
affineCoefficient U (localPowerFrame U.1 e n) q) (affineCoefficient U eA t) := by
sorry
end
end MaximalSeshadri.Geometry
end
end OAI