summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2014-04-03 19:16:39 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2014-04-03 19:38:21 -0400
commit428572ea18afa8fdcaaedfa0c293182cf5a00a3d (patch)
tree34c0fe0547e3aea8c5ef67f0ba3afc8d55df2500 /test
parente99ed158fb2c5e030f38d048d2b2f2be6b11c7fb (diff)
Some incremental bugs for Boolean terms, fixed. Thanks to Pantazis Deligiannis and Jeroen Ketema for discovering this issue.
Diffstat (limited to 'test')
-rw-r--r--test/regress/regress0/Makefile.am2
-rw-r--r--test/regress/regress0/boolean-terms-kernel1.smt213
-rw-r--r--test/regress/regress0/boolean-terms-kernel2.smt219
3 files changed, 34 insertions, 0 deletions
diff --git a/test/regress/regress0/Makefile.am b/test/regress/regress0/Makefile.am
index 664958e5a..5df8577af 100644
--- a/test/regress/regress0/Makefile.am
+++ b/test/regress/regress0/Makefile.am
@@ -47,6 +47,8 @@ SMT_TESTS = \
# Regression tests for SMT2 inputs
SMT2_TESTS = \
arrayinuf_declare.smt2 \
+ boolean-terms-kernel1.smt2 \
+ boolean-terms-kernel2.smt2 \
chained-equality.smt2 \
ite2.smt2 \
ite3.smt2 \
diff --git a/test/regress/regress0/boolean-terms-kernel1.smt2 b/test/regress/regress0/boolean-terms-kernel1.smt2
new file mode 100644
index 000000000..a999a6a76
--- /dev/null
+++ b/test/regress/regress0/boolean-terms-kernel1.smt2
@@ -0,0 +1,13 @@
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+(set-logic QF_ABV)
+(declare-fun b () (_ BitVec 32))
+(declare-fun hk () (Array Bool (_ BitVec 32)))
+(push 1)
+(assert (not (= b (select hk true))))
+(check-sat)
+(pop 1)
+(assert (not (= b (_ bv0 32))))
+(assert (= b (select hk true)))
+(check-sat)
diff --git a/test/regress/regress0/boolean-terms-kernel2.smt2 b/test/regress/regress0/boolean-terms-kernel2.smt2
new file mode 100644
index 000000000..a4e49dd90
--- /dev/null
+++ b/test/regress/regress0/boolean-terms-kernel2.smt2
@@ -0,0 +1,19 @@
+; COMMAND-LINE: --incremental
+; EXPECT: unsat
+; EXPECT: sat
+(set-logic QF_ABV)
+(declare-fun b () Bool)
+(declare-fun c () Bool)
+(declare-fun a () (Array Bool (Array (_ BitVec 32) (_ BitVec 32))))
+(declare-fun v2 () (_ BitVec 32))
+(declare-fun r0 () (_ BitVec 32))
+(declare-fun r1 () (_ BitVec 32))
+(declare-fun l () (_ BitVec 32))
+(declare-fun i () (_ BitVec 32))
+(assert c)
+(push 1)
+(assert (not (=> false (not (= i (select (select a true) (bvsub (bvmul (bvsdiv v2 (_ bv2 32)) (bvadd (bvmul (_ bv2 32) l) (_ bv1 32))) (_ bv1 32))))))))
+(check-sat)
+(pop 1)
+(assert (not (=> (= i (select (select a true) (bvsub (bvmul (bvsdiv v2 (_ bv2 32)) (bvadd (bvmul (_ bv2 32) l) (_ bv1 32))) (_ bv1 32)))) (not (= r1 (ite b i r0))))))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback