(no commit message)
[lambda.git] / assignment2.mdwn
index 85f63f3..f0e8a09 100644 (file)
@@ -33,6 +33,33 @@ Reduce to beta-normal forms:
 <LI>`(\x y z. x z (y z)) (\u v. u)`
 </OL>
 
+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.
+
+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 
+   describing what each I corresponds to in the original lambda term.
 
 Lists and Numbers
 -----------------