Isomorphism theorems for modules. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
- The Noether's first, second, and third isomorphism theorems for modules are proved as
linear_map.quot_ker_equiv_range
,linear_map.quotient_inf_equiv_sup_quotient
andsubmodule.quotient_quotient_equiv_quotient
.
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.quot_ker_equiv_range = (linear_equiv.of_injective ((linear_map.ker f).liftq f _) _).trans (linear_equiv.of_eq (linear_map.range ((linear_map.ker f).liftq f _)) (linear_map.range f) _)
The first isomorphism theorem for surjective linear maps.
Equations
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
- linear_map.quotient_inf_to_sup_quotient p p' = (submodule.comap p.subtype (p ⊓ p')).liftq ((submodule.comap (p ⊔ p').subtype p').mkq.comp (submodule.of_le _)) _
Second Isomorphism Law : the canonical map from p/(p ∩ p')
to (p+p')/p'
as a linear isomorphism.
Equations
The third isomorphism theorem for modules.
The map from the third isomorphism theorem for modules: (M / S) / (T / S) → M / T
.
Equations
- S.quotient_quotient_equiv_quotient_aux T h = (submodule.map S.mkq T).liftq (S.mapq T linear_map.id h) _
Noether's third isomorphism theorem for modules: (M / S) / (T / S) ≃ M / T
.
Corollary of the third isomorphism theorem: [S : T] [M : S] = [M : T]