【发布时间】:2016-04-09 02:16:30
【问题描述】:
我正在阅读这些关于 lambda 演算的 notes,但我在开始减少/评估其中一个表达式时遇到了一些麻烦。
特别是功能 (λf.λx.f(f(x)))(λy.y^2)(5).
我该如何开始呢?他说答案是 625。我的数学直觉告诉我们我们是这样进行的: (λf.λx.f(f(x)))(5^2) 并且他之前说过f(x)是地图
x |-> x^2
所以 f(f(x)) 是 f o f = (f)^2 = x^4
所以进一步减少我们得到的 lambda 表达式
(λf.λx.x^4))(5^2)
但是我们将 25 代入 x^4,得到 25*25*25*25 = 390,625。
(λf.(390,625))
那么当我们到达这里时,我完全不知道这个表达式代表什么?
我误解了 Lambda 演算的哪一部分?我减少表达式的方式正确吗?
【问题讨论】: