Proposition enriched_nat_trans_from_univalent_kleisli_cat_unique {β₁ β₂ : G₁ --> G₂} (q₁ : ∏ (x : C), pr11 (pre_whisker_enriched_functor_category K β₁) x = pr11 α x) (q₂ : ∏ (x : C), pr11 (pre_whisker_enriched_functor_category K β₂) x = pr11 α x) (x : kleisli_cat M) : pr11 β₁ x = pr11 β₂ x. Proof. enough (β₁ = β₂) as r. { exact (maponpaths (λ z, pr11 z x) r). } use (lift_enriched_nat_trans_eq_along _ (essentially_surjective_functor_to_kleisli_cat M) (fully_faithful_functor_to_kleisli_cat_enrichment HV EM)). use subtypePath. { intro. apply isaprop_nat_trans_enrichment. } use (@nat_trans_from_kleisli_cat_monad_unique _ _ M (functor_to_kleisli_cat M ∙ pr1 G₁) (functor_to_kleisli_cat M ∙ pr1 G₂)). - exact (pr1 enriched_nat_trans_from_univalent_kleisli_cat_help). - use nat_trans_eq. { apply homset_property. } intro ; cbn. refine (q₁ _ @ _). refine (!_). rewrite id_left, id_right. etrans. { apply maponpaths. refine (_ @ functor_id (pr1 G₂) _). apply maponpaths. use eq_mor_kleisli_cat. apply idpath. } refine (id_right _ @ _). etrans. { apply maponpaths_2. refine (_ @ functor_id (pr1 G₁) _). apply maponpaths. use eq_mor_kleisli_cat. apply idpath. } apply id_left. - use nat_trans_eq. { apply homset_property. } intro ; cbn. refine (q₂ _ @ _). refine (!_). rewrite id_left, id_right. etrans. { apply maponpaths. refine (_ @ functor_id (pr1 G₂) _). apply maponpaths. use eq_mor_kleisli_cat. apply idpath. } refine (id_right _ @ _). etrans. { apply maponpaths_2. refine (_ @ functor_id (pr1 G₁) _). apply maponpaths. use eq_mor_kleisli_cat. apply idpath. } apply id_left. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Categories.EilenbergMoore. Require Import UniMath.CategoryTheory.Categories.KleisliCategory. 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.EnrichedCats.Examples.KleisliEnriched. Require Import UniMath.CategoryTheory.EnrichedCats.Examples.UnivalentKleisliEnriched. Require Import UniMath.CategoryTheory.EnrichedCats.Examples.FunctorCategory. Require Import UniMath.CategoryTheory.EnrichedCats.RezkCompletion.RezkUniversalProperty. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.Monads.KleisliCategory. Require Import UniMath.CategoryTheory.Limits.Equalizers. Section FunctorFromUnivalentKleisli. End FunctorFromUnivalentKleisli. Section NatTransFromUnivalentKleisli. End NatTransFromUnivalentKleisli.