Beta扩展的汇合


10

βλ微积分中的β约简。定义β -expansion β牛逼β ŧλββtβttβt

β融合?换句话说,我们有任何l,d,r,如果lβdβr,则存在u这样lβuβr

关键字:向上汇合,倒置CR属性


我开始看弱属性:本地汇合(即,如果lβdβr,然后lβuβr)。即使这是正确的,但由于β扩展是非终止的,所以这并不意味着融合,但是我认为这将有助于我理解障碍。

(顶部)的情况下都减少是在顶层,设定成为(λx1.b1)a1b1[a1/x1]=b2[a2/x2](λx2.b2)a2。直到进行α命名,我们可以假设x1x2,那么x1x2都不是免费的。

(掷)如果x1不处于自由b1,我们有b1=b2[a2/x2],因此具有(λx1.b1)a1=(λx1.b2[a2/x2])a1(λx1.(λx2.b2)a2)a1(λx2.b2)a2

对于情况(顶部)的归纳(在b1b2)的幼稚证明将如下所示:

  • 如果b1是变量y1

    • 如果y1=x1,设定成为(λx1.x1)a1a1=b2[a2/x2](λx2.b2)a2,我们确实有(λx1.x1)a1=(λx1.x1)(b2[a2/x2])(λx1.x1)((λx2.b2)a2)(λx2.b2)a2

    • 如果y1x1,那么我们可以简单地使用(Throw)。

  • 同样的证明适用于b2是变量。

  • b1=λy.c1b2=λy.c2,设定成为(λx1.λy.c1)a1λy.c1[a1/x1]=λy.c2[a2/x2](λx2.λy.c2)a2和感应假设给出d使得(λx1.c1)a1d(λx2.c2)a2这意味着λy.(λx1.c1)a1λy.dλy.(λx2.c2)a2。不幸的是,我们没有λy.(λx2.c2)a2(λx2.λy.c2)a2。(这使我想到了σ归约。)

  • 应用中也会出现类似的问题:λ不在应有的位置。


1
@chi除非我记错了,作品。(λb.yb)y(λa.(λb.ab)y)y(λa.ay)y
xavierm02 '02

1
我有点同意@chi的观点,在您仔细考虑并看到一些反例之后,它似乎融合了。但实际上,关于什么(λx.xxy)yyyy(λx.yxx)y
Rodolphe Lepigre

2
虽然这对我来说很方便,但我有些悲观。我的一位同事发表了以下评论,这似乎不太可能:这意味着可以将计算同一(教堂)整数的任意两个任意程序组合在一起。
xavierm02 '02

2
答案是不。锻炼3.5.11在Barendregt给出了一个反例归因于普洛特金,但没有参考:λ X X X b Ç 。我要寻找证明。(λx.bx(bc))c(λx.xx)(bc)
吉尔斯(Gilles)'所以

1
我已经发布了反例作为答案,我认为可以证明这一点,但是有一个步骤我不知道。如果有人可以解决,请发布答案,我将删除我的。
吉尔斯(Gilles)'所以

Answers:


7

两个反例是:

  • (λx.bx(bc))c(λx.xx)(bc)(普洛特金)。
  • (λx.a(bx))(cd)a((λy.b(cy))d)(范Oostrom)。

下面详述的反例在HP Barenredgt撰写的《 Lambda微积分:其语法和语义》,修订版(1984),练习3.5.11(vii)中给出。它归因于Plotkin(无确切参考)。我提供了一个不完全的证据,该证据是由Vincent van Oostrom提出的另一反例的证据改编而成的,该证据取自《第五个:轻松扩展练习》(1996)[PDF]

证明的基础是标准化定理,该定理使我们仅考虑某种形式的beta展开。直观地讲,标准折减是指使所有收缩从左向右收缩的折减。更准确地说,如果步骤Mi的redex是先前步骤Mj的redex的左边的redex的残差,则减少是非标准的;Redex的“左”和“右”由收缩Redex时消除的λ的位置定义。标准化定理指出,那里,如果MβN则存在标准还原从MN

L=(λx.bx(bc))cR=(λx.xx)(bc)。这两个术语都可以一步将β还原为bc(bc)

假设有一个共同的祖先A使得LβAβR。归功于标准化定理,我们可以假设两个归约都是标准的。在不失一般性的前提下,假设A是这些减少量有所不同的第一步。这两个削减,让σ是一个,其中第一步骤的归约式是向左的其它的,以及写A=C1[(λz.M)N]其中C1是这种收缩的上下文和(λz.M)N是归约式。令τ为另一个减少量。

由于τ是标准的并且它的第一步在C1孔的右边,因此它不能在C1处收缩,也不能在它的左侧收缩。因此最后期τ的形式为C2[(λz.M)N],其中的各部分C1C2向左它们的孔中的是相同的,MβMNβN。由于σC1处开始减小,而从左开始不减小,因此其最终项必须为C3[S]形式,其中C3的孔左侧部分与C1C2的左侧部分相同2,和M[zN]βS

LRτλz.MLRτNC1=C2=C3=[]

  • τRMβzzNβbcM[zN]β(λx.bx(bc))cNLbcNNσNˇPNˇNLbcbcNLbc

  • τLMβbz(bc)NβcM[zN]β(λx.xx)(bc)NRc

NM


0

βxv(λx.v)t1βv(λx.v)t2βvt1t2βt1t2uuβt1uβt2


2
(λx.v)t1(λx.(λx.v)t1)t2(λx.v)t2

该死,你是对的!稍后,我将尝试其他事情,我现在没有时间。
Rodolphe Lepigre
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.