The category of comonoids in a monoidal category. #
We define comonoids in a monoidal category C
,
and show that they are equivalently monoid objects in the opposite category.
We construct the monoidal structure on Comon C
, when C
is braided.
An oplax monoidal functor takes comonoid objects to comonoid objects.
That is, a oplax monoidal functor F : C ⥤ D
induces a functor Comon C ⥤ Comon D
.
TODO #
- Comonoid objects in
C
are "just" oplax monoidal functors from the trivial monoidal category toC
.
A comonoid object internal to a monoidal category.
When the monoidal category is preadditive, this is also sometimes called a "coalgebra object".
The counit morphism of a comonoid object.
The comultiplication morphism of a comonoid object.
- comul_assoc : CategoryTheory.CategoryStruct.comp comul (CategoryTheory.MonoidalCategoryStruct.whiskerLeft X comul) = CategoryTheory.CategoryStruct.comp comul (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight comul X) (CategoryTheory.MonoidalCategoryStruct.associator X X X).hom)
Instances
The comultiplication morphism of a comonoid object.
Equations
- ComonObj.termΔ = Lean.ParserDescr.node `ComonObj.termΔ 1024 (Lean.ParserDescr.symbol "Δ")
Instances For
The comultiplication morphism of a comonoid object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The counit morphism of a comonoid object.
Equations
- ComonObj.termε = Lean.ParserDescr.node `ComonObj.termε 1024 (Lean.ParserDescr.symbol "ε")
Instances For
The counit morphism of a comonoid object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical comonoid structure on the monoidal unit. This is not a global instance to avoid conflicts with other comonoid structures.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The property that a morphism between comonoid objects is a comonoid morphism.
Instances
Alias of IsComonHom
.
The property that a morphism between comonoid objects is a comonoid morphism.
Equations
Instances For
A comonoid object internal to a monoidal category.
When the monoidal category is preadditive, this is also sometimes called a "coalgebra object".
- X : C
The underlying object of a comonoid object.
Instances For
Alias of Comon
.
A comonoid object internal to a monoidal category.
When the monoidal category is preadditive, this is also sometimes called a "coalgebra object".
Instances For
The trivial comonoid object. We later show this is terminal in Comon C
.
Equations
- Comon.trivial C = { X := CategoryTheory.MonoidalCategoryStruct.tensorUnit C, comon := ComonObj.instTensorUnit C }
Instances For
Equations
- Comon.instInhabited = { default := Comon.trivial C }
A morphism of comonoid objects.
The underlying morphism of a morphism of comonoid objects.
- isComonHom_hom : IsComonHom self.hom
Instances For
Construct a morphism M ⟶ N
of Comon C
from a map f : M ⟶ N
and a IsComonHom f
instance.
Equations
- Comon.Hom.mk' f f_counit f_comul = { hom := f, isComonHom_hom := ⋯ }
Instances For
The identity morphism on a comonoid object.
Instances For
Equations
- M.homInhabited = { default := M.id }
Composition of morphisms of monoid objects.
Equations
- Comon.comp f g = { hom := CategoryTheory.CategoryStruct.comp f.hom g.hom, isComonHom_hom := ⋯ }
Instances For
Equations
- One or more equations did not get rendered due to their size.
The forgetful functor from comonoid objects to the ambient category.
Equations
Instances For
The forgetful functor from comonoid objects to the ambient category reflects isomorphisms.
Construct an isomorphism of comonoids by giving an isomorphism between the underlying objects and checking compatibility with counit and comultiplication only in the forward direction.
Equations
Instances For
Construct an isomorphism of comonoids by giving an isomorphism between the underlying objects and checking compatibility with counit and comultiplication only in the forward direction.
Equations
Instances For
Equations
- A.uniqueHomToTrivial = { default := { hom := ComonObj.counit, isComonHom_hom := ⋯ }, uniq := ⋯ }
Auxiliary definition for ComonToMonOpOpObj
.
Equations
- A.ComonToMonOpOpObjMon = { one := ComonObj.counit.op, mul := ComonObj.comul.op, one_mul := ⋯, mul_one := ⋯, mul_assoc := ⋯ }
Instances For
Alias of Comon.ComonToMonOpOpObjMon
.
Auxiliary definition for ComonToMonOpOpObj
.
Instances For
Turn a comonoid object into a monoid object in the opposite category.
Equations
- A.ComonToMonOpOpObj = { X := Opposite.op A.X, mon := A.ComonToMonOpOpObjMon }
Instances For
Alias of Comon.ComonToMonOpOpObj
.
Turn a comonoid object into a monoid object in the opposite category.
Equations
Instances For
The contravariant functor turning comonoid objects into monoid objects in the opposite category.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of Comon.ComonToMonOpOp
.
The contravariant functor turning comonoid objects into monoid objects in the opposite category.
Equations
Instances For
Auxiliary definition for MonOpOpToComonObj
.
Equations
- Comon.MonOpOpToComonObjComon A = { counit := MonObj.one.unop, comul := MonObj.mul.unop, counit_comul := ⋯, comul_counit := ⋯, comul_assoc := ⋯ }
Instances For
Alias of Comon.MonOpOpToComonObjComon
.
Auxiliary definition for MonOpOpToComonObj
.
Instances For
Turn a monoid object in the opposite category into a comonoid object.
Equations
- Comon.MonOpOpToComonObj A = { X := Opposite.unop A.X, comon := Comon.MonOpOpToComonObjComon A }
Instances For
Alias of Comon.MonOpOpToComonObj
.
Turn a monoid object in the opposite category into a comonoid object.
Equations
Instances For
The contravariant functor turning monoid objects in the opposite category into comonoid objects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of Comon.MonOpOpToComon
.
The contravariant functor turning monoid objects in the opposite category into comonoid objects.
Equations
Instances For
Comonoid objects are contravariantly equivalent to monoid objects in the opposite category.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Comonoid objects in a braided category form a monoidal category.
This definition is via transporting back and forth to monoids in the opposite category.
Equations
- Comon.instComonObjTensorObj A B = inferInstanceAs (ComonObj (CategoryTheory.MonoidalCategoryStruct.tensorObj { X := A, comon := inst✝¹ } { X := B, comon := inst✝ }).X)
Preliminary statement of the comultiplication for a tensor product of comonoids.
This version is the definitional equality provided by transport, and not quite as good as
the version provided in tensorObj_comul
below.
The comultiplication on the tensor product of two comonoids is the tensor product of the comultiplications followed by the tensor strength (to shuffle the factors back into order).
The forgetful functor from Comon C
to C
is monoidal when C
is monoidal.
Equations
- One or more equations did not get rendered due to their size.
The image of a comonoid object under a oplax monoidal functor is a comonoid object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A oplax monoidal functor takes comonoid objects to comonoid objects.
That is, a oplax monoidal functor F : C ⥤ D
induces a functor Comon C ⥤ Comon D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Predicate for a comonoid object to be commutative.