lambda 演算,扩展形式和压缩形式具有不同的 beta 约简?

发布于 2024-12-20 04:45:20 字数 1459 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无言温柔 2024-12-27 04:45:20

查看 Wikipedia 上 lambda 演算的正式定义。抽象和应用程序总是有一组括号。
这意味着 S 和 K 的更正确定义是:

S = (\x.\y.\z.x z (y z))

K = (\x.\y.x)

这些替换为 (SKK) 给出正确的结果。

Check out the formal definition of lambda calculus on Wikipedia. An abstraction and an application always have a set of enclosing parentheses.
This means more correct definitions of S and K are:

S = (\x.\y.\z.x z (y z))

and

K = (\x.\y.x)

Substituting these in (S K K) gives the correct result.

寄居者 2024-12-27 04:45:20

(SKK)中,一些括号是隐式的。这种形式是 ((SK) K) 的缩写,因为函数应用始终是二进制的,并且被认为是左关联的。

In (S K K), some parentheses are implicit. This form is an abbreviation for ((S K) K) since function application is always binary and is considered left-associative.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文