diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-08-23 16:42:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-23 21:42:14 +0000 |
commit | 982b585a1b766a933055d7328579cdb482504fe4 (patch) | |
tree | 085328ba996448cd3926468770ba858b4b0c2f14 /test | |
parent | b272d60452028025d56dbf6ffe10276d6f9281cb (diff) |
Generalize inequality elimination in quantifiers rewriter (#7030)
This generalizes our inequality elimination technique to handle disequalities as well as inequalities.
#6999 is an example where a variable can be eliminated: if a variable x occurs only in an equality with negative required polarity, then the variable and that literal can be eliminated.
Fixes #6999.
Diffstat (limited to 'test')
-rw-r--r-- | test/regress/CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/regress/regress0/quantifiers/issue6999-deq-elim.smt2 | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index d68400b66..55649c2f0 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -911,6 +911,7 @@ set(regress_0_tests regress0/quantifiers/issue5693-prenex.smt2 regress0/quantifiers/issue6603-dt-bool-cegqi.smt2 regress0/quantifiers/issue6996-trivial-elim.smt2 + regress0/quantifiers/issue6999-deq-elim.smt2 regress0/quantifiers/lra-triv-gn.smt2 regress0/quantifiers/macro-back-subs-sat.smt2 regress0/quantifiers/macros-int-real.smt2 diff --git a/test/regress/regress0/quantifiers/issue6999-deq-elim.smt2 b/test/regress/regress0/quantifiers/issue6999-deq-elim.smt2 new file mode 100644 index 000000000..6ea8e6a2f --- /dev/null +++ b/test/regress/regress0/quantifiers/issue6999-deq-elim.smt2 @@ -0,0 +1,7 @@ +(set-logic ALL) +(set-info :status unsat) +(declare-sort T 0) +(declare-fun S (T Int) Int) +(declare-fun R (T Int Int) T) +(assert (forall ((z T) (x Int)) (= x (S (R z 0 0) 0)))) +(check-sat) |