Definition id_monad_mor {B : bicat} {x y : B} (f : x --> y) : id_monad x -->[ f ] id_monad y. Proof. simple refine ((runitor _ • linvunitor _ ,, _) ,, tt) ; cbn. repeat split. - abstract (cbn ; rewrite id2_rwhisker, lwhisker_id2 ; rewrite !id2_right ; rewrite !vassocr ; rewrite rinvunitor_runitor ; rewrite id2_left ; apply idpath). - abstract (cbn ; rewrite !vassocl ; rewrite lunitor_runitor_identity ; rewrite <- lunitor_lwhisker ; rewrite !(maponpaths (λ z, _ • (_ • (_ • (_ • z)))) (vassocr _ _ _)) ; rewrite lassociator_rassociator ; rewrite id2_left ; rewrite lwhisker_vcomp ; rewrite !vassocl ; rewrite linvunitor_lunitor ; rewrite id2_right ; rewrite runitor_triangle ; rewrite vcomp_runitor ; rewrite !vassocr ; do 2 apply maponpaths_2 ; rewrite <- runitor_triangle ; rewrite !vassocr ; rewrite lassociator_rassociator ; rewrite id2_left ; rewrite runitor_lunitor_identity ; apply idpath). Defined.
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.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations. Require Import UniMath.Bicategories.DisplayedBicats.DispBicatSection. Require Import UniMath.Bicategories.DisplayedBicats.Examples.EndoMap. Require Import UniMath.Bicategories.DisplayedBicats.Examples.MonadsLax. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Require Import UniMath.Bicategories.PseudoFunctors.UniversalArrow.