lambda abstraction(lambda abstraction)
在lambda运算中,函数的表达式与平常的不同:
f(x)=M,应该表示成λx.M(带函数名的写法为,f≡λx.M)的形式,这样左到目的是为了省略函数的名称,从而更加简洁
lambda abstraction中点号的后面包括到最右边的部分,例如,λx.MN等同于λx.(MN),而不是(λx.M)N
多维的lambda abstraction的表达式可以缩写,例如,λxyz.M等同于λx.λy.λz.M
自由变量和受限变量
变量x在lambda abstraction中λx.N中被称作是受限变量,其中λx被称作binder,而N被称为binder的受限范围。
不是受限变量的变量就是自由变量
在表达式M中出现的自由变量记作FV(M),并且有下面几条性质:
- FV(x) = {x}
- FV(MN) = FV(M)∪FV(N)
- FV(λx.M) = FV(M)\{x}
重命名
将表达式M中的变量x重命名为y的时候写作M{y/x}
重命名有以下几条运算性质
x{y/x} ≡ y
z{y/x} ≡ z, if x ≠ z
(MN){y/x} ≡ (M{y/x})(N{y/x})
(λx.M){y/x} ≡ λy.(M{y/x})
(λz.M){y/x} ≡ λz.(M{y/x}), if x ≠ z
α等式
α等式是一种逻辑推理方式,书写的形式类似于分式,横线的上方是推理的条件(如果横线的上方没有语句,则意味着不需要任何条件,横线下方的表达式成立),下方是推理的结论,如下: