46 Let :: "['a, 'a => 'b] => 'b" |
47 Let :: "['a, 'a => 'b] => 'b" |
47 "_bind" :: "[idt, 'a] => letbind" ("(2_ =/ _)" 10) |
48 "_bind" :: "[idt, 'a] => letbind" ("(2_ =/ _)" 10) |
48 "" :: "letbind => letbinds" ("_") |
49 "" :: "letbind => letbinds" ("_") |
49 "_binds" :: "[letbind, letbinds] => letbinds" ("_;/ _") |
50 "_binds" :: "[letbind, letbinds] => letbinds" ("_;/ _") |
50 "_Let" :: "[letbinds, 'a] => 'a" ("(let (_)/ in (_))" 10) |
51 "_Let" :: "[letbinds, 'a] => 'a" ("(let (_)/ in (_))" 10) |
|
52 |
|
53 (* Case expressions *) |
|
54 |
|
55 "@case" :: "['a, cases_syn] => 'b" ("(case _ of/ _)" 10) |
|
56 "@case1" :: "['a, 'b] => case_syn" ("(2_ =>/ _)" 10) |
|
57 "" :: "case_syn => cases_syn" ("_") |
|
58 "@case2" :: "[case_syn,cases_syn] => cases_syn" ("_/ | _") |
51 |
59 |
52 (* Alternative Quantifiers *) |
60 (* Alternative Quantifiers *) |
53 |
61 |
54 "*All" :: "[idts, bool] => bool" ("(3ALL _./ _)" 10) |
62 "*All" :: "[idts, bool] => bool" ("(3ALL _./ _)" 10) |
55 "*Ex" :: "[idts, bool] => bool" ("(3EX _./ _)" 10) |
63 "*Ex" :: "[idts, bool] => bool" ("(3EX _./ _)" 10) |