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 : ι) => ModuleCat.ofHom (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
@[simp]
theorem
ModuleCat.piIsoPi_inv_kernel_ι
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[CategoryTheory.Limits.HasProduct Z]
(i : ι)
:
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)).obj (ModuleCat.of R ((i : ι) → ↑(Z i))))
:
(CategoryTheory.Limits.Pi.π Z i) ((ModuleCat.piIsoPi Z).inv x) = (ModuleCat.ofHom (LinearMap.proj i)) x
@[simp]
theorem
ModuleCat.piIsoPi_hom_ker_subtype
{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)).obj (∏ᶜ Z))
:
(ModuleCat.ofHom (LinearMap.proj i)) ((ModuleCat.piIsoPi Z).hom x) = (CategoryTheory.Limits.Pi.π Z i) x
def
ModuleCat.coproductCocone
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
:
The coproduct cone induced by the concrete product.
Equations
- ModuleCat.coproductCocone Z = CategoryTheory.Limits.Cofan.mk (ModuleCat.of R (DirectSum ι fun (i : ι) => ↑(Z i))) fun (i : ι) => ModuleCat.ofHom (DirectSum.lof R ι (fun (i : ι) => ↑(Z i)) i)
Instances For
def
ModuleCat.coproductCoconeIsColimit
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
:
The concrete coproduct cone is limiting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
ModuleCat.coprodIsoDirectSum
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
[CategoryTheory.Limits.HasCoproduct Z]
:
∐ Z ≅ ModuleCat.of R (DirectSum ι fun (i : ι) => ↑(Z i))
The categorical coproduct of a family of objects in ModuleCat
agrees with direct sum.
Equations
- ModuleCat.coprodIsoDirectSum Z = CategoryTheory.Limits.colimit.isoColimitCocone { cocone := ModuleCat.coproductCocone Z, isColimit := ModuleCat.coproductCoconeIsColimit Z }
Instances For
@[simp]
theorem
ModuleCat.ι_coprodIsoDirectSum_hom
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
[CategoryTheory.Limits.HasCoproduct Z]
(i : ι)
:
CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι Z i) (ModuleCat.coprodIsoDirectSum Z).hom = ModuleCat.ofHom (DirectSum.lof R ι (fun (i : ι) => ↑(Z i)) i)
theorem
ModuleCat.ι_coprodIsoDirectSum_hom_apply
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
[CategoryTheory.Limits.HasCoproduct Z]
(i : ι)
(x : (CategoryTheory.forget (ModuleCatMax R)).obj (Z i))
:
(ModuleCat.coprodIsoDirectSum Z).hom ((CategoryTheory.Limits.Sigma.ι Z i) x) = (ModuleCat.ofHom (DirectSum.lof R ι (fun (i : ι) => ↑(Z i)) i)) x
@[simp]
theorem
ModuleCat.lof_coprodIsoDirectSum_inv
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
[CategoryTheory.Limits.HasCoproduct Z]
(i : ι)
:
CategoryTheory.CategoryStruct.comp (ModuleCat.ofHom (DirectSum.lof R ι (fun (i : ι) => ↑(Z i)) i))
(ModuleCat.coprodIsoDirectSum Z).inv = CategoryTheory.Limits.Sigma.ι Z i
theorem
ModuleCat.lof_coprodIsoDirectSum_inv_apply
{R : Type u}
[Ring R]
{ι : Type v}
(Z : ι → ModuleCatMax R)
[DecidableEq ι]
[CategoryTheory.Limits.HasCoproduct Z]
(i : ι)
(x : (CategoryTheory.forget (ModuleCat R)).obj (ModuleCat.of R ↑(Z i)))
:
(ModuleCat.coprodIsoDirectSum Z).inv ((ModuleCat.ofHom (DirectSum.lof R ι (fun (i : ι) => ↑(Z i)) i)) x) = (CategoryTheory.Limits.Sigma.ι Z i) x