Lemma is_functor_product_of_functors_data : is_functor product_of_functors_data. Proof. split; simpl; intros. - unfold functor_idax; intros; simpl in *. apply pathsinv0. apply Product_endo_is_identity; intro i. unfold product_of_functors_mor. eapply pathscomp0; [apply (ProductOfArrowsPr _ _ (HD (λ i, (F i) a)))|]. now simpl; rewrite functor_id, id_right. - unfold functor_compax; simpl; unfold product_of_functors_mor. intros; simpl in *. apply pathsinv0. eapply pathscomp0. apply ProductOfArrows_comp. apply maponpaths, funextsec; intro i. now rewrite functor_comp. 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.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.ProductCategory. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits. Require Import UniMath.CategoryTheory.Limits.Graphs.Limits. Require Import UniMath.Combinatorics.StandardFiniteSets. Section ProductFromIso. End ProductFromIso.