Lemma EqualizerEndo_is_identity {a b : C} {f g : C⟦a, b⟧} (E : Equalizer f g) (k : C⟦lim E, lim E⟧) (kH : k · EqualizerArrow E = EqualizerArrow E) : identity (lim E) = k. Proof. apply lim_endo_is_identity. unfold limOut. use two_rec_dep; cbn. + apply kH. + set (X := (coneOutCommutes (limCone E) One Two (ii1 tt))). use (pathscomp0 (! (maponpaths (λ h' : _, k · h') X))). use (pathscomp0 _ X). rewrite assoc; change (dmor _ _) with f. apply cancel_postcomposition, kH. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.Combinatorics.StandardFiniteSets. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Limits.Graphs.Limits. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits. Require Import UniMath.CategoryTheory.Limits.Equalizers.