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

                    Functor.map of a monoidal functor as a MonoidHom.

                    Equations
                      Instances For

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

                        Equations
                          Instances For
                            @[reducible, inline]

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

                            Equations
                              Instances For

                                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
                                                    @[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] :
                                                    CategoryStruct.comp (f₁ * fβ‚‚) g = CategoryStruct.comp f₁ g * CategoryStruct.comp fβ‚‚ 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] :
                                                    CategoryStruct.comp (f₁ * fβ‚‚) g = CategoryStruct.comp f₁ g * CategoryStruct.comp fβ‚‚ g

                                                    Alias of CategoryTheory.MonObj.mul_comp.

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

                                                    Alias of CategoryTheory.MonObj.pow_comp.

                                                    @[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) :
                                                    CategoryStruct.comp f (g₁ * gβ‚‚) = CategoryStruct.comp f g₁ * CategoryStruct.comp f gβ‚‚
                                                    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) :
                                                    CategoryStruct.comp f (g₁ * gβ‚‚) = CategoryStruct.comp f g₁ * CategoryStruct.comp f gβ‚‚

                                                    Alias of CategoryTheory.MonObj.comp_mul.

                                                    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")]

                                                    Alias of CategoryTheory.MonObj.comp_pow.

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

                                                    Alias of CategoryTheory.MonObj.one_eq_one.

                                                    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_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))) :
                                                        @[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))) :

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