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.