proposition: Proposition mon_lassociator_lassociator' {w x y z : V} : mon_lassociator (w ⊗ x) y z · mon_lassociator w x (y ⊗ z) · w ⊗^{V}_{l} mon_rassociator x y z = mon_lassociator w x y ⊗^{V}_{r} z · mon_lassociator w (x ⊗ y) z.
proof: Proof. etrans. { apply maponpaths_2. apply mon_lassociator_lassociator. } rewrite <- (when_bifunctor_becomes_leftwhiskering V). rewrite ! assoc'. etrans. { do 2 apply maponpaths. apply pathsinv0, tensor_comp_id_l. } etrans. { do 2 apply maponpaths. apply maponpaths. apply mon_lassociator_rassociator. } rewrite tensor_id_id. rewrite id_right. apply maponpaths_2. apply (when_bifunctor_becomes_rightwhiskering V). Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.Notations UniMath.MoreFoundations.PartA UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Equivalences.Core UniMath.CategoryTheory.Equivalences.FullyFaithful UniMath.CategoryTheory.opp_precat