let ident = \ x . x; let true = \a.\b.a; let false = \a.\b.b; let if = \a.\b.\c.a b c; let zero = \f.\x.x; let succ = \n.\f.\x.f (n f x); let one = succ zero; let two = succ one; let three = succ two; let four = succ three; let five = succ four; let six = succ five; let seven = succ six; let eight = succ seven; let nine = succ eight; let ten = succ nine; let add = \n.\m.\f.\x.n f (m f x); let mul = \n.\m.\f.n (m f); let twenty = add ten ten; let thirty = add twenty ten; let fourty = add thirty ten; let one_hundred = mul ten ten; let pred = \n.n (\p.\x.\y.p (succ x) x) (\x.\y.y) zero zero; if true YES NO; if false YES NO; zero; one; one_hundred;