X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week1.mdwn;h=f09f393d653bc0f8cdc0dbc677a6bbfd04b4e775;hp=8484b17f975b74344e233ed94868b6e2a65c3b6e;hb=5739a5066020a0e9dd46e0299165faadb59fc438;hpb=6885a008cfcbb9fed72b19db62a6046665860c44 diff --git a/week1.mdwn b/week1.mdwn index 8484b17f..f09f393d 100644 --- a/week1.mdwn +++ b/week1.mdwn @@ -61,22 +61,20 @@ Some authors reserve the term "term" for just variables and abstracts. We won't Examples of expressions: -
-x
-(y x)
-(x x)
-(\x y)
-(\x x)
-(\x (\y x))
-(x (\x x))
-((\x (x x)) (\x (x x)))
-
+ x
+ (y x)
+ (x x)
+ (\x y)
+ (\x x)
+ (\x (\y 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:
- ((lambda 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**.