组合器的基础不完整


10

这是通过激发这个问题。令为仅具有两个绑定变量的所有组合器的集合。是组合地完成?CC

我相信答案是否定的,但是我无法为此找到参考。我也会对参考资料中组合集集合的组合不完整性的证明感兴趣(我可以看到为什么仅由一个绑定变量组成的组合集是不完整的,因此,这些集合应该包含的不仅仅是元素)。DD


您能说明一下组合器的绑定变量数(=闭式λ项)是什么意思吗?Lambda抽象总数?
Noam Zeilberger

是的,这就是我的意思。
tci 2016年

3
实际上,也许这与您的意思不完全相同...也许是您指的是lambda抽象中使用的不同变量的总数,例如,尽管有四个lambda抽象,却具有两个不同的绑定变量?在那种情况下,似乎里克·斯塔特曼(Rick Statman)在“ 两个变量不够 ”中准确地(否定)回答了这个问题。(λx.x(λy.y))(λx.λy.xy)
Noam Zeilberger

对。我认为这是我一直在寻找的答案,我当然希望它是Statman的结果。我尚未检查,但是我认为这也会对我提到的问题给出否定的答案。如果您将其发布为答案,我会很乐意接受。
tci

Answers:


7

[将评论扩展为答案。]

首先,只是澄清一下在组合器(=封闭项)对绑定变量进行计数。我将问题解释为询问 ,例如,术语尽管具有四个绑定器(即lambda抽象),但仍被视为具有两个绑定变量。这种计数方式最初对我来说有点奇怪,因为它在 -conversion 下不是不变的:例如,是等效于,但t

the total number of distinct bound variable names in t
t=(λx.x(λy.y))(λx.λy.yx)αtαt=(λx.x(λy.y))(λa.λb.ba)t有四个不同的绑定变量名。但是,这并不是真正的问题,因为编写一个封闭项所需的不同绑定变量名的最小数量等于 而后者的概念在。t
the maximum number of free variables in a subterm of t
α

因此,令为可以使用至多两个不同的绑定变量编写的所有组合器的集合,或者等效地为其子项最多具有两个自由变量的所有组合器的集合。C

定理(Statman):组合不完整。C

Rick Statman的技术报告似乎包含了对此的原始证明:

  • 遗传者二阶遗传。卡耐基梅隆大学数学系技术报告88-33,1988年8月。(pdf

Statman定义了组合器的一个基本同构的集合,他将其称为“ HOT”,表示“遗传为二阶”。技术报告实际上表明,尽管HOT的组合词不是完整的,但HOT 的词问题(即 -equality)仍然无法确定。Statman随后写了一篇简短的独立论文,以证明HOT在以下方面组合起来并不完整:β

  • 两个变量是不够的。第9届意大利理论计算机科学会议论文集,第406-409页,2005年(acm

无论如何,正如原始技术报告摘要所掩盖的,证明的思想是表明HOT是“按定义级别的层次结构”。也就是说,他定义的概念等级的HOT组合子,和一个家庭组合子,使得每个有秩,而不是 -等同于级别的HOT组合子的任意组合。这意味着HOT不组合地完成,因为,如果组合子可以从等级的HOT组合子的组合来衍生一些HnHnn+1βnS=λx.λy.λz.(xz)(yz)nn,那么任何其他组合器(尤其是等级的组合器将如此。Hnn+1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.