intros x y z n Hz O1.
apply le_IZR; auto.
apply Rmult_le_reg_l with (r := powerRZ z n); auto with real zarith.
repeat rewrite (Rmult_comm (powerRZ z n)); auto.
repeat rewrite <- Faux.Rabsolu_Zabs.
replace (powerRZ z n) with (Rabs (powerRZ z n)).
repeat rewrite <- Rabs_mult; auto.
apply Rabs_pos_eq; auto with real zarith.
Qed.

(* Specifications: *)
Theorem LessExpBound :
forall (b : Fbound) (p q : float),
Fbounded b p ->
Fbounded b q ->
(Fexp q <= Fexp p)%Z ->
(0 <= p)%R ->
(p <= q)%R ->
exists m : Z,
Float m (Fexp q) = p :>R /\ Fbounded b (Float m (Fexp q)).