Lemma make_is_binprod_from_comonoids_existence_mor_2 : δz · fx #⊗ fy · (εx #⊗ identity y · mon_lunitor y) = fy. Proof. rewrite ! assoc'. etrans. { apply maponpaths. rewrite assoc. apply maponpaths_2. refine (_ @ idpath ((εz #⊗ identity z ) · (identity _ #⊗ fy))). simpl. refine (! tensor_comp_mor _ _ _ _ @ _). refine (_ @ tensor_comp_mor _ _ _ _). rewrite ! id_right. rewrite id_left. apply maponpaths_2. apply isapropifcontr. apply (terminal_from_aug_id z pI). } etrans. { apply maponpaths. rewrite assoc'. apply maponpaths. apply tensor_lunitor. } rewrite ! assoc. refine (_ @ id_left _). apply maponpaths_2. refine ( _ @ comonoid_to_law_unit_left V ((z ,, m z) : comonoid V)). apply maponpaths_2, maponpaths. apply (when_bifunctor_becomes_rightwhiskering V). 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.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.Monoidal. Require Import UniMath.CategoryTheory.Monoidal.Displayed.TotalMonoidal. 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.Comonoids.Category. Require Import UniMath.CategoryTheory.Monoidal.Comonoids.Tensor. Import MonoidalNotations. Import ComonoidNotations. Import ComonoidNotations.