Lambda表达降低至NF

时间:2019-05-29 11:11:08

标签: lambda lambda-calculus chomsky-normal-form

我需要使用Normal Order将以下Lambda表达式简化为Normal Form。这些是我的减免,但对我而言没有意义:

//First expression
(λf.λx.f(fx))(λy.+y1)(+ 2 3)
(λx.fx)(λy.+y1)(+ 2 3)
f(λy.+y1)(+ 2 3)
f(+(+ 2 3) 1)
f(+ 5 1)
f 6

//Second expression
λx. + ((λy.((λx.∗ xy) 2)) x) y)
+((λy.((λw.* wy) 2) w)
+((λw.* ww) 2)
+(* 2 2)
+ 4

我都没有NF。第二个是+函数,它需要2个变量,但最后只有一个。

如果有任何建议和更正,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

1。

//First expression
(λf.λx.f(fx))(λy.+y1)(+ 2 3)

我认为您在这里的错误是在考虑可以减少第一项。我认为这不可能,因此请立即将其应用于其他术语。

2。

//Second expression
λx. (+ ((λy.((λx.∗ xy) 2)) x) y)  

通过应用最里面的术语并重命名最后一个y来减少这种情况,您将获得:

λx. (+ ((λy.(∗ 2y)) x) w)

然后继续:)