如何将非终止


14

我一直在思考以下问题:

是否存在类型一致且图灵完成的lambda演算?

/cs/65003/if-%CE%BB-xxx-has-a-type-then-is-the-type-system-inconsistent

无类型设置中已经存在一些难以回答的相关问题!更具体地说,我很想知道我们是否可以通过以下方式从非终止中恢复图灵完备性:

问题:给定一个(纯)λ -term t没有弱头正常形式,确实有总是存在一个定点组合子Yt使得

Yt (λx.x)=t

等式都取模βη

其实,我怀疑这个版本的问题是假的,那么一个可以放松的问题,以循环组合程序,其中一个循环组合子Y被定义为一个任期,从而使每一f

Y f=f (Y f)
,其中Y再次需要成为循环组合器。当然,这足以照常定义递归函数。

更一般而言,即使不满足上述公式,我也有兴趣寻找一种从非终止t到循环组合器的“自然”方法。

我也有兴趣在较弱的版本上面的问题,例如t可以被视为是一个应用程序tt1 t2tn每个ti在正常的形式(虽然我不知道确实有帮助)。


到目前为止:自然的方法是在整个过程中采用f的t和“ pepper”应用程序,例如f

Ω:=(λx.x x)(λx.x x)

变成平常

YΩ:=λf.(λx.f (x x)) (λx.f (x x))

这个想法是减少头 t到的λ应用λx.t并将其替换为λx.f t,但下一步尚不清楚(我怀疑这会导致任何结果)。

我不知道我足够的了解伯姆树木,看他们是否有什么话要说,但我很怀疑,因为Ω的伯姆树简直是,看起来一点也不像一个YΩ:无限树抽象。


编辑:我的一个朋友说,这种幼稚的做法行不通与术语:

(λx.x x x)(λx.x x x)
的幼稚的做法将使
(λx.f (x x x))(λx.f (x x x))
但是,这是不是一个固定的点组合子!这可以通过替换所述第二应用被固定fλyz.f y,但随后fI不给原词。尚不清楚该术语是否是原始问题的反例(当然,它不是更一般的反例)。

我认为应该加强对t没有头部正常形式的要求,以排除弱的头部正常形式。如果t能够产生lambda,则由于在头部位置始终有一个定点组合器(以f = id开头),因此应该由它生成lambda,这是不可能的。
Andrea Asperti

@AndreaAsperti,你是正确的,当然。我会修正这个问题。
科迪

Answers:


7

这个非常好的问题涉及多个方面,因此我将相应地构建此答案。

1.盒装问题的答案为。术语通过你的朋友建议确实是一个反例。Ω3=(λx.xxx)(λx.xxx)

之前在评论中注意到,有人有反例,例如“食人魔” ,直到问题被限制条款不弱的头部正常形态。这样的项称为零项。这些术语在任何替换下都不会降低为lambda。K=YK

对于任何定点组合器(fpc)Y都是所谓的静音(AKA“ root-active”)术语:每次减少都会进一步减少为redex。YI

是不是哑巴; 既不是 Ω 3 -为是明显的,通过检查它的集约简的,这是 { Ω 3 λ X X X X λ X X X X ķ |KΩ3

{Ω3(λx.xxx)(λx.xxx)kkN}

而不是给出一个准确的说法,为什么是忽略所有财务执行情况ÿYIY(事实上,对于任何循环组合子)这可能是费力又希望再清楚不过-我将把你的问题有明显的推广,限制对静音方面也是如此。

静音项是零项的子类,而零项是不可解的项的子类。这些在一起可能是lambda演算中“无意义”或“未定义”概念的最受欢迎选择,分别对应于琐碎的Berarducci,Levy-Longo和B \“ ohm树。 Paula Severi和Fer-Jan de Vries已对其进行了详细分析[1]静默项构成了该晶格的底部元素,即“ undefined”的限制性最强的概念。

2.令为静音项,令Y为具有Y I = M的属性的循环组合器。MYYI=M

首先我们争辩说,对于一个新鲜变量Y z实际上看起来很像您描述的Y M,它是通过将z散布在M的某些还原上而获得的。zYzYMzM

通过Church-Rosser,M具有相同的归约M '。取标准一化R Y I s M '。的每subterm 中号对应于一个独特的subterm ÿ ÿ ž [ ž = ]该还原下。对于任何subterm Ç [ Ñ ] = 中号'- [R因素Ñ 0 ] 瓦特YIMMR:YIsMMYIYz[z:=I]C[N]=MR,其中,所述中间腿是弱头减少(和最终腿是内部)。 Ñ是“守卫”由Ž当且仅当该第二腿收缩一些归约式P,与的取代的后代[žYIC[N0]whC[N1]iC[N]NzIPI[z:=I]

显然,必须保护M的某些子项,否则它也将是静音的。另一方面,必须小心不要保护非终止所需的那些子项,否则它将无法形成循环组合器的无限B \“欧姆树。YM

因此,找到一个静音项就足够了,在该静音项中,每个归约项中的每个子项都需要进行非归一化,这意味着将变量放在该子项的前面会产生一个归一化项。

考虑,其中w ^ = λ w ^ w ^ w ^ w ^。就像Ω一样,但是在每次迭代中,我们通过向其提供标识来检查在参数位置W的出现是否被head变量“阻止”。将z置于任何子项前面将最终产生形状z P 1P k的正则形式,其中每个P iIW或其中的“ z散布”。所以ΨΨ=WWW=λw.wIwwΩWzzP1PkPiIWzΨ 是广义问题的反例。

定理。没有循环组合器使得Y I = ΨYYI=Ψ

证明。该组的所有约简的{ w ^ w ^ w ^ w ^ w ^ w ^ w ^ w ^ w ^ w ^ w ^ w ^ w ^ }。为了敞篷Ψÿ 必须减少其中之一。在所有情况下该论点都是相同的;为了具体,假定ÿ w ^ w ^Ψ{WW,WIWW,IIIIWW,IIIWW,IIWW,IWW}ΨYIYIIIWW

任何标准还原可以被分解为 ÿ 瓦特 P Ñ 4P 瓦特 Q Ñ 3Q 瓦特Ñ 1 Ñ 2从而  ÿ 瓦特Ñ 1 ñ 2 Ñ 3 Ñ 4 ñ 1ñ 2ñ 3YIsIIWW

YIwPN4,PwQN3,QwN1N2,thus YIwN1N2N3N4N1I,N2I,N3W,N4W

让我们参阅还原- [R 0,和从开始减少Ñ 作为ř YIwN1N2N3N4R0NiRi

这些减少可以通过替代被提升,得到 ř ž 0ý ž ž ķ中号1 中号2 中号3 中号4ñ 中号 [ ž = ] ,使得- [R 0是组合物ÿ ř ž 0 [ ž = ] [z:=I]

R0z:Yzzk(M1M2M3M4)NiMi[z:=I]
R0YIR0z[z:=I]Ik(N1N4)wkN1N4

Similarly, we can lift each Ri:NiN{I,W} as

Riz:MiNizRi:NiRiz[z:=I]Niz[z:=I]IN

The second leg of this factorization of Ri consists precisely of contracting those I-redexes which are created by the substitution Niz[z:=I]. (In particular, since N is a normal form, so is Niz.)

Niz is what we called a "z-sprinkling of N", obtained by placing any number of zs around any number of subterms of N. Since N{I,W}, the shape of Niz will be one of

zk1(λx.zk2(x))zk1(λw.zk2(zk3(zk5(zk7(w)zk8(λx.zk9(x)))zk6(w))zk4(w)))

So M1M2M3M4N1zN2zN3zN4z, with Niz a z-sprinkling of I for i=1,2 and of W for i=3,4.

At the same time, the term N1zN2zN3zN4z should yet reduce to yield the infinite fpc Bohm tree z(z(z())). So there must exist a "sprinkle" zkj in one of the Niz which comes infinitely often to the head of the term, yet does not block further reductions of it.

And now we are done. By inspecting each Niz, for i4, and each possible value of kj, for j2+7i12, we find that no such sprinkling exists.

For example, if we modify the last W in IIWW as Wz=λw.z(wIww), then we get the normalizing reduction

IIWWzIWWzWWzWzIWzWzz(IIII)WzWzzIWzWz

(Notice that Ω admits such a sprinkling precisely because a certain subterm of it can be "guarded" without affecting non-normalization. The variable comes in head position, but enough redexes remain below.)

3. The "sprinkling transformation" has other uses. For example, by placing z in front of every redex in M, we obtain a term N=λz.Mz which is a normal form, yet satisfies the equation NI=M. This was used by Statman in [2], for example.

4. Alternatively, if you relax the requirement that YI=M, you can find various (weak) fpcs Y which simulate the reduction of M, while outputting a chain of zs along the way. I am not sure this would answer your general question, but there are certainly a number of (computable) transformations MYM which output looping combinators for every mute M, in such a way that the reduction graph of YM is structurally similar to that of M. For example, one can write

YMz={z(YP[x:=Q]z)M(λx.P)QYNzM is not a redex and MwhN

[1] Severi P., de Vries FJ. (2011) Decomposing the Lattice of Meaningless Sets in the Infinitary Lambda Calculus. In: Beklemishev L.D., de Queiroz R. (eds) Logic, Language, Information and Computation. WoLLIC 2011. Lecture Notes in Computer Science, vol 6642.

[2] Richard Statman. There is no hyperrecurrent S,K combinator. Research Report 91–133, Department of Mathematics, Carnegie Mellon University, Pittsburgh, PA, 1991.


This answer is great, and I will likely accept it. However, I'm not sure what the actual theorems you are describing, other than "there is no looping combinator Y such that Y I=Ω3". I think stating the theorems separately will make the arguments much easier to follow.
cody

好点子。我刚刚更新了答案。
安德鲁·波隆斯基
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.