Definition to_op1_em_cone (k : kleisli_cocone m) : em_cone m. Proof. use make_em_cone. - exact k. - exact (mor_of_kleisli_cocone _ k). - exact (cell_of_kleisli_cocone _ k • rinvunitor _). - abstract (cbn ; rewrite !vassocr ; refine (!(id2_left _) @ _) ; apply maponpaths_2 ; rewrite !vassocl ; use vcomp_move_L_pM ; [ is_iso | ] ; cbn ; rewrite id2_right ; rewrite kleisli_cocone_unit ; apply idpath). - abstract (cbn ; rewrite <- !lwhisker_vcomp ; rewrite !vassocl ; rewrite !(maponpaths (λ z, _ • (_ • z)) (vassocr _ _ _)) ; rewrite lwhisker_vcomp ; rewrite rinvunitor_runitor ; rewrite lwhisker_id2 ; rewrite id2_left ; rewrite !vassocr ; apply maponpaths_2 ; rewrite kleisli_cocone_mult ; apply idpath). 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.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.TransportLaws. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.Examples.OpMorBicat. Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations. Require Import UniMath.Bicategories.DisplayedBicats.Examples.MonadsLax. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Import PseudoFunctor.Notations. Require Import UniMath.Bicategories.PseudoFunctors.Examples.MonadInclusion. Require Import UniMath.Bicategories.Limits.EilenbergMooreObjects. Require Import UniMath.Bicategories.Colimits.KleisliObjects. Require Import UniMath.Bicategories.Monads.Examples.MonadsInOp1Bicat.