Definition canonic_exp x :=
fexp (ln_beta beta x).
Definition canonic (f : float beta) :=
Fexp f = canonic_exp (F2R f).
Definition scaled_mantissa x :=
(x * bpow (- canonic_exp x))%R.
Definition generic_format (x : R) :=
x = F2R (Float beta (Ztrunc (scaled_mantissa x)) (canonic_exp x)).

Lemma generic_format_F2R': forall (x:R) (f:float beta),
F2R f = x -> ((x <> 0)%R ->
(canonic_exp x <= Fexp f)%Z) ->
generic_format x.