由于作业需要,开始学习λ演算,顺便开始写博客,也记录一下学习历程。
下面简单介绍λ演算的三个规则(红色部分非原创,参考自wxb_nudt的博客《Lambda演算学习笔记》)。
λ-项是左结合的,λx.xx=(λx.x)x
α-变换
α变换表达了λ演算中约束变量的名称是不重要的,例如λx.x和λy.y是相同的函数。因此,将某个函数中的所有约束变量全部换名是可以的。
首先是一个说明:如果M,N是λ-项,x在M中有自由出现,若以N置换M中所有x的自由出现(M中可能含有x的约束出现),我们得到另一个λ-项,记为M[x/N]。
α-变换规则如下:
λx.M=λy.M[x/y] 如果y没有在M中自由出现,并且只要y替换M中的x,都不会被M中的一个λ绑定。
例子:λx.( λx.x)x = λy(λx.x)y