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
(check (= (and true true) true))
(check (= (and true false) false))
(check (= (or true false) true))
(check (!= (or true false) false))
(check (= (bool-= 1 1) true))
(check (= (bool-= -5 -5) true))
(check (= (bool-= 1 3) false))
(check (= (bool-= 3 1) false))
(check (= (bool-< 1 2) true))
(check (= (bool-< 2 1) false))
(check (= (bool-< 1 1) false))
(check (= (bool-<= 1 2) true))
(check (= (bool-<= 2 1) false))
(check (= (bool-<= 1 1) true))
(check (= (bool-> 1 2) false))
(check (= (bool-> 2 1) true))
(check (= (bool-> 1 1) false))
(check (= (bool->= 1 2) false))
(check (= (bool->= 2 1) true))
(check (= (bool->= 1 1) true))
; Test bool's tag
(relation R (i64))
(function F (i64) bool :no-merge)
(rule
((R i))
((set (F i) true))
)
(R 0)
(run 3)