This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: LambdaCalculus 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 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...
View
Full
Document
This note was uploaded on 04/17/2008 for the course CIS 352 taught by Professor Royer during the Spring '08 term at Syracuse.
 Spring '08
 Royer

Click to edit the document details