Lemma comonoid_disp_associatorinv_unit {x y z : C} (xx : comonoid M x) (yy : comonoid M y) (zz : comonoid M z) : is_comonoid_mor_unit M (tensor_of_comonoids xx (tensor_of_comonoids yy zz)) (tensor_of_comonoids (tensor_of_comonoids xx yy) zz) αinv^{ M }_{ x, y, z}. Proof. unfold is_comonoid_mor_unit. cbn. etrans. { apply maponpaths. apply maponpaths_2. apply (tensor_comp_r_id_r). } unfold monoidal_cat_tensor_mor. cbn. rewrite ! assoc. etrans. { do 2 apply maponpaths_2. apply pathsinv0, tensor_rassociator. } unfold monoidal_cat_tensor_mor. cbn. apply maponpaths_2. etrans. { apply maponpaths_2. apply tensor_rassociator. } unfold monoidal_cat_tensor_mor. cbn. rewrite assoc'. etrans. { apply maponpaths. apply pathsinv0. apply (bifunctor_distributes_over_comp (F := M)) ; try (apply M). } rewrite id_right. etrans. { apply maponpaths. apply maponpaths. apply pathsinv0, id_right. } rewrite (bifunctor_distributes_over_comp (F := M)) ; try (apply M). rewrite assoc. etrans. { apply maponpaths_2. apply pathsinv0. apply monoidal_associatorinv_nat2. } etrans. 2: { apply maponpaths_2. apply id_right. } rewrite (bifunctor_distributes_over_comp (F := M)) ; try (apply M). rewrite assoc'. apply maponpaths. apply associator_before_rwhisker_with_lu. 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.Limits.BinProducts. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.CategoryTheory.DisplayedCats.Constructions. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Import BifunctorNotations. Require Import UniMath.CategoryTheory.Monoidal.Functors. Require Import UniMath.CategoryTheory.Monoidal.Displayed.WhiskeredDisplayedBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Displayed.Monoidal. Require Import UniMath.CategoryTheory.Monoidal.Displayed.TotalMonoidal. Require Import UniMath.CategoryTheory.Monoidal.Examples.Fullsub. Require Import UniMath.CategoryTheory.Monoidal.Examples.Sigma. Require Import UniMath.CategoryTheory.Monoidal.Structure.Cartesian. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal. Require Import UniMath.CategoryTheory.Monoidal.Displayed.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Comonoids.Category. Import MonoidalNotations. Import ComonoidNotations.