Documentation

Mathlib.CategoryTheory.Monoidal.Mod_

The category of module objects over a monoid object. #

Given an action of a monoidal category C on a category D, an action of a monoid object M in C on an object X in D is the data of a map smul : M ⊙ₗ XX that satisfies unitality and associativity with multiplication.

See MulAction for the non-categorical version.

Instances
    @[reducible, inline]

    The action of a monoid object on itself.

    Instances For
      @[implicit_reducible]

      If C acts monoidally on D, then every object of D is canonically a module over the trivial monoid.

      theorem CategoryTheory.ModObj.ext {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {M : C} [MonObj M] {X : C} (h₁ h₂ : ModObj M X) (H : smul = smul) :
      h₁ = h₂
      theorem CategoryTheory.ModObj.ext_iff {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {M : C} [MonObj M] {X : C} {h₁ h₂ : ModObj M X} :
      h₁ = h₂ smul = smul
      class CategoryTheory.IsMod_Hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] (A : C) [MonObj A] {M N : D} [ModObj A M] [ModObj A N] (f : M N) :

      A morphism in D is a morphism of A-module objects if it commutes with the action maps

      Instances
        @[simp]
        theorem CategoryTheory.IsMod_Hom.smul_hom_assoc {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {inst✝¹ : MonoidalCategory C} {D : Type u₂} {inst✝² : Category.{v₂, u₂} D} {inst✝³ : MonoidalCategory.MonoidalLeftAction C D} {A : C} {inst✝⁴ : MonObj A} {M N : D} {inst✝⁵ : ModObj A M} {inst✝⁶ : ModObj A N} {f : M N} [self : IsMod_Hom A f] {Z : D} (h : N Z) :
        instance CategoryTheory.instIsMod_HomComp {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] (A : C) [MonObj A] {M N O : D} [ModObj A M] [ModObj A N] [ModObj A O] (f : M N) (g : N O) [IsMod_Hom A f] [IsMod_Hom A g] :
        structure CategoryTheory.Mod_ {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] (D : Type u₂) [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] (A : C) [MonObj A] :
        Type (max u₂ v₂)

        A module object for a monoid object in a monoidal category acting on the ambient category.

        • X : D

          The underlying object in the ambient category

        • mod : ModObj A self.X
        Instances For

          A morphism of module objects.

          Instances For
            theorem CategoryTheory.Mod_.Hom.ext {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {inst✝¹ : MonoidalCategory C} {D : Type u₂} {inst✝² : Category.{v₂, u₂} D} {inst✝³ : MonoidalCategory.MonoidalLeftAction C D} {A : C} {inst✝⁴ : MonObj A} {M N : Mod_ D A} {x y : M.Hom N} (hom : x.hom = y.hom) :
            x = y
            theorem CategoryTheory.Mod_.Hom.ext_iff {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {inst✝¹ : MonoidalCategory C} {D : Type u₂} {inst✝² : Category.{v₂, u₂} D} {inst✝³ : MonoidalCategory.MonoidalLeftAction C D} {A : C} {inst✝⁴ : MonObj A} {M N : Mod_ D A} {x y : M.Hom N} :
            x = y x.hom = y.hom

            An alternative constructor for Hom, taking a morphism without a [isMod_Hom] instance, as well as the relevant equality to put such an instance.

            Instances For
              def CategoryTheory.Mod_.Hom.mk'' {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A : C} [MonObj A] {M N : D} [ModObj A M] [ModObj A N] (f : M N) (smul_hom : CategoryStruct.comp ModObj.smul f = CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight A f) ModObj.smul := by cat_disch) :
              { X := M, mod := inst✝ }.Hom { X := N, mod := inst✝¹ }

              An alternative constructor for Hom, taking a morphism without a [isMod_Hom] instance, between objects with a ModObj instance (rather than bundled as Mod_), as well as the relevant equality to put such an instance.

              Instances For

                The identity morphism on a module object.

                Instances For
                  @[implicit_reducible]
                  def CategoryTheory.Mod_.comp {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A : C} [MonObj A] {M N O : Mod_ D A} (f : M.Hom N) (g : N.Hom O) :
                  M.Hom O

                  Composition of module object morphisms.

                  Instances For
                    @[simp]
                    theorem CategoryTheory.Mod_.comp_hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A : C} [MonObj A] {M N O : Mod_ D A} (f : M.Hom N) (g : N.Hom O) :
                    theorem CategoryTheory.Mod_.hom_ext {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A : C} [MonObj A] {M N : Mod_ D A} (f₁ f₂ : M N) (h : f₁.hom = f₂.hom) :
                    f₁ = f₂
                    theorem CategoryTheory.Mod_.hom_ext_iff {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A : C} [MonObj A] {M N : Mod_ D A} {f₁ f₂ : M N} :
                    f₁ = f₂ f₁.hom = f₂.hom

                    A monoid object as a module over itself.

                    Instances For
                      @[simp]
                      @[implicit_reducible]

                      The forgetful functor from module objects to the ambient category.

                      Instances For
                        @[simp]
                        theorem CategoryTheory.Mod_.forget_map {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] (A : C) [MonObj A] {X✝ Y✝ : Mod_ D A} (f : X✝ Y✝) :
                        (forget A).map f = f.hom
                        @[simp]
                        @[implicit_reducible]

                        When M is a B-module in D and f : A ⟶ B is a morphism of internal monoid objects, M inherits an A-module structure via "restriction of scalars", i.e γ[A, M] = f.hom ⊵ₗ M ≫ γ[B, M].

                        Instances For
                          theorem CategoryTheory.Mod_.scalarRestriction_hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A B : C} [MonObj A] [MonObj B] (f : A B) [IsMonHom f] (M N : D) [ModObj B M] [ModObj B N] (g : M N) [IsMod_Hom B g] :

                          If g : M ⟶ N is a B-linear morphisms of B-modules, then it induces an A-linear morphism when M and N have an A-module structure obtained by restricting scalars along a monoid morphism A ⟶ B.

                          A morphism of monoid objects induces a "restriction" or "comap" functor between the categories of module objects.

                          Instances For
                            @[simp]
                            theorem CategoryTheory.Mod_.comap_obj_X {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A B : C} [MonObj A] [MonObj B] (f : A B) [IsMonHom f] (M : Mod_ D B) :
                            ((comap f).obj M).X = M.X
                            @[simp]
                            theorem CategoryTheory.Mod_.comap_map_hom {C : Type u₁} [Category.{v₁, u₁} C] [MonoidalCategory C] {D : Type u₂} [Category.{v₂, u₂} D] [MonoidalCategory.MonoidalLeftAction C D] {A B : C} [MonObj A] [MonObj B] (f : A B) [IsMonHom f] {M N : Mod_ D B} (g : M N) :
                            ((comap f).map g).hom = g.hom