Lemma precompWithColimOfArrows {C : precategory} {g : graph} (d1 d2 : diagram g C) (CC1 : ColimCocone d1) (CC2 : ColimCocone d2) (f : ∏ (u : vertex g), C⟦dob d1 u,dob d2 u⟧) (fNat : ∏ u v (e : edge u v), dmor d1 e · f v = f u · dmor d2 e) (x : C) (cc : cocone d2 x) : colimOfArrows CC1 CC2 f fNat · colimArrow CC2 x cc = colimArrow CC1 x (make_cocone (λ u, f u · coconeIn cc u) (preCompWithColimOfArrows_subproof CC1 CC2 f fNat x cc)). Proof. apply colimArrowUnique. now intro u; rewrite assoc, colimOfArrowsIn, <- assoc, colimArrowCommutes. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.Propositions. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Adjunctions.Core.