Localization of Submodules #
Results about localizations of submodules and quotient modules are provided in this file.
Main result #
Submodule.localized
: The localization of anR
-submodule ofM
atp
viewed as anRₚ
-submodule ofMₚ
.Submodule.toLocalized
: The localization map of a submoduleM' →ₗ[R] M'.localized p
.Submodule.toLocalizedQuotient
: The localization map of a quotient moduleM ⧸ M' →ₗ[R] LocalizedModule p M ⧸ M'.localized p
.
TODO #
- Statements regarding the exactness of localization.
- Connection with flatness.
def
Submodule.localized'
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
:
Submodule S N
Let S
be the localization of R
at p
and N
be the localization of M
at p
.
This is the localization of an R
-submodule of M
viewed as an S
-submodule of N
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline, reducible]
abbrev
Submodule.localized
{R : Type u}
{M : Type v}
[CommRing R]
[AddCommGroup M]
[Module R M]
(p : Submonoid R)
(M' : Submodule R M)
:
Submodule (Localization p) (LocalizedModule p M)
The localization of an R
-submodule of M
at p
viewed as an Rₚ
-submodule of Mₚ
.
Equations
- Submodule.localized p M' = Submodule.localized' (Localization p) p (LocalizedModule.mkLinearMap p M) M'
Instances For
@[simp]
theorem
Submodule.toLocalized'_apply_coe
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
(c : ↥M')
:
↑((Submodule.toLocalized' S p f M') c) = f ↑c
def
Submodule.toLocalized'
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
:
↥M' →ₗ[R] ↥(Submodule.localized' S p f M')
The localization map of a submodule.
Equations
- Submodule.toLocalized' S p f M' = LinearMap.restrict f (_ : ∀ x ∈ M', ∃ m ∈ M', ∃ (s : ↥p), IsLocalizedModule.mk' f m s = f x)
Instances For
@[inline, reducible]
abbrev
Submodule.toLocalized
{R : Type u}
{M : Type v}
[CommRing R]
[AddCommGroup M]
[Module R M]
(p : Submonoid R)
(M' : Submodule R M)
:
↥M' →ₗ[R] ↥(Submodule.localized p M')
The localization map of a submodule.
Equations
- Submodule.toLocalized p M' = Submodule.toLocalized' (Localization p) p (LocalizedModule.mkLinearMap p M) M'
Instances For
instance
Submodule.isLocalizedModule
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
:
IsLocalizedModule p (Submodule.toLocalized' S p f M')
Equations
- (_ : IsLocalizedModule p (Submodule.toLocalized' S p f M')) = (_ : IsLocalizedModule p (Submodule.toLocalized' S p f M'))
def
Submodule.toLocalizedQuotient'
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
:
M ⧸ M' →ₗ[R] N ⧸ Submodule.localized' S p f M'
The localization map of a quotient module.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline, reducible]
abbrev
Submodule.toLocalizedQuotient
{R : Type u}
{M : Type v}
[CommRing R]
[AddCommGroup M]
[Module R M]
(p : Submonoid R)
(M' : Submodule R M)
:
M ⧸ M' →ₗ[R] LocalizedModule p M ⧸ Submodule.localized p M'
The localization map of a quotient module.
Equations
Instances For
@[simp]
theorem
Submodule.toLocalizedQuotient'_mk
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
(x : M)
:
(Submodule.toLocalizedQuotient' S p f M') (Submodule.Quotient.mk x) = Submodule.Quotient.mk (f x)
instance
IsLocalizedModule.toLocalizedQuotient'
{R : Type u}
(S : Type u')
{M : Type v}
{N : Type v'}
[CommRing R]
[CommRing S]
[AddCommGroup M]
[AddCommGroup N]
[Module R M]
[Module R N]
[Algebra R S]
[Module S N]
[IsScalarTower R S N]
(p : Submonoid R)
[IsLocalization p S]
(f : M →ₗ[R] N)
[IsLocalizedModule p f]
(M' : Submodule R M)
:
IsLocalizedModule p (Submodule.toLocalizedQuotient' S p f M')
Equations
- (_ : IsLocalizedModule p (Submodule.toLocalizedQuotient' S p f M')) = (_ : IsLocalizedModule p (Submodule.toLocalizedQuotient' S p f M'))
instance
instIsLocalizedModuleToCommSemiringQuotientSubmoduleToSemiringToAddCommMonoidHasQuotientToRingQuotientLocalizedModuleSubmoduleLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAddCommMonoidLocalizedModuleIsModuleAlgebraIdIsLocalizationHasQuotientInstCommRingLocalizationToCommMonoidInstAddCommGroupLocalizedModuleToAddCommMonoidLocalizedAddCommGroupToAddCommMonoidAddCommGroupModuleModule'InstSMulLocalizationToSMulRightIsModule'InstIsScalarTowerLocalizedModuleToSMulToSemiringInstSMulLocalizedModuleToSMulInstZeroLocalizedModuleToSMulZeroClassToZeroToCommMonoidWithZeroToSMulWithZeroToMonoidWithZeroToSemiringToMulActionWithZeroInstAddCommMonoidLocalizedModuleIsModule'ToLocalizedQuotient
{R : Type u}
{M : Type v}
[CommRing R]
[AddCommGroup M]
[Module R M]
(p : Submonoid R)
(M' : Submodule R M)
:
Equations
- (_ : IsLocalizedModule p (Submodule.toLocalizedQuotient p M')) = (_ : IsLocalizedModule p (Submodule.toLocalizedQuotient' (Localization p) p (LocalizedModule.mkLinearMap p M) M'))