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
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
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.,
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '08
 Royer
 Closure, lambda, Free variables and bound variables

Click to edit the document details