MSBProp

# Library MSBProp

`Require Export MSB.
Section MSBProp.
Variable b : Fbound.
Variable precision : nat.
Variable radix : Z.
Let FtoRradix := FtoR radix.
Coercion FtoRradix : float >-> R.
Hypothesis radixMoreThanOne : (1 < radix)%Z.
Let radixMoreThanZERO : (0 < radix)%Z :=
Zlt_1_O _ (Zlt_le_weak _ _ radixMoreThanOne).
Hint Resolve radixMoreThanZERO: zarith.
Hypothesis precisionGreaterThanOne : 1 < precision.
Hypothesis pGivesBound : Zpos (vNum b) = Zpower_nat radix precision.
Theorem boundOnePrecision :
forall a : float,
Fbounded b a -> (Rabs a < Float 1%nat (precision + Fexp a))%R.
Theorem boundNormalMult :
forall x y : float,
Fnormal radix b x ->
Fbounded b y ->
(Rabs y * Float 1%nat (Fexp x) < radix * (Rabs x * Float 1%nat (Fexp y)))%R.
End MSBProp.
`