Module

QuasicoherentSubmoduleOverExtension.lean

Nyll.SchemeTheory.Modules.QuasicoherentSubmoduleOverExtension
10 declarations indexed from sourceView source ↗

Literal extension of quasicoherent subsheaves on an open subscheme

The input and restriction use the actual sectionwise submodules on the slice site. The kernel of the map to the direct image of the quotient extends the input, and the embedded restriction isomorphism gives equality of the native submodules. This is the submodule assertion of Stacks 01PE(2).

Imports11
Imported by3

Declarations

AlgebraicGeometry.Scheme.Modules.isQuasicoherent_sheafOfModulesEquivOver
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
theorem isQuasicoherent_sheafOfModulesEquivOver
    {X : TopCat.{u}} (V : TopologicalSpace.Opens X) (R : X.Sheaf RingCat.{u})
    (M : SheafOfModules.{u} (R.over V)) [M.IsQuasicoherent] :
    ((V.sheafOfModulesEquivOver R).functor.obj M).IsQuasicoherent
AlgebraicGeometry.Scheme.Modules.submoduleOverInclusion
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
def submoduleOverInclusion
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    (overEquiv V).functor.obj N.toSheafOfModules ⟶ F.restrict V.ι
AlgebraicGeometry.Scheme.Modules.submoduleOverInclusion_mono
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
instance submoduleOverInclusion_mono
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    Mono (submoduleOverInclusion F V N)
AlgebraicGeometry.Scheme.Modules.extendQuasicoherentSubmoduleOver

The actual global subsheaf obtained from the quotient of the prescribed subsheaf on the open subscheme.

Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
def extendQuasicoherentSubmoduleOver
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    F.Submodule
AlgebraicGeometry.Scheme.Modules.submoduleOverKernelIso
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
def submoduleOverKernelIso
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    ((extendQuasicoherentSubmoduleOver F V N).over V).toSheafOfModules ≅
      ((sheafOfModulesEquivalence X).functor.obj
        (kernel (submoduleExtensionMap V.ι F (submoduleOverInclusion F V N)))).over V
AlgebraicGeometry.Scheme.Modules.submoduleOverKernelIso_hom_ι
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
theorem submoduleOverKernelIso_hom_ι
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    (submoduleOverKernelIso F V N).hom ≫
      ((sheafOfModulesEquivalence X).functor.map
        (kernel.ι (submoduleExtensionMap V.ι F (submoduleOverInclusion F V N)))).over V =
      ((extendQuasicoherentSubmoduleOver F V N).over V).ι
AlgebraicGeometry.Scheme.Modules.submoduleOverExtensionSchemeIso
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
def submoduleOverExtensionSchemeIso
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    (overEquiv V).functor.obj
        ((extendQuasicoherentSubmoduleOver F V N).over V).toSheafOfModules ≅
      (overEquiv V).functor.obj N.toSheafOfModules
AlgebraicGeometry.Scheme.Modules.submoduleOverExtensionSchemeIso_hom_ι
Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
theorem submoduleOverExtensionSchemeIso_hom_ι
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    (submoduleOverExtensionSchemeIso F V N).hom ≫ submoduleOverInclusion F V N =
      (overEquiv V).functor.map ((extendQuasicoherentSubmoduleOver F V N).over V).ι ≫
        ((overFunctorEquiv V).app F).hom
AlgebraicGeometry.Scheme.Modules.extendQuasicoherentSubmoduleOver_over

The constructed extension restricts to the prescribed actual submodule. The equality is in the native slice-site submodule lattice.

Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
theorem extendQuasicoherentSubmoduleOver_over
    {X : Scheme.{u}} (F : X.Modules) (V : X.Opens) (N : (F.over V).Submodule) :
    (extendQuasicoherentSubmoduleOver F V N).over V = N
AlgebraicGeometry.Scheme.Modules.isQuasicoherent_extendQuasicoherentSubmoduleOver

The actual subsheaf extension is quasicoherent when the open immersion is quasi-compact and the ambient and prescribed modules are quasicoherent.

Source context 4 commands

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

noncomputable section
universe u
open CategoryTheory Limits
namespace AlgebraicGeometry.Scheme.Modules
theorem isQuasicoherent_extendQuasicoherentSubmoduleOver
    {X : Scheme.{u}} (F : X.Modules) [F.IsQuasicoherent]
    (V : X.Opens) [QuasiCompact V.ι] (N : (F.over V).Submodule)
    (hN : N.toSheafOfModules.IsQuasicoherent) :
    (extendQuasicoherentSubmoduleOver F V N).toSheafOfModules.IsQuasicoherent