如何对 λy.(λx.λy.yx)yz 应用一个 beta 归约?
How to apply just one beta-reduction to λy.(λx.λy.yx)yz?
我不明白如何得出正确答案,即 λy.(λw.wy)z
只有在必要时才允许重命名,从答案中可以明显看出使用了重命名。
让我们先添加一些括号使结构更加明显,因为也许这就是您感到困惑的原因:
λy.(λx.λy.yx)yz = λy.(((λx.λy.(yx))y)z)
最外层,无事可做。但是我们可以在 λy
中进行 beta 缩减,但首先我们需要进行 alpha 重命名以避免捕获 y
:
(λx.λy.(yx))y
--> (λx.λw.(wx))y (alpha renaming y to w)
--> λw.wy (beta)
现在把这个放到整个上下文中:
λy.(λx.λy.yx)yz
--> λy.(λx.λw.(wx))yz (alpha renaming y to w)
--> λy.(λw.wy)z (beta)
我不明白如何得出正确答案,即 λy.(λw.wy)z
只有在必要时才允许重命名,从答案中可以明显看出使用了重命名。
让我们先添加一些括号使结构更加明显,因为也许这就是您感到困惑的原因:
λy.(λx.λy.yx)yz = λy.(((λx.λy.(yx))y)z)
最外层,无事可做。但是我们可以在 λy
中进行 beta 缩减,但首先我们需要进行 alpha 重命名以避免捕获 y
:
(λx.λy.(yx))y
--> (λx.λw.(wx))y (alpha renaming y to w)
--> λw.wy (beta)
现在把这个放到整个上下文中:
λy.(λx.λy.yx)yz
--> λy.(λx.λw.(wx))yz (alpha renaming y to w)
--> λy.(λw.wy)z (beta)