summaryrefslogtreecommitdiff
path: root/test/regress/regress0/bv
diff options
context:
space:
mode:
authoryoni206 <yoni206@users.noreply.github.com>2020-10-13 23:28:36 -0700
committerGitHub <noreply@github.com>2020-10-13 23:28:36 -0700
commit1cecdb3b4d8be47d446be5d33cc4d3063061d2b3 (patch)
tree11416528c4ba2132b756d4a7b39ce99387a37a79 /test/regress/regress0/bv
parent0ddae476216452696dbb809173afc2fb440a7c57 (diff)
bv2int: rewritings and unsat cores (#5263)
This commit fixes several issues with bv-to-int preprocessing pass, mostly raised by @ajreynol: 1. make sure to rewrite the processed node before and after processing it 2. use the new `mkAnd` function 3. remove `--no-check-unsat-cores` from tests whenever possible 4. add new tests from #5230 . These tests now pass, and so this PR closes #5230 if merged. This also makes #5253 redundant. 5. remove an unused test
Diffstat (limited to 'test/regress/regress0/bv')
-rw-r--r--test/regress/regress0/bv/bv_to_int1.smt28
-rw-r--r--test/regress/regress0/bv/bv_to_int_5230_binary.smt29
-rw-r--r--test/regress/regress0/bv/bv_to_int_5230_missing_op.smt27
-rw-r--r--test/regress/regress0/bv/bv_to_int_5230_shift_const.smt212
-rw-r--r--test/regress/regress0/bv/bv_to_int_zext.smt22
5 files changed, 33 insertions, 5 deletions
diff --git a/test/regress/regress0/bv/bv_to_int1.smt2 b/test/regress/regress0/bv/bv_to_int1.smt2
index 9111ac25c..8410d04b9 100644
--- a/test/regress/regress0/bv/bv_to_int1.smt2
+++ b/test/regress/regress0/bv/bv_to_int1.smt2
@@ -1,7 +1,7 @@
-; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=1 --no-check-unsat-cores
-; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=2 --no-check-unsat-cores
-; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=3 --no-check-unsat-cores
-; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=4 --no-check-unsat-cores
+; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=1
+; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=2
+; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=3
+; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=4
; EXPECT: unsat
(set-logic QF_BV)
(declare-fun x () (_ BitVec 4))
diff --git a/test/regress/regress0/bv/bv_to_int_5230_binary.smt2 b/test/regress/regress0/bv/bv_to_int_5230_binary.smt2
new file mode 100644
index 000000000..32680d862
--- /dev/null
+++ b/test/regress/regress0/bv/bv_to_int_5230_binary.smt2
@@ -0,0 +1,9 @@
+; REQUIRES: proof
+; EXPECT: sat
+(set-logic QF_UFBV)
+(set-option :produce-unsat-cores true)
+(set-option :solve-bv-as-int sum)
+(declare-const v8 Bool)
+(declare-const bv_14-0 (_ BitVec 14))
+(declare-const v12 Bool)
+(check-sat-assuming ((! (or (= ((_ repeat 5) (bvurem (_ bv77 7) (_ bv77 7))) ((_ repeat 5) (bvurem (_ bv77 7) (_ bv77 7)))) (= bv_14-0 bv_14-0 bv_14-0) (= ((_ repeat 5) (bvurem (_ bv77 7) (_ bv77 7))) ((_ repeat 5) (bvurem (_ bv77 7) (_ bv77 7)))) v12) :named IP_71) (! (or v12 v8 v8 (= ((_ repeat 5) (bvurem (_ bv77 7) (_ bv77 7))) ((_ repeat 5) (bvurem (_ bv77 7) (_ bv77 7))))) :named IP_75)))
diff --git a/test/regress/regress0/bv/bv_to_int_5230_missing_op.smt2 b/test/regress/regress0/bv/bv_to_int_5230_missing_op.smt2
new file mode 100644
index 000000000..757b00e5f
--- /dev/null
+++ b/test/regress/regress0/bv/bv_to_int_5230_missing_op.smt2
@@ -0,0 +1,7 @@
+; REQUIRES: proof
+; EXPECT: sat
+(set-logic ABV)
+(set-option :check-unsat-cores true)
+(set-option :solve-bv-as-int sum)
+(assert (! (exists ((q4 (_ BitVec 6))) true) :named IP_2))
+(check-sat)
diff --git a/test/regress/regress0/bv/bv_to_int_5230_shift_const.smt2 b/test/regress/regress0/bv/bv_to_int_5230_shift_const.smt2
new file mode 100644
index 000000000..e94e0cae5
--- /dev/null
+++ b/test/regress/regress0/bv/bv_to_int_5230_shift_const.smt2
@@ -0,0 +1,12 @@
+; REQUIRES: proof
+; EXPECT: sat
+(set-logic QF_UFBV)
+(set-option :check-unsat-cores true)
+(set-option :solve-bv-as-int sum)
+(declare-const v0 Bool)
+(declare-const v5 Bool)
+(declare-const v8 Bool)
+(declare-const v9 Bool)
+(assert (or (distinct ((_ sign_extend 0) #b1001110) (bvlshr #b1001110 #b1001110) ((_ sign_extend 0) #b1001110) #b1001110) v9 (= #b1001110 ((_ sign_extend 0) #b1001110) #b1001110 #b1001110 ((_ sign_extend 0) #b1001110)) v5 (distinct ((_ sign_extend 0) #b1001110) (bvlshr #b1001110 #b1001110) ((_ sign_extend 0) #b1001110) #b1001110)))
+(assert (or v0 v8))
+(check-sat)
diff --git a/test/regress/regress0/bv/bv_to_int_zext.smt2 b/test/regress/regress0/bv/bv_to_int_zext.smt2
index 42e06a940..8bf4a825d 100644
--- a/test/regress/regress0/bv/bv_to_int_zext.smt2
+++ b/test/regress/regress0/bv/bv_to_int_zext.smt2
@@ -1,4 +1,4 @@
-; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=1 --no-check-unsat-cores
+; COMMAND-LINE: --solve-bv-as-int=sum --bvand-integer-granularity=1
; EXPECT: unsat
(set-logic QF_BV)
(declare-fun T1_31078 () (_ BitVec 8))
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback