好吧,我刚刚学习一些 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
如果有人能让我知道我错在哪里,我将不胜感激!
你没有走错。你的结果是正确的:
(λy.(λx.xx)y)(λx.x) =
(λy. yy )(λx.x) =
(λx.x)(λx.x) =
(λx.x)