6851970a7093c7c68b5066432e6ac271fcffa94e
[fp.git] / Arithmetic.lc
1 import Logic
2 Succ=\n f x.(f ((n f) x))
3 Zero=\f x.x
4 One=(Succ Zero)
5 Two=(Succ One)
6 Three=(Succ Two)
7 Add=\n m f x.((n f) ((m f) x))
8 Mult=\n m f.(n (m f))
9 IsZero=\n x y.((n \z.y) x)
10 ((Add Two) Three)
11 ((Mult Two) Three)
12 (PrintBool (IsZero Zero))
13 (PrintBool (IsZero ((Add One) Two)))