The concrete products in the category of modules are products in the categorical sense. #
The product cone induced by the concrete product.
Equations
- ModuleCat.productCone Z = CategoryTheory.Limits.Fan.mk (ModuleCat.of R ((i : ι) → ↑(Z i))) fun (i : ι) => LinearMap.proj i
Instances For
The concrete product cone is limiting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
ModuleCat.piIsoPi
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[CategoryTheory.Limits.HasProduct Z]
:
∏ Z ≅ ModuleCat.of R ((i : ι) → ↑(Z i))
The categorical product of a family of objects in ModuleCat
agrees with the usual module-theoretical product.
Equations
- ModuleCat.piIsoPi Z = CategoryTheory.Limits.limit.isoLimitCone { cone := ModuleCat.productCone Z, isLimit := ModuleCat.productConeIsLimit Z }
Instances For
theorem
ModuleCat.piIsoPi_inv_kernel_ι_apply
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[CategoryTheory.Limits.HasProduct Z]
(i : ι)
(x : (CategoryTheory.forget (ModuleCatMax R)).toPrefunctor.obj (ModuleCat.productCone Z).pt)
:
(CategoryTheory.Limits.limit.π (CategoryTheory.Discrete.functor Z) { as := i })
((CategoryTheory.Limits.limit.isoLimitCone
{ cone := ModuleCat.productCone Z, isLimit := ModuleCat.productConeIsLimit Z }).inv
x) = ((ModuleCat.productCone Z).π.app { as := i }) x
@[simp]
theorem
ModuleCat.piIsoPi_inv_kernel_ι
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[CategoryTheory.Limits.HasProduct Z]
(i : ι)
:
theorem
ModuleCat.piIsoPi_hom_ker_subtype_apply
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[CategoryTheory.Limits.HasProduct Z]
(i : ι)
(x : (CategoryTheory.forget (ModuleCatMax R)).toPrefunctor.obj
(CategoryTheory.Limits.limit.cone (CategoryTheory.Discrete.functor Z)).pt)
:
((ModuleCat.productCone Z).π.app { as := i })
((CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso (ModuleCat.productConeIsLimit Z)
(CategoryTheory.Limits.limit.isLimit (CategoryTheory.Discrete.functor Z))).inv
x) = (CategoryTheory.Limits.limit.π (CategoryTheory.Discrete.functor Z) { as := i }) x
@[simp]
theorem
ModuleCat.piIsoPi_hom_ker_subtype
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[CategoryTheory.Limits.HasProduct Z]
(i : ι)
: