我有两个带替换的表达式:
(+ x 1) [x -> 2]
结果是:
(+ 2 1)
为什么x
可以替代?它不是一种功能。
第二个:
(λ x. + x 1) [x -> 2]
为什么元变量x
不能替代呢?
我从
获得了来源https://www.youtube.com/watch?v=zg0UgCg7tZQ
01:07:56
附近的时间。
答案 0 :(得分:4)
Result
中的 x
是绑定变量。它不存在于lambda之外。如果您替换(λ x. + x 1)
,则会得到x -> 2
- 而(λ 2. + 2 1)
是无意义的,因为λ 2
不是变量。
在2
中,(+ x 1)
是一个自由变量,我们可以定义它。如果我们知道x
是x
,我们可以替换它,并获得2
。