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に関する情報がどのように表示されるかわかりません。不完全な投稿についてはお詫びします。一晩考えます。