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_quotientandsubmodule.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]