Lemma epi_to_pushout : isEpi f -> isPushout f f (identity _) (identity _) (idpath _). Proof. intro h. red. intros x p1 p2 eqx. assert (hp : p1 = p2). { now apply h. } induction hp. apply (unique_exists p1). - split; apply id_left. - intros y. apply isapropdirprod; apply homset_property. - intros y [h1 _]. now rewrite id_left in h1. 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.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.TransportMorphisms. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Limits.Initial. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Coequalizers. Require Import UniMath.CategoryTheory.Epis. Require Import UniMath.CategoryTheory.Core.Functors.