我是lambda演算的新手并努力证明以下内容。
SKK和II是等效的。
,其中
S = lambda xyz.xz(yz) K = lambda xy.x I = lambda x.x
我尝试通过打开它来测试减少SKK,但无处可去,它变得凌乱。不要认为SKK可以在不扩大S,K的情况下进一步减少。
答案 0 :(得分:5)
SKK
= (λxyz.xz(yz))KK
→ λz.Kz(Kz) (in two steps actually, for the two parameters)
Kz
= (λxy.x)z
→ λy.z
λz.Kz(Kz)
→ λz.(λy.z)(λy.z) (again, several steps)
→ λz.z
= I
(您应该能够证明II → I
)
答案 1 :(得分:3)
;采用更少步骤的另一种方法,首先将SK减少到λyz.z;
SKK
= (λxyz.xz(yz))KK
→ λyz.Kz(yz) K
→ λyz.(λxy.x)z(yz) K
→ λyz.(λy.z)(yz) K
→ λyz.z K
→ λz.z
= I