equal
deleted
inserted
replaced
8 |
8 |
9 Tr2 = Tr1 + |
9 Tr2 = Tr1 + |
10 |
10 |
11 consts |
11 consts |
12 "@cifte" :: "tr=>'c=>'c=>'c" |
12 "@cifte" :: "tr=>'c=>'c=>'c" |
13 ("(3If _/ (then _/ else _) fi)" [60,60,60] 60) |
13 ("(3If _/ (then _/ else _) fi)" 60) |
14 "Icifte" :: "tr->'c->'c->'c" |
14 "Icifte" :: "tr->'c->'c->'c" |
15 |
15 |
16 "@andalso" :: "tr => tr => tr" ("_ andalso _" [61,60] 60) |
16 "@andalso" :: "tr => tr => tr" ("_ andalso _" [36,35] 35) |
17 "cop @andalso" :: "tr -> tr -> tr" ("trand") |
17 "cop @andalso" :: "tr -> tr -> tr" ("trand") |
18 "@orelse" :: "tr => tr => tr" ("_ orelse _" [61,60] 60) |
18 "@orelse" :: "tr => tr => tr" ("_ orelse _" [31,30] 30) |
19 "cop @orelse" :: "tr -> tr -> tr" ("tror") |
19 "cop @orelse" :: "tr -> tr -> tr" ("tror") |
20 |
20 |
|
21 "neg" :: "tr -> tr" |
21 |
22 |
22 rules |
23 rules |
23 |
24 |
24 ifte_def "Icifte == (LAM t e1 e2.tr_when[e1][e2][t])" |
25 ifte_def "Icifte == (LAM t e1 e2.tr_when[e1][e2][t])" |
25 andalso_def "trand == (LAM t1 t2.tr_when[t2][FF][t1])" |
26 andalso_def "trand == (LAM t1 t2.tr_when[t2][FF][t1])" |
26 orelse_def "tror == (LAM t1 t2.tr_when[TT][t2][t1])" |
27 orelse_def "tror == (LAM t1 t2.tr_when[TT][t2][t1])" |
27 |
28 neg_def "neg == (LAM t. tr_when[FF][TT][t])" |
28 |
29 |
29 end |
30 end |
30 |
31 |
31 ML |
32 ML |
32 |
33 |