为什么我们在达到这个期限后就停止了? λ微积分
Why do we stop after reaching this term? Lambda Calculus
我正在计算 lambda 项的范式。我也有解决方案,所以我知道 "end" 之前我的步骤是正确的。
给定的术语是
(\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
但显然我走得太远了,你知道为什么你应该早点停下来吗?
不是早点停的问题。您误解了 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)
。
我正在计算 lambda 项的范式。我也有解决方案,所以我知道 "end" 之前我的步骤是正确的。 给定的术语是
(\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
但显然我走得太远了,你知道为什么你应该早点停下来吗?
不是早点停的问题。您误解了 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)
。