(** [negligible_exp] is either none (as in FLX) or Some n such that n <= fexp n. *)
Inductive negligible_exp_prop: option Z -> Prop :=
| negligible_None: (forall n, (fexp n < n)%Z) -> negligible_exp_prop None
| negligible_Some: forall n, (n <= fexp n)%Z -> negligible_exp_prop (Some n).

(* Specifications: *)
Lemma negligible_exp_spec: negligible_exp_prop negligible_exp.
Lemma negligible_exp_spec': (negligible_exp = None /\ forall n, (fexp n < n)%Z)
\/ exists n, (negligible_exp = Some n /\ (n <= fexp n)%Z).
Lemma negligible_exp_spec: negligible_exp_prop negligible_exp.
Lemma negligible_exp_spec': (negligible_exp = None /\ forall n, (fexp n < n)%Z)
\/ exists n, (negligible_exp = Some n /\ (n <= fexp n)%Z).