proposition: Lemma PushoutEndo_is_identity {a b c : C} {f : C⟦a, b⟧} {g : C⟦a, c⟧} (Po : Pushout f g) (k : C⟦colim Po , colim Po⟧) (kH1 : PushoutIn1 Po · k = PushoutIn1 Po) (kH2 : PushoutIn2 Po · k = PushoutIn2 Po) : identity (colim Po) = k.
proof: Proof. apply colim_endo_is_identity. use three_rec_dep; cbn. - unfold colimIn. set (T := (coconeInCommutes (colimCocone Po) One Three tt)). use (pathscomp0 (! (maponpaths (λ h' : _, h' · k) T))). use (pathscomp0 _ (coconeInCommutes (colimCocone Po) One Three tt)). rewrite <- assoc. apply cancel_precomposition. apply kH2. - apply kH1. - apply kH2. Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.Combinatorics.StandardFiniteSets UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Limits.Graphs.Limits UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.Pushouts