@@ -20,22 +20,22 @@ define Bool as True | False
20
20
21
21
term Not(BExpr)
22
22
23
- reduce Not(Bool b )
24
- name " Not(Bool)" :
23
+ @name(" Not(Bool)" )
24
+ reduce Not(Bool b) :
25
25
=> False, if b == True
26
26
=> True
27
27
28
- reduce Not( Not(* x) )
29
- name " Not(Not)" :
28
+ @name(" Not(Not)" )
29
+ reduce Not(Not(* x)) :
30
30
=> x
31
31
32
- reduce Not(And{BExpr... xs} )
33
- name " Not(And)" :
32
+ @name(" Not(And)" )
33
+ reduce Not(And{BExpr... xs}) :
34
34
=> let ys = { Not(x) | x in xs }
35
35
in Or(ys)
36
36
37
- reduce Not(Or{BExpr... xs} )
38
- name " Not(Or)" :
37
+ @name(" Not(Or)" )
38
+ reduce Not(Or{BExpr... xs}) :
39
39
=> let ys = { Not(x) | x in xs }
40
40
in And(ys)
41
41
@@ -45,26 +45,26 @@ name "Not(Or)":
45
45
46
46
term And{BExpr...}
47
47
48
- reduce And{BExpr x}
49
- name " And{x}" :
48
+ @name(" And{x}")
49
+ reduce And{BExpr x} :
50
50
=> x
51
51
52
- reduce And{Bool b, BExpr ... xs}
53
- name " And{Bool, ...}" :
52
+ @name(" And{Bool, ...}")
53
+ reduce And{Bool b, BExpr ... xs} :
54
54
=> False, if b == False
55
55
=> True, if |xs| == 0
56
56
=> And (xs)
57
57
58
- reduce And{And{BExpr... xs}, BExpr ... ys}
59
- name " And{And, ...}" :
58
+ @name(" And{And, ...}")
59
+ reduce And{And{BExpr... xs}, BExpr ... ys} :
60
60
=> And (xs ++ ys)
61
61
62
- reduce And{Not(BExpr x), BExpr y, BExpr ... ys}
63
- name " And{Not, ...}" :
62
+ @name(" And{Not, ...}")
63
+ reduce And{Not(BExpr x), BExpr y, BExpr ... ys} :
64
64
=> False, if x == y
65
65
66
- reduce And{Or{BExpr... xs}, BExpr ... ys}
67
- name " And{Or, ...}" :
66
+ @name(" And{Or, ...}")
67
+ reduce And{Or{BExpr... xs}, BExpr ... ys} :
68
68
=> let ys = { And(x ++ ys) | x in xs }
69
69
in Or(ys)
70
70
@@ -74,22 +74,22 @@ name "And{Or,...}":
74
74
75
75
term Or{BExpr...}
76
76
77
- reduce Or{BExpr x}
78
- name " Or{x}" :
77
+ @name(" Or{x}")
78
+ reduce Or{BExpr x} :
79
79
=> x
80
80
81
- reduce Or{Bool b, BExpr ... xs}
82
- name " Or{Bool, ...}" :
81
+ @name(" Or{Bool, ...}")
82
+ reduce Or{Bool b, BExpr ... xs} :
83
83
=> True, if b == True
84
84
=> False, if |xs| == 0
85
85
=> Or (xs)
86
86
87
- reduce Or{Not(BExpr x), BExpr y, BExpr ... ys}
88
- name " Or{Not, ...}" :
87
+ @name(" Or{Not, ...}")
88
+ reduce Or{Not(BExpr x), BExpr y, BExpr ... ys} :
89
89
=> True, if x == y
90
90
91
- reduce Or{Or{BExpr... xs}, BExpr ... ys}
92
- name " Or{Or, ...}" :
91
+ @name(" Or{Or, ...}")
92
+ reduce Or{Or{BExpr... xs}, BExpr ... ys} :
93
93
=> Or (xs ++ ys)
94
94
95
95
// ====================================================================
0 commit comments