Module

StructureSheafSectionsEquiv.lean

Nyll.EtaleFundamentalGroups.FiniteEtale.StructureSheafSectionsEquiv
2 declarations indexed from sourceView source ↗

The coefficient-preserving section equivalence of an actual unit isomorphism

Evaluation of the sheaf isomorphism gives the native section-module equivalence. Restriction of scalars uses the existing base-ring action and its existing scalar tower.

Declarations

AlgebraicGeometry.structureSheafSectionsEquiv

The actual section equivalence induced by an isomorphism with the structure sheaf, with the original affine base-ring action.

Source context 4 commands

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

noncomputable section
open CategoryTheory
namespace AlgebraicGeometry
universe u
def structureSheafSectionsEquiv
    {R : Type u} [CommRing R] {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of R))
    (M : X.Modules) (e : M ≅ SheafOfModules.unit X.ringCatSheaf) :
    let : Algebra R Γ(X, ⊤) := Scheme.TwoAffineOpenCover.algebraOfHom f ⊤
    let : Module R Γ(M, ⊤) := Scheme.TwoAffineOpenCover.moduleSectionsOfHom f M ⊤
    Γ(M, ⊤) ≃ₗ[R] Γ(X, ⊤) := by
  intro hRX hRM
  have hTower : IsScalarTower R Γ(X, ⊤) Γ(M, ⊤) :=
    Scheme.TwoAffineOpenCover.isScalarTower_sections f M ⊤
  let eΓ : Γ(M, ⊤) ≃ₗ[Γ(X, ⊤)] Γ(X, ⊤) :=
    (((SheafOfModules.forget X.ringCatSheaf) ⋙
      PresheafOfModules.evaluation X.ringCatSheaf.obj (Opposite.op ⊤)).mapIso e).toLinearEquiv
  exact eΓ.restrictScalars R
AlgebraicGeometry.structureSheafSectionsEquiv_apply

The section equivalence is the actual component of the sheaf morphism.

Source context 4 commands

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

noncomputable section
open CategoryTheory
namespace AlgebraicGeometry
universe u
theorem structureSheafSectionsEquiv_apply
    {R : Type u} [CommRing R] {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of R))
    (M : X.Modules) (e : M ≅ SheafOfModules.unit X.ringCatSheaf) :
    let : Algebra R Γ(X, ⊤) := Scheme.TwoAffineOpenCover.algebraOfHom f ⊤
    let : Module R Γ(M, ⊤) := Scheme.TwoAffineOpenCover.moduleSectionsOfHom f M ⊤
    ∀ x : Γ(M, ⊤), structureSheafSectionsEquiv f M e x = e.hom.app ⊤ x := by
  intro hRX hRM x
  rfl