给定
S=\x.\y.\z.x z (y z)
和
K=\x.\y.x
如果我从 (SKK) 形式或等效的扩展形式开始,我无法理解同一表达式 (SKK) 的两个 beta 等效形式如何在无类型 lambda 演算中产生不同的结果:
(S K K) = ((S K) K) -> ((\y.(\z.((K z) (y z)))) K) -> (\z.((K z) (K z))) ->
(\z.((\y.z) (K z))) -> (\z.z) -> 4 reductions!
(S K K) = \x.\y.\z.x z (y z) \x.\y.x \x.\y.x -> 0 reductions!
似乎压缩和扩展形式有不同的括号,实际上第一个括号为:
(S K K) = ((S K) K)
而第二个为:
\x.\y.\z.x z (y z) \x.\y.x \x.\y.x =
(\x.(\y.(\z.(((x z) (y z)) (\x.(\y.(x (\x.(\y.x)))))))))
有人对此有任何见解吗???谢谢