proposition: Lemma f_sur : forall x, exists n, f n = x.
proof: Proof. intros x. destruct (Hf' x) as [n Hn]. exists n. unfold f. now rewrite Hn. Qed.
imports: Undecidability(Shared.Dec) Undecidability.Synthetic(ListEnumerabilityFacts) List PeanoNat ConstructiveEpsilon Lia