Lemma pb_LModule_laws : LModule_laws M pb_LModule_data. Proof. split. - intro c. cbn. rewrite <- (LModule_law1 _ (T:=T)). rewrite <- (Monad_Mor_η m). rewrite functor_comp. apply assoc. - simpl. intro c. rewrite assoc. rewrite <- (functor_comp T). etrans. apply cancel_postcomposition. apply maponpaths. apply Monad_Mor_μ. rewrite functor_comp. rewrite <- assoc. etrans. apply cancel_precomposition. apply LModule_law2. repeat rewrite functor_comp. etrans. rewrite <- assoc. apply cancel_precomposition. rewrite assoc. apply cancel_postcomposition. apply (nat_trans_ax (σ M' T)). now repeat rewrite assoc. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Monads.Monads.