Convert from Monad (i.e. Lean's Type-based monads) to CategoryTheory.Monad #
This allows us to use these monads in category theory.
A lawful Control.Monad gives a category theory Monad on the category of types.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.ofTypeMonad_obj
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
(x : Type u)
:
@[simp]
theorem
CategoryTheory.ofTypeMonad_μ_app
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
(X : Type u)
:
@[simp]
theorem
CategoryTheory.ofTypeMonad_map
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
{X✝ Y✝ : Type u}
(f : X✝ ⟶ Y✝)
:
@[simp]
theorem
CategoryTheory.ofTypeMonad_η_app
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
(X : Type u)
:
The Kleisli category of a Control.Monad is equivalent to the Kleisli category of its
category-theoretic version, provided the monad is lawful.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.kleisliCatEquivKleisli_functor_obj_of
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
(X : KleisliCat m)
:
@[simp]
theorem
CategoryTheory.kleisliCatEquivKleisli_inverse_obj
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
(X : Kleisli (ofTypeMonad m))
:
@[simp]
theorem
CategoryTheory.kleisliCatEquivKleisli_inverse_map
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
{X✝ Y✝ : Kleisli (ofTypeMonad m)}
(f : X✝ ⟶ Y✝)
(x : X✝.of)
:
@[simp]
theorem
CategoryTheory.kleisliCatEquivKleisli_counitIso
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
:
(kleisliCatEquivKleisli m).counitIso = NatIso.ofComponents (fun (X : Kleisli (ofTypeMonad m)) => Iso.refl X) ⋯
@[simp]
theorem
CategoryTheory.kleisliCatEquivKleisli_unitIso
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
:
@[simp]
theorem
CategoryTheory.kleisliCatEquivKleisli_functor_map_of
(m : Type u → Type u)
[_root_.Monad m]
[LawfulMonad m]
{X✝ Y✝ : KleisliCat m}
(f : X✝ ⟶ Y✝)
:
@[deprecated CategoryTheory.kleisliCatEquivKleisli (since := "2026-04-16")]
Alias of CategoryTheory.kleisliCatEquivKleisli.
The Kleisli category of a Control.Monad is equivalent to the Kleisli category of its
category-theoretic version, provided the monad is lawful.