intros x H'; unfold MSB, FtoRradix, FtoR in |- *; simpl in |- *.
replace (Zpred (Fdigit radix x + Fexp x)) with
(Zpred (Fdigit radix x) + Fexp x)%Z; [ idtac | unfold Zpred in |- *; ring ].
rewrite powerRZ_add; auto with real zarith.
rewrite Rmult_1_l.
repeat rewrite (fun r : R => Rmult_comm r (powerRZ radix (Fexp x))).
apply Rmult_le_compat_l; auto with real zarith.
rewrite <- inj_pred; auto with real zarith.
rewrite <- Zpower_nat_Z_powerRZ; auto.
apply Rle_IZR; auto.
unfold Fdigit in |- *; auto with arith.
apply digitLess; auto.
unfold Fdigit in |- *.
apply not_eq_sym; apply lt_O_neq; apply digitNotZero; auto.
Qed.

(* Specifications: *)
Theorem abs_lt_MSB :
forall x : float, (Fabs x < Float 1%nat (Zsucc (MSB x)))%R.