Proof with auto with typeclass_instances.
intros x e Hx Fx.
apply FLX_format_generic.
apply generic_format_FIX in Fx.
revert Fx.
apply generic_inclusion with (e := e)...
apply Zle_refl.
Qed.
(** unbounded floating-point format with normal mantissas *)
Definition FLXN_format (x : R) :=
exists f : float beta,
x = F2R f /\ (x <> R0 ->
Zpower beta (prec - 1) <= Zabs (Fnum f) < Zpower beta prec)%Z.

(* Specifications: *)
Theorem generic_format_FLXN :
forall x, FLXN_format x -> generic_format beta FLX_exp x.
Theorem FLXN_format_generic :
forall x, generic_format beta FLX_exp x -> FLXN_format x.
Theorem FLXN_format_satisfies_any :
satisfies_any FLXN_format.
Theorem ulp_FLX_0: (ulp beta FLX_exp 0 = 0)%R.
Theorem ulp_FLX_le: forall x, (ulp beta FLX_exp x <= Rabs x * bpow (1-prec))%R.
Theorem ulp_FLX_ge: forall x, (Rabs x * bpow (-prec) <= ulp beta FLX_exp x)%R.
Global Instance FLX_exp_monotone : Monotone_exp FLX_exp.
Theorem generic_format_FLXN :
forall x, FLXN_format x -> generic_format beta FLX_exp x.
Theorem FLXN_format_generic :
forall x, generic_format beta FLX_exp x -> FLXN_format x.
Theorem FLXN_format_satisfies_any :
satisfies_any FLXN_format.
Theorem ulp_FLX_0: (ulp beta FLX_exp 0 = 0)%R.
Theorem ulp_FLX_le: forall x, (ulp beta FLX_exp x <= Rabs x * bpow (1-prec))%R.
Theorem ulp_FLX_ge: forall x, (Rabs x * bpow (-prec) <= ulp beta FLX_exp x)%R.
Global Instance FLX_exp_monotone : Monotone_exp FLX_exp.