Lemma precompWithBinCoproductArrow {a b : C} (CCab : BinCoproduct a b) {c d : C} (CCcd : BinCoproduct c d) (f : a --> c) (g : b --> d) {x : C} (k : c --> x) (h : d --> x) : BinCoproductOfArrows CCab CCcd f g · BinCoproductArrow CCcd k h = BinCoproductArrow CCab (f · k) (g · h). Proof. apply BinCoproductArrowUnique. - rewrite assoc. rewrite BinCoproductOfArrowsIn1. rewrite <- assoc, BinCoproductIn1Commutes. apply idpath. - rewrite assoc, BinCoproductOfArrowsIn2. rewrite <- assoc, 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.