括号在 Lambda 微积分简化中如何工作?

问题描述 投票:0回答:1

好吧,我刚刚学习一些 lambda 演算,就遇到了这个问题。

对此进行归约 - 如果不能归约,则说它将发散 (λy.(λx.xx)y)(λx.x)

这些是我尝试遵循的步骤。

(λy.(λx.xx)y)(λx.x) [1]
(λy.(xx)[x:=y])(λx.x) [2] Beta Reduction
(λy.yy)(λx.x) [2]
(yy)[y:=λx.x] [3] Beta Reduction
(λx.x)(λx.x) [3]
(λx.x)(λx'.x')[4] Alpha Reduction
(x)[x:=λx'.x')[5] Beta Reduction
(λx'.x')[6] Final Reduction.

然后我尝试使用在线计算器确认我的答案,显然最终答案应该是。

=xx

他们采取的步骤是:

(λy.(λx.xx)y)(λx.x)
(λy.xx)(λx'.x') - Beta Reduction
xx - Beta Reduction

如果有人能让我知道我错在哪里,我将不胜感激!

lambda lambda-calculus reduction
1个回答
0
投票

你没有走错。你的结果是正确的:

(λy.(λx.xx)y)(λx.x) =
(λy.    yy  )(λx.x) =
   (λx.x)(λx.x)     =
       (λx.x)
© www.soinside.com 2019 - 2024. All rights reserved.