为什么不能替换x

时间:2017-01-31 07:17:00

标签: lambda-calculus

我有两个带替换的表达式:

(+ x 1) [x -> 2]

结果是:

(+ 2 1)

为什么x可以替代?它不是一种功能。

第二个:

(λ x. + x 1) [x -> 2]

为什么元变量x不能替代呢?

我从

获得了来源

https://www.youtube.com/watch?v=zg0UgCg7tZQ

01:07:56附近的时间。

1 个答案:

答案 0 :(得分:4)

Result中的

x绑定变量。它不存在于lambda之外。如果您替换(λ x. + x 1),则会得到x -> 2 - 而(λ 2. + 2 1)是无意义的,因为λ 2不是变量。

2中,(+ x 1)是一个自由变量,我们可以定义它。如果我们知道xx,我们可以替换它,并获得2