Module

ModuleKernelLocalization.lean

Nyll.SchemeTheory.RingTheory.ModuleKernelLocalization
5 declarations indexed from sourceView source ↗

Localization of the actual kernel map in a commutative square

The native localization theorem identifies the kernel of the universal localized arrow with the localization of the original kernel. Here the lower arrow is the one supplied by an actual commutative square. Its universal property identifies it with that native arrow, so restriction of the vertical map to the two kernels is itself a localization.

This is the module-level kernel supplier for the quasicoherent extension construction in Stacks, Tag 01PE. It adds no kernel-comparison premise and does not yet assert a sheaf-extension or relative approximation theorem.

Imports4
  • Mathlib.Algebra.Module.LocalizedModule.Basic
  • Mathlib.Algebra.Module.LocalizedModule.Submodule
  • Mathlib.Algebra.Module.Submodule.Ker
  • Mathlib.Algebra.Module.Submodule.LinearMap
Imported by2

Declarations

LinearMap.mapsTo_ker_of_comp_eq
Source context 3 commands

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

noncomputable section
universe u v₁ v₂ v₃ v₄
namespace LinearMap
theorem mapsTo_ker_of_comp_eq
    {R : Type u} [CommRing R]
    {M : Type v₁} [AddCommGroup M] [Module R M]
    {M' : Type v₂} [AddCommGroup M'] [Module R M']
    {N : Type v₃} [AddCommGroup N] [Module R N]
    {N' : Type v₄} [AddCommGroup N'] [Module R N']
    (f : M →ₗ[R] M') (g : N →ₗ[R] N')
    (φ : M →ₗ[R] N) (ψ : M' →ₗ[R] N')
    (h : ψ.comp f = g.comp φ) :
    ∀ x ∈ φ.ker, f x ∈ ψ.ker
LinearMap.kernelRestriction

The restriction of the left vertical arrow to the kernels of the two horizontal arrows of an actual commutative square.

Source context 3 commands

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

noncomputable section
universe u v₁ v₂ v₃ v₄
namespace LinearMap
def kernelRestriction
    {R : Type u} [CommRing R]
    {M : Type v₁} [AddCommGroup M] [Module R M]
    {M' : Type v₂} [AddCommGroup M'] [Module R M']
    {N : Type v₃} [AddCommGroup N] [Module R N]
    {N' : Type v₄} [AddCommGroup N'] [Module R N']
    (f : M →ₗ[R] M') (g : N →ₗ[R] N')
    (φ : M →ₗ[R] N) (ψ : M' →ₗ[R] N')
    (h : ψ.comp f = g.comp φ) : φ.ker →ₗ[R] ψ.ker
LinearMap.isLocalizedModule_restrict_of_localized₀_eq
Source context 3 commands

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

noncomputable section
universe u v₁ v₂ v₃ v₄
namespace LinearMap
theorem isLocalizedModule_restrict_of_localized₀_eq
    {R : Type u} [CommRing R]
    {M : Type v₁} [AddCommGroup M] [Module R M]
    {M' : Type v₂} [AddCommGroup M'] [Module R M']
    (S : Submonoid R) (f : M →ₗ[R] M') [IsLocalizedModule S f]
    (K : Submodule R M) (L : Submodule R M')
    (hf : ∀ x ∈ K, f x ∈ L) (h : K.localized₀ S f = L) :
    IsLocalizedModule S (f.restrict hf)
LinearMap.localized₀_ker_eq_of_comp_eq
Source context 3 commands

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

noncomputable section
universe u v₁ v₂ v₃ v₄
namespace LinearMap
theorem localized₀_ker_eq_of_comp_eq
    {R : Type u} [CommRing R]
    {M : Type v₁} [AddCommGroup M] [Module R M]
    {M' : Type v₂} [AddCommGroup M'] [Module R M']
    {N : Type v₃} [AddCommGroup N] [Module R N]
    {N' : Type v₄} [AddCommGroup N'] [Module R N']
    (S : Submonoid R)
    (f : M →ₗ[R] M') [IsLocalizedModule S f]
    (g : N →ₗ[R] N') [IsLocalizedModule S g]
    (φ : M →ₗ[R] N) (ψ : M' →ₗ[R] N')
    (h : ψ.comp f = g.comp φ) :
    φ.ker.localized₀ S f = ψ.ker
LinearMap.isLocalizedModule_kernelRestriction

If both vertical arrows of a commutative square are localizations, the actual restriction map between the kernels is a localization too.

Source context 3 commands

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

noncomputable section
universe u v₁ v₂ v₃ v₄
namespace LinearMap
theorem isLocalizedModule_kernelRestriction
    {R : Type u} [CommRing R]
    {M : Type v₁} [AddCommGroup M] [Module R M]
    {M' : Type v₂} [AddCommGroup M'] [Module R M']
    {N : Type v₃} [AddCommGroup N] [Module R N]
    {N' : Type v₄} [AddCommGroup N'] [Module R N']
    (S : Submonoid R)
    (f : M →ₗ[R] M') [IsLocalizedModule S f]
    (g : N →ₗ[R] N') [IsLocalizedModule S g]
    (φ : M →ₗ[R] N) (ψ : M' →ₗ[R] N')
    (h : ψ.comp f = g.comp φ) :
    IsLocalizedModule S (kernelRestriction f g φ ψ h)