proposition: Lemma coequalizer_out_hSet_equality (Z : hSet) (h : Y → Z) (p : ∏ (x : X), h(f x) = h(g x)) : iscomprelfun coequalizer_eqrel h.
proof: Proof. intros y₁ y₂ q. cbn in *. use (q (make_eqrel (λ y₁ y₂, make_hProp (h y₁ = h y₂) _) _)). - apply setproperty. - repeat split. + exact (λ _ _ _ r₁ r₂, r₁ @ r₂). + exact (λ _ _ r, !r). - intros x y ; cbn. use factor_through_squash. { apply setproperty. } intros r. rewrite <- (pr12 r). rewrite <- (pr22 r). apply p. Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.PartA UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.Sets UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.Graphs.Coproducts UniMath.CategoryTheory.Limits.Graphs.Limits UniMath.CategoryTheory.Limits.Graphs.Pushouts UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Coproducts UniMath.CategoryTheory.Limits.Coequalizers UniMath.CategoryTheory.Limits.Initial UniMath.CategoryTheory.Categories.HSET.Core UniMath.Combinatorics.FiniteSets UniMath.MoreFoundations.Subtypes