diff options
author | fbesson <fbesson@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-05-09 08:12:59 +0000 |
---|---|---|
committer | fbesson <fbesson@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-05-09 08:12:59 +0000 |
commit | b3ebb256717364d6d6ed631cd7830e46a8ab6863 (patch) | |
tree | b9948c4abfe44c39e8e192c3b23f7fe61aa5ec3a /plugins/micromega/RMicromega.v | |
parent | f8f2e9b68b8b97d0ae85b93bbb395f637cce105b (diff) |
Improved lia + experimental nlia
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14116 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins/micromega/RMicromega.v')
-rw-r--r-- | plugins/micromega/RMicromega.v | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/micromega/RMicromega.v b/plugins/micromega/RMicromega.v index 3f29a4fcf..406b4ba25 100644 --- a/plugins/micromega/RMicromega.v +++ b/plugins/micromega/RMicromega.v @@ -158,8 +158,15 @@ Require Import Tauto. Definition Rnormalise := @cnf_normalise Z 0%Z 1%Z Zplus Zmult Zminus Zopp Zeq_bool. Definition Rnegate := @cnf_negate Z 0%Z 1%Z Zplus Zmult Zminus Zopp Zeq_bool. +Definition runsat := check_inconsistent 0%Z Zeq_bool Zle_bool. + +Definition rdeduce := nformula_plus_nformula 0%Z Zplus Zeq_bool. + + + Definition RTautoChecker (f : BFormula (Formula Z)) (w: list RWitness) : bool := @tauto_checker (Formula Z) (NFormula Z) + runsat rdeduce Rnormalise Rnegate RWitness RWeakChecker f w. @@ -169,6 +176,11 @@ Proof. unfold RTautoChecker. apply (tauto_checker_sound Reval_formula Reval_nformula). apply Reval_nformula_dec. + intros until env. + unfold eval_nformula. unfold RingMicromega.eval_nformula. + destruct t. + apply (check_inconsistent_sound Rsor RZSORaddon) ; auto. + unfold rdeduce. apply (nformula_plus_nformula_correct Rsor RZSORaddon). intros. rewrite Reval_formula_compat. unfold Reval_formula'. now apply (cnf_normalise_correct Rsor RZSORaddon). intros. rewrite Reval_formula_compat. unfold Reval_formula. now apply (cnf_negate_correct Rsor RZSORaddon). |