Lambda减少证明S K = K I.

时间:2013-04-03 02:48:24

标签: lambda lambda-calculus proof-of-correctness k-combinator s-combinator

您好,我无法证明这些组合器S K = K I

括号[]的步骤只是告诉你我正在做的步骤。例如,λyz.x中的[λxy.x/ x] z(y z)意味着我将替换(λxy.x)表达式λyz.xz(y z)中的每个x

到目前为止我尝试过的是减少S K而且我得到了这个:

S K
(λxyz.x z(y z)) (λxy.x)
[λxy.x / x] in λyz.x z(y z) 
(λyz. (λxy.x) z(y z))
[z/x] in λy.x
(λyz. (λy.z) (y z))
[y/y] in λy.z
(λyz. z z)

然后减少K我和我得到了这个:

K I
(λxy.x) (λx.x)
[λx.x / x] in λy.x
λy. λx.x

虽然这两个答案似乎不等于我(λyz。z z)和λy。 λx.x 有人可以向我解释我做错了什么吗?谢谢。

1 个答案:

答案 0 :(得分:1)

(λy.z) (y z)简化为z,而不是z z,因此(λyz. (λy.z) (y z))λyz. z,与λy. λx. x相同。