+For these assignments, you'll probably want to use our [[lambda evaluator]] to check your work. This accepts any grammatical lambda expression and reduces it to normal form, when possible.
+
+
+More Lambda Practice
+--------------------
+
+Insert all the implicit `( )`s and <code>λ</code>s into the following abbreviated expressions:
+
+1. `x x (x x x) x`
+2. `v w (\x y. v x)`
+3. `(\x y. x) u v`
+4. `w (\x y z. x z (y z)) u v`
+
+Mark all occurrences of `x y` in the following terms:
+
+<OL start=5>
+<LI>`(\x y. x y) x y`
+<LI>`(\x y. x y) (x y)`
+<LI> `\x y. x y (x y)`
+</OL>
+
+Reduce to beta-normal forms:
+
+<OL start=8>
+<LI>`(\x. x (\y. y x)) (v w)`
+<LI>`(\x. x (\x. y x)) (v w)`
+<LI>`(\x. x (\y. y x)) (v x)`
+<LI>`(\x. x (\y. y x)) (v y)`
+
+<LI>`(\x y. x y y) u v`
+<LI>`(\x y. y x) (u v) z w`
+<LI>`(\x y. x) (\u u)`
+<LI>`(\x y z. x z (y z)) (\u v. u)`
+</OL>
+
+Combinatory Logic
+-----------------
+
+Reduce the following forms, if possible:
+
+<OL start=16>
+<LI> `Kxy`
+<LI> `KKxy`
+<LI> `KKKxy`
+<LI> `SKKxy`
+<LI> `SIII`
+<LI> `SII(SII)`
+
+<LI> Give Combinatory Logic combinators that behave like our boolean functions.
+ You'll need combinators for `true`, `false`, `neg`, `and`, `or`, and `xor`.
+</OL>
+
+Using the mapping specified in the lecture notes,
+translate the following lambda terms into combinatory logic:
+
+<OL start=23>
+<LI> `\x.x`
+<LI> `\xy.x`
+<LI> `\xy.y`
+<LI> `\xy.yx`
+<LI> `\x.xx`
+<LI> `\xyz.x(yz)`
+<LI> For each translation, how many I's are there? Give a rule for
+ describing what each I corresponds to in the original lambda term.
+</OL>
+
+Lists and Numbers
+-----------------
+