Lemma precomp_coprod_distributor_law : coprod_distributor_iso_law _ _ _ precomp_coprod_distributor_data. Proof. intros Gs. split. - apply (nat_trans_eq C). intro c. cbn. rewrite id_left. apply pathsinv0, Coproduct_endo_is_identity. intro i. unfold coproduct_nat_trans_data. cbn in Gs. apply (CoproductInCommutes I C (λ i0 : I, Gs i0 (H c)) (CPC _) _ (λ i0 : I, coproduct_nat_trans_in_data I B C CPC Gs i0 (H c)) i). - etrans. { apply postcompWithCoproductArrow. } etrans. 2: { apply pathsinv0, CoproductArrowEta. } apply maponpaths; apply funextsec; intro i; (rewrite id_right; apply (nat_trans_eq C); intro c; apply id_right). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. 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.ProductCategory. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits. Require Import UniMath.CategoryTheory.whiskering.