(def True (lam (x y) x))
(def False (lam (x y) y))
(def and (lam (a b) (a b False)))
(def or (lam (a b) (a True b)))
(def not (lam a (a False True)))
(and True True)
(and True False)
(and False True)
(and False False)
(or True True)
(or True False)
(or False True)
(or False False)