Examples of expressions:
- x
- (y x)
- (x x)
- (\x y)
- (\x x)
- (\x (\y x))
- (x (\x x))
- ((\x (x x)) (\x (x x)))
+<blockquote><code>
+x
+(y x)
+(x x)
+(\x y)
+(\x x)
+(\x (\y x))
+(x (\x x))
+((\x (x x)) (\x (x x)))
+</code></blockquote>
-<p>
The lambda calculus has an associated proof theory. For now, we can regard the
proof theory as having just one rule, called the rule of **beta-reduction** or
"beta-contraction". Suppose you have some expression of the form:
- ((\a M) N)
+ ((lambda a M) N)
that is, an application of an abstract to some other expression. This compound form is called a **redex**, meaning it's a "beta-reducible expression." `(\a M)` is called the **head** of the redex; `N` is called the **argument**, and `M` is called the **body**.