proposition: Lemma pb_LModule_deriv_eq_mult c : # M (BinCoproductOfArrows C (bcpC o (R c)) (bcpC o (S c)) (identity o) (pr1 (pr1 f) c)) · (# (pr1 M) (BinCoproductArrow (bcpC o (S c)) (BinCoproductIn1 (bcpC o c) · pr1 (η S) (bcpC o c)) (# (pr1 (pr1 S)) (BinCoproductIn2 (bcpC o c)))) · pr1 (lm_mult S M) (bcpC o c)) = # (pr1 M) (BinCoproductArrow (bcpC o (R c)) (BinCoproductIn1 (bcpC o c) · pr1 (η R) (bcpC o c)) (# (pr1 (pr1 R)) (BinCoproductIn2 (bcpC o c)))) · (# (pr1 M) (pr1 (pr1 f) (bcpC o c)) · (lm_mult S M) (bcpC o c)).
proof: Proof. repeat rewrite assoc. apply cancel_postcomposition. do 2 rewrite <- functor_comp. apply maponpaths. etrans;[ apply precompWithBinCoproductArrow|]. rewrite id_left. rewrite postcompWithBinCoproductArrow. apply map_on_two_paths. - rewrite <- assoc. apply cancel_precomposition. apply pathsinv0. apply Monad_Mor_η. - apply pathsinv0. apply nat_trans_ax. 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.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Monads.Monads UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Monads.LModules