summaryrefslogtreecommitdiff
path: root/test/regress/regress0/quantifiers
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-05-22 22:39:16 -0500
committerGitHub <noreply@github.com>2020-05-22 22:39:16 -0500
commit52082c72d78eee219e3049285d5df559dacac8b5 (patch)
tree112417e90cc651c3b8523870c5955992ceeeaa99 /test/regress/regress0/quantifiers
parent02a7dc0ba7f00b02c2639a884d1f3983b2004a3e (diff)
Refactor operator elimination in arithmetic (#4519)
This is a major refactor of how operators are eliminated in arithmetic. Currently there were (at least) two things wrong: (1) ppRewriteTerm sent lemmas on the output channel. This behavior is incompatible with how preprocessing works. In particular, this caused unconstrained simplification to be unaware of terms from such lemmas, leading to incorrect "sat" answers. (2) Lemmas used to eliminate certain "div-like" terms were processed in a context-independent way. However, lemmas should be cached in a user-context-dependent way. This was leading to incorrect "sat" answers in incremental. The solution to these issues is to eliminate operators via the construction of witness terms. No lemmas are sent out, and instead these lemmas are the consequence of term formula removal in the standard way. As a result of the refactor, 2 quantifiers regressions time out due to infinite branch and bound issues (one only during --check-unsat-cores). These appear to be random and I've changed the options to avoid these issues. 3 others now have check-model warnings, which I've added --quiet to. Improving check-model will be addressed on a future PR. This PR is not required for SMT COMP since we have workarounds that avoid both the incorrect behaviors in our scripts. Also notice that --rewrite-divk is effectively now enabled by default always. Fixes #4484, fixes #4486, fixes #4481.
Diffstat (limited to 'test/regress/regress0/quantifiers')
-rw-r--r--test/regress/regress0/quantifiers/mix-match.smt24
1 files changed, 3 insertions, 1 deletions
diff --git a/test/regress/regress0/quantifiers/mix-match.smt2 b/test/regress/regress0/quantifiers/mix-match.smt2
index c6ac3b56f..fbf996a0a 100644
--- a/test/regress/regress0/quantifiers/mix-match.smt2
+++ b/test/regress/regress0/quantifiers/mix-match.smt2
@@ -1,3 +1,5 @@
+; COMMAND-LINE: --no-check-unsat-cores
+; EXPECT: unsat
(set-logic ALL_SUPPORTED)
(set-info :status unsat)
(declare-fun P (Real) Bool)
@@ -7,4 +9,4 @@
(assert (is_int a))
(assert (not (P a)))
-(check-sat) \ No newline at end of file
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback