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

              The trivial group object.

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

                The trivial additive 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.
                  @[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.

                                                          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.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₂✝) :
                                                          @[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₂✝) :
                                                          @[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