Documentation

Mathlib.CategoryTheory.Monoidal.Grp_

The category of groups in a Cartesian monoidal category #

We define group objects in Cartesian monoidal categories.

We show that the associativity diagram of a group object is always Cartesian and deduce that morphisms of group objects commute with taking inverses.

We show that a finite-product-preserving functor takes group objects to group objects.

def CategoryTheory.MonObj.termι :
Lean.ParserDescr

The inverse in a group object

Instances For

    The inverse in a group object

    Instances For
      structure CategoryTheory.Grp (C : Type u₁) [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] :
      Type (max u₁ v₁)

      A group object in a Cartesian monoidal category.

      • X : C

        The underlying object in the ambient monoidal category

      • grp : GrpObj self.X
      Instances For
        @[deprecated CategoryTheory.Grp (since := "2025-10-13")]

        Alias of CategoryTheory.Grp.


        A group object in a Cartesian monoidal category.

        Instances For
          @[reducible, inline]

          A group object is a monoid object.

          Instances For

            The trivial group object.

            Instances For
              @[implicit_reducible]
              @[deprecated CategoryTheory.Grp.id_hom_hom (since := "2025-12-18")]

              Alias of CategoryTheory.Grp.id_hom_hom.

              @[deprecated CategoryTheory.Grp.comp_hom_hom (since := "2025-12-18")]

              Alias of CategoryTheory.Grp.comp_hom_hom.

              theorem CategoryTheory.Grp.hom_ext {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A B : Grp C} (f g : A B) (h : f.hom.hom = g.hom.hom) :
              f = g

              Constructor for morphisms in Grp C.

              Instances For

                Construct a morphism A ⟶ B of Grp C from a map f : A.X ⟶ A.X and a IsMonHom f instance.

                Instances For
                  def CategoryTheory.Grp.ofHom {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A B : C} [GrpObj A] [GrpObj B] (f : A B) [IsMonHom f] :
                  { X := A, grp := inst✝ } { X := B, grp := inst✝¹ }

                  Construct a morphism Grp.mk G ⟶ Grp.mk H from a map f : G ⟶ H and a IsMonHom f instance.

                  Instances For

                    Constructor for morphisms in Grp_ C.

                    Instances For
                      @[simp]
                      theorem CategoryTheory.Grp.comp' {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A₁ A₂ A₃ : Grp C} (f : A₁ A₂) (g : A₂ A₃) :
                      @[reducible, inline]

                      Transfer GrpObj along an isomorphism.

                      Instances For

                        The associativity diagram of a group object is Cartesian.

                        In fact, any monoid object whose associativity diagram is Cartesian can be made into a group object (we do not prove this in this file), so we should expect that many properties of group objects follow from this result.

                        @[simp]

                        Morphisms of group objects preserve inverses.

                        @[simp]

                        Morphisms of group objects preserve inverses.

                        theorem CategoryTheory.GrpObj.toMonObj_injective {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {X : C} :
                        Function.Injective (@toMonObj C inst✝ inst✝¹ X)
                        theorem CategoryTheory.GrpObj.ext {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {X : C} (h₁ h₂ : GrpObj X) (H : h₁.toMonObj = h₂.toMonObj) :
                        h₁ = h₂
                        theorem CategoryTheory.GrpObj.ext_iff {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {X : C} {h₁ h₂ : GrpObj X} :
                        h₁ = h₂ h₁.toMonObj = h₂.toMonObj
                        @[implicit_reducible]
                        def CategoryTheory.GrpObj.ofInvertible {C : Type u₁} [Category.{v₁, u₁} C] (G : C) [CartesianMonoidalCategory C] [MonObj G] (h : (X : C) → (f : X G) → Invertible f) :

                        A monoid object with invertible homs is a group object.

                        Instances For

                          The forgetful functor from group objects to monoid objects.

                          Instances For

                            The forgetful functor from group objects to monoid objects is fully faithful.

                            Instances For

                              The forgetful functor from group objects to the ambient category.

                              Instances For
                                @[simp]
                                theorem CategoryTheory.Grp.forget_map (C : Type u₁) [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {X✝ Y✝ : Grp C} (f : X✝ Y✝) :
                                (forget C).map f = f.hom.hom
                                def CategoryTheory.Grp.mkIso' {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {G H : C} (e : G H) [GrpObj G] [GrpObj H] [IsMonHom e.hom] :
                                { X := G, grp := inst✝ } { X := H, grp := inst✝¹ }

                                Construct an isomorphism of group objects by giving a monoid isomorphism between the underlying objects.

                                Instances For
                                  @[reducible, inline]

                                  Construct an isomorphism of group objects by giving an isomorphism between the underlying objects and checking compatibility with unit and multiplication only in the forward direction.

                                  Instances For
                                    @[deprecated CategoryTheory.Grp.mkIso_hom_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.mkIso_hom_hom_hom.

                                    @[deprecated CategoryTheory.Grp.mkIso_inv_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.mkIso_inv_hom_hom.

                                    Grp C is cartesian-monoidal #

                                    @[simp]
                                    theorem CategoryTheory.Grp.tensorHom_hom {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] [BraidedCategory C] {X₁✝ Y₁✝ X₂✝ Y₂✝ : Grp C} (f : X₁✝ Y₁✝) (g : X₂✝ Y₂✝) :
                                    @[deprecated CategoryTheory.Grp.whiskerLeft_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.whiskerLeft_hom_hom.

                                    @[deprecated CategoryTheory.Grp.whiskerRight_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.whiskerRight_hom_hom.

                                    @[deprecated CategoryTheory.Grp.associator_hom_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.associator_hom_hom_hom.

                                    @[deprecated CategoryTheory.Grp.associator_inv_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.associator_inv_hom_hom.

                                    @[deprecated CategoryTheory.Grp.fst_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.fst_hom_hom.

                                    @[deprecated CategoryTheory.Grp.snd_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.snd_hom_hom.

                                    @[deprecated CategoryTheory.Grp.braiding_hom_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.braiding_hom_hom_hom.

                                    @[deprecated CategoryTheory.Grp.braiding_inv_hom_hom (since := "2025-12-18")]

                                    Alias of CategoryTheory.Grp.braiding_inv_hom_hom.

                                    @[reducible, inline]

                                    The image of a group object under a monoidal functor is a group object.

                                    Instances For

                                      A finite-product-preserving functor takes group objects to group objects.

                                      Instances For

                                        If F : C ⥤ D is a fully faithful monoidal functor, then GrpCat(F) : GrpCat C ⥤ GrpCat D is fully faithful too.

                                        Instances For

                                          The identity functor is also the identity on group objects.

                                          Instances For

                                            The composition functor is also the composition on group objects.

                                            Instances For

                                              Natural transformations between functors lift to group objects.

                                              Instances For

                                                Natural isomorphisms between functors lift to group objects.

                                                Instances For

                                                  mapGrp is functorial in the left-exact functor.

                                                  Instances For
                                                    @[reducible, inline]

                                                    Pullback a group object along a fully faithful monoidal functor.

                                                    Instances For
                                                      @[simp]

                                                      The essential image of a full and faithful functor between cartesian-monoidal categories is the same on group objects as on objects.

                                                      An adjunction of monoidal functors lifts to an adjunction of their lifts to group objects.

                                                      Instances For

                                                        An equivalence of categories lifts to an equivalence of their group objects.

                                                        Instances For