Lambda演算表达式约简

Lambda演算表达式约简,lambda,expression,reduction,Lambda,Expression,Reduction,我正在努力学习和理解lambda微积分简化是如何工作的。我一直在减少一些表达,我遇到了这个: (λ x . x (λ x . λ y . x)) 我把它简化为: (λ x . λ y . x) 但是,我不知道它是正常形式还是可以进一步缩减。第一个表达式不能进一步缩减,因为应用于另一个术语的唯一术语是绑定(因此未定义)变量。你的缩减是无效的,因为x可以是任何东西,因此我们不知道它对(λx.λy.x)如果这个Python语言问题,你应该在这个问题上添加Pyton标记。这是一个通用的lambda表

我正在努力学习和理解lambda微积分简化是如何工作的。我一直在减少一些表达,我遇到了这个:

(λ x . x (λ x . λ y . x))
我把它简化为:

(λ x . λ y . x)

但是,我不知道它是正常形式还是可以进一步缩减。

第一个表达式不能进一步缩减,因为应用于另一个术语的唯一术语是绑定(因此未定义)变量。你的缩减是无效的,因为
x
可以是任何东西,因此我们不知道它对
(λx.λy.x)

如果这个Python语言问题,你应该在这个问题上添加Pyton标记。这是一个通用的lambda表达式缩减问题,不仅适用于Python。也适用于@Saturnino Yes,这也是错误的。我不知道你认为你在做什么。如果我应用alpha conversion,它可以被减少?@Saturnino alpha conversion不是真正的减少;这只是变量名的一个表面变化。所以这个lambda表达式:(λf.λx.f(fx))不能简化?好的,最后一个问题。表达式:((λx.λy.λz.z x y)ac)可以减少到:(λz.z a c)以上?