Documentation

Mathlib.CategoryTheory.Monoidal.Comon_

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 #

A comonoid object internal to a monoidal category.

When the monoidal category is preadditive, this is also sometimes called a "coalgebra object".

Instances

    The comultiplication morphism of a comonoid object.

    Equations
    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
        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
              class CategoryTheory.IsComonHom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {M N : C} [ComonObj M] [ComonObj N] (f : M N) :

              The property that a morphism between comonoid objects is a comonoid morphism.

              Instances
                @[deprecated CategoryTheory.IsComonHom (since := "2025-09-15")]

                Alias of CategoryTheory.IsComonHom.


                The property that a morphism between comonoid objects is a comonoid morphism.

                Equations
                Instances For
                  @[simp]
                  structure CategoryTheory.Comon (C : Type u₁) [Category.{v₁, u₁} C] [MonoidalCategory C] :
                  Type (max u₁ v₁)

                  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.

                  • comon : ComonObj self.X
                  Instances For
                    @[deprecated CategoryTheory.Comon (since := "2025-09-15")]
                    def CategoryTheory.Comon_ (C : Type u₁) [Category.{v₁, u₁} C] [MonoidalCategory C] :
                    Type (max u₁ v₁)

                    Alias of CategoryTheory.Comon.


                    A comonoid object internal to a monoidal category.

                    When the monoidal category is preadditive, this is also sometimes called a "coalgebra object".

                    Equations
                    Instances For

                      The trivial comonoid object. We later show this is terminal in Comon C.

                      Equations
                      Instances For
                        structure CategoryTheory.Comon.Hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] (M N : Comon C) :
                        Type v₁

                        A morphism of comonoid objects.

                        • hom : M.X N.X

                          The underlying morphism of a morphism of comonoid objects.

                        • isComonHom_hom : IsComonHom self.hom
                        Instances For
                          theorem CategoryTheory.Comon.Hom.ext_iff {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {inst✝¹ : MonoidalCategory C} {M N : Comon C} {x y : M.Hom N} :
                          x = y x.hom = y.hom
                          theorem CategoryTheory.Comon.Hom.ext {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {inst✝¹ : MonoidalCategory C} {M N : Comon C} {x y : M.Hom N} (hom : x.hom = y.hom) :
                          x = y
                          @[reducible, inline]

                          Construct a morphism M ⟶ N of Comon C from a map f : M ⟶ N and a IsComonHom f instance.

                          Equations
                          Instances For

                            The identity morphism on a comonoid object.

                            Equations
                            Instances For
                              Equations
                              def CategoryTheory.Comon.comp {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {M N O : Comon C} (f : M.Hom N) (g : N.Hom O) :
                              M.Hom O

                              Composition of morphisms of monoid objects.

                              Equations
                              Instances For
                                @[simp]
                                theorem CategoryTheory.Comon.comp_hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {M N O : Comon C} (f : M.Hom N) (g : N.Hom O) :
                                Equations
                                • One or more equations did not get rendered due to their size.
                                theorem CategoryTheory.Comon.ext {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {X Y : Comon C} {f g : X Y} (w : f.hom = g.hom) :
                                f = g
                                theorem CategoryTheory.Comon.ext_iff {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {X Y : Comon C} {f g : X Y} :
                                f = g f.hom = g.hom

                                The forgetful functor from comonoid objects to the ambient category.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Comon.forget_map (C : Type u₁) [Category.{v₁, u₁} C] [MonoidalCategory C] {X✝ Y✝ : Comon C} (f : X✝ Y✝) :
                                  (forget C).map f = f.hom

                                  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
                                      @[reducible, inline]

                                      Auxiliary definition for ComonToMonOpOpObj.

                                      Equations
                                      Instances For
                                        @[deprecated CategoryTheory.Comon.ComonToMonOpOpObjMon (since := "2025-09-15")]

                                        Alias of CategoryTheory.Comon.ComonToMonOpOpObjMon.


                                        Auxiliary definition for ComonToMonOpOpObj.

                                        Equations
                                        Instances For

                                          Turn a comonoid object into a monoid object in the opposite category.

                                          Equations
                                          Instances For
                                            @[deprecated CategoryTheory.Comon.ComonToMonOpOpObj (since := "2025-09-15")]

                                            Alias of CategoryTheory.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
                                                @[simp]
                                                theorem CategoryTheory.Comon.ComonToMonOpOp_map (C : Type u₁) [Category.{v₁, u₁} C] [MonoidalCategory C] {X✝ Y✝ : Comon C} (f : X✝ Y✝) :
                                                (ComonToMonOpOp C).map f = Opposite.op { hom := f.hom.op, isMonHom_hom := }
                                                @[deprecated CategoryTheory.Comon.ComonToMonOpOp (since := "2025-09-15")]

                                                Alias of CategoryTheory.Comon.ComonToMonOpOp.


                                                The contravariant functor turning comonoid objects into monoid objects in the opposite category.

                                                Equations
                                                Instances For
                                                  @[reducible, inline]

                                                  Auxiliary definition for MonOpOpToComonObj.

                                                  Equations
                                                  Instances For
                                                    @[deprecated CategoryTheory.Comon.MonOpOpToComonObjComon (since := "2025-09-15")]

                                                    Alias of CategoryTheory.Comon.MonOpOpToComonObjComon.


                                                    Auxiliary definition for MonOpOpToComonObj.

                                                    Equations
                                                    Instances For

                                                      Turn a monoid object in the opposite category into a comonoid object.

                                                      Equations
                                                      Instances For
                                                        @[deprecated CategoryTheory.Comon.MonOpOpToComonObj (since := "2025-09-15")]

                                                        Alias of CategoryTheory.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
                                                            @[deprecated CategoryTheory.Comon.MonOpOpToComon (since := "2025-09-15")]

                                                            Alias of CategoryTheory.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
                                                                @[simp]
                                                                theorem CategoryTheory.Comon.monoidal_tensorHom_hom (C : Type u₁) [Category.{v₁, u₁} C] [MonoidalCategory C] [BraidedCategory C] {X₁✝ Y₁✝ X₂✝ Y₂✝ : Comon C} (f : X₁✝ Y₁✝) (g : X₂✝ Y₂✝) :
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.

                                                                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.

                                                                @[simp]

                                                                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.
                                                                @[reducible, inline]

                                                                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
                                                                    @[simp]
                                                                    theorem CategoryTheory.Functor.mapComon_map_hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory D] (F : Functor C D) [F.OplaxMonoidal] {X✝ Y✝ : Comon C} (f : X✝ Y✝) :
                                                                    (F.mapComon.map f).hom = F.map f.hom

                                                                    Predicate for a comonoid object to be commutative.

                                                                    Instances