Lemma Left_Kleisli_is_functor {C : category} (T: Monad C) : is_functor (Left_Kleisli_functor_data T). Proof. split. - intro a. unfold Left_Kleisli_functor_data; cbn. apply id_left. - intros a b c f g. unfold Left_Kleisli_functor_data; cbn. do 2 (rewrite <- assoc). apply cancel_precomposition. apply pathsinv0. apply η_bind. Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.whiskering.