proposition: Lemma algebra_as_coequalizer_ump_eq_lem_2 : hX · η M X · pr1 g = pr1 g.
proof: Proof. etrans. { apply maponpaths_2. exact (nat_trans_ax (η M) _ _ hX). } rewrite !assoc'. rewrite algebra_as_coequalizer_ump_eq_lem_1. rewrite !assoc. refine (_ @ id_left _). apply maponpaths_2. apply Monad_law1. Qed.
imports: UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Categories.HSET.All UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Equalizers UniMath.CategoryTheory.Limits.Coequalizers UniMath.CategoryTheory.Limits.Products UniMath.CategoryTheory.Limits.Preservation UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Structures.CartesianStructure UniMath.CategoryTheory.DisplayedCats.Structures.StructureLimitsAndColimits UniMath.CategoryTheory.Monads.Monads