Definition Reval_formula (e: PolEnv R) (k: Tauto.kind) (ff : Formula Rcst) :=
let (lhs,o,rhs) := ff in Reval_op2 k o (Reval_expr e lhs) (Reval_expr e rhs).
Definition Reval_formula' :=
eval_sformula  Rplus Rmult Rminus Ropp (@eq R) Rle Rlt N.to_nat pow R_of_Rcst.

(* Specifications: *)
Lemma Reval_pop2_eval_op2 : forall o e1 e2,
Reval_pop2 o e1 e2  <->
eval_op2 eq Rle Rlt o e1 e2.
Lemma Reval_formula_compat : forall env b f, Tauto.hold b (Reval_formula env b f) <-> Reval_formula' env f.
Definition QReval_expr := eval_pexpr Rplus Rmult Rminus Ropp Q2R to_nat pow.