summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-08-24 15:16:44 -0500
committerGitHub <noreply@github.com>2018-08-24 15:16:44 -0500
commitb15739e75b2b6b7c0cc2ac31c92ece3e6aae71be (patch)
tree6d27e1e564a1b2947be4340d6c9878dbf44b0406
parent3b728a49c482ea447e3b82c7aa1251ad0866c12a (diff)
Remove spurious disabling of cbqi-all (#2368)
-rw-r--r--src/smt/smt_engine.cpp1
-rw-r--r--test/regress/Makefile.tests1
-rw-r--r--test/regress/regress1/quantifiers/nl-pow-trick.smt213
3 files changed, 14 insertions, 1 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index c4492d3a1..deafcc96c 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -2026,7 +2026,6 @@ void SmtEngine::setDefaults() {
}
if (d_logic.isPure(THEORY_ARITH) || d_logic.isPure(THEORY_BV))
{
- options::cbqiAll.set( false );
if( !options::quantConflictFind.wasSetByUser() ){
options::quantConflictFind.set( false );
}
diff --git a/test/regress/Makefile.tests b/test/regress/Makefile.tests
index 6400411cb..2922085ca 100644
--- a/test/regress/Makefile.tests
+++ b/test/regress/Makefile.tests
@@ -1301,6 +1301,7 @@ REG1_TESTS = \
regress1/quantifiers/model_6_1_bv.smt2 \
regress1/quantifiers/mutualrec2.cvc \
regress1/quantifiers/nested9_true-unreach-call.i_575.smt2 \
+ regress1/quantifiers/nl-pow-trick.smt2 \
regress1/quantifiers/nra-interleave-inst.smt2 \
regress1/quantifiers/opisavailable-12.smt2 \
regress1/quantifiers/parametric-lists.smt2 \
diff --git a/test/regress/regress1/quantifiers/nl-pow-trick.smt2 b/test/regress/regress1/quantifiers/nl-pow-trick.smt2
new file mode 100644
index 000000000..a369fd9f9
--- /dev/null
+++ b/test/regress/regress1/quantifiers/nl-pow-trick.smt2
@@ -0,0 +1,13 @@
+; COMMAND-LINE: --cbqi-all
+; EXPECT: unsat
+(set-logic NIA)
+(declare-fun a () Int)
+(declare-fun b () Int)
+(declare-fun c () Int)
+(define-fun s ((x Int)) Int (+ x 1))
+(define-fun seq ((a Int) (b Int) (k Int) (x Int)) Bool ( = x (mod (+ 1 (* b (+ 1 k))) a)))
+(define-fun power ((a Int) (b Int) (c Int)) Bool
+(exists ((x Int) (y Int)) (and (seq x y 0 1) (seq x y b c) (forall ((k Int) (z Int)) (=> (and (< k b) (seq x y k z)) (seq x y (+ 1 k) (* a z))))))
+)
+(assert (power 2 3 8))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback