Signed-off-by: Jim Pryor <profjim@jimpryor.net>
<strong>Abstract</strong>: <code>(λa M)</code>
</blockquote>
<strong>Abstract</strong>: <code>(λa M)</code>
</blockquote>
-We'll tend to write <code>(λa M)</code> as just `(\a M)`, so we don't have to write out the markup code for the <code>λ</code>. You can yourself write <code>(λa M)</code> or `(\a M)` or `lambda a M`.
+We'll tend to write <code>(λa M)</code> as just `(\a M)`, so we don't have to write out the markup code for the <code>λ</code>. You can yourself write <code>(λa M)</code> or `(\a M)` or `(lambda a M)`.
<blockquote>
<strong>Application</strong>: <code>(M N)</code>
<blockquote>
<strong>Application</strong>: <code>(M N)</code>
(x (\x x))
((\x (x x)) (\x (x x)))
(x (\x x))
((\x (x x)) (\x (x x)))
-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:
+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:
The rule of beta-reduction permits a transition from that expression to the following:
The rule of beta-reduction permits a transition from that expression to the following:
What this means is just `M`, with any *free occurrences* inside `M` of the variable `a` replaced with the term `N`.
What this means is just `M`, with any *free occurrences* inside `M` of the variable `a` replaced with the term `N`.