Proposition from_isEqualizer_cod_fib_unique : isaprop (∑ (ζ : w --> e), ζ · ρ = h). Proof. use invproofirrelevance. intros ζ₁ ζ₂. use subtypePath. { intro. apply homset_property. } assert (H₁ : pr1 ζ₁ · cod_mor ee = h · f₁). { etrans. { apply maponpaths. exact (!(mor_eq ρr)). } rewrite !assoc. etrans. { apply maponpaths_2. exact (pr2 ζ₁). } apply idpath. } assert (H₂ : pr1 ζ₂ · cod_mor ee = h · f₁). { etrans. { apply maponpaths. exact (!(mor_eq ρr)). } rewrite !assoc. etrans. { apply maponpaths_2. exact (pr2 ζ₂). } apply idpath. } pose (ζ₁' := @make_cod_fib_mor _ _ w' ee (pr1 ζ₁) H₁). pose (ζ₂' := @make_cod_fib_mor _ _ w' ee (pr1 ζ₂) H₂). refine (maponpaths pr1 (EqualizerInsEq E ζ₁' ζ₂' _)). use eq_mor_cod_fib. rewrite !comp_in_cod_fib. exact (pr2 ζ₁ @ !(pr2 ζ₂)). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.Limits.PullbackConstructions. Require Import UniMath.CategoryTheory.Limits.Preservation. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations. Require Import UniMath.CategoryTheory.DisplayedCats.Fiber. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.FiberwiseTerminal. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.FiberwiseProducts. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.FiberwiseEqualizers. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.FiberCod. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodLeftAdjoint. Section FromEqCodFib. End FromEqCodFib. Section FromUMP. End FromUMP.