proposition: Proposition functor_from_kleisli_cat_enrichment_laws : is_functor_enrichment functor_from_kleisli_cat_enrichment_data.
proof: Proof. repeat split. - intros x ; cbn. unfold functor_from_kleisli_cat_enrichment_data. rewrite !assoc. rewrite <- functor_enrichment_from_arr. rewrite enriched_from_arr_postcomp. etrans. { apply maponpaths. exact (p x). } rewrite enriched_from_arr_id. apply idpath. - intros x y z ; cbn. unfold functor_from_kleisli_cat_enrichment_data. rewrite !assoc'. etrans. { apply maponpaths. etrans. { apply maponpaths. rewrite !assoc. rewrite <- functor_enrichment_postcomp_arr. rewrite !assoc'. rewrite <- postcomp_arr_comp. apply idpath. } rewrite !assoc. rewrite functor_enrichment_comp. rewrite !assoc'. rewrite enriched_comp_postcomp_arr. apply idpath. } etrans. { rewrite !assoc. rewrite <- !tensor_comp_mor. rewrite id_left, id_right. apply idpath. } refine (!_). etrans. { rewrite tensor_comp_l_id_r. rewrite !assoc'. rewrite <- precomp_postcomp_arr_assoc ; cbn. rewrite !assoc. rewrite <- !tensor_comp_mor. rewrite id_right. apply idpath. } do 2 apply maponpaths_2. rewrite !assoc'. rewrite <- precomp_postcomp_arr. rewrite !assoc. etrans. { apply maponpaths_2. exact (nat_trans_enrichment_to_comp Eγ y (M z)). } cbn. rewrite !assoc'. rewrite <- postcomp_arr_comp. do 3 apply maponpaths. apply q. - intros x y f ; cbn. unfold functor_from_kleisli_cat_enrichment_data. rewrite !assoc. rewrite <- functor_enrichment_from_arr. rewrite enriched_from_arr_postcomp. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.EnrichedCats.Enrichment UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor UniMath.CategoryTheory.EnrichedCats.EnrichmentTransformation UniMath.CategoryTheory.EnrichedCats.EnrichmentMonad UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monads.Monads UniMath.CategoryTheory.Monads.KleisliCategory