proposition: Lemma BinProductsHSET : BinProducts HSET.
proof: Proof. intros A B. use make_BinProduct. - apply (A × B)%set. - simpl in *; apply pr1. - simpl in *; intros x; apply (pr2 x). - apply make_isBinProduct. intros C f g; use tpair. * exists (prodtofuntoprod (f,,g)); abstract (split; apply idpath). * abstract (intros [t [ht1 ht2]]; apply subtypePath; [ intros x; apply isapropdirprod; apply has_homsets_HSET | now apply funextfun; intro x; rewrite <- ht2, <- ht1 ]). Defined.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.PartA UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.WeakEquivalences UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Categories.HSET.Core UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.Graphs.Limits UniMath.CategoryTheory.Limits.Graphs.Pullbacks UniMath.CategoryTheory.Limits.Graphs.Equalizers UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.Equalizers UniMath.CategoryTheory.Limits.Products UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.Pullbacks UniMath.CategoryTheory.Categories.HSET.Core