The concrete (co)kernels in the category of modules are (co)kernels in the categorical sense. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
The kernel cone induced by the concrete kernel.
Equations
The kernel of a linear map is a kernel in the categorical sense.
Equations
- Module.kernel_is_limit f = category_theory.limits.fork.is_limit.mk (Module.kernel_cone f) (λ (s : category_theory.limits.fork f 0), linear_map.cod_restrict (linear_map.ker f) s.ι _) _ _
The cokernel cocone induced by the projection onto the quotient.
Equations
The projection onto the quotient is a cokernel in the categorical sense.
Equations
- Module.cokernel_is_colimit f = category_theory.limits.cofork.is_colimit.mk (Module.cokernel_cocone f) (λ (s : category_theory.limits.cofork f 0), (linear_map.range f).liftq s.π _) _ _
The category of R-modules has kernels, given by the inclusion of the kernel submodule.
The category or R-modules has cokernels, given by the projection onto the quotient.
@[simp]
theorem
Module.kernel_iso_ker_inv_kernel_ι_apply
{R : Type u}
[ring R]
{G H : Module R}
(f : G ⟶ H)
(x : ↥(Module.of R ↥(linear_map.ker f))) :
⇑(category_theory.limits.kernel.ι f) (⇑((Module.kernel_iso_ker f).inv) x) = ⇑((linear_map.ker f).subtype) x
@[simp]
@[simp]
@[simp]
theorem
Module.kernel_iso_ker_hom_ker_subtype_apply
{R : Type u}
[ring R]
{G H : Module R}
(f : G ⟶ H)
(x : ↥(category_theory.limits.kernel f)) :
⇑((linear_map.ker f).subtype) (⇑((Module.kernel_iso_ker f).hom) x) = ⇑(category_theory.limits.kernel.ι f) x
@[simp]
theorem
Module.cokernel_π_cokernel_iso_range_quotient_hom
{R : Type u}
[ring R]
{G H : Module R}
(f : G ⟶ H) :
@[simp]
theorem
Module.cokernel_π_cokernel_iso_range_quotient_hom_apply
{R : Type u}
[ring R]
{G H : Module R}
(f : G ⟶ H)
(x : ↥H) :
⇑((Module.cokernel_iso_range_quotient f).hom) (⇑(category_theory.limits.cokernel.π f) x) = ⇑((linear_map.range f).mkq) x
@[simp]
theorem
Module.range_mkq_cokernel_iso_range_quotient_inv
{R : Type u}
[ring R]
{G H : Module R}
(f : G ⟶ H) :
@[simp]
theorem
Module.range_mkq_cokernel_iso_range_quotient_inv_apply
{R : Type u}
[ring R]
{G H : Module R}
(f : G ⟶ H)
(x : ↥H) :
⇑((Module.cokernel_iso_range_quotient f).inv) (⇑(Module.as_hom_left (linear_map.range f).mkq) x) = ⇑(category_theory.limits.cokernel.π f) x