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)).

Theorem generic_format_canonic : forall f, canonic f -> generic_format (F2R f).