Module

TwoAffineOpenCover.lean

Nyll.SchemeTheory.Cohomology.Cech.TwoAffineOpenCover
21 declarations indexed from sourceView source ↗

Two affine charts with affine intersection, their section-ring cover and its scalar extension.

Imports4
Imported by272

Declarations

AlgebraicGeometry.Scheme.TwoAffineOpenCover

A cover of X by two affine open subschemes whose intersection is also affine.

Source context 4 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
structure Scheme.TwoAffineOpenCover (X : Scheme.{u}) where
  /-- The first open subset of the cover. -/
  U0 : X.Opens
  /-- The second open subset of the cover. -/
  U1 : X.Opens
  /-- The first open subset is affine. -/
  isAffineOpen_U0 : IsAffineOpen U0
  /-- The second open subset is affine. -/
  isAffineOpen_U1 : IsAffineOpen U1
  /-- The two open subsets cover the whole scheme. -/
  sup_eq_top : U0 ⊔ U1 = ⊤
  /-- The intersection of the two open subsets is affine. -/
  isAffineOpen_inf : IsAffineOpen (U0 ⊓ U1)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.specMap

The morphism of affine schemes induced by the R-algebra structure on A.

Source context 5 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
abbrev specMap (R A : Type u) [CommRing R] [CommRing A] [Algebra R A] : Spec (.of A) ⟶ Spec (.of
    R)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.algebraOfHom

The R-algebra structure on sections over U induced by the morphism c.

Source context 6 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
def algebraOfHom (c : X ⟶ Spec (.of R)) (U : X.Opens) : Algebra R Γ(X, U)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.algebraMap_algebraOfHom
Source context 6 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
theorem algebraMap_algebraOfHom (c : X ⟶ Spec (.of R)) (U : X.Opens) (r : R) :
    (algebraOfHom c U).algebraMap r = (c.appLE ⊤ U le_top).hom ((Scheme.ΓSpecIso (.of
      R)).inv.hom r)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.restrictAlgHom

The restriction map on sections as an R-algebra homomorphism for the structures induced by c.

Source context 6 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
def restrictAlgHom (c : X ⟶ Spec (.of R)) {U V : X.Opens} (h : V ≤ U) :
    letI := algebraOfHom c U; letI := algebraOfHom c V
    Γ(X, U) →ₐ[R] Γ(X, V) :=
  letI := algebraOfHom c U; letI := algebraOfHom c V
  { (X.presheaf.map (homOfLE h).op).hom with
    commutes' := fun r => by
      change (c.appLE ⊤ U le_top ≫ X.presheaf.map (homOfLE h).op).hom _ = (c.appLE ⊤ V le_top).hom _
      exact congrArg
        (fun φ => φ.hom ((Scheme.ΓSpecIso (.of R)).inv.hom r))
        (Scheme.Hom.appLE_map c (by simp) (homOfLE h).op) }
AlgebraicGeometry.Scheme.TwoAffineOpenCover.cover

The two-chart algebraic cover formed by the section rings of the affine opens and their intersection.

Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
def cover : TwoChartCech.Cover.{u, u} R
AlgebraicGeometry.Scheme.TwoAffineOpenCover.cover_A0
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem cover_A0 : (𝒱.cover c).A0 = Γ(X, 𝒱.U0)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.cover_A1
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem cover_A1 : (𝒱.cover c).A1 = Γ(X, 𝒱.U1)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.cover_A01
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem cover_A01 : (𝒱.cover c).A01 = Γ(X, 𝒱.U0 ⊓ 𝒱.U1)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.cover_ρ0_apply
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem cover_ρ0_apply (x : (𝒱.cover c).A0) :
    (𝒱.cover c).ρ0 x = (X.presheaf.map (homOfLE (inf_le_left : 𝒱.U0 ⊓ 𝒱.U1 ≤ 𝒱.U0)).op).hom x
AlgebraicGeometry.Scheme.TwoAffineOpenCover.cover_ρ1_apply
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem cover_ρ1_apply (x : (𝒱.cover c).A1) :
    (𝒱.cover c).ρ1 x = (X.presheaf.map (homOfLE (inf_le_right : 𝒱.U0 ⊓ 𝒱.U1 ≤ 𝒱.U1)).op).hom x
AlgebraicGeometry.Scheme.TwoAffineOpenCover.structureSheafSections

The two-chart section data of the structure sheaf.

Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
abbrev structureSheafSections : TwoChartCech.Sections (𝒱.cover c)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.lineBundleSections

The two-chart section data for the line bundle glued by the unit t on the intersection.

Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
abbrev lineBundleSections (t : (𝒱.cover c).A01ˣ) : TwoChartCech.Sections (𝒱.cover c)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.res_res
Source context 8 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
omit [CommRing R] in
theorem res_res {V₁ V₂ V₃ : X.Opens} (h₂₁ : V₂ ≤ V₁) (h₃₂ : V₃ ≤ V₂) (x : Γ(X, V₁)) :
    (X.presheaf.map (homOfLE h₃₂).op).hom ((X.presheaf.map (homOfLE h₂₁).op).hom x) =
      (X.presheaf.map (homOfLE (h₃₂.trans h₂₁)).op).hom x
AlgebraicGeometry.Scheme.TwoAffineOpenCover.restrict_mem_H0
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem restrict_mem_H0 (s : Γ(X, ⊤)) :
    ((X.presheaf.map (homOfLE (le_top : 𝒱.U0 ≤ ⊤)).op).hom s,
      (X.presheaf.map (homOfLE (le_top : 𝒱.U1 ≤ ⊤)).op).hom s)
      ∈ (𝒱.structureSheafSections c).H0
AlgebraicGeometry.Scheme.TwoAffineOpenCover.toH0

The map sending a global section to its compatible pair of restrictions in degree-zero Cech cohomology.

Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
def toH0 : letI := algebraOfHom c ⊤; Γ(X, ⊤) →ₗ[R] (𝒱.structureSheafSections c).H0 :=
  letI := algebraOfHom c ⊤; letI := algebraOfHom c 𝒱.U0; letI := algebraOfHom c 𝒱.U1
  LinearMap.codRestrict _
    (((restrictAlgHom c (le_top : 𝒱.U0 ≤ ⊤)).toLinearMap).prod
      ((restrictAlgHom c (le_top : 𝒱.U1 ≤ ⊤)).toLinearMap))
    (fun s => 𝒱.restrict_mem_H0 c s)
AlgebraicGeometry.Scheme.TwoAffineOpenCover.toH0_apply_coe
Source context 7 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
theorem toH0_apply_coe (s : Γ(X, ⊤)) :
    letI := algebraOfHom c ⊤
    ((𝒱.toH0 c s : (𝒱.structureSheafSections c).M0 × (𝒱.structureSheafSections c).M1)) =
      ((X.presheaf.map (homOfLE (le_top : 𝒱.U0 ≤ ⊤)).op).hom s,
        (X.presheaf.map (homOfLE (le_top : 𝒱.U1 ≤ ⊤)).op).hom s) := rfl
AlgebraicGeometry.Scheme.TwoAffineOpenCover.isAffineHom_fst
Source context 9 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
section Pullback
variable (A : Type u) [CommRing A] [Algebra R A]
theorem isAffineHom_fst : IsAffineHom (Limits.pullback.fst c (specMap R A))
AlgebraicGeometry.Scheme.TwoAffineOpenCover.pullback

The two-affine-open cover obtained by base change along the morphism from Spec A to Spec R.

Source context 9 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
section Pullback
variable (A : Type u) [CommRing A] [Algebra R A]
def pullback : (Limits.pullback c (specMap R A)).TwoAffineOpenCover
AlgebraicGeometry.Scheme.TwoAffineOpenCover.pullback_U0
Source context 9 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
section Pullback
variable (A : Type u) [CommRing A] [Algebra R A]
theorem pullback_U0 : (𝒱.pullback c A).U0 = (Limits.pullback.fst c (specMap R A)) ⁻¹ᵁ
    𝒱.U0
AlgebraicGeometry.Scheme.TwoAffineOpenCover.pullback_U1
Source context 9 commands

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

noncomputable section
universe u
namespace AlgebraicGeometry
open CategoryTheory CategoryTheory.Limits Opposite
namespace Scheme.TwoAffineOpenCover
variable {R : Type u} [CommRing R] {X : Scheme.{u}}
variable (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
section Pullback
variable (A : Type u) [CommRing A] [Algebra R A]
theorem pullback_U1 : (𝒱.pullback c A).U1 = (Limits.pullback.fst c (specMap R A)) ⁻¹ᵁ
    𝒱.U1