proposition: Lemma kleislify_unkleislify (T : KleisliMonad C) : kleislify (unkleislify T) = T.
proof: Proof. unfold unkleislify, kleislify. simpl. destruct T as (D, L). simpl. use total2_paths_f; simpl. apply unkleislify_data_eq. apply (isaprop_Kleisli_Laws D). Defined.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Monads.Monads UniMath.CategoryTheory.Monads.KTriples UniMath.CategoryTheory.catiso UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Equivalences.Core UniMath.CategoryTheory.Equivalences.FullyFaithful