Definition Kleisli_to_μ {C : category} (T: KleisliMonad C) : Kleisli_to_functor T ∙ Kleisli_to_functor T ⟹ Kleisli_to_functor T. Proof. use tpair. - exact (λ (x : C), r_bind T (identity (T x))). - intros x x' f; simpl. unfold r_lift. now rewrite (r_bind_r_bind T), <- assoc, (r_eta_r_bind T (T x')), id_right, (r_bind_r_bind T), id_left. Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Monads.KTriples. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.Monads.RelativeMonads.