Isomorphism theorems for modules. #
- The Noether's first, second, and third isomorphism theorems for modules are proved as
LinearMap.quotKerEquivRange
,LinearMap.quotientInfEquivSupQuotient
andSubmodule.quotientQuotientEquivQuotient
.
The first and second isomorphism theorems for modules.
The first isomorphism law for modules. The quotient of M
by the kernel of f
is linearly
equivalent to the range of f
.
Equations
- f.quotKerEquivRange = (LinearEquiv.ofInjective ((LinearMap.ker f).liftQ f ⋯) ⋯).trans (LinearEquiv.ofEq (LinearMap.range ((LinearMap.ker f).liftQ f ⋯)) (LinearMap.range f) ⋯)
Instances For
The first isomorphism theorem for surjective linear maps.
Equations
- f.quotKerEquivOfSurjective hf = f.quotKerEquivRange.trans (LinearEquiv.ofTop (LinearMap.range f) ⋯)
Instances For
Linear map from p
to p+p'/p'
where p p'
are submodules of R
Equations
- LinearMap.subToSupQuotient p p' = (Submodule.comap (p ⊔ p').subtype p').mkQ ∘ₗ Submodule.inclusion ⋯
Instances For
Canonical linear map from the quotient p/(p ∩ p')
to (p+p')/p'
, mapping x + (p ∩ p')
to x + p'
, where p
and p'
are submodules of an ambient module.
Equations
- LinearMap.quotientInfToSupQuotient p p' = (Submodule.comap p.subtype (p ⊓ p')).liftQ (LinearMap.subToSupQuotient p p') ⋯
Instances For
Second Isomorphism Law : the canonical map from p/(p ∩ p')
to (p+p')/p'
as a linear isomorphism.
Equations
Instances For
The third isomorphism theorem for modules.
The map from the third isomorphism theorem for modules: (M / S) / (T / S) → M / T
.
Equations
- S.quotientQuotientEquivQuotientAux T h = (Submodule.map S.mkQ T).liftQ (S.mapQ T LinearMap.id h) ⋯
Instances For
Noether's third isomorphism theorem for modules: (M / S) / (T / S) ≃ M / T
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Essentially the same equivalence as in the third isomorphism theorem,
except restated in terms of suprema/addition of submodules instead of ≤
.
Equations
- S.quotientQuotientEquivQuotientSup T = ((Submodule.map S.mkQ T).quotEquivOfEq (Submodule.map S.mkQ (S ⊔ T)) ⋯).trans (S.quotientQuotientEquivQuotient (S ⊔ T) ⋯)
Instances For
Corollary of the third isomorphism theorem: [S : T] [M : S] = [M : T]