proposition: Lemma make_is_binprod_from_comonoids_existence_mor_1 : δz · fx #⊗ fy · (identity x #⊗ εy · mon_runitor x) = fx.
proof: Proof. rewrite ! assoc'. etrans. { apply maponpaths. rewrite assoc. apply maponpaths_2. refine (_ @ idpath ((identity z #⊗ εz) · (fx #⊗ identity _))). simpl. refine (! tensor_comp_mor _ _ _ _ @ _). refine (_ @ tensor_comp_mor _ _ _ _). rewrite ! id_right. rewrite id_left. apply maponpaths. apply isapropifcontr. apply (terminal_from_aug_id z pI). } etrans. { apply maponpaths. rewrite assoc'. apply maponpaths. apply tensor_runitor. } rewrite ! assoc. refine (_ @ id_left _). apply maponpaths_2. refine ( _ @ comonoid_to_law_unit_right V ((z ,, m z) : comonoid V)). apply maponpaths_2, maponpaths. apply (when_bifunctor_becomes_leftwhiskering V). 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.PrecategoryBinProduct UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.Functors UniMath.CategoryTheory.Monoidal.Displayed.Monoidal UniMath.CategoryTheory.Monoidal.Displayed.TotalMonoidal UniMath.CategoryTheory.Monoidal.Structure.Cartesian UniMath.CategoryTheory.Monoidal.Structure.Symmetric UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal UniMath.CategoryTheory.Monoidal.Comonoids.Category UniMath.CategoryTheory.Monoidal.Comonoids.Tensor