Lambda Calculus Problems

  1. 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.
  2. Show through a careful detailed derivation that (PLUS 4 3) yields 7.
  3. Show through a careful detailed derivation that (MULT 2 3) yields 6.
  4. 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.)