Ring objects in cartesian monoidal categories #
If C is a cartesian monoidal category and X : C, we introduce a typeclass RingObj X
which says that X is a ring object: it has a commutative additive group structure and
a multiplicative monoid structure that is distributive over the additive structure.
We also introduce a typeclass CommRingObj X which further requires that the multiplicative
law is commutative.
The categories of bundled ring objects and bundled commutative ring objects are
denoted RingObjCat C and CommRingObjCat C respectively.
TODO #
- develop the theory of bimonoidal categories and relate this with
Rig-objects
A ring object in a cartesian monoidal category is an object that is equipped with an additive group structure and a (multiplicative) monoid structure that is left and right distributive over the additive structure.
- mul_add : CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft R AddMonObj.add) MonObj.mul = CategoryStruct.comp (CartesianMonoidalCategory.lift (CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft R (SemiCartesianMonoidalCategory.fst R R)) MonObj.mul) (CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft R (SemiCartesianMonoidalCategory.snd R R)) MonObj.mul)) AddMonObj.add
- add_mul : CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight AddMonObj.add R) MonObj.mul = CategoryStruct.comp (CartesianMonoidalCategory.lift (CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (SemiCartesianMonoidalCategory.fst R R) R) MonObj.mul) (CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (SemiCartesianMonoidalCategory.snd R R) R) MonObj.mul)) AddMonObj.add
Instances
If G is a ring object, then Hom(X, G) has a ring structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A commutative ring object in a cartesian monoidal category is a ring object such that the multiplicative law is commutative.
- mul_add : CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft R AddMonObj.add) MonObj.mul = CategoryStruct.comp (CartesianMonoidalCategory.lift (CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft R (SemiCartesianMonoidalCategory.fst R R)) MonObj.mul) (CategoryStruct.comp (MonoidalCategoryStruct.whiskerLeft R (SemiCartesianMonoidalCategory.snd R R)) MonObj.mul)) AddMonObj.add
- add_mul : CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight AddMonObj.add R) MonObj.mul = CategoryStruct.comp (CartesianMonoidalCategory.lift (CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (SemiCartesianMonoidalCategory.fst R R) R) MonObj.mul) (CategoryStruct.comp (MonoidalCategoryStruct.whiskerRight (SemiCartesianMonoidalCategory.snd R R) R) MonObj.mul)) AddMonObj.add
Instances
If G is a commutative ring object, then Hom(X, G) has a commutative ring structure.
Equations
- CategoryTheory.Hom.commRing = { toRing := CategoryTheory.Hom.ring, mul_comm := ⋯ }
Instances For
The property that a morphism between ring objects is a ring morphism.
Instances
The category of ring objects in a cartesian monoidal category.
- X : C
The underlying object in the ambient monoidal category
Instances For
A morphism of ring objects.
The underlying morphism
Instances For
Equations
- One or more equations did not get rendered due to their size.
The forgetful functor from the category of ring objects in C to C.
Equations
- CategoryTheory.RingObjCat.forget C = { obj := fun (R : CategoryTheory.RingObjCat C) => R.X, map := fun {X Y : CategoryTheory.RingObjCat C} (f : X ⟶ Y) => f.hom, map_id := ⋯, map_comp := ⋯ }
Instances For
The forgetful functor from the category of ring objects in C
to the category of monoid objects in C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forgetful functor from the category of ring objects in C
to the category of additive monoid objects in C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The category of commutative ring objects in a cartesian monoidal category.
- X : C
The underlying object in the ambient monoidal category
- commRingObj : CommRingObj self.X
Instances For
A morphism of commutative ring objects.
The underlying morphism
Instances For
Equations
- One or more equations did not get rendered due to their size.
The forgetful functor from the category of ring objects in C to C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forgetful functor from the category of commutative ring objects to the category of ring objects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forgetful functor CommRingObjCat C ⥤ RingObjCat C is fully faithful.
Equations
- One or more equations did not get rendered due to their size.