End Gen.
(** ** Generating data types are infinite *)
Hypothesis Hg : generating X.
Instance el_dec :
forall (A : list X) x, dec (x el A).
Definition dummy : X.
Definition f n :=
match (f' n) with Some x => x | None => dummy end.

(* Specifications: *)
Lemma f_sur :
forall x, exists n, f n = x.