@@ -21,14 +21,31 @@ infixl 9 .;
21(.) : (b -> c) -> (a -> b) -> a -> c;
21(.) : (b -> c) -> (a -> b) -> a -> c;
22(.) f g x = f (g x);
22(.) f g x = f (g x);
26+($) : (a -> b) -> a -> b;
24data Bool = False | True;
29data Bool = False | True;
26boolElim : (x:Bool) -> a -> a -> a;
31boolElim : (x:Bool) -> a -> a -> a;
27boolElim True t e = t;
32boolElim True t e = t;
28boolElim False t e = e;
33boolElim False t e = e;
35+data so : Bool -> Set where oh : so True;
30syntax if [test] then [t] else [e] = boolElim test t e;
37syntax if [test] then [t] else [e] = boolElim test t e;
41+(||) : Bool -> Bool -> Bool;
45+(&&) : Bool -> Bool -> Bool;
32infixl 5 ==, /=, ==.;
49infixl 5 ==, /=, ==.;
33infixl 6 <, <=, >, >=, <., <=., >., >=.;
50infixl 6 <, <=, >, >=, <., <=., >., >=.;
34infixl 7 <<, >>;
51infixl 7 <<, >>;