summaryrefslogtreecommitdiff
path: root/test/regress/regress0/sets/cvc-sample.cvc.smt2
blob: 9ee199b43ac9d73330f236662eede1d24404f32f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
; COMMAND-LINE: --incremental
; EXPECT: unsat
; EXPECT: unsat
; EXPECT: unsat
; EXPECT: unsat
; EXPECT: unsat
; EXPECT: sat
(set-option :incremental true)
(set-logic ALL)

(declare-fun x () (Set Int))
(declare-fun y () (Set Int))
(declare-fun z () (Set Int))
(declare-fun e1 () Int)
(declare-fun e2 () Int)
(push 1)
(declare-fun a () (Set Int))
(declare-fun b () (Set Int))
(declare-fun c () (Set Int))
(declare-fun e () Int)
(assert (= a (set.singleton 5)))
(assert (= c (set.union a b)))
(assert (not (= c (set.intersection a b))))
(assert (= c (set.minus a b)))
(assert (set.subset a b))
(assert (set.member e c))
(assert (set.member e a))
(assert (set.member e (set.intersection a b)))
(push 1)

(assert true)

(check-sat)

(pop 1)

(pop 1)
(push 1)
(assert (= x y))
(assert (not (= (set.union x z) (set.union y z))))
(push 1)

(assert true)

(check-sat)

(pop 1)

(pop 1)
(push 1)
(assert (= x y))
(assert (= e1 e2))
(assert (set.member e1 x))
(assert (not (set.member e2 y)))
(push 1)

(assert true)

(check-sat)

(pop 1)

(pop 1)
(push 1)
(assert (= x y))
(assert (= e1 e2))
(assert (set.member e1 (set.union x z)))
(assert (not (set.member e2 (set.union y z))))
(push 1)

(assert true)

(check-sat)

(pop 1)

(pop 1)
(push 1)
(assert (set.member 5 (set.union (set.union (set.union (set.union (set.singleton 1) (set.singleton 2)) (set.singleton 3)) (set.singleton 4)) (set.singleton 5))))
(assert (set.member 5 (set.union (set.union (set.union (set.union (set.singleton 1) (set.singleton 2)) (set.singleton 3)) (set.singleton 4)) (as set.empty (Set Int)))))
(push 1)

(assert true)

(check-sat)

(pop 1)

(pop 1)
(check-sat-assuming ( (not (let ((_let_1 (set.member e1 z))) (and _let_1 (not _let_1)))) ))
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback