proposition: Lemma is_inverse_from_BinCoproduct_to_BinCoproduct {a b : C} (CC CC' : BinCoproduct a b) : is_inverse_in_precat (from_BinCoproduct_to_BinCoproduct CC CC') (from_BinCoproduct_to_BinCoproduct CC' CC).
proof: Proof. split; simpl. - apply pathsinv0. apply BinCoproduct_endo_is_identity. + rewrite assoc. unfold from_BinCoproduct_to_BinCoproduct. rewrite BinCoproductIn1Commutes. rewrite BinCoproductIn1Commutes. apply idpath. + rewrite assoc. unfold from_BinCoproduct_to_BinCoproduct. rewrite BinCoproductIn2Commutes. rewrite BinCoproductIn2Commutes. apply idpath. - apply pathsinv0. apply BinCoproduct_endo_is_identity. + rewrite assoc; unfold from_BinCoproduct_to_BinCoproduct. repeat rewrite BinCoproductIn1Commutes; apply idpath. + rewrite assoc; unfold from_BinCoproduct_to_BinCoproduct. repeat rewrite BinCoproductIn2Commutes; apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.Limits.Zero UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.Coproducts UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.ProductCategory