From: barker Date: Mon, 20 Sep 2010 17:47:58 +0000 (-0400) Subject: (no commit message) X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=70fdac4d0a4db28dc391e3ea13b9c590b6ef9760 --- diff --git a/assignment2.mdwn b/assignment2.mdwn index f0e8a098..85ec6ce7 100644 --- a/assignment2.mdwn +++ b/assignment2.mdwn @@ -38,28 +38,31 @@ Combinatory Logic Reduce the following forms, if possible: -1. Kxy -2. KKxy -3. KKKxy -4. SKKxy -5. SIII -6. SII(SII) - -* Give Combinatory Logic combinators that behave like our boolean functions. - You'll need combinators for true, false, neg, and, or, and xor. +
    +
  1. `Kxy` +
  2. `KKxy` +
  3. `KKKxy` +
  4. `SKKxy` +
  5. `SIII` +
  6. `SII(SII)` + +
  7. Give Combinatory Logic combinators that behave like our boolean functions. + You'll need combinators for `true`, `false`, `neg`, `and`, `or`, and `xor`. +
Using the mapping specified in the lecture notes, translate the following lambda terms into combinatory logic: -1. \x.x -2. \xy.x -3. \xy.y -4. \xy.yx -5. \x.xx -6. \xyz.x(yz) - -* For each translation, how many I's are there? Give a rule for +
    +
  1. `\x.x` +
  2. `\xy.x` +
  3. `\xy.y` +
  4. `\xy.yx` +
  5. `\x.xx` +
  6. `\xyz.x(yz)` +
  7. For each translation, how many I's are there? Give a rule for describing what each I corresponds to in the original lambda term. +
Lists and Numbers -----------------