Proposition is_coprod_enriched_arrow_eq {w : C} {f g : a --> w} (q : ∏ (j : J), enriched_coprod_cocone_in a j · f = enriched_coprod_cocone_in a j · g) : f = g. Proof. refine (!(enriched_to_from_arr E _) @ _ @ enriched_to_from_arr E _). apply maponpaths. use (ProductArrow_eq _ _ _ (is_coprod_enriched_to_Product Ha w)). intro j. cbn. unfold precomp_arr. rewrite !assoc. rewrite !tensor_rinvunitor. rewrite !assoc'. rewrite !(maponpaths (λ z, _ · z) (assoc _ _ _)). rewrite <- !tensor_split'. use (invmaponpathsweq (make_weq _ (isweq_enriched_to_arr E _ _))) ; cbn. rewrite !assoc. rewrite mon_rinvunitor_I_mon_linvunitor_I. rewrite <- !(enriched_to_arr_comp E). exact (q j). 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.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.Limits.Products. Require Import UniMath.CategoryTheory.Limits.Coproducts. Import MonoidalNotations. Section CoproductFromUnderlying. End CoproductFromUnderlying.