Class Monotone_exp :=
  monotone_exp : forall ex ey, (ex <= ey)%Z -> (fexp ex <= fexp ey)%Z.Class Monotone_exp :=
  monotone_exp : forall ex ey, (ex <= ey)%Z -> (fexp ex <= fexp ey)%Z.Global Instance monotone_exp_not_FTZ : Exp_not_FTZ.

(* Specifications: *)
Lemma canonic_exp_le_bpow : forall (x : R) (e : Z), x <> 0%R -> (Rabs x < bpow e)%R -> (canonic_exp x <= fexp e)%Z.
Lemma canonic_exp_ge_bpow : forall (x : R) (e : Z), (bpow (e - 1) <= Rabs x)%R -> (fexp e <= canonic_exp x)%Z.
Theorem ln_beta_round_ge : forall x, round rnd x <> 0%R -> (ln_beta beta x <= ln_beta beta (round rnd x))%Z.
Theorem canonic_exp_round_ge : forall x, round rnd x <> 0%R -> (canonic_exp x <= canonic_exp (round rnd x))%Z.
Lemma canonic_exp_le_bpow : forall (x : R) (e : Z), x <> 0%R -> (Rabs x < bpow e)%R -> (canonic_exp x <= fexp e)%Z.
Lemma canonic_exp_ge_bpow : forall (x : R) (e : Z), (bpow (e - 1) <= Rabs x)%R -> (fexp e <= canonic_exp x)%Z.
Theorem ln_beta_round_ge : forall x, round rnd x <> 0%R -> (ln_beta beta x <= ln_beta beta (round rnd x))%Z.
Theorem canonic_exp_round_ge : forall x, round rnd x <> 0%R -> (canonic_exp x <= canonic_exp (round rnd x))%Z.