Lemma CoproductOfArrowsIsos_aux (I : UU) (C : category) (a : I -> C) (CC : Coproduct I C a) (c : I -> C) (CC' : Coproduct I C c) (f : ∏ i : I, C⟦a i, c i⟧) (fi_iso :∏ i : I, is_z_isomorphism (f i)) : is_inverse_in_precat (CoproductOfArrows I C CC CC' f) (CoproductOfArrows I C CC' CC (λ i : I, pr1 (fi_iso i))). Proof. split. + etrans. { apply precompWithCoproductArrow. } apply pathsinv0, CoproductArrowUnique. intro i. refine (id_right _ @ ! id_left _ @ _). refine (_ @ assoc' _ _ _). apply maponpaths_2. apply pathsinv0, (pr2 (fi_iso i)). + etrans. { apply precompWithCoproductArrow. } apply pathsinv0, CoproductArrowUnique. intro i. refine (id_right _ @ ! id_left _ @ _). refine (_ @ assoc' _ _ _). apply maponpaths_2. apply pathsinv0, (pr2 (fi_iso i)). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Limits.Coproducts. Require Import UniMath.CategoryTheory.Limits.Graphs.Limits. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits. Require Import UniMath.CategoryTheory.Chains.All.