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.

The inverse in a group object

Equations
Instances For

    The inverse in a group object

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      structure CategoryTheory.AddGrp (C : Type u₁) [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] :
      Type (max u₁ v₁)

      An additive group object in a Cartesian monoidal category.

      • X : C

        The underlying object in the ambient monoidal category

      • addGrp : AddGrpObj self.X
      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
          @[reducible, inline]

          A group object is a monoid object.

          Equations
          Instances For
            @[reducible, inline]

            An additive group object is an additive monoid object.

            Equations
            Instances For
              @[implicit_reducible]
              Equations
              • One or more equations did not get rendered due to their size.
              @[implicit_reducible]
              Equations
              • One or more equations did not get rendered due to their size.
              @[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
              theorem CategoryTheory.AddGrp.hom_ext {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A B : AddGrp C} (f g : A B) (h : f.hom.hom = g.hom.hom) :
              f = g

              Constructor for morphisms in Grp C.

              Equations
              Instances For

                Constructor for morphisms in AddGrp C.

                Equations
                Instances For

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

                  Equations
                  Instances For

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

                    Equations
                    Instances For
                      @[simp]
                      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.

                      Equations
                      Instances For
                        def CategoryTheory.AddGrp.ofHom {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A B : C} [AddGrpObj A] [AddGrpObj B] (f : A B) [IsAddMonHom f] :
                        { X := A, addGrp := inst✝ } { X := B, addGrp := inst✝¹ }

                        Construct a morphism AddGrp.mk G ⟶ AddGrp.mk H from a map f : G ⟶ H and a IsAddMonHom f instance.

                        Equations
                        Instances For
                          @[simp]

                          Constructor for morphisms in Grp C.

                          Equations
                          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₃) :
                            @[simp]
                            theorem CategoryTheory.AddGrp.comp' {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A₁ A₂ A₃ : AddGrp C} (f : A₁ A₂) (g : A₂ A₃) :
                            theorem CategoryTheory.Grp.comp'_assoc {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {A₁ A₂ A₃ : Grp C} (f : A₁ A₂) (g : A₂ A₃) {Z : Mon C} (h : A₃.toMon Z) :
                            @[reducible, inline]

                            Transfer AddGrpObj along an isomorphism.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[reducible, inline]

                              Transfer GrpObj along an isomorphism.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                The map (· * f).

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  The map (· + f).

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  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 negations.

                                    @[simp]

                                    Morphisms of group objects preserve inverses.

                                    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.AddGrpObj.ext {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {X : C} (h₁ h₂ : AddGrpObj X) (H : h₁.toAddMonObj = h₂.toAddMonObj) :
                                    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] [CartesianMonoidalCategory C] (G : C) [MonObj G] (h : (X : C) → (f : X G) → Invertible f) :

                                    A monoid object with invertible homs is a group object.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[implicit_reducible]
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      @[implicit_reducible]
                                      Equations
                                      • One or more equations did not get rendered due to their size.

                                      The forgetful functor from group objects to monoid objects.

                                      Equations
                                      Instances For

                                        The forgetful functor from additive group objects to additive monoid objects.

                                        Equations
                                        Instances For

                                          The forgetful functor from group objects to the ambient category.

                                          Equations
                                          Instances For

                                            The forgetful functor from additive group objects to the ambient category.

                                            Equations
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.AddGrp.forget_map (C : Type u₁) [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {X✝ Y✝ : AddGrp C} (f : X✝ Y✝) :
                                              (forget C).map f = f.hom.hom
                                              @[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.

                                              Equations
                                              Instances For
                                                def CategoryTheory.AddGrp.mkIso' {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] {G H : C} (e : G H) [AddGrpObj G] [AddGrpObj H] [IsAddMonHom e.hom] :
                                                { X := G, addGrp := inst✝ } { X := H, addGrp := inst✝¹ }

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

                                                Equations
                                                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.

                                                  Equations
                                                  Instances For
                                                    @[reducible, inline]

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

                                                    Equations
                                                    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.

                                                      @[implicit_reducible]
                                                      noncomputable instance CategoryTheory.Grp.instZeroHom {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] (G H : Grp C) :
                                                      Zero (G H)
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      noncomputable instance CategoryTheory.AddGrp.instZeroHom {C : Type u₁} [Category.{v₁, u₁} C] [CartesianMonoidalCategory C] (G H : AddGrp C) :
                                                      Zero (G H)
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations

                                                      Grp C is cartesian-monoidal #

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

                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[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.

                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[implicit_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[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.

                                                      Equations
                                                      Instances For
                                                        @[reducible, inline]

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

                                                        Equations
                                                        Instances For

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

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For

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

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              @[simp]

                                                              If F : C ⥤ D is a fully faithful monoidal functor, then F.mapGrp : Grp C ⥤ Grp D is fully faithful too.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For

                                                                If F : C ⥤ D is a fully faithful monoidal functor, then F.mapAddGrp : AddGrp C ⥤ AddGrp D is fully faithful too.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For

                                                                  The identity functor is also the identity on group objects.

                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For

                                                                    The identity functor is also the identity on additive group objects.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For

                                                                      The composition functor is also the composition on group objects.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For

                                                                        The composition functor is also the composition on additive group objects.

                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For

                                                                          Natural transformations between functors lift to group objects.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For

                                                                            Natural transformations between functors lift to additive group objects.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For

                                                                              Natural isomorphisms between functors lift to group objects.

                                                                              Equations
                                                                              Instances For

                                                                                Natural isomorphisms between functors lift to additive group objects.

                                                                                Equations
                                                                                Instances For

                                                                                  mapGrp is functorial in the left-exact functor.

                                                                                  Equations
                                                                                  • One or more equations did not get rendered due to their size.
                                                                                  Instances For

                                                                                    mapAddGrp is functorial in the left-exact functor.

                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      @[reducible, inline]

                                                                                      Pullback a group object along a fully faithful monoidal functor.

                                                                                      Equations
                                                                                      Instances For
                                                                                        @[reducible, inline]

                                                                                        Pullback an additive group object along a fully faithful monoidal functor.

                                                                                        Equations
                                                                                        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.

                                                                                          @[simp]

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

                                                                                          @[implicit_reducible]
                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          @[implicit_reducible]
                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.

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

                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          Instances For

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

                                                                                            Equations
                                                                                            • One or more equations did not get rendered due to their size.
                                                                                            Instances For

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

                                                                                              Equations
                                                                                              • One or more equations did not get rendered due to their size.
                                                                                              Instances For

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

                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For