Lemma Product_endo_is_identity (P : Product _ _ a) (k : P --> P) (H1 : ∏ i, k · ProductPr _ _ P i = ProductPr _ _ P i) : identity _ = k. Proof. apply pathsinv0. eapply pathscomp0. apply ProductArrowEta. apply pathsinv0. apply ProductArrowUnique; intro i; apply pathsinv0. now rewrite id_left, H1. 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.