Library Fprop

Require Export Fbound.
Section Fprop.
Variable radix : Z.
Hypothesis radixMoreThanOne : (1 < radix)%Z.

Coercion Local FtoRradix := FtoR radix.
Variable b : Fbound.

Theorem SterbenzAux :
 forall x y : float,
 Fbounded b x ->
 Fbounded b y ->
 (y <= x)%R -> (x <= 2%nat * y)%R -> Fbounded b (Fminus radix x y).

Theorem Sterbenz :
 forall x y : float,
 Fbounded b x ->
 Fbounded b y ->
 (/ 2%nat * y <= x)%R -> (x <= 2%nat * y)%R -> Fbounded b (Fminus radix x y).

Theorem BminusSameExpAux :
 forall x y : float,
 Fbounded b x ->
 Fbounded b y ->
 (0 <= y)%R -> (y <= x)%R -> Fexp x = Fexp y -> Fbounded b (Fminus radix x y).

Theorem BminusSameExp :
 forall x y : float,
 Fbounded b x ->
 Fbounded b y ->
 (0 <= x)%R -> (0 <= y)%R -> Fexp x = Fexp y -> Fbounded b (Fminus radix x y).

Theorem BminusSameExpNeg :
 forall x y : float,
 Fbounded b x ->
 Fbounded b y ->
 (x <= 0)%R -> (y <= 0)%R -> Fexp x = Fexp y -> Fbounded b (Fminus radix x y).
End Fprop.
Hint Resolve Sterbenz BminusSameExp BminusSameExpNeg: float.