Proposition kleisli_monad_nat_trans_enrichment : nat_trans_enrichment (kleisli_monad_nat_trans M) (functor_comp_enrichment EM Left_Kleisli_functor_enrichment) Left_Kleisli_functor_enrichment. Proof. use nat_trans_enrichment_via_comp. intros x y ; cbn. rewrite Kleisli_cat_enrichment_precomp_arr, Kleisli_cat_enrichment_postcomp_arr. rewrite precomp_arr_id. rewrite id_right. rewrite functor_id. rewrite id_left. rewrite !assoc. rewrite <- functor_enrichment_postcomp_arr. rewrite !assoc'. rewrite <- !postcomp_arr_comp. do 2 apply maponpaths. refine (Monad_law2 _ @ !_). apply Monad_law1. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentTransformation. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentMonad. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.Monads.KleisliCategory. Section FunctorFromKleisli. End FunctorFromKleisli.