diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/regress/CMakeLists.txt | 6 | ||||
-rw-r--r-- | test/regress/regress0/sets/comp-qf-error.smt2 | 14 | ||||
-rw-r--r-- | test/regress/regress1/sets/comp-intersect.smt2 | 14 | ||||
-rw-r--r-- | test/regress/regress1/sets/comp-odd.smt2 | 16 | ||||
-rw-r--r-- | test/regress/regress1/sets/comp-pos-member.smt2 | 23 | ||||
-rw-r--r-- | test/regress/regress1/sets/comp-positive.smt2 | 12 | ||||
-rw-r--r-- | test/regress/regress1/sets/set-comp-sat.smt2 | 18 |
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) |