有人可以告诉我在替换x=5
?
a) λx. ((λx.x+1) x)
b) (λx. (λx.x+1)) x
这就是我的想法。
a)λx。 (λx.x+ 1)x)5 =(λx.x+ 1)5 = 6
b)(λx。(λx.x+ 1))x 5 =(λx.x+ 1)x 5 =(λx.x+ 1)5 = 6
答案 0 :(得分:0)
第一个表达:
(λx. (λx. x + 1) x) 5
= (λx. (λy. y + 1) x) 5 -- alpha renaming
= (λy. y + 1) 5 -- beta reduction
= 5 + 1 -- beta reduction
= 6
第二个表达:
((λx. λx. x + 1) x) 5
= ((λx. λy. y + 1) z) 5 -- alpha renaming (z is a free variable)
= ( λy. y + 1 ) 5 -- beta reduction (z disappears because x is never used)
= 5 + 1 -- beta reduction
= 6
希望有所帮助。