X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week1.mdwn;h=36ebdfcc6a48bf72288e2023a0186b9c6665de2d;hp=75f0cc1833cec2a7ab6a2a84be63745dfab29011;hb=fe4f7506b9e2821161136e88eb7d008d951cb666;hpb=e62598977d05431ab0ae957e4f25be81ad628ee9 diff --git a/week1.mdwn b/week1.mdwn index 75f0cc18..36ebdfcc 100644 --- a/week1.mdwn +++ b/week1.mdwn @@ -57,7 +57,7 @@ We'll tend to write (λa M) as just `(\a M)`, so we don't hav Application: (M N) -Some authors reserve the term "term" for just variables and abstracts. We won't participate in that convention; we'll probably just say "term" and "expression" indiscriminately for expressions of any of these three forms. +Some authors reserve the term "term" for just variables and abstracts. We'll probably just say "term" and "expression" indiscriminately for expressions of any of these three forms. Examples of expressions: @@ -68,13 +68,13 @@ Examples of expressions: (\x x) (\x (\y 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: - ((\a M) N) + ((\ 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**.