proposition: Lemma make_isBinProduct' {C : category} {x y : C} (Pxy : BinProduct _ x y) (z : C) (zx : C⟦z,x⟧) (zy : C⟦z,y⟧) : (∑ i : is_z_isomorphism (BinProductArrow C Pxy zx zy), pr1 i · zx = BinProductPr1 _ Pxy × pr1 i · zy = BinProductPr2 _ Pxy) -> isBinProduct C x y z zx zy.
proof: Proof. intros [i [px py]]. use make_isBinProduct. intros c f g. use tpair. - exists (BinProductArrow _ Pxy f g · pr1 i). split. + etrans. 1: apply assoc'. etrans. 1: apply maponpaths, px. apply BinProductPr1Commutes. + etrans. 1: apply assoc'. etrans. 1: apply maponpaths, py. apply BinProductPr2Commutes. - intro co. use total2_paths_f. + apply pathsinv0. use (z_iso_inv_to_right _ _ _ _ (z_iso_inv (_,,i))). apply pathsinv0. use BinProductArrowUnique. * etrans. 1: apply assoc'. etrans. 1: apply maponpaths, BinProductPr1Commutes. exact (pr12 co). * etrans. 1: apply assoc'. etrans. 1: apply maponpaths, BinProductPr2Commutes. exact (pr22 co). + use total2_paths_f ; apply homset_property. Defined.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.Combinatorics.Lists UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Limits.Graphs.Limits UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.Products UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Coproducts UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.Initial UniMath.CategoryTheory.FunctorAlgebras UniMath.CategoryTheory.exponentials UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Chains.All UniMath.CategoryTheory.Categories.HSET.Core UniMath.CategoryTheory.Categories.HSET.Limits UniMath.CategoryTheory.Categories.HSET.Colimits UniMath.CategoryTheory.Categories.HSET.Structures UniMath.CategoryTheory.Categories.StandardCategories UniMath.CategoryTheory.Groupoids UniMath.SubstitutionSystems.Signatures UniMath.SubstitutionSystems.SumOfSignatures UniMath.SubstitutionSystems.BinProductOfSignatures UniMath.SubstitutionSystems.MultiSorted_alt UniMath.CategoryTheory.Chains.OmegaContFunctors UniMath.SubstitutionSystems.ContinuitySignature.GeneralLemmas UniMath.SubstitutionSystems.ContinuitySignature.CommutingOfOmegaLimitsAndCoproducts UniMath.SubstitutionSystems.ContinuitySignature.ContinuityOfMultiSortedSigToFunctor UniMath.CategoryTheory.Limits.Preservation