summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/regress/CMakeLists.txt6
-rw-r--r--test/regress/regress0/sets/comp-qf-error.smt214
-rw-r--r--test/regress/regress1/sets/comp-intersect.smt214
-rw-r--r--test/regress/regress1/sets/comp-odd.smt216
-rw-r--r--test/regress/regress1/sets/comp-pos-member.smt223
-rw-r--r--test/regress/regress1/sets/comp-positive.smt212
-rw-r--r--test/regress/regress1/sets/set-comp-sat.smt218
7 files changed, 103 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index 73393d29a..c4dfd2593 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -803,6 +803,7 @@ set(regress_0_tests
regress0/sets/complement.cvc
regress0/sets/complement2.cvc
regress0/sets/complement3.cvc
+ regress0/sets/comp-qf-error.smt2
regress0/sets/cvc-sample.cvc
regress0/sets/dt-simp-mem.smt2
regress0/sets/emptyset.smt2
@@ -1565,6 +1566,10 @@ set(regress_1_tests
regress1/sets/card-6.smt2
regress1/sets/card-7.smt2
regress1/sets/card-vc6-minimized.smt2
+ regress1/sets/comp-intersect.smt2
+ regress1/sets/comp-odd.smt2
+ regress1/sets/comp-positive.smt2
+ regress1/sets/comp-pos-member.smt2
regress1/sets/copy_check_heap_access_33_4.smt2
regress1/sets/deepmeas0.hs.fqout.cvc4.41.smt2
regress1/sets/fuzz14418.smt2
@@ -1577,6 +1582,7 @@ set(regress_1_tests
regress1/sets/remove_check_free_31_6.smt2
regress1/sets/sets-disequal.smt2
regress1/sets/sets-tuple-poly.cvc
+ regress1/sets/set-comp-sat.smt2
regress1/sets/sharingbug.smt2
regress1/sets/univ-set-uf-elim.smt2
regress1/simplification_bug4.smt2
diff --git a/test/regress/regress0/sets/comp-qf-error.smt2 b/test/regress/regress0/sets/comp-qf-error.smt2
new file mode 100644
index 000000000..81e4d7411
--- /dev/null
+++ b/test/regress/regress0/sets/comp-qf-error.smt2
@@ -0,0 +1,14 @@
+; COMMAND-LINE: --sets-ext
+; EXPECT: (error "Set comprehensions require quantifiers in the background logic.")
+; EXIT: 1
+(set-logic QF_UFLIAFS)
+(set-info :status unsat)
+
+(declare-sort U 0)
+(declare-fun a () U)
+(declare-fun x () (Set U))
+
+
+(assert (subset x (comprehension ((z U)) (not (= z a)) z)))
+
+(check-sat)
diff --git a/test/regress/regress1/sets/comp-intersect.smt2 b/test/regress/regress1/sets/comp-intersect.smt2
new file mode 100644
index 000000000..ab3206343
--- /dev/null
+++ b/test/regress/regress1/sets/comp-intersect.smt2
@@ -0,0 +1,14 @@
+; COMMAND-LINE: --sets-ext
+; EXPECT: unsat
+(set-logic ALL)
+(set-info :status unsat)
+
+(declare-fun x () (Set Int))
+(declare-fun y () (Set Int))
+
+(assert (= x (comprehension ((z Int)) (> z 4) (* 5 z))))
+(assert (= y (comprehension ((z Int)) (< z 10) (+ (* 5 z) 1))))
+
+(assert (not (= (intersection x y) (as emptyset (Set Int)))))
+
+(check-sat)
diff --git a/test/regress/regress1/sets/comp-odd.smt2 b/test/regress/regress1/sets/comp-odd.smt2
new file mode 100644
index 000000000..1b1a13b34
--- /dev/null
+++ b/test/regress/regress1/sets/comp-odd.smt2
@@ -0,0 +1,16 @@
+; COMMAND-LINE: --sets-ext
+; EXPECT: unsat
+(set-logic ALL)
+(set-info :status unsat)
+
+(declare-fun x () (Set Int))
+
+(assert (subset x (comprehension ((z Int)) true (* 2 z))))
+
+(declare-fun a () Int)
+(declare-fun b () Int)
+
+(assert (= a (+ (* 8 b) 1)))
+(assert (member a x))
+
+(check-sat)
diff --git a/test/regress/regress1/sets/comp-pos-member.smt2 b/test/regress/regress1/sets/comp-pos-member.smt2
new file mode 100644
index 000000000..aeba4cadc
--- /dev/null
+++ b/test/regress/regress1/sets/comp-pos-member.smt2
@@ -0,0 +1,23 @@
+; COMMAND-LINE: --sets-ext --full-saturate-quant
+; EXPECT: unsat
+(set-logic ALL)
+(set-info :status unsat)
+
+(declare-fun x () (Set Int))
+
+(assert (subset (comprehension ((z Int)) (>= z 0) (* 3 z)) x))
+
+(declare-fun a () Int)
+(declare-fun b () Int)
+(declare-fun c () Int)
+
+(assert (not (member a x)))
+(assert (not (member b x)))
+(assert (not (member c x)))
+(assert (<= 0 a))
+(assert (<= a b))
+(assert (<= b c))
+(assert (< (- c a) 3))
+(assert (distinct a b c))
+
+(check-sat)
diff --git a/test/regress/regress1/sets/comp-positive.smt2 b/test/regress/regress1/sets/comp-positive.smt2
new file mode 100644
index 000000000..af75230b3
--- /dev/null
+++ b/test/regress/regress1/sets/comp-positive.smt2
@@ -0,0 +1,12 @@
+; COMMAND-LINE: --sets-ext
+; EXPECT: unsat
+(set-logic ALL)
+(set-info :status unsat)
+
+(declare-fun x () (Set Int))
+
+(assert (subset x (comprehension ((z Int)) (> z 0) z)))
+
+(assert (member 0 x))
+
+(check-sat)
diff --git a/test/regress/regress1/sets/set-comp-sat.smt2 b/test/regress/regress1/sets/set-comp-sat.smt2
new file mode 100644
index 000000000..d6a64c36e
--- /dev/null
+++ b/test/regress/regress1/sets/set-comp-sat.smt2
@@ -0,0 +1,18 @@
+; COMMAND-LINE: --sets-ext --finite-model-find
+; EXPECT: sat
+(set-logic UFFS)
+(set-info :status sat)
+
+(declare-sort U 0)
+(declare-fun a () U)
+(declare-fun b () U)
+(declare-fun c () U)
+(declare-fun x () (Set U))
+
+
+(assert (subset x (comprehension ((z U)) (not (= z a)) z)))
+
+(assert (not (member b x)))
+(assert (member c x))
+
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback