intros x H; unfold is_Fzero, Fulp, Fnormalize in |- *;
case (Z_zerop (Fnum x)); intros ZH.
unfold FtoRradix, FtoR in |- *; simpl in |- *.
rewrite Rmult_1_l.
apply Rle_powerRZ.
replace 1%R with (INR 1); auto with real arith.
apply Zle_trans with (Fexp x); auto.
case H; auto.
apply Fexp_le_LSB; auto.
rewrite
LSB_shift
with
(n :=
min (precision - Fdigit radix x) (Zabs_nat (dExp b + Fexp x)));
auto.
unfold FtoRradix, FtoR in |- *; simpl in |- *.
rewrite Rmult_1_l.
apply Rle_powerRZ; auto with arith.
replace 1%R with (INR 1); auto with real arith.
exact
(Fexp_le_LSB radix
(Fshift radix
(min (precision - Fdigit radix x) (Zabs_nat (dExp b + Fexp x))) x)).
Qed.

(* Specifications: *)
Theorem MSBisMin :
forall f1 f2 : float,
(0 <= f1)%R ->
isMin b radix f1 f2 ->
~ is_Fzero f1 -> ~ is_Fzero f2 -> MSB radix f1 = MSB radix f2.