(def pair (lam (a b f) (f a b))) (def fst (lam p (p (lam (a b) a)))) (def snd (lam p (p (lam (a b) b)))) (def zero (lam (f s) s)) (def succ (lam (n f s) (f (n f s)))) (def is-zero (lam n (n (lam x False) true)))