week1 tweaks
[lambda.git] / week1.mdwn
index 316cfa4..e49724d 100644 (file)
@@ -114,19 +114,19 @@ The lambda calculus we'll be focusing on for the first part of the course has no
 Here is its syntax:
 
 <blockquote>
-       **Variables**: `x`, `y`, `z`, ...
+<strong>Variables</strong>: <code>x</code>, <code>y</code>, <code>z</code>...
 </blockquote>
 
 Each variable is an expression. For any expressions M and N and variable a, the following are also expressions:
 
 <blockquote>
-       **Abstract**: <code>(&lambda;a M)</code>
+<strong>Abstract</strong>: <code>(&lambda;a M)</code>
 </blockquote>
 
-We'll tend to write <code>(&lambda;a M)</code> as just `( \a M )`.
+We'll tend to write <code>(&lambda;a M)</code> as just `(\a M)`, so we don't have to write out the markup code for the <code>&lambda;</code>. You can yourself write <code>(&lambda;a M)</code> or `(\a M)` or `(lambda a M)`.
 
 <blockquote>
-       **Application**: `(M N)`
+<strong>Application</strong>: <code>(M N)</code>
 </blockquote>
 
 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.
@@ -142,7 +142,7 @@ Examples of expressions:
        (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:
 
        ((\a M) N)
 
@@ -150,7 +150,7 @@ that is, an application of an abstract to some other expression. This compound f
 
 The rule of beta-reduction permits a transition from that expression to the following:
 
-       M {a:=N}
+       M [a:=N]
 
 What this means is just `M`, with any *free occurrences* inside `M` of the variable `a` replaced with the term `N`.
 
@@ -167,7 +167,7 @@ For instance:
 
 >      T is defined to be `(x (\x (\y (x (y z)))))`
 
-The first occurrence of `x` in `T` is free.  The `\x` we won't regard as being an occurrence of `x`. The next occurrence of `x` occurs within a form that begins with `\x`, so it is bound as well. The occurrence of `y` is bound; and the occurrence of `z` is free.
+The first occurrence of `x` in T is free.  The `\x` we won't regard as being an occurrence of `x`. The next occurrence of `x` occurs within a form that begins with `\x`, so it is bound as well. The occurrence of `y` is bound; and the occurrence of `z` is free.
 
 Here's an example of beta-reduction:
 
@@ -185,7 +185,7 @@ Different authors use different notations. Some authors use the term "contractio
 
        M ~~> N
 
-We'll mean that you can get from M to N by one or more reduction steps. Hankin uses the symbol -> for one-step contraction, and the symbol ->> for zero-or-more step reduction. Hindley and Seldin use (triangle..sub1) and (triangle).
+We'll mean that you can get from M to N by one or more reduction steps. Hankin uses the symbol <code><big><big>&rarr;</big></big></code> for one-step contraction, and the symbol <code><big><big>&#8608;</big></big></code> for zero-or-more step reduction. Hindley and Seldin use <code><big><big><big>&#8883;</big></big></big><sub>1</sub></code> and <code><big><big><big>&#8883;</big></big></big></code>.
 
 When M and N are such that there's some P that M reduces to by zero or more steps, and that N also reduces to by zero or more steps, then we say that M and N are **beta-convertible**. We'll write that like this:
 
@@ -193,7 +193,7 @@ When M and N are such that there's some P that M reduces to by zero or more step
 
 This is what plays the role of equality in the lambda calculus. Hankin uses the symbol `=` for this. So too do Hindley and Seldin.
 
-In the metatheory, it's also sometimes useful to talk about formulas that are syntactically equivalent *before any reductions take place*. Hankin uses the symbol (three bars) for this. So too do Hindley and Seldin. We'll use that too, and will avoid using `=` when discussing metatheory for the lambda calculus. Instead we'll use `<~~>` as we said above. When we want to introduce a stipulative definition, we'll write it out longhand, as in:
+In the metatheory, it's also sometimes useful to talk about formulas that are syntactically equivalent *before any reductions take place*. Hankin uses the symbol &equiv; for this. So too do Hindley and Seldin. We'll use that too, and will avoid using `=` when discussing metatheory for the lambda calculus. Instead we'll use `<~~>` as we said above. When we want to introduce a stipulative definition, we'll write it out longhand, as in:
 
 >      T is defined to be `(M N)`.