在维基百科阅读λ演算时,看到了术语避免变量捕获的替换。有人能解释一下它是什么意思吗?我无法在任何地方找到定义。
谢谢
PS
我想知道称之为避免变量捕获的替换操作的原因。如果有人能解释一下,那将是极大的帮助。
在维基百科阅读λ演算时,看到了术语避免变量捕获的替换。有人能解释一下它是什么意思吗?我无法在任何地方找到定义。
谢谢
PS
我想知道称之为避免变量捕获的替换操作的原因。如果有人能解释一下,那将是极大的帮助。
如果将一个变量放在lambda函数(或其他绑定构造函数)下,使其与该变量绑定,则该变量被称为“捕获”变量。这个过程称为“避免捕获替换”,因为该过程避免了在替换中意外地允许自由变量被捕获到原始表达式内部。
将E中的x替换为E'(写作[E'/x]E)
示例:[y (λx. x) / x] λy. (λx. x) y x
重命名后:[y (λv. v)/x] λz. (λu. u) z x
替换后:λz. (λu. u) z (y (λv. v))