Require Coq.Logic.ConstructiveEpsilon.

(* Specifications: *)
Lemma decidable_countable_ex_sig {A} (f : nat -> A)
(Hf : forall a, exists n, a = f n)
(P : A -> Prop)
(Pdec : forall x, {P x} + {~ P x}) :
(exists x : A, P x) -> {x : A | P x}.