Module

SectionRingConstruction.lean

Nyll.SchemeTheory.Modules.SectionRingConstruction
64 declarations indexed from sourceView source ↗

Constructing the graded section ring

The direct sum of tensor-power global sections is embedded into products of polynomial rings using local frames. The injective coefficient map supplies the ring laws, and the natural summand ranges supply the grading. No section-ring witness is assumed.

Declarations

AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.app_map
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
theorem app_map {M N : X.Modules} (φ : M ⟶ N) {U V : X.Opens} (i : V ⟶ U) (s : Γ(M, U)) :
    N.presheaf.map i.op (φ.app U s) = φ.app V (M.presheaf.map i.op s)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.baseHom
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
def baseHom : S →+* Γ(X, ⊤)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.Sec

Global tensor-power sections with the base action pulled back through f.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
def Sec (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules) (n : ℕ) : ModuleCat S
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
instance (n : ℕ) : Module Γ(X, ⊤) (Sec f L n)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.baseHom_apply
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
theorem baseHom_apply (s : S) : baseHom f s = GradedOAlgebra.baseScalar f s
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.smul_def
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
theorem smul_def (n : ℕ) (s : S) (a : Sec f L n) :
    s • a = (GradedOAlgebra.baseScalar f s • (a : Γ(L.tensorPow n, ⊤)) : Γ(L.tensorPow n, ⊤))
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mulSec
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
def mulSec {m n : ℕ} (a : Sec f L m) (b : Sec f L n) : Sec f L (m + n)
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
instance : GradedMonoid.GMul (fun n => (Sec f L n : Type u)) where
  mul a b := mulSec f L a b
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
instance : GradedMonoid.GOne (fun n => (Sec f L n : Type u)) where
  one := (unitSection ⊤ : Γ(𝟙_ X.Modules, ⊤))
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.gmul_def
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
theorem gmul_def {m n : ℕ} (a : Sec f L m) (b : Sec f L n) :
    GradedMonoid.GMul.mul (A := fun n => (Sec f L n : Type u)) a b =
      ((tensorPowAdd L m n).hom.app ⊤
        (tensorSections (L := L.tensorPow m) (M := L.tensorPow n) a b) :
        Γ(L.tensorPow (m + n), ⊤)) := rfl
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.gone_def
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
theorem gone_def :
    GradedMonoid.GOne.one (A := fun n => (Sec f L n : Type u)) =
    (unitSection ⊤ : Γ(𝟙_ X.Modules, ⊤)) := rfl
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
instance : DirectSum.GNonUnitalNonAssocSemiring (fun n => (Sec f L n : Type u)) where
  mul_zero a := by
    rw [gmul_def]
    erw [tensorSections_zero_right]
    exact ((tensorPowAdd L _ _).hom.app ⊤).hom.map_zero
  zero_mul b := by
    rw [gmul_def]
    erw [tensorSections_zero_left]
    exact ((tensorPowAdd L _ _).hom.app ⊤).hom.map_zero
  mul_add a b c := by
    rw [gmul_def, gmul_def, gmul_def]
    erw [tensorSections_add_right]
    exact ((tensorPowAdd L _ _).hom.app ⊤).hom.map_add _ _
  add_mul a b c := by
    rw [gmul_def, gmul_def, gmul_def]
    erw [tensorSections_add_left]
    exact ((tensorPowAdd L _ _).hom.app ⊤).hom.map_add _ _
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.exists_frame
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem exists_frame (x : X) :
    ∃ (U : X.Opens) (g : Γ(L, U)), x ∈ U ∧ IsFrameOn g U
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.frU
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def frU (x : X) : X.Opens
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.frG
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def frG (x : X) : Γ(L, frU L x)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mem_frU
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem mem_frU (x : X) : x ∈ frU L x
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.isFrameOn_frG
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem isFrameOn_frG (x : X) : IsFrameOn (frG L x) (frU L x)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.iSup_frU
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem iSup_frU : (⊤ : X.Opens) ≤ ⨆ x, frU L x
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.frG'
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def frG' (x : X) : Γ(L, frU L x)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.frE
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def frE (x : X) (n : ℕ) : Γ(L.tensorPow n, frU L x)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.bijective_smul_frE
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem bijective_smul_frE (x : X) (n : ℕ) :
    Function.Bijective fun g : Γ(X, frU L x) => g • frE L x n := by
  have h := ((isFrameOn_frG L x).tensorPowSection_monoidalV2 n) (le_refl _) (le_refl _)
  have e : (L.tensorPow n).presheaf.map (homOfLE (le_refl (frU L x))).op
      (tensorPowSection (frG L x) n) =
      frE L x n := map_tensorPowSection _ _ _
  simpa only [e] using h
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.resU
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def resU (x : X) (n : ℕ) (c : Γ(L.tensorPow n, ⊤)) : Γ(L.tensorPow n, frU L x)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def coef (x : X) (n : ℕ) (c : Γ(L.tensorPow n, ⊤)) : Γ(X, frU L x)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_smul_frE
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_smul_frE (x : X) (n : ℕ) (c : Γ(L.tensorPow n, ⊤)) :
    coef L x n c • frE L x n = resU L x n c
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_eq_of_smul_eq
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_eq_of_smul_eq (x : X) (n : ℕ) (c : Γ(L.tensorPow n, ⊤)) (a : Γ(X, frU L x))
    (h : a • frE L x n = resU L x n c) : coef L x n c = a
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_zero
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_zero (x : X) (n : ℕ) : coef L x n 0 = 0
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_add
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_add (x : X) (n : ℕ) (c d : Γ(L.tensorPow n, ⊤)) :
    coef L x n (c + d) = coef L x n c + coef L x n d
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_smul
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_smul (x : X) (n : ℕ) (r : Γ(X, ⊤)) (c : Γ(L.tensorPow n, ⊤)) :
    coef L x n (r • c) = X.presheaf.map (homOfLE (le_top : frU L x ≤ ⊤)).op r * coef L x n c
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_gmul
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_gmul (x : X) {m n : ℕ} (a : Sec f L m) (b : Sec f L n) :
    coef L x (m + n) (GradedMonoid.GMul.mul (A := fun n => (Sec f L n : Type u)) a b) =
      coef L x m a * coef L x n b := by
  apply coef_eq_of_smul_eq
  erw [resU, gmul_def, app_map, map_homOfLE_tensorSections]
  change (coef L x m a * coef L x n b) • frE L x (m + n) =
    (tensorPowAdd L m n).hom.app (frU L x) (tensorSections (resU L x m a) (resU L x n b))
  erw [← coef_smul_frE L x m a, ← coef_smul_frE L x n b, tensorSections_smul_left,
    tensorSections_smul_right, Hom.app_smul,
    Hom.app_smul, smul_smul]
  simp only [frE]
  erw [tensorPowAdd_hom_app_tensorSections_tensorPowSection]
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coef_gone
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coef_gone (x : X) :
    coef L x 0 (GradedMonoid.GOne.one (A := fun n => (Sec f L n : Type u))) = 1 :=
  coef_eq_of_smul_eq L x 0 _ _ (by
    rw [one_smul, gone_def]
    erw [resU]
    exact (map_unitSection (homOfLE (le_top : frU L x ≤ ⊤))).symm)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.eq_zero_of_forall_coef_eq_zero
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem eq_zero_of_forall_coef_eq_zero {n : ℕ} (c : Γ(L.tensorPow n, ⊤))
    (h : ∀ x, coef L x n c = 0) : c = 0
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.Tgt
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
abbrev Tgt : Type u
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coefHom
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def coefHom (n : ℕ) : Sec f L n →+ Tgt L where
  toFun c := fun x => Polynomial.monomial n (coef L x n c)
  map_zero' := by funext x; simp only [Pi.zero_apply]; erw [coef_zero]; exact map_zero _
  map_add' c d := by funext x; simp only [Pi.add_apply]; erw [coef_add]; exact map_add _ _ _
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coefHom_apply
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coefHom_apply (n : ℕ) (c : Sec f L n) (x : X) :
    coefHom f L n c x = Polynomial.monomial n (coef L x n c)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
def F : (⨁ n, Sec f L n) →+ Tgt L
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F_of
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem F_of (n : ℕ) (c : Sec f L n) :
    F f L (DirectSum.of (fun n => (Sec f L n : Type u)) n c) = coefHom f L n c :=
  DirectSum.toAddMonoid_of _ _ _
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F_mul
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem F_mul (r s : ⨁ n, Sec f L n) : F f L (r * s) = F f L r * F f L s
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F_one
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem F_one : F f L 1 = 1
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F_apply_coeff
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem F_apply_coeff (r : ⨁ n, Sec f L n) (x : X) (n : ℕ) :
    (F f L r x).coeff n = coef L x n (r n)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F_injective
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
section Frames
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem F_injective : Function.Injective (F f L)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.one_mul'
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem one_mul' (a : ⨁ n, Sec f L n) : 1 * a = a
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mul_one'
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem mul_one' (a : ⨁ n, Sec f L n) : a * 1 = a
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mul_assoc'
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem mul_assoc' (a b c : ⨁ n, Sec f L n) : a * b * c = a * (b * c)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mul_comm'
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem mul_comm' (a b : ⨁ n, Sec f L n) : a * b = b * a
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.instCommRing
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
instance instCommRing : CommRing (⨁ n, Sec f L n)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.cS
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
def cS (s : S) : Tgt L
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.F_smul
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem F_smul (s : S) (r : ⨁ n, Sec f L n) : F f L (s • r) = cS f L s * F f L r
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.smul_mul'
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem smul_mul' (s : S) (a b : ⨁ n, Sec f L n) : s • a * b = s • (a * b)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mul_smul'
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem mul_smul' (s : S) (a b : ⨁ n, Sec f L n) : a * s • b = s • (a * b)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.instAlgebra
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
instance instAlgebra : Algebra S (⨁ n, Sec f L n)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.𝓡
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
def 𝓡 (n : ℕ) : Submodule S (⨁ n, Sec f L n) where
  carrier := Set.range (DirectSum.of (fun n => (Sec f L n : Type u)) n)
  zero_mem' := ⟨0, map_zero _⟩
  add_mem' := by
    rintro _ _ ⟨a, rfl⟩ ⟨b, rfl⟩
    exact ⟨a + b, map_add _ a b⟩
  smul_mem' := by
    rintro s _ ⟨a, rfl⟩
    exact ⟨s • a, DirectSum.of_smul _ _ _ _⟩
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.mem_𝓡_iff
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
omit [Fact (Scheme.Modules.IsInvertible L)] in
theorem mem_𝓡_iff {n : ℕ} (r : ⨁ n, Sec f L n) :
    r ∈ 𝓡 f L n ↔ ∃ a, DirectSum.of (fun n => (Sec f L n : Type u)) n a = r := Iff.rfl
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
instance : SetLike.GradedMonoid (𝓡 f L) where
  one_mem := ⟨GradedMonoid.GOne.one (A := fun n => (Sec f L n : Type u)), rfl⟩
  mul_mem := by
    rintro i j _ _ ⟨a, rfl⟩ ⟨b, rfl⟩
    exact ⟨GradedMonoid.GMul.mul (A := fun n => (Sec f L n : Type u)) a b,
      (DirectSum.of_mul_of (A := fun n => (Sec f L n : Type u)) a b).symm⟩
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.toPiece
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
def toPiece (n : ℕ) : Sec f L n →+ 𝓡 f L n where
  toFun a := ⟨DirectSum.of (fun n => (Sec f L n : Type u)) n a, a, rfl⟩
  map_zero' := Subtype.ext (map_zero _)
  map_add' a b := Subtype.ext (map_add _ a b)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.decomposeHom
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
def decomposeHom : (⨁ n, Sec f L n) →+ ⨁ n, 𝓡 f L n
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.decomposeHom_of
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem decomposeHom_of (n : ℕ) (a : Sec f L n) :
    decomposeHom f L (DirectSum.of (fun n => (Sec f L n : Type u)) n a) =
      DirectSum.of (fun n => 𝓡 f L n) n (toPiece f L n a) :=
  DirectSum.toAddMonoid_of _ _ _
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.coe_comp_decomposeHom
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem coe_comp_decomposeHom :
    (DirectSum.coeAddMonoidHom (𝓡 f L)).comp (decomposeHom f L) = AddMonoidHom.id _
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.decomposeHom_comp_coe
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem decomposeHom_comp_coe :
    (decomposeHom f L).comp (DirectSum.coeAddMonoidHom (𝓡 f L)) = AddMonoidHom.id _
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
instance : DirectSum.Decomposition (𝓡 f L) where
  decompose' := decomposeHom f L
  left_inv r := by
    have := congrArg (fun k => k r) (coe_comp_decomposeHom f L)
    exact this
  right_inv y := by
    have := congrArg (fun k => k y) (decomposeHom_comp_coe f L)
    exact this
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.instGradedAlgebra
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
instance instGradedAlgebra : GradedAlgebra (𝓡 f L)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.ι
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
def ι (n : ℕ) (x : 𝓡 f L n) : Γ(L.tensorPow n, ⊤)
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.ι_of
Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
omit [Fact (Scheme.Modules.IsInvertible L)] in
theorem ι_of (n : ℕ) (a : Sec f L n)
    (h : DirectSum.of (fun n => (Sec f L n : Type u)) n a ∈ 𝓡 f L n) :
    ι f L n ⟨DirectSum.of (fun n => (Sec f L n : Type u)) n a, h⟩ = a :=
  DirectSum.of_eq_same (β := fun n => (Sec f L n : Type u)) n a
AlgebraicGeometry.GradedOAlgebra.SectionRingConstruction.isSectionRing
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
namespace SectionRingConstruction
open Opposite DirectSum
variable {S : Type u} [CommRing S] {X : Scheme.{u}}
  (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
variable [Fact (Scheme.Modules.IsInvertible L)]
theorem isSectionRing :
    GradedOAlgebra.IsSectionRing f L (⨁ n, Sec f L n) (𝓡 f L) (ι f L) where
  bijective n := by
    constructor
    · rintro ⟨_, a, rfl⟩ ⟨_, b, rfl⟩ h
      erw [ι_of f L n a _, ι_of f L n b _] at h
      subst h
      rfl
    · intro c
      exact ⟨⟨DirectSum.of (fun n => (Sec f L n : Type u)) n c, c, rfl⟩, ι_of f L n c _⟩
  map_add n x y := DirectSum.add_apply _ _ _
  map_smul n s x := by
    change ((s • (x : ⨁ n, Sec f L n)) n : Sec f L n) = GradedOAlgebra.baseScalar f s • ι f L n x
    rw [DirectSum.smul_apply]
    rfl
  map_one := by
    change ((1 : ⨁ n, Sec f L n) 0 : Sec f L 0) = unitSection ⊤
    rw [DirectSum.one_def, DirectSum.of_eq_same]
    rfl
  map_mul m n x y := by
    obtain ⟨_, a, rfl⟩ := x
    obtain ⟨_, b, rfl⟩ := y
    change ((DirectSum.of (fun n => (Sec f L n : Type u)) m a *
        DirectSum.of (fun n => (Sec f L n : Type u)) n b) (m + n) : Sec f L (m + n)) =
      (tensorPowAdd L m n).hom.app ⊤
        (tensorSections (ι f L m ⟨_, a, rfl⟩) (ι f L n ⟨_, b, rfl⟩))
    rw [DirectSum.of_mul_of, DirectSum.of_eq_same]
    erw [ι_of f L m a _, ι_of f L n b _]
    rfl
AlgebraicGeometry.GradedOAlgebra.exists_isSectionRing

An invertible module sheaf has its concrete graded ring of global tensor-power sections.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
universe u
open CategoryTheory CategoryTheory.MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.Scheme.Modules
namespace AlgebraicGeometry.GradedOAlgebra
open scoped DirectSum SectionRingConstruction in
theorem exists_isSectionRing
    {S : Type u} [CommRing S] {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of S)) (L : X.Modules)
    (hL : Scheme.Modules.IsInvertible L) :
    ∃ (R : Type u) (_ : CommRing R) (_ : Algebra S R) (𝓡 : ℕ → Submodule S R) (_ : GradedAlgebra 𝓡)
        (ι : ∀ n : ℕ, 𝓡 n → Γ(L.tensorPow n, ⊤)),
      AlgebraicGeometry.GradedOAlgebra.IsSectionRing f L R 𝓡 ι