Lambda演算 - 为什么这里不能进行另一个beta规约?

3
我被告知这个术语是
(z (λy.z x) (λy.y z))

该表达式已经处于正常形式,但我不明白为什么。在这种情况下,不能进行另一个beta缩减,并将术语(λy.z x)中所有出现的y替换为(λy.y z),使其计算结果为:

(z (λy.z x) (λy.y z)) ==> (z z x)
1个回答

3

一般情况下,应用程序是从左向右结合的。也就是说,

z (λy.z x) (λy.y z)

不是

z ((λy.z x) (λy.y z))

It is

(z (λy.z x)) (λy.y z)

这将需要对z的值进行beta规约。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接