Documentation

Mathlib.CategoryTheory.Monoidal.Cartesian.Grp_

Yoneda embedding of Grp C #

We show that group objects are exactly those whose yoneda presheaf is a presheaf of groups, by constructing the yoneda embedding Grp C ⥤ Cᵒᵖ ⥤ GrpCat.{v} and showing that it is fully faithful and its (essential) image is the representable functors.

@[implicit_reducible]

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

Instances For
    @[reducible, inline]

    If G is a group object, then Hom(X, G) has a group structure.

    Instances For

      If G is a group object, then Hom(-, G) is a presheaf of groups.

      Instances For
        @[simp]
        theorem CategoryTheory.yonedaGrpObj_map {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] (G : C) [GrpObj G] {X✝ Y✝ : Cᵒᵖ} (φ : X✝ Y✝) :

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

        Instances For

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

          Instances For
            @[simp]
            theorem CategoryTheory.yonedaGrpObjIsoOfRepresentableBy_hom {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] (X : C) (F : Functor Cᵒᵖ GrpCat) (α : (F.comp (forget GrpCat)).RepresentableBy X) :
            (yonedaGrpObjIsoOfRepresentableBy X F α).hom = { app := fun (X_1 : Cᵒᵖ) => GrpCat.ofHom { toEquiv := α.homEquiv, map_mul' := }, naturality := }
            @[simp]
            theorem CategoryTheory.yonedaGrpObjIsoOfRepresentableBy_inv {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] (X : C) (F : Functor Cᵒᵖ GrpCat) (α : (F.comp (forget GrpCat)).RepresentableBy X) :
            (yonedaGrpObjIsoOfRepresentableBy X F α).inv = { app := fun (X_1 : Cᵒᵖ) => GrpCat.ofHom { toEquiv := α.homEquiv.symm, map_mul' := }, naturality := }

            The yoneda embedding of Grp_C into presheaves of groups.

            Instances For

              The yoneda embedding for Grp_C is fully faithful.

              Instances For
                theorem CategoryTheory.GrpObj.zpow_comp {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] {G H X : C} [GrpObj G] [GrpObj H] (f : X G) (n : ) (g : G H) [IsMonHom g] :
                theorem CategoryTheory.GrpObj.zpow_comp_assoc {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] {G H X : C} [GrpObj G] [GrpObj H] (f : X G) (n : ) (g : G H) [IsMonHom g] {Z : C} (h : H Z) :
                theorem CategoryTheory.GrpObj.comp_zpow {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] {G X Y : C} [GrpObj G] (f : X Y) (g : Y G) (n : ) :
                theorem CategoryTheory.GrpObj.comp_zpow_assoc {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] {G X Y : C} [GrpObj G] (f : X Y) (g : Y G) (n : ) {Z : C} (h : G Z) :
                @[simp]

                If G is a group object and F is monoidal, then Hom(X, G) → Hom(F X, F G) preserves inverses.

                Conjugation in G as a morphism. This is the map (x, y) ↦ x * y * x⁻¹, see CategoryTheory.GrpObj.lift_conj_eq_mul_mul_inv.

                Instances For

                  The commutator of G as a morphism. This is the map (x, y) ↦ x * y * x⁻¹ * y⁻¹, see CategoryTheory.GrpObj.lift_commutator_eq_mul_mul_inv_inv. This morphism is constant with value 1 if and only if G is commutative (see CategoryTheory.isCommMonObj_iff_commutator_eq_toUnit_η).

                  Instances For
                    @[simp]
                    theorem CategoryTheory.Grp.Hom.hom_mul {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] [BraidedCategory C] {G H : Grp C} [IsCommMonObj H.X] (f g : G H) :
                    (f * g).hom = f.hom * g.hom
                    @[simp]
                    theorem CategoryTheory.Grp.Hom.hom_pow {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] [BraidedCategory C] {G H : Grp C} [IsCommMonObj H.X] (f : G H) (n : ) :
                    (f ^ n).hom = f.hom ^ n
                    @[implicit_reducible]

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

                    @[simp]
                    theorem CategoryTheory.Grp.Hom.hom_hom_zpow {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] [BraidedCategory C] {G H : Grp C} [IsCommMonObj H.X] (f : G H) (n : ) :
                    (f ^ n).hom.hom = f.hom.hom ^ n
                    @[deprecated CategoryTheory.Grp.Hom.hom_hom_inv (since := "2025-12-18")]

                    Alias of CategoryTheory.Grp.Hom.hom_hom_inv.

                    @[deprecated CategoryTheory.Grp.Hom.hom_hom_div (since := "2025-12-18")]
                    theorem CategoryTheory.Grp.Hom.hom_div {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] [BraidedCategory C] {G H : Grp C} [IsCommMonObj H.X] (f g : G H) :
                    (f / g).hom.hom = f.hom.hom / g.hom.hom

                    Alias of CategoryTheory.Grp.Hom.hom_hom_div.

                    @[deprecated CategoryTheory.Grp.Hom.hom_hom_zpow (since := "2025-12-18")]
                    theorem CategoryTheory.Grp.Hom.hom_zpow {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] [BraidedCategory C] {G H : Grp C} [IsCommMonObj H.X] (f : G H) (n : ) :
                    (f ^ n).hom.hom = f.hom.hom ^ n

                    Alias of CategoryTheory.Grp.Hom.hom_hom_zpow.

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

                    @[reducible, inline]

                    If G is a commutative group object, then Hom(X, G) has a commutative group structure.

                    Instances For

                      G is a commutative group object if and only if the commutator map (x, y) ↦ x * y * x⁻¹ * y⁻¹ is constant.