proposition: Lemma pb_LModule_laws : LModule_laws M pb_LModule_data.
proof: 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.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Monads.Monads