Lemma is_bifunctor_tensorfrombinprod_data : is_bifunctor tensorfrombinprod_data. Proof. repeat split; red; cbn. - intros b c. apply pathsinv0, BinProduct_endo_is_identity. + now rewrite BinProductOfArrowsPr1, id_right. + now rewrite BinProductOfArrowsPr2, id_right. - intros b c. apply pathsinv0, BinProduct_endo_is_identity. + now rewrite BinProductOfArrowsPr1, id_right. + now rewrite BinProductOfArrowsPr2, id_right. - intros b c1 c2 c3 g1 g2. now rewrite BinProductOfArrows_comp, id_right. - intros b1 b2 b3 c f1 f2. now rewrite BinProductOfArrows_comp, id_right. - intros b1 b2 c1 c2 f g. unfold functoronmorphisms1, functoronmorphisms2. unfold leftwhiskering_on_morphisms, rightwhiskering_on_morphisms. cbn. do 2 rewrite BinProductOfArrows_comp. do 2 rewrite id_right. do 2 rewrite id_left. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.exponentials. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Cartesian. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.Closed. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Categories.HSET.Core. Require Import UniMath.CategoryTheory.Categories.HSET.Limits. Import BifunctorNotations. Import MonoidalNotations. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Adjunctions.Core.