Quotients by submodules #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
- If
pis a submodule ofM,M ⧸ pis the quotient ofMwith respect top: that is, elements ofMare identified if their difference is inp. This is itself a module.
The equivalence relation associated to a submodule p, defined by x ≈ y iff -x + y ∈ p.
Note this is equivalent to y - x ∈ p, but defined this way to be be defeq to the add_subgroup
version, where commutativity can't be assumed.
Equations
The quotient of a module M by a submodule p ⊆ M.
Equations
- submodule.has_quotient = {quotient' := λ (p : submodule R M), quotient p.quotient_rel}
Map associating to an element of M the corresponding element of M/p,
when p is a submodule of M.
Equations
Equations
Equations
Equations
- submodule.quotient.has_smul' P = {smul := λ (a : S), quotient.map' (has_smul.smul a) _}
Shortcut to help the elaborator in the common case.
Equations
Equations
Equations
Equations
- submodule.quotient.distrib_smul' P = function.surjective.distrib_smul {to_fun := submodule.quotient.mk P, map_zero' := _, map_add' := _} _ _
Equations
Equations
Equations
- submodule.quotient.module' P = function.surjective.module S {to_fun := submodule.quotient.mk P, map_zero' := _, map_add' := _} _ _
Equations
The quotient of P as an S-submodule is the same as the quotient of P as an R-submodule,
where P : submodule R M.
Equations
- submodule.quotient.restrict_scalars_equiv S P = {to_fun := (quotient.congr_right _).to_fun, map_add' := _, map_smul' := _, inv_fun := (quotient.congr_right _).inv_fun, left_inv := _, right_inv := _}
Equations
- submodule.quotient_top.unique = {to_inhabited := {default := 0}, uniq := _}
Equations
Equations
Two linear_maps from a quotient module are equal if their compositions with
submodule.mkq are equal.
The map from the quotient of M by a submodule p to M₂ induced by a linear map f : M → M₂
vanishing on p, as a linear map.
Equations
- p.liftq f h = {to_fun := (quotient_add_group.lift p.to_add_subgroup f.to_add_monoid_hom h).to_fun, map_add' := _, map_smul' := _}
Special case of liftq when p is the span of x. In this case, the condition on f simply
becomes vanishing at x.
Equations
- submodule.liftq_span_singleton x f h = (submodule.span R {x}).liftq f _
The map from the quotient of M by submodule p to the quotient of M₂ by submodule q along
f : M → M₂ is linear.
Given submodules p ⊆ M, p₂ ⊆ M₂, p₃ ⊆ M₃ and maps f : M → M₂, g : M₂ → M₃ inducing
mapq f : M ⧸ p → M₂ ⧸ p₂ and mapq g : M₂ ⧸ p₂ → M₃ ⧸ p₃ then
mapq (g ∘ f) = (mapq g) ∘ (mapq f).
The correspondence theorem for modules: there is an order isomorphism between submodules of the
quotient of M by p, and submodules of M larger than p.
Equations
- submodule.comap_mkq.rel_iso p = {to_equiv := {to_fun := λ (p' : submodule R (M ⧸ p)), ⟨submodule.comap p.mkq p', _⟩, inv_fun := λ (q : {p' // p ≤ p'}), submodule.map p.mkq ↑q, left_inv := _, right_inv := _}, map_rel_iff' := _}
The ordering on submodules of the quotient of M by p embeds into the ordering on submodules
of M.
Equations
- submodule.comap_mkq.order_embedding p = (rel_iso.to_rel_embedding (submodule.comap_mkq.rel_iso p)).trans (subtype.rel_embedding has_le.le (λ (p' : submodule R M), p ≤ p'))
If P is a submodule of M and Q a submodule of N,
and f : M ≃ₗ N maps P to Q, then M ⧸ P is equivalent to N ⧸ Q.
An epimorphism is surjective.
If p = ⊥, then M / p ≃ₗ[R] M.
Equations
- p.quot_equiv_of_eq_bot hp = linear_equiv.of_linear (p.liftq linear_map.id _) p.mkq _ _
Quotienting by equal submodules gives linearly equivalent quotients.
Equations
- p.quot_equiv_of_eq p' h = {to_fun := (quotient.congr (equiv.refl M) _).to_fun, map_add' := _, map_smul' := _, inv_fun := (quotient.congr (equiv.refl M) _).inv_fun, left_inv := _, right_inv := _}
Given modules M, M₂ over a commutative ring, together with submodules p ⊆ M, q ⊆ M₂,
the natural map $\{f ∈ Hom(M, M₂) | f(p) ⊆ q \} \to Hom(M/p, M₂/q)$ is linear.
Equations
- p.mapq_linear q = {to_fun := λ (f : ↥(p.compatible_maps q)), p.mapq q f.val _, map_add' := _, map_smul' := _}