summaryrefslogtreecommitdiff
path: root/test/regress/regress0/arith/integers
diff options
context:
space:
mode:
authorYing Sheng <sqy1415@gmail.com>2019-10-08 08:18:21 -0700
committerAndres Noetzli <andres.noetzli@gmail.com>2019-10-08 08:18:21 -0700
commit00ccc01140bcdeaadedf8ae1b9f224ccdc812bc0 (patch)
treebc4981945d06c25d57854fbf2651431061e9ae42 /test/regress/regress0/arith/integers
parent94feff6c3b03325115e2c1c91121b83945dba4b0 (diff)
Make ackermannization generally applicable rather than just BV (#3315)
The ackermannization process is currently already support general theories rather than specifically for BV. In this pull request, an option has been added to turn on ackermannization independently.
Diffstat (limited to 'test/regress/regress0/arith/integers')
-rw-r--r--test/regress/regress0/arith/integers/ackermann1.smt219
-rw-r--r--test/regress/regress0/arith/integers/ackermann2.smt215
-rw-r--r--test/regress/regress0/arith/integers/ackermann3.smt215
-rw-r--r--test/regress/regress0/arith/integers/ackermann4.smt222
-rw-r--r--test/regress/regress0/arith/integers/ackermann5.smt215
-rw-r--r--test/regress/regress0/arith/integers/ackermann6.smt215
6 files changed, 101 insertions, 0 deletions
diff --git a/test/regress/regress0/arith/integers/ackermann1.smt2 b/test/regress/regress0/arith/integers/ackermann1.smt2
new file mode 100644
index 000000000..b04210f36
--- /dev/null
+++ b/test/regress/regress0/arith/integers/ackermann1.smt2
@@ -0,0 +1,19 @@
+; COMMAND-LINE: --ackermann --no-check-models --no-check-unsat-cores
+; EXPECT: unsat
+(set-logic QF_UFLIA)
+
+(declare-fun a () Int)
+(declare-fun b () Int)
+
+(declare-fun f (Int) Int)
+(declare-fun g (Int) Int)
+
+(assert (= (f (g (f (f a)))) (f (g (f a)))))
+(assert (= (f a) b))
+(assert (= (f b) a))
+(assert (not (= a b)))
+(assert (= (g a) (f a)))
+(assert (= (g b) (f b)))
+
+(check-sat)
+(exit) \ No newline at end of file
diff --git a/test/regress/regress0/arith/integers/ackermann2.smt2 b/test/regress/regress0/arith/integers/ackermann2.smt2
new file mode 100644
index 000000000..f20fd99bf
--- /dev/null
+++ b/test/regress/regress0/arith/integers/ackermann2.smt2
@@ -0,0 +1,15 @@
+; COMMAND-LINE: --ackermann --no-check-models --no-check-unsat-cores
+; EXPECT: unsat
+(set-logic QF_UFLIA)
+
+(declare-fun a () Int)
+(declare-fun b () Int)
+
+(declare-fun f (Int) Int)
+(declare-fun g (Int) Int)
+
+(assert (not (= (f (g (f (f a)))) (f (g (f (f b)))))))
+(assert (= a b))
+
+(check-sat)
+(exit)
diff --git a/test/regress/regress0/arith/integers/ackermann3.smt2 b/test/regress/regress0/arith/integers/ackermann3.smt2
new file mode 100644
index 000000000..4b4137cb9
--- /dev/null
+++ b/test/regress/regress0/arith/integers/ackermann3.smt2
@@ -0,0 +1,15 @@
+; COMMAND-LINE: --ackermann --no-check-models --no-check-unsat-cores
+; EXPECT: sat
+(set-logic QF_UFLIA)
+
+(declare-fun a () Int)
+(declare-fun b () Int)
+
+(declare-fun f (Int) Int)
+(declare-fun g (Int) Int)
+
+(assert (= (f (g (f (f a)))) (f (g (f (f b))))))
+(assert (not (= a b)))
+
+(check-sat)
+(exit)
diff --git a/test/regress/regress0/arith/integers/ackermann4.smt2 b/test/regress/regress0/arith/integers/ackermann4.smt2
new file mode 100644
index 000000000..1b76e1075
--- /dev/null
+++ b/test/regress/regress0/arith/integers/ackermann4.smt2
@@ -0,0 +1,22 @@
+; COMMAND-LINE: --ackermann --no-check-models --no-check-proofs --no-check-unsat-cores
+; EXPECT: unsat
+(set-logic QF_ALIA)
+(set-info :smt-lib-version 2.0)
+(set-info :category "crafted")
+(set-info :status unsat)
+
+(define-sort bv () Int)
+(define-sort abv () (Array bv bv))
+
+(declare-fun v0 () Int)
+(declare-fun v1 () Int)
+(declare-fun a () abv)
+(declare-fun b () abv)
+(declare-fun c () abv)
+
+(assert (not (= (select a (select b (select c v0))) (select a (select b (select c v1))))))
+
+(assert (= v0 v1))
+
+(check-sat)
+(exit) \ No newline at end of file
diff --git a/test/regress/regress0/arith/integers/ackermann5.smt2 b/test/regress/regress0/arith/integers/ackermann5.smt2
new file mode 100644
index 000000000..8b93a3c35
--- /dev/null
+++ b/test/regress/regress0/arith/integers/ackermann5.smt2
@@ -0,0 +1,15 @@
+; COMMAND-LINE: --ackermann --no-check-models --no-check-proofs --no-check-unsat-cores
+; EXPECT: sat
+(set-logic QF_UFLIA)
+(set-info :smt-lib-version 2.0)
+(set-info :category "crafted")
+(declare-fun v0 () Int)
+(declare-fun f (Int) Int)
+(declare-fun g (Int) Int)
+
+(assert (= (f v0) (g (f v0))))
+(assert (= (f (f v0)) (g (f v0))))
+(assert (= (f (f (f v0))) (g (f v0))))
+
+(check-sat)
+(exit)
diff --git a/test/regress/regress0/arith/integers/ackermann6.smt2 b/test/regress/regress0/arith/integers/ackermann6.smt2
new file mode 100644
index 000000000..62f2f1276
--- /dev/null
+++ b/test/regress/regress0/arith/integers/ackermann6.smt2
@@ -0,0 +1,15 @@
+; COMMAND-LINE: --ackermann --no-check-models --no-check-proofs --no-check-unsat-cores
+; EXPECT: unsat
+(set-logic QF_UFLIA)
+(set-info :smt-lib-version 2.0)
+(set-info :category "crafted")
+(declare-fun v0 () Int)
+(declare-fun f (Int) Int)
+(declare-fun g (Int) Int)
+
+(assert (= (f v0) (g (f v0))))
+(assert (= (f (f v0)) (g (f v0))))
+(assert (not (= (f (f (f v0))) (g (f v0)))))
+
+(check-sat)
+(exit)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback