Lambda Calculus Problems
- Define a Boolean OR function in lambda
calculus. (You can find this on the Wikipedia page, or you can
challenge yourself by figuring it out for yourself). Show rigorously
that for all four possible combinations of parameters (TRUE TRUE, TRUE
FALSE, FALSE TRUE, FALSE FALSE), your OR function returns the right
answer. By "show rigorously," I mean that every step of your
derivation should be a lambda calculus beta-reduction; you shouldn't
take any shortcuts. For example, just because you may know what the
lambda calculus expression for TRUE does, you shouldn't jump to the
result; show each reduction individually.
- Show through a careful detailed derivation that
(PLUS 4 3) yields 7.
- Show through a careful detailed derivation that
(MULT 2 3) yields 6.
- Find an alternative way to define the successor
(SUCC) function with Church numerals. Explain why your answer works,
and how you came up with it. (Hint: think about "adding 1 to 0" before
the rest of the addition starts, instead of "adding 1 to the previous
answer" as did in our original definition.)