Documentation

Mathlib.CategoryTheory.Monad.Kleisli

Kleisli category on a (co)monad #

This file defines the Kleisli category on a monad (T, η_ T, μ_ T) as well as the co-Kleisli category on a comonad (U, ε_ U, δ_ U). It also defines the Kleisli adjunction which gives rise to the monad (T, η_ T, μ_ T) as well as the co-Kleisli adjunction which gives rise to the comonad (U, ε_ U, δ_ U).

References #

structure CategoryTheory.Kleisli {C : Type u} [Category.{v, u} C] (T : Monad C) :

The objects for the Kleisli category of the monad T : Monad C, which are the same thing as objects of the base category C.

  • of : C

    The underlying object of the base category.

Instances For
    structure CategoryTheory.Cokleisli {C : Type u} [Category.{v, u} C] (U : Comonad C) :

    The objects for the co-Kleisli category of the comonad U : Comonad C, which are the same thing as objects of the base category C.

    • of : C

      The underlying object of the base category.

    Instances For
      @[simp]
      theorem CategoryTheory.Kleisli.mk_of {C : Type u} [Category.{v, u} C] {T : Monad C} (c : Kleisli T) :
      { of := c.of } = c
      @[simp]
      theorem CategoryTheory.Cokleisli.mk_of {C : Type u} [Category.{v, u} C] {T : Comonad C} (c : Cokleisli T) :
      { of := c.of } = c
      theorem CategoryTheory.Kleisli.of_mk {C : Type u} [Category.{v, u} C] {T : Monad C} (c : C) :
      { of := c }.of = c
      theorem CategoryTheory.Cokleisli.of_mk {C : Type u} [Category.{v, u} C] {T : Comonad C} (c : C) :
      { of := c }.of = c
      structure CategoryTheory.Kleisli.Hom {C : Type u} [Category.{v, u} C] {T : Monad C} (c c' : Kleisli T) :

      For (T : Monad C), morphisms c ⟶ c' in the Kleisli category of T are morphisms c ⟶ T.obj c' in C.

      • of : c.of ⟶ T.obj c'.of

        The morphism in C underlying the morphism in the Kleisli category.

      Instances For
        structure CategoryTheory.Cokleisli.Hom {C : Type u} [Category.{v, u} C] {U : Comonad C} (c c' : Cokleisli U) :

        For (U : Comonad C), morphisms c ⟶ c' in the Cokleisli category of U are morphisms U.obj c ⟶ c' in C.

        • of : U.obj c.of ⟶ c'.of

          The morphism in C underlying the morphism in the Kleisli category.

        Instances For
          theorem CategoryTheory.Kleisli.Hom.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {T : Monad C} {c c' : Kleisli T} {x y : c.Hom c'} :
          x = y ↔ x.of = y.of
          theorem CategoryTheory.Cokleisli.Hom.ext {C : Type u} {inst✝ : Category.{v, u} C} {U : Comonad C} {c c' : Cokleisli U} {x y : c.Hom c'} (of : x.of = y.of) :
          x = y
          theorem CategoryTheory.Cokleisli.Hom.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {U : Comonad C} {c c' : Cokleisli U} {x y : c.Hom c'} :
          x = y ↔ x.of = y.of
          theorem CategoryTheory.Kleisli.Hom.ext {C : Type u} {inst✝ : Category.{v, u} C} {T : Monad C} {c c' : Kleisli T} {x y : c.Hom c'} (of : x.of = y.of) :
          x = y
          @[instance_reducible]
          Equations
          @[instance_reducible]
          Equations
          @[instance_reducible]

          The Kleisli category on a monad T. cf Definition 5.2.9 in Riehl.

          Equations
          • One or more equations did not get rendered due to their size.
          @[instance_reducible]

          The co-Kleisli category on a comonad T.

          Equations
          • One or more equations did not get rendered due to their size.
          @[simp]
          theorem CategoryTheory.Cokleisli.category_comp_of {C : Type u} [Category.{v, u} C] (T : Comonad C) {Z x✝ x✝¹ : Cokleisli T} (g : Z.Hom x✝) (f : x✝.Hom x✝¹) :
          @[simp]
          theorem CategoryTheory.Kleisli.category_comp_of {C : Type u} [Category.{v, u} C] (T : Monad C) {x✝ x✝¹ Z : Kleisli T} (f : x✝.Hom x✝¹) (g : x✝¹.Hom Z) :
          theorem CategoryTheory.Kleisli.hom_ext {C : Type u} [Category.{v, u} C] {T : Monad C} {x y : Kleisli T} {f g : x ⟶ y} (h : f.of = g.of) :
          f = g
          theorem CategoryTheory.Cokleisli.hom_ext {C : Type u} [Category.{v, u} C] {T : Comonad C} {x y : Cokleisli T} {f g : y ⟶ x} (h : f.of = g.of) :
          f = g
          theorem CategoryTheory.Cokleisli.hom_ext_iff {C : Type u} [Category.{v, u} C] {T : Comonad C} {x y : Cokleisli T} {f g : y ⟶ x} :
          f = g ↔ f.of = g.of
          theorem CategoryTheory.Kleisli.hom_ext_iff {C : Type u} [Category.{v, u} C] {T : Monad C} {x y : Kleisli T} {f g : x ⟶ y} :
          f = g ↔ f.of = g.of
          @[implicit_reducible]

          The left adjoint of the adjunction which induces the monad (T, η_ T, μ_ T).

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

            The right adjoint of the adjunction which induces the comonad (T, ε_ T, δ_ T).

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              @[implicit_reducible]

              The right adjoint of the adjunction which induces the monad (T, η_ T, μ_ T).

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

                The left adjoint of the adjunction which induces the comonad (T, ε_ T, δ_ T).

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem CategoryTheory.Kleisli.Adjunction.fromKleisli_map {C : Type u} [Category.{v, u} C] (T : Monad C) {x✝ Y : Kleisli T} (f : x✝ ⟶ Y) :

                  The Kleisli adjunction which gives rise to the monad (T, η_ T, μ_ T). cf Lemma 5.2.11 of Riehl.

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

                    The composition of the adjunction gives the original functor.

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

                      The composition of the adjunction gives the original functor.

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

                        The co-Kleisli adjunction which gives rise to the comonad (T, ε_ T, δ_ T).

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