Lemma univ_surj_nt_unique : ∏ g (H : nat_trans_comp _ _ _ p g = f) b, g b = univ_surj_nt b. Proof. intros g hg b. apply nat_trans_eq_pointwise. unfold univ_surj_nt. set (coeq := make_Coequalizer _ _ _ _ _). use (isCoequalizerOutUnique _ _ _ _ (isCoequalizer_Coequalizer coeq)). apply hg. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Categories.HSET.Core. Require Import UniMath.CategoryTheory.Categories.HSET.MonoEpiIso. Require Import UniMath.CategoryTheory.Categories.HSET.Colimits. Require Import UniMath.CategoryTheory.Categories.HSET.Structures. Require Import UniMath.CategoryTheory.Epis. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.EpiFacts. Require Import UniMath.CategoryTheory.Limits.Coequalizers.