Documentation

TauCeti.CategoryTheory.Monoidal.Mod.Bimodule

Modules over a commutative monoid as bimodules #

A left module over a commutative monoid object has a canonical right action, obtained by moving the scalar past the module through the braiding. The two actions commute, so this gives a native bimodule. Module maps respect both actions. This adapter allows balanced tensor products of modules to use Mathlib's Bimod.TensorBimod construction rather than a second coequalizer construction.

The construction uses the inverse braiding from the scalar to the module; in a symmetric monoidal category it is also the forward braiding in the opposite order. No colimit or closedness assumptions are needed.

@[reducible, inline]

Forget the right action of a bimodule, retaining its native left module.

Instances For
    @[simp]
    theorem CategoryTheory.Bimod.toLeftMod_obj_X {C : Type u} [Category.{v, u} C] [MonoidalCategory C] (A B : Mon C) (M : Bimod A B) :
    ((toLeftMod A B).obj M).X = M.X
    @[simp]

    The left action is unchanged when forgetting the right action.

    @[reducible, inline]
    abbrev CategoryTheory.Mod.toBimod {C : Type u} [Category.{v, u} C] [MonoidalCategory C] [BraidedCategory C] {A : C} [MonObj A] [IsCommMonObj A] :
    Functor (Mod C A) (Bimod { X := A, mon := inst✝ } { X := A, mon := inst✝ })

    Regard modules over a commutative monoid object as bimodules. The right action moves the scalar to the left using the inverse braiding.

    Instances For
      @[simp]
      theorem CategoryTheory.Mod.toBimod_map_hom {C : Type u} [Category.{v, u} C] [MonoidalCategory C] [BraidedCategory C] {A : C} [MonObj A] [IsCommMonObj A] {M N : Mod C A} (f : M ⟶ N) :

      A bimodule map between the canonical bimodules is determined by, and uniquely lifts, a left-module map.

      Instances For
        def CategoryTheory.Mod.toBimodCompToLeftModIso {C : Type u} [Category.{v, u} C] [MonoidalCategory C] [BraidedCategory C] {A : C} [MonObj A] [IsCommMonObj A] :
        toBimod.comp (Bimod.toLeftMod { X := A, mon := inst✝ } { X := A, mon := inst✝ }) ≅ Functor.id (Mod C A)

        Forgetting the added right action recovers the original module functorially.

        Instances For

          For the regular left module, the added right action is multiplication.

          Instances For
            def CategoryTheory.Bimod.toLeftModToBimodIsoOfActRightEq {C : Type u} [Category.{v, u} C] [MonoidalCategory C] [BraidedCategory C] {A : C} [MonObj A] [IsCommMonObj A] (M : Bimod { X := A, mon := inst✝ } { X := A, mon := inst✝ }) (h : M.actRight = CategoryStruct.comp (β_ A M.X).inv M.actLeft) :
            Mod.toBimod.obj ((toLeftMod { X := A, mon := inst✝ } { X := A, mon := inst✝ }).obj M) ≅ M

            A bimodule whose right action is induced from its left action is recovered from that left module. Both comparison maps are the identity on the carrier.

            Instances For