Definition eval_tt (env : Env) (tt : Term' * Annot) := eval' env (fst tt).Definition eval_clause (env : Env) (cl : clause) := ~ make_conj  (eval_tt env) cl.Definition eval_cnf (env : Env) (f:cnf) := make_conj  (eval_clause  env) f.

(* Specifications: *)
Lemma eval_cnf_app : forall env x y, eval_cnf env (x+++y) <-> eval_cnf env x /\ eval_cnf env y.
Lemma eval_cnf_ff : forall env, eval_cnf env cnf_ff <-> False.
Lemma eval_cnf_tt : forall env, eval_cnf env cnf_tt <-> True.
Lemma eval_cnf_and_opt : forall env x y, eval_cnf env (and_cnf_opt x y) <-> eval_cnf env (and_cnf x y).