(no commit message)
[lambda.git] / assignment1.mdwn
index e6fe829..6fd29ee 100644 (file)
@@ -1,18 +1,18 @@
-*Reduction*
+**Reduction**
 
 Find "normal forms" for the following (that is, reduce them as far as it's possible to reduce 
 them):
 
 
 Find "normal forms" for the following (that is, reduce them as far as it's possible to reduce 
 them):
 
-  1. (\x \y. y x) z
-  2. (\x (x x)) z
-  3. (\x (\x x)) z
-  4. (\x (\z x)) z
-  5. (\x (x (\y y))) (\z (z z))
-  6. (\x (x x)) (\x (x x))
-  7. (\x (x x x)) (\x (x x x))
+    1. (\x \y. y x) z
+    2. (\x (x x)) z
+    3. (\x (\x x)) z
+    4. (\x (\z x)) z
+    5. (\x (x (\y y))) (\z (z z))
+    6. (\x (x x)) (\x (x x))
+    7. (\x (x x x)) (\x (x x x))
 
 
 
 
-*Booleans*
+**Booleans**
 
 Recall our definitions of true and false.
 
 
 Recall our definitions of true and false.
 
@@ -26,7 +26,7 @@ In Racket, these can be defined like this:
 
 
 8. Define a "neg" operator that negates "true" and "false".
 
 
 8. Define a "neg" operator that negates "true" and "false".
-Expeceted behavior: (((neg true) 10) 20) evaluates to 20,
+Expected behavior: (((neg true) 10) 20) evaluates to 20,
 (((neg false) 10) 20) evaluates to 10.
 
 9. Define an "and" operator.
 (((neg false) 10) 20) evaluates to 10.
 
 9. Define an "and" operator.
@@ -44,6 +44,7 @@ one of those values, call it a black-or-white-value, we should be able to
 write:
 
        the-black-or-white-value if-black if-white
 write:
 
        the-black-or-white-value if-black if-white
+
 (where if-black and if-white are anything), and get back one of if-black or
 if-white, depending on which of the black-or-white values we started with. Give
 a definition for each of "black" and "white". (Do it in both lambda calculus
 (where if-black and if-white are anything), and get back one of if-black or
 if-white, depending on which of the black-or-white values we started with. Give
 a definition for each of "black" and "white". (Do it in both lambda calculus