Beta约简Lambda演算示例

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

((λw。w)(λu。λv。u)(λu。λv。v)(λu。λv。u)

任何人都可以逐步介绍此示例的Beta减少功能吗?我真的很困惑

lambda-calculus
1个回答
1
投票

(λw. w) (λu. λv. u) (λu. λv. v) (λu. λv. u)

将(λw.w)应用于(λu。λv.u)。因为这是身份功能,所以没有任何变化。

(λu. λv. u) (λu. λv. v) (λu. λv. u)

将(λu。λv.u)应用于(λu。λv.v)。在表达式中用它代替u。由于现在我们可能会对第一个表达式中的多个v感到困惑,因此我们可以将内部表达式中的v阿尔法重命名为另一个变量x。

(λv. (λu. λx. x)) (λu. λv. u)

将(λv。(λu.λx.x))应用于(λu.λv.u)。由于v没有出现在lambda的主体中,因此该参数被有效地丢弃。

(λu. λx. x)

我们现在可以(可选)再次重命名以恢复原始变量名。

(λu. λv. v)

© www.soinside.com 2019 - 2024. All rights reserved.