@@ -21,14 +21,31 @@ infixl 9 .;
2121(.) : (b -> c) -> (a -> b) -> a -> c;
2222(.) f g x = f (g x);
2323
24+infixr 1 $;
25+
26+($) : (a -> b) -> a -> b;
27+f $ a = f a;
28+
2429data Bool = False | True;
2530
2631boolElim : (x:Bool) -> a -> a -> a;
2732boolElim True t e = t;
2833boolElim False t e = e;
2934
35+data so : Bool -> Set where oh : so True;
36+
3037syntax if [test] then [t] else [e] = boolElim test t e;
3138
39+infix 4 &&, ||;
40+
41+(||) : Bool -> Bool -> Bool;
42+(||) False x = x;
43+(||) True _ = True;
44+
45+(&&) : Bool -> Bool -> Bool;
46+(&&) True x = x;
47+(&&) False _ = False;
48+
3249infixl 5 ==, /=, ==.;
3350infixl 6 <, <=, >, >=, <., <=., >., >=.;
3451infixl 7 <<, >>;