From b15739e75b2b6b7c0cc2ac31c92ece3e6aae71be Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Fri, 24 Aug 2018 15:16:44 -0500 Subject: [PATCH] Remove spurious disabling of cbqi-all (#2368) --- src/smt/smt_engine.cpp | 1 - test/regress/Makefile.tests | 1 + test/regress/regress1/quantifiers/nl-pow-trick.smt2 | 13 +++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 test/regress/regress1/quantifiers/nl-pow-trick.smt2 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) -- 2.30.2