Section Monic_PreSheaf_Iso_Monic_Factorization.
Context
{C : Category}
{F G : PreSheaf C}
(N : @Monic (PShCat C) F G)
.

Lemma sigT_sig_proof_irrelevance
{T : Type}
{P : T → Type}
{Q : ∀ x, (P x) → Prop}
(A B : sigT (fun y => sig (Q y)))
(H : projT1 A = projT1 B)
(H' :
(
proj1_sig
(
match H in _ = u return
{x : P u | Q u x}
with
eq_refl => projT2 A
end
)
)
=
(proj1_sig (projT2 B)))
:
A = B
.