proposition: Theorem eval_RInt_correct : forall prec deg limit vars hyps pg pf pu pv cg cf cu cv g, no_floor_prog pf = true -> eval_RInt prec deg limit hyps pg pf pu pv cg cf cu cv g = true -> eval_hyps hyps vars ( eval_goal g (Prog.eval_real' pg ( (RInt (fun t => Prog.eval_real' pf (t :: vars) cf) (Prog.eval_real' pu vars cu) (Prog.eval_real' pv vars cv)) :: vars) cg)).
proof: Proof. intros prec deg limit vars hyps pg pf pu pv cg cf cu cv g Hp H. apply (R.eval_hyps_bnd_correct prec). intros H'. apply (R.eval_goal_bnd_correct prec) with (2 := H). unfold eval_real'. simpl. fold (compute_inputs prec hyps cg). apply A.BndValuator.eval_correct_ext'. now apply app_merge_hyps_eval_bnd. now apply contains_RInt. Qed.
imports: Coq(Reals List ZArith Psatz) Flocq(Zaux) Coquelicot(Coquelicot) Stdlib Coquelicot Xreal Basic Sig Interval Integral Eval Bertrand Tree Prog Reify Refine Interval_helper