为什么不能替换 x

Why can't x be substituted

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

(+ x 1) [x -> 2]

结果是:

(+ 2 1)

为什么x这里可以代入?它不是函数。

第二个:

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

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

我从

获得了来源

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

01:07:56左右的时间。

(λ x. + x 1) 中的

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

(+ x 1)中,x是一个自由变量,我们可以自己定义。如果我们知道x2,我们可以代入它,得到(+ 2 1).