Commit 87e74ade authored by Heiko Becker's avatar Heiko Becker

Show stronger soundness in Error validator

parent 604e29ed
This diff is collapsed.
......@@ -394,19 +394,18 @@ For each evaluation of using an arbitrary epsilon, we can replace it by
evaluating the subexpressions and then binding the result values to different
variables in the Environment.
**)
Lemma binary_unfolding b f1 f2 E v1 v2 m1 m2 Gamma:
Lemma binary_unfolding b f1 f2 E v1 v2 m1 m2 Gamma delta:
(b = Div -> ~(v2 = 0 )%R) ->
(Rabs delta <= Q2R (mTypeToQ (join m1 m2)))%R ->
eval_exp E Gamma f1 v1 m1 ->
eval_exp E Gamma f2 v2 m2 ->
eval_exp E Gamma (Binop b f1 f2) (perturb (evalBinop b v1 v2) (Q2R (mTypeToQ (join m1 m2)))) (join m1 m2) ->
eval_exp E Gamma (Binop b f1 f2) (perturb (evalBinop b v1 v2) delta) (join m1 m2) ->
eval_exp (updEnv 2 v2 (updEnv 1 v1 emptyEnv))
(updDefVars 2 m2 (updDefVars 1 m1 Gamma))
(Binop b (Var R 1) (Var R 2)) (perturb (evalBinop b v1 v2) (Q2R (mTypeToQ (join m1 m2)))) (join m1 m2).
(Binop b (Var R 1) (Var R 2)) (perturb (evalBinop b v1 v2) delta) (join m1 m2).
Proof.
intros no_div_zero eval_f1 eval_f2 eval_float.
econstructor; try auto.
rewrite Rabs_right; try lra.
auto using Rle_ge, mTypeToQ_pos_R.
Qed.
(*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment