{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lcalc - Lambda-Calculus Overview Susan Older Version...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Lambda-Calculus Overview Susan Older Version : February 21, 2007 Abstract These notes provide a review of some of the terminology from lectures that do not explicitly appear in the textbook but that I expect you to know for assignments and exam. 1 Syntactic Properties Definition 1: The set of free variables in E , written fv [[ E ]] , is defined inductively as follows: fv [[ X ]] = { X } fv [[( E 1 E 2 )]] = fv [[ E 1 ]] fv [[ E 2 ]] fv [[( lambda ( X ) E )]] = fv [[ E ]] - { X } Definition 2: The set of bound variables in E , written bv [[ E ]] , is defined inductively as follows: bv [[ X ]] = bv [[( E 1 E 2 )]] = bv [[ E 1 ]] bv [[ E 2 ]] bv [[( lambda ( X ) E )]] = bv [[ E ]] ∪ { X } if X fv [[ E ]] bv [[ E ]] otherwise Definition 3: In any abstraction ( lambda ( X ) E ) : E is the body of the abstraction The occurrence of X in ( lambda ( X ) · · · ) is called a binding occurrence . The extent of the binding (or declaration) of X is the entire body E . The scope of the binding of X is that portion of the body in which occurrences of X are (or would be) free. Thus, the scope of the binding of X is the extent of the binding, minus any subsequent declarations of X that occur within the body E . 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 Substitution Definition 4: Let M and N be λ -calculus expressions, and let X be a variable. The substitution of N for X in M , denoted M [ N / X ] , is defined inductively as follows: If M is a variable reference Y : Y [ N / X ] = N if X and Y are the same variable (i.e., X = Y ) Y if X and Y are not the same variable (i.e.,
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}