为什么我们在达到这个学期后就会停止? Lambda微积分

时间:2017-04-02 15:58:46

标签: lambda lambda-calculus reduction

我正在计算lambda Term的正常形式。我也有解决方案所以我知道我的步骤直到"结束"是的。 给定的术语是

(\a.\b.(\x.a b x)(\y. b y x) a) (\f. f f)g

,其正常形式是

    g g (\y. g y x)(\f. f f)

我也得到了这个,但后来我继续,我不明白为什么这是最后一个学期。

继续
g g g (\f. f f) x

然后

g g g x x

但显然我走得太远了,你知道为什么你应该早点停下来吗?

1 个答案:

答案 0 :(得分:4)

这不是提前停止的问题。你错误地解释了lambda演算的语法。

按照惯例,当我们写A B C时,我们指的是(A B) C,而不是A (B C);也就是function application is left associative

因此

g g (\y. g y x)(\f. f f)

解析为

((g g) (\y. (g y) x)) (\f. f f)

特别是,(g g)适用于(\y. g y x),而(\y. g y x) 不适用于(\f. f f)