Definition hom_to_eilenberg_moore_ob (f : mnd_incl B x --> m) : eilenberg_moore_cat (mnd_to_cat_Monad m x). Proof. use make_ob_eilenberg_moore. - exact (mor_of_mnd_mor f). - exact (mnd_mor_endo f • lunitor _). - abstract (cbn ; rewrite !vassocr ; refine (maponpaths (λ z, z • _) (!(mnd_mor_unit f)) @ _) ; cbn ; rewrite id2_rwhisker ; rewrite id2_right ; apply linvunitor_lunitor). - abstract (cbn ; pose (mnd_mor_mu f) as p ; cbn in p ; rewrite !vassocl ; refine (maponpaths (λ z, _ • z) (vassocr _ _ _) @ _) ; refine (maponpaths (λ z, _ • (z • _)) (!p) @ _) ; clear p ; rewrite !vassocr ; rewrite rassociator_lassociator ; rewrite id2_left ; rewrite <- !rwhisker_vcomp ; rewrite !vassocl ; apply maponpaths ; use vcomp_move_R_pM ; [ is_iso | ] ; cbn ; rewrite !vassocr ; rewrite lunitor_triangle ; rewrite <- vcomp_lunitor ; rewrite !vassocl ; apply maponpaths ; rewrite !vassocr ; rewrite lunitor_triangle ; 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.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Categories.EilenbergMoore. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.FullyFaithful. Require Import UniMath.CategoryTheory.Equivalences.CompositesAndInverses. Require Import UniMath.CategoryTheory.Monads.Monads. 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.AdjointUnique. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Monads.Examples.ToMonadInCat. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. 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.