Documentation

Mathlib.CategoryTheory.Monoidal.Cartesian.Mon_

Yoneda embedding of Mon C #

We show that monoid objects in Cartesian monoidal categories are exactly those whose yoneda presheaf is a presheaf of monoids, by constructing the yoneda embedding Mon C ⥤ Cᵒᵖ ⥤ MonCat.{v} and showing that it is fully faithful and its (essential) image is the representable functors.

Comm monoid objects are internal monoid objects #

A commutative monoid object is a monoid object in the category of monoid objects.

Equations

    A commutative monoid object is a commutative monoid object in the category of monoid objects.

    If X represents a presheaf of monoids, then X is a monoid object.

    Equations
      Instances For
        @[deprecated CategoryTheory.MonObj.ofRepresentableBy (since := "2025-09-09")]

        Alias of CategoryTheory.MonObj.ofRepresentableBy.


        If X represents a presheaf of monoids, then X is a monoid object.

        Equations
          Instances For
            @[deprecated CategoryTheory.MonObj.ofRepresentableBy (since := "2025-09-09")]

            Alias of CategoryTheory.MonObj.ofRepresentableBy.


            If X represents a presheaf of monoids, then X is a monoid object.

            Equations
              Instances For
                @[reducible, inline]

                If M is a monoid object, then Hom(X, M) has a monoid structure.

                Equations
                  Instances For
                    theorem CategoryTheory.Functor.map_mul {C : Type u_1} {D : Type u_2} [Category.{v, u_1} C] [CartesianMonoidalCategory C] [Category.{w, u_2} D] [CartesianMonoidalCategory D] {M X : C} [MonObj M] (F : Functor C D) [F.Monoidal] (f g : X M) :
                    F.map (f * g) = F.map f * F.map g

                    Functor.map of a monoidal functor as a MonoidHom.

                    Equations
                      Instances For
                        @[simp]

                        Functor.map of a fully faithful monoidal functor as a MulEquiv.

                        Equations
                          Instances For
                            @[simp]
                            @[reducible, inline]

                            If M is a commutative monoid object, then Hom(X, M) has a commutative monoid structure.

                            Equations
                              Instances For
                                @[simp]
                                @[simp]
                                theorem CategoryTheory.Mon.Hom.hom_pow {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] [BraidedCategory C] {M N : Mon C} [IsCommMonObj N.X] (f : M N) (n : ) :
                                (f ^ n).hom = f.hom ^ n

                                If M is a monoid object, then Hom(-, M) is a presheaf of monoids.

                                Equations
                                  Instances For
                                    @[simp]
                                    theorem CategoryTheory.yonedaMonObj_map {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] (M : C) [MonObj M] {X Y₂ : Cᵒᵖ} (φ : X Y₂) :
                                    (yonedaMonObj M).map φ = MonCat.ofHom { toFun := fun (x : Opposite.unop X M) => CategoryStruct.comp φ.unop x, map_one' := , map_mul' := }

                                    If X represents a presheaf of monoids F, then Hom(-, X) is isomorphic to F as a presheaf of monoids.

                                    Equations
                                      Instances For

                                        The yoneda embedding of Mon_C into presheaves of monoids.

                                        Equations
                                          Instances For
                                            @[simp]
                                            theorem CategoryTheory.yonedaMon_map_app {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N : Mon C} (ψ : M N) (Y : Cᵒᵖ) :
                                            (yonedaMon.map ψ).app Y = MonCat.ofHom { toFun := fun (x : Opposite.unop Y M.X) => CategoryStruct.comp x ψ.hom, map_one' := , map_mul' := }

                                            If M is a monoid object, then Hom(-, M) as a presheaf of monoids is represented by M.

                                            Equations
                                              Instances For
                                                @[deprecated CategoryTheory.MonObj.ofRepresentableBy_yonedaMonObjRepresentableBy (since := "2025-09-09")]

                                                Alias of CategoryTheory.MonObj.ofRepresentableBy_yonedaMonObjRepresentableBy.

                                                @[deprecated CategoryTheory.MonObj.ofRepresentableBy_yonedaMonObjRepresentableBy (since := "2025-09-09")]

                                                Alias of CategoryTheory.MonObj.ofRepresentableBy_yonedaMonObjRepresentableBy.

                                                The yoneda embedding for Mon_C is fully faithful.

                                                Equations
                                                  Instances For
                                                    @[simp]
                                                    @[deprecated CategoryTheory.MonObj.one_comp (since := "2025-09-09")]

                                                    Alias of CategoryTheory.MonObj.one_comp.

                                                    theorem CategoryTheory.MonObj.mul_comp {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N X : C} [MonObj M] [MonObj N] (f₁ f₂ : X M) (g : M N) [IsMonHom g] :
                                                    theorem CategoryTheory.MonObj.mul_comp_assoc {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N X : C} [MonObj M] [MonObj N] (f₁ f₂ : X M) (g : M N) [IsMonHom g] {Z : C} (h : N Z) :
                                                    @[deprecated CategoryTheory.MonObj.mul_comp (since := "2025-09-09")]
                                                    theorem CategoryTheory.Mon_Class.mul_comp {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N X : C} [MonObj M] [MonObj N] (f₁ f₂ : X M) (g : M N) [IsMonHom g] :

                                                    Alias of CategoryTheory.MonObj.mul_comp.

                                                    theorem CategoryTheory.MonObj.pow_comp {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N X : C} [MonObj M] [MonObj N] (f : X M) (n : ) (g : M N) [IsMonHom g] :
                                                    theorem CategoryTheory.MonObj.pow_comp_assoc {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N X : C} [MonObj M] [MonObj N] (f : X M) (n : ) (g : M N) [IsMonHom g] {Z : C} (h : N Z) :
                                                    @[deprecated CategoryTheory.MonObj.pow_comp (since := "2025-09-09")]
                                                    theorem CategoryTheory.Mon_Class.pow_comp {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N X : C} [MonObj M] [MonObj N] (f : X M) (n : ) (g : M N) [IsMonHom g] :

                                                    Alias of CategoryTheory.MonObj.pow_comp.

                                                    @[simp]
                                                    @[deprecated CategoryTheory.MonObj.comp_one (since := "2025-09-09")]

                                                    Alias of CategoryTheory.MonObj.comp_one.

                                                    theorem CategoryTheory.MonObj.comp_mul {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M X Y : C} [MonObj M] (f : X Y) (g₁ g₂ : Y M) :
                                                    theorem CategoryTheory.MonObj.comp_mul_assoc {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M X Y : C} [MonObj M] (f : X Y) (g₁ g₂ : Y M) {Z : C} (h : M Z) :
                                                    @[deprecated CategoryTheory.MonObj.comp_mul (since := "2025-09-09")]
                                                    theorem CategoryTheory.Mon_Class.comp_mul {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M X Y : C} [MonObj M] (f : X Y) (g₁ g₂ : Y M) :

                                                    Alias of CategoryTheory.MonObj.comp_mul.

                                                    theorem CategoryTheory.MonObj.comp_pow {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M X Y : C} [MonObj M] (f : X M) (n : ) (h : Y X) :
                                                    theorem CategoryTheory.MonObj.comp_pow_assoc {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M X Y : C} [MonObj M] (f : X M) (n : ) (h : Y X) {Z : C} (h✝ : M Z) :
                                                    @[deprecated CategoryTheory.MonObj.comp_pow (since := "2025-09-09")]
                                                    theorem CategoryTheory.Mon_Class.comp_pow {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M X Y : C} [MonObj M] (f : X M) (n : ) (h : Y X) :

                                                    Alias of CategoryTheory.MonObj.comp_pow.

                                                    @[deprecated CategoryTheory.MonObj.one_eq_one (since := "2025-09-09")]

                                                    Alias of CategoryTheory.MonObj.one_eq_one.

                                                    @[deprecated CategoryTheory.MonObj.mul_eq_mul (since := "2025-09-09")]

                                                    Alias of CategoryTheory.MonObj.mul_eq_mul.

                                                    def CategoryTheory.Hom.mulEquivCongrRight {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N : C} [MonObj M] [MonObj N] (e : M N) [IsMonHom e.hom] (X : C) :
                                                    (X M) ≃* (X N)

                                                    If M and N are isomorphic as monoid objects, then X ⟶ M and X ⟶ N are isomorphic monoids.

                                                    Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem CategoryTheory.Hom.mulEquivCongrRight_symm_apply {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N : C} [MonObj M] [MonObj N] (e : M N) [IsMonHom e.hom] (X : C) (a : ((yonedaMon.obj { X := N, mon := inst✝ }).obj (Opposite.op X))) :
                                                        @[simp]
                                                        theorem CategoryTheory.Hom.mulEquivCongrRight_apply {C : Type u_1} [Category.{v, u_1} C] [CartesianMonoidalCategory C] {M N : C} [MonObj M] [MonObj N] (e : M N) [IsMonHom e.hom] (X : C) (a : ((yonedaMon.obj { X := M, mon := inst✝ }).obj (Opposite.op X))) :

                                                        A monoid object M is commutative if and only if X ⟶ M is commutative for all X.