The concrete products in the category of modules are products in the categorical sense. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
The product cone induced by the concrete product.
Equations
- Module.product_cone Z = category_theory.limits.fan.mk (Module.of R (Π (i : ι), ↥(Z i))) (λ (i : ι), linear_map.proj i)
The concrete product cone is limiting.
Equations
- Module.product_cone_is_limit Z = {lift := λ (s : category_theory.limits.cone (category_theory.discrete.functor Z)), linear_map.pi (λ (j : ι), s.π.app {as := j}), fac' := _, uniq' := _}
noncomputable
def
Module.pi_iso_pi
{R : Type u}
[ring R]
{ι : Type v}
(Z : ι → Module R)
[category_theory.limits.has_product Z] :
The categorical product of a family of objects in Module
agrees with the usual module-theoretical product.
Equations
@[simp]
theorem
Module.pi_iso_pi_inv_kernel_ι
{R : Type u}
[ring R]
{ι : Type v}
(Z : ι → Module R)
[category_theory.limits.has_product Z]
(i : ι) :
@[simp]
theorem
Module.pi_iso_pi_inv_kernel_ι_apply
{R : Type u}
[ring R]
{ι : Type v}
(Z : ι → Module R)
[category_theory.limits.has_product Z]
(i : ι)
(x : ↥(Module.of R (Π (i : ι), ↥(Z i)))) :
⇑(category_theory.limits.pi.π Z i) (⇑((Module.pi_iso_pi Z).inv) x) = ⇑(linear_map.proj i) x
@[simp]
theorem
Module.pi_iso_pi_hom_ker_subtype
{R : Type u}
[ring R]
{ι : Type v}
(Z : ι → Module R)
[category_theory.limits.has_product Z]
(i : ι) :
@[simp]
theorem
Module.pi_iso_pi_hom_ker_subtype_apply
{R : Type u}
[ring R]
{ι : Type v}
(Z : ι → Module R)
[category_theory.limits.has_product Z]
(i : ι)
(x : ↥∏ Z) :
⇑(linear_map.proj i) (⇑((Module.pi_iso_pi Z).hom) x) = ⇑(category_theory.limits.pi.π Z i) x