Lemma isaprop_BinCoproduct : isaprop (BinCoproduct a b). Proof. apply invproofirrelevance. intros CC CC'. apply subtypePath. + intros. intro. do 3 (apply impred; intro); apply isapropiscontr. + apply (total2_paths_f (isotoid _ H (z_iso_from_BinCoproduct_to_BinCoproduct _ CC CC'))). rewrite transportf_dirprod. rewrite transportf_isotoid'. simpl. rewrite transportf_isotoid'. destruct CC as [CC bla]. destruct CC' as [CC' bla']; simpl in *. destruct CC as [CC [CC1 CC2]]. destruct CC' as [CC' [CC1' CC2']]; simpl in *. unfold from_BinCoproduct_to_BinCoproduct. rewrite BinCoproductIn1Commutes. rewrite BinCoproductIn2Commutes. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.Limits.Zero. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits. Require Import UniMath.CategoryTheory.Limits.Coproducts. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.ProductCategory.