Lemma mhss_third_monoidlaw : monoid_laws_assoc Mon_V mhss_monoid_data. Proof. red. cbn. apply pathsinv0. transitivity μ_3. - apply (mfbracket_unique(Z:=mh_squared)). split. + cbn. etrans. 2: { rewrite assoc. apply cancel_postcomposition. apply (bifunctor_equalwhiskers Mon_V). } unfold functoronmorphisms1. etrans. 2: { rewrite assoc'. apply maponpaths. apply pathsinv0, mhss_first_monoidlaw. } apply pathsinv0, monoidal_rightunitornat. + etrans. { apply cancel_postcomposition. rewrite functor_comp. rewrite assoc. apply cancel_postcomposition. exact mhss_third_monoidlaw_aux. } etrans. { do 2 rewrite assoc'. apply maponpaths. rewrite assoc. apply (mfbracket_τ(Z:=Ptd_from_mhss)). } do 2 rewrite assoc. apply cancel_postcomposition. cbn. apply (bifunctor_equalwhiskers Mon_V). - apply pathsinv0, (mfbracket_unique(Z:=mh_squared)). split. + cbn. etrans. 2: { rewrite assoc. apply cancel_postcomposition. rewrite assoc. rewrite <- monoidal_associatornatleft. rewrite assoc'. apply maponpaths. apply (bifunctor_leftcomp Mon_V). } etrans. 2: { apply cancel_postcomposition. do 2 apply maponpaths. apply pathsinv0, mhss_first_monoidlaw. } apply cancel_postcomposition. apply pathsinv0, left_whisker_with_runitor. + etrans. { apply cancel_postcomposition. rewrite assoc'. rewrite functor_comp. rewrite assoc. apply cancel_postcomposition. apply pointedtensorialstrength_preserves_actor. apply lineator_preservesactor. } cbn. etrans. { repeat rewrite assoc'. do 2 apply maponpaths. etrans. { rewrite assoc. apply cancel_postcomposition. rewrite functor_comp. rewrite assoc. apply cancel_postcomposition. apply pathsinv0, (lineator_linnatleft Mon_PtdV _ _ H θ Ptd_from_mhss _ _ μ). } repeat rewrite assoc'. apply maponpaths. rewrite assoc. apply (mfbracket_τ(Z:=Ptd_from_mhss)). } cbn. repeat rewrite assoc. apply cancel_postcomposition. etrans. { repeat rewrite assoc'. apply maponpaths. do 2 rewrite <- (bifunctor_leftcomp Mon_V). apply maponpaths. rewrite assoc. apply (mfbracket_τ(Z:=Ptd_from_mhss)). } cbn. rewrite (bifunctor_leftcomp Mon_V). repeat rewrite assoc. apply cancel_postcomposition. apply monoidal_associatornatleft. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.CategoriesOfMonoids. Require Import UniMath.CategoryTheory.Actegories.Actegories. Require Import UniMath.CategoryTheory.Actegories.ConstructionOfActegories. Require Import UniMath.CategoryTheory.Actegories.MorphismsOfActegories. Require Import UniMath.CategoryTheory.Actegories.CoproductsInActegories. Require Import UniMath.CategoryTheory.coslicecat. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Monoidal.Examples.MonoidalPointedObjects. Import BifunctorNotations. Import MonoidalNotations.