【问题标题】:Lambda calculus expression reductionLambda 演算表达式简化
【发布时间】:2015-01-16 14:14:09
【问题描述】:

我正在尝试学习和理解 lambda 演算减少的工作原理。我一直在减少一些表达,我遇到了这个:

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

我把它简化为:

(λ x . λ y . x)

但是,我不知道它是正常形式还是可以减少更多。

【问题讨论】:

  • 如果这个Python语言问题,你应该在问题中添加Pyton标签。
  • 这是一个通用的 lambda 表达式缩减问题,不仅适用于 Python。
  • 也可以适用于cs.stackexchange.com

标签: lambda expression reduction


【解决方案1】:

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

【讨论】:

  • @Saturnino 是的,这也是错误的。我不知道你以为你在做什么。
  • 应用 alpha conversión 可以减少吗?
  • @Saturnino Alpha 转换并不是真正的减少;这只是变量名的表面变化。
  • 所以这个 lambda 表达式:(λ f . λ x . f (f x)) 不能减少?
  • 好的,最后一个问题。表达式:((λ x . λ y . λ z . z x y) a c),可以简化为: (λ z . z a c)?
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多