Module

FiniteTypeAffineSections.lean

Nyll.SchemeTheory.Modules.FiniteTypeAffineSections
4 declarations indexed from sourceView source ↗

Affine sections of finite-type quasicoherent modules

The actual local finite generators restrict to every subordinate affine open. Their free epimorphisms yield finite section modules there. Basic opens subordinate to the given generator cover span the unit ideal of an affine chart, and the native section-localization maps allow the existing finite-localization theorem to extract finitely many generators.

Imports13
  • Nyll.SchemeTheory.Modules.FiniteGeneratingSections
  • Nyll.SchemeTheory.Modules.SectionLocalization
  • Mathlib.AlgebraicGeometry.Modules.Sheaf
  • Mathlib.AlgebraicGeometry.Modules.Tilde
  • Mathlib.AlgebraicGeometry.AffineScheme
  • Mathlib.AlgebraicGeometry.Restrict
  • Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated
  • Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators
  • Mathlib.Algebra.Category.ModuleCat.Sheaf.Submodule
  • Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
  • Mathlib.CategoryTheory.Adjunction.Limits
  • Mathlib.Topology.Sheaves.Module
  • Mathlib.RingTheory.Localization.Finiteness
Imported by3

Declarations

AlgebraicGeometry.Scheme.Modules.finite_sections_of_finite_spec_restriction
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits Opposite TopologicalSpace
namespace AlgebraicGeometry.Scheme.Modules
theorem finite_sections_of_finite_spec_restriction
    {X : Scheme.{u}} (M : X.Modules) {R : CommRingCat.{u}}
    (j : Spec R ⟶ X) [IsOpenImmersion j]
    [Module.Finite R ((moduleSpecΓFunctor (R := R)).obj (M.restrict j))] :
    Module.Finite Γ(X, j ''ᵁ ⊤) Γ(M, j ''ᵁ ⊤)
AlgebraicGeometry.Scheme.Modules.moduleFinite_sections_of_generatingSections_over

Finite actual generators over an open set give a finite module of sections over each subordinate affine open.

Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits Opposite TopologicalSpace
namespace AlgebraicGeometry.Scheme.Modules
theorem moduleFinite_sections_of_generatingSections_over
    {X : Scheme.{u}} (M : X.Modules) [M.IsQuasicoherent]
    {U W : X.Opens} (hU : IsAffineOpen U) (hUW : U ≤ W)
    (G : (M.over W).GeneratingSections) [G.IsFiniteType] :
    Module.Finite Γ(X, U) Γ(M, U)
AlgebraicGeometry.Scheme.Modules.moduleFinite_sections_of_isFiniteType

A finite-type quasicoherent module has a finite module of sections on every affine open, with the original coefficient ring and section action.

Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits Opposite TopologicalSpace
namespace AlgebraicGeometry.Scheme.Modules
theorem moduleFinite_sections_of_isFiniteType
    {X : Scheme.{u}} (M : X.Modules) [M.IsQuasicoherent] [M.IsFiniteType]
    (U : X.Opens) (hU : IsAffineOpen U) : Module.Finite Γ(X, U) Γ(M, U)
AlgebraicGeometry.Scheme.Modules.fg_sections_submodule_of_isFiniteType

The affine-section finiteness statement for an actual native submodule.

Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits Opposite TopologicalSpace
namespace AlgebraicGeometry.Scheme.Modules
theorem fg_sections_submodule_of_isFiniteType
    {X : Scheme.{u}} {M : X.Modules} (N : M.Submodule)
    [(show X.Modules from N.toSheafOfModules).IsQuasicoherent]
    [N.toSheafOfModules.IsFiniteType]
    (U : X.Opens) (hU : IsAffineOpen U) : (N.toSubmodule.obj (op U)).FG := by
  let R : RingCat.{u} := X.ringCatSheaf.obj.obj (op U)
  let P : Submodule R (M.val.obj (op U)) := N.toSubmodule.obj (op U)
  have hfinite : Module.Finite R P :=
    moduleFinite_sections_of_isFiniteType (show X.Modules from N.toSheafOfModules) U hU
  exact (Module.Finite.iff_fg (R := R) (N := P)).mp hfinite