The equivalence between Monad C and Mon (C ⥤ C). #
A monad "is just" a monoid in the category of endofunctors.
Definitions/Theorems #
toMonassociates a monoid object inC ⥤ Cto any monad onC.monadToMonis the functorial version oftoMon.ofMonassociates a monad onCto any monoid object inC ⥤ C.monadMonEquivis the equivalence betweenMonad CandMon (C ⥤ C).
@[instance_reducible]
@[simp]
@[simp]
To every Monad C we associated a monoid object in C ⥤ C.
Instances For
@[simp]
@[simp]
Passing from Monad C to Mon (C ⥤ C) is functorial.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
@[simp]
theorem CategoryTheory.Monad.monadToMon_map_hom (C : Type u) [Category.{v, u} C] {X✝ Y✝ : Monad C} (f : X✝ ⟶ Y✝) :
To every monoid object in C ⥤ C we associate a Monad C.
Equations
- CategoryTheory.Monad.ofMon M = { toFunctor := M.X, η := CategoryTheory.MonObj.one, μ := CategoryTheory.MonObj.mul, assoc := ⋯, left_unit := ⋯, right_unit := ⋯ }
Instances For
@[simp]
@[simp]
Passing from Mon (C ⥤ C) to Monad C is functorial.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Monad.monToMonad_map_toNatTrans (C : Type u) [Category.{v, u} C] {X Y : Mon (Functor C C)} (f : X ⟶ Y) :
@[simp]
theorem CategoryTheory.Monad.monToMonad_obj (C : Type u) [Category.{v, u} C] (M : Mon (Functor C C)) :
Oh, monads are just monoids in the category of endofunctors (equivalence of categories).
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
@[simp]
theorem CategoryTheory.Monad.monadMonEquiv_counitIso_hom_app_hom (C : Type u) [Category.{v, u} C] (x✝ : Mon (Functor C C)) :
((monadMonEquiv C).counitIso.hom.app x✝).hom = CategoryStruct.id (((monToMonad C).comp (monadToMon C)).obj x✝).X
@[simp]
@[simp]
theorem CategoryTheory.Monad.monadMonEquiv_unitIso_hom_app_toNatTrans_app (C : Type u) [Category.{v, u} C] (x✝ : Monad C) (x✝¹ : C) :
((monadMonEquiv C).unitIso.hom.app x✝).app x✝¹ = CategoryStruct.id (((Functor.id (Monad C)).obj x✝).obj x✝¹)
@[simp]
theorem CategoryTheory.Monad.monadMonEquiv_unitIso_inv_app_toNatTrans_app (C : Type u) [Category.{v, u} C] (x✝ : Monad C) (x✝¹ : C) :
((monadMonEquiv C).unitIso.inv.app x✝).app x✝¹ = CategoryStruct.id ((((monadToMon C).comp (monToMonad C)).obj x✝).obj x✝¹)
@[simp]
theorem CategoryTheory.Monad.monadMonEquiv_counitIso_inv_app_hom (C : Type u) [Category.{v, u} C] (x✝ : Mon (Functor C C)) :
((monadMonEquiv C).counitIso.inv.app x✝).hom = CategoryStruct.id ((Functor.id (Mon (Functor C C))).obj x✝).X