proposition: Lemma tensor_of_comonoids_laws_unit_right (mx my : comonoid M) : comonoid_laws_unit_right M (tensor_of_comonoids_data mx my).
proof: Proof. unfold comonoid_laws_unit_right. cbn. rewrite (bifunctor_leftcomp M). rewrite ! assoc. etrans. { do 2 apply maponpaths_2. rewrite assoc'. apply maponpaths. apply precompose_inner_swap_with_augs_on_right. } rewrite assoc. etrans. { do 3 apply maponpaths_2. apply pathsinv0, tensor_comp_mor. } etrans. { rewrite ! assoc'. apply maponpaths. rewrite assoc. exact (precompose_inner_swap_with_lunitors_and_runitor (M) mx my). } etrans. { apply pathsinv0, tensor_comp_mor. } etrans. { apply maponpaths. apply comonoid_to_law_unit_right. } etrans. { apply maponpaths_2. apply comonoid_to_law_unit_right. } apply tensor_id_id. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.DisplayedCats.Constructions UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.Functors UniMath.CategoryTheory.Monoidal.Displayed.WhiskeredDisplayedBifunctors UniMath.CategoryTheory.Monoidal.Displayed.Monoidal UniMath.CategoryTheory.Monoidal.Displayed.TotalMonoidal UniMath.CategoryTheory.Monoidal.Examples.Fullsub UniMath.CategoryTheory.Monoidal.Examples.Sigma UniMath.CategoryTheory.Monoidal.Structure.Cartesian UniMath.CategoryTheory.Monoidal.Structure.Symmetric UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal UniMath.CategoryTheory.Monoidal.Displayed.Symmetric UniMath.CategoryTheory.Monoidal.Comonoids.Category