proposition: Lemma functor_tensor_composition_is_nat_trans {C D E : category} {TC : functor (C ⊠ C) C} {TD : functor (D ⊠ D) D} {TE : functor (E ⊠ E) E} {F : functor C D} {G : functor D E} (FF : functor_tensor TC TD F) (GG : functor_tensor TD TE G) : is_nat_trans (functor_tensor_map_dom TE (F ∙ G)) (functor_tensor_map_codom TC (F ∙ G)) (λ cc : C × C, GG (F (pr1 cc), F (pr2 cc)) · # G (FF cc)).
proof: Proof. intros cc1 cc2 f. etrans. { rewrite assoc. apply maponpaths_2. exact (pr2 GG ((pair_functor F F) cc1) (pair_functor F F cc2) (# (pair_functor F F) f)). } etrans. 2: { rewrite assoc'. simpl. rewrite <- (functor_comp G). do 2 apply maponpaths. exact (pr2 FF cc1 cc2 f). } rewrite assoc'. apply maponpaths. apply (! functor_comp G _ _). 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.whiskering UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.DisplayedCats.Constructions UniMath.CategoryTheory.DisplayedCats.Univalence UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalCategoriesTensored