Lemma composition_functor_with_bifunctor_isbifunctor {A B A' B' C : category} (F : functor A A') (G : functor B B') (H : bifunctor A' B' C) : is_bifunctor (compose_functor_with_bifunctor_data F G H). Proof. repeat split. - intros a b. cbn. rewrite functor_id. apply bifunctor_leftid. - intros a b. cbn. rewrite functor_id. apply bifunctor_rightid. - intros a b1 b2 b3 g1 g2. cbn. rewrite functor_comp. apply bifunctor_leftcomp. - intros b a1 a2 a3 f1 f2. cbn. rewrite functor_comp. apply bifunctor_rightcomp. - intros a1 a2 b1 b2 f g. apply (whiskerscommutes H (bifunctor_equalwhiskers H)). 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.Isos. Require Import  UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Coproducts. Require Import UniMath.CategoryTheory.ProductCategory. Import BifunctorNotations. Import BifunctorNotations. Section FunctorsFromProductCategory. Import BifunctorNotations. End FunctorsFromProductCategory. Import BifunctorNotations. Import BifunctorNotations. Import BifunctorNotations.