Closest2Plus.v



(****************************************************************************
                                                                             
          IEEE754  :  Closest2Plus                                                     
                                                                             
          Laurent Thery                                                      
                                                                             
*****************************************************************************
*)

Require Export ClosestPlus.
Require Export Closest2Prop.
Section F2.
Variable b:Fbound.
Variable precision:nat.

Local FtoRradix := (FtoR (2)).
Coercion FtoRradix : float >-> R.

Theorem TwoMoreThanOne: (lt (S O) (2)).
Hypothesis precisionNotZero:(lt (1) precision).
Hypothesis pGivesBound:(vNum b)=(minus (
exp (2) precision) (1)).

Theorem plusUpperBound:
  (P:?) (
RoundedModeP b (2) P) ->
  (p, q, pq:float) (P (Rplus p q) pq) -> (Fbounded b p) -> (Fbounded b q) ->
  (Rle (Rabsolu pq) (Rmult (2) (Rmax (Rabsolu p) (Rabsolu q)))).

Theorem plusErrorBound2:
  (p, q, r:
float)
  (Fbounded b p) ->
  (Fbounded b q) -> (Closest b (2) (Rplus p q) r) -> ~ (is_Fzero r) ->
  (Rlt
     (Rabsolu (Rminus r (Rplus p q)))
     (Rmult (Rmult (2) (Rinv (vNum b))) (Rmax (Rabsolu p) (Rabsolu q)))).

Theorem plusClosestLowerBoundAux1:
  (p, q, pq:
float)
  (Rle (Rabsolu q) p) ->
  (Closest b (2) (Rplus p q) pq) ->
  (Fbounded b p) -> (Fbounded b q) -> ~ pq==(Rplus p q) ->
  (Rle (Rmult (Rinv (2)) p) pq).

Theorem plusClosestLowerBoundAux2:
  (p, q, pq:
float)
  (Closest b (2) (Rplus p q) pq) ->
  (Fbounded b p) ->
  (Fbounded b q) -> ~ pq==(Rplus p q) -> (Rle (Rabsolu p) (Rabsolu q)) ->
  (Rle (Rmult (Rinv (2)) (Rabsolu q)) (Rabsolu pq)).

Theorem plusClosestLowerBound:
  (p, q, pq:
float)
  (Closest b (2) (Rplus p q) pq) ->
  (Fbounded b p) -> (Fbounded b q) -> ~ pq==(Rplus p q) ->
  (Rle (Rmult (Rinv (2)) (Rmax (Rabsolu p) (Rabsolu q))) (Rabsolu pq)).
End F2.

30/05/01, 17:24