Lemma monad_mor_bind {C₁ C₂ : univalent_category} {F : C₁ ⟶ C₂} {M₁ : monad bicat_of_univ_cats C₁} {M₂ : monad bicat_of_univ_cats C₂} (FF : M₁ -->[F] M₂) {A B : C₁} (f : A --> (monad_endo M₁ : _ ⟶ _) B) : #F (monad_bind M₁ f) · monad_mor_z_iso FF B = monad_mor_z_iso FF A · monad_bind M₂ (# F f · pr1 (monad_mor_z_iso FF B)). Proof. unfold monad_bind, monad_mor_z_iso. simpl. etrans. 2: { rewrite assoc. apply maponpaths_2. rewrite (functor_comp (monad_endo M₂ : _ ⟶ _)). rewrite assoc. apply maponpaths_2. apply (nat_trans_ax (pr1 (monad_mor_natural FF)) _ _ f). } simpl. rewrite functor_comp. do 3 rewrite assoc'. apply maponpaths. etrans. { pose (nat_trans_eq_pointwise (monad_mor_mu FF) B) as H. simpl in H. rewrite id_left in H. do 2 rewrite id_right in H. apply H. } rewrite assoc'. apply idpath. Qed.
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.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. 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.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Import PseudoFunctor.Notations. Require Import UniMath.Bicategories.PseudoFunctors.Examples.Identity. Require Import UniMath.Bicategories.PseudoFunctors.Examples.Composition. Require Import UniMath.Bicategories.PseudoFunctors.Examples.Projection. Require Import UniMath.Bicategories.Transformations.PseudoTransformation. Require Import UniMath.Bicategories.Transformations.Examples.AlgebraMap. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.DisplayedBicats.DispAdjunctions. Require Import UniMath.Bicategories.DisplayedBicats.DispUnivalence. Require Import UniMath.Bicategories.DisplayedBicats.Examples.Algebras. Require Import UniMath.Bicategories.DisplayedBicats.Examples.Add2Cell. Require Import UniMath.Bicategories.DisplayedBicats.Examples.Prod. Require Import UniMath.Bicategories.DisplayedBicats.Examples.FullSub. Require Import UniMath.Bicategories.DisplayedBicats.Examples.Sigma. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.CategoryTheory.Equivalences.CompositesAndInverses.