ベータ拡張の合流点


10

してみましょう→βなるβで-reduction λ -calculus。β展開←βをt ′ ← βで定義t′←βt⟺t→βt′。

ある←β合流?言い換えれば、我々はすべてのためのことを持っていますl,d,r、場合l→β∗d←β∗r、そこに存在するuようにl←β∗u→β∗r?

キーワード:上向き合流、逆さCRプロパティ


現地合流(すなわち場合:私は弱い性質を調べることで開始l→βd←βr、そしてl←β∗u→β∗r)。これが真実であったとしても、β展開が終了しないので合流を意味するわけではありませんが、障害を理解するのに役立つと思いました。

(トップ)の両方の減少がトップレベルである場合には、仮説になる(λx1.b1)a1→b1[a1/x1]=b2[a2/x2]←(λx2.b2)a2。最大α -renamingを、私たちはその想定することができx1≠x2、そしてそれらの用語ではx1もx2も自由ではない。

(スロー)場合x1で自由ではないb1、我々はb1=b2[a2/x2]従って有する(λx1.b1)a1=(λx1.b2[a2/x2])a1←(λx1.(λx2.b2)a2)a1→(λx2.b2)a2。

ケース(Top)の帰納による素朴な証明(b1およびb2について)は次のようになります。

  • 場合b1可変でありy1、

    • もしy1=x1、仮説になる(λx1.x1)a1→a1=b2[a2/x2]←(λx2.b2)a2、我々は実際に持っています(λx1.x1)a1=(λx1.x1)(b2[a2/x2])←(λx1.x1)((λx2.b2)a2)→(λx2.b2)a2。

    • y1≠x1場合、単に(Throw)を使用できます。

  • 同じ証明が適用され、b2は変数です。

  • 以下のためのb1=λy.c1及びb2=λy.c2、仮説になる(λx1.λy.c1)a1→λy.c1[a1/x1]=λy.c2[a2/x2]←(λx2.λy.c2)a2と帰納法の仮定が与えdように(λx1.c1)a1←d→(λx2.c2)a2ということを意味λy.(λx1.c1)a1←λy.d→λy.(λx2.c2)a2。残念ながら、私たちは持っていないλy.(λx2.c2)a2→(λx2.λy.c2)a2。(これは私にσ削減を考えさせます。)

  • アプリケーションでも同様の問題が発生します。λsはλべき場所ではありません。


1
@chi私が間違ってる場合を除き、作品。(λb.yb)y←(λa.(λb.ab)y)y→(λa.ay)y
— xavierm02

1
@chiについては、それについて考えて、反例をいくつか見た後、合流に見えるといくらか同意します。しかし実際には、どの程度?(λx.xxy)y→yyy←(λx.yxx)y
— Rodolphe Lepigre

2
それが本当なら私には便利だろうが、私はもう少し悲観的だ。私の同僚は次のような発言をしましたが、それはありそうにありません:同じ(チャーチ)整数を計算する任意の2つの任意のプログラムを組み合わせることができることを意味します。
— xavierm02

2
答えはノーです。Barendregtにおける運動3.5.11 Plotkinに起因反例を与えるが、参照することなく:と(λ X 。X 、X )(BとC )。証拠を探します。(λx.bx(bc))c(λx.xx)(bc)
— Gilles 'SO-悪をやめる'

1
反証として反証を投稿しましたが、証明になると思いましたが、わかりません。誰かがそれを理解できる場合は、回答を投稿してください。私は削除します。
— Gilles「SO-邪悪なことをやめ

回答:


7

2つの反例は次のとおりです。

  • (λx.bx(bc))cと(λx.xx)(bc)(Plotkin)。
  • (λx.a(bx))(cd)と((λ Y 。B (C 、Y ))D )(ヴァンOostrom)。a((λy.b(cy))d)

以下に詳述する反例は、ラムダ計算: HP Barenredgtによる構文とセマンティクス、改訂版(1984)、演習3.5.11(vii)に記載されています。それはプロトキンに起因します(正確な参照はありません)。私は、Vincent van Oostromによる別の反例の証明から採用された不完全な証明をTake Five:Easy Expansion Exercise(1996)[PDF]で示します。

証明の基礎は、特定の形式のベータ展開のみを検討できる標準化定理です。直観的に言えば、標準的な削減とは、左から右にすべての収縮を行う削減です。より正確には、ステップMiあり、その前のステップMj redexの左側にあるredexの残差であるステップM iがある場合、削減は非標準です。redexの「左」と「右」は、redexが縮小されたときに除去されるλの位置によって定義されます。定理がある場合と述べ標準化M→β∗N、その後から、標準的な減少があるMには、N。

ましょL=(λx.bx(bc))c及びR=(λx.xx)(bc)。どちらの項も、1つのステップでbc(bc)にベータ削減されます。

共通の祖先があると仮定するAようにL←β∗A→β∗R。標準化定理のおかげで、両方の削減が標準であると想定できます。一般性を失うことなく、Aがこれらの削減が異なる最初のステップであると仮定します。これら二つの削減、聞かせてσ第一段階の可約式は、他の左、書き込みにあるものであるA=C1[(λz.M)N]C1この収縮の文脈であり、(λz.M)N可約式です。してみましょうτ他の減少で。

以来、τ標準であり、その最初のステップは、中孔の右側にあるC1、それは、契約できないC1またそれの左側にあります。したがって、最終的な用語τフォームであるC2[(λz.M′)N′]の部分C1およびC2彼らの穴の左側には同一であり、M→β∗M′とN→β∗N′。σはC1減少することから始まり、さらに左に減少することはないため、その最終項はC3[S]形式でなければなりません。ここで、C3穴の左側の部分はC1およびC2左部分と同じです。2、およびM[z←N]→β∗S。

LとRそれぞれに、最上位のアプリケーションオペレーターの左側にある単一のラムダが含まれていることを確認します。以来、τラムダ保持λz.M、このラムダはLまたはRいずれかがτの最終項であるラムダであり、その用語では、アプリケーションの引数はNを減らすことによって得られます。redexはトップレベルにあります。つまり、C1=C2=C3=[]です。

  • もしτで終了Rは、M→β∗zz、N→β∗bcとM[z←N]→β∗(λx.bx(bc))c。NがL子孫を持っている場合、この子孫もNの正規形であるbc還元する必要があります。特に、の子孫はNNので、ラムダであり得るσフォームの部分項収縮することができない N P Nは、の子孫である Nを。b cに還元される Lの唯一のサブタームは b cであるため、 Lの Nの唯一の可能な子孫は b c自体の唯一の出現です。NˇPNˇNLbcbcNLbc

  • もしτで終わるLは、M→β∗bz(bc)、N→β∗c、およびM[z←N]→β∗(λx.xx)(bc)。NがR子孫を持っている場合、この子孫も合流によってc還元されなければなりません。

この時点で、van Oostromによると結論は簡単に続くはずですが、何か不足していますNの子孫をトレースするとMに関する情報がどのように表示されるかわかりません。不完全な投稿についてはお詫びします。一晩考えます。


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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.