自分自身に還元されるラムダ計算


13

ラムダ計算を学習しようとする私の継続的な探求において、Hindley&Seldinの「Lambda-Calculus and Combinators an Introduction」では、次の論文(Bruce Lercherによる)が言及されています。である:(λx.xx)(λx.xx)

私は結果を信じていますが、私は議論にまったく従いません。

非常に短い(1段落未満)。どんな説明でも大歓迎です。

おかげで、

チャーリー

回答:


16

まず、なお、左側に右側が等しい場合にのみベータ可約式(モジュロアルファ変換)であること結果状態。コンテキスト内でこのredexを使用する他の用語があります。(λx.xx)(λx.xx)

ラーチャーの証明の大部分がどのように機能するかを見ることができますが、証明をわずかに修正しないと通過できない点があります。仮定する(I、使用=アルファ同値の場合)、変数慣例通りと仮定Xがで遊離発生していないB(λx.A)B=[B/x]A=xB

左側と右側のの数を数えます。還元は、可約式から1、プラスのもの除去Bを、およびであるような多くのように追加のB倍の出現回数XA。換言すれば、L Mはの数であるλでのM及びXMするの自由出現数であるXにおいてM、その後1 + L B = XλBBxAL(M)λM#x(M)xM。そのディオファントス方程式の唯一の解決策は、xA = 2(および L B = 1ですが、その事実は使用しません)です。1+L(B)=#x(A)×L(B)#x(A)=2L(B)=1

上記のパラグラフに対するラーチャーの議論は理解できません。彼はとアトミック項の数を数えます。このM )を書きましょう。式は、B + 1 = XA × B - 1 :2個の解を持つ。#XA = 2 B = 3及びXλ#(M)#(B)+1=#x(A)×(#(B)1)#x(A)=2,#(B)=3。2番目の可能性を排除する明白な方法は見当たりません。#x(A)=3,#(B)=2

ここで、両側のに等しいサブタームの数に同じ推論を適用してみましょう。還元は、頂部付近いずれかを削除し、の発生が置換されているように、多くの追加としてXをA、すなわち2.よってのもう一つの発生、Bは消滅しなければなりません。もの以来、Aが(ためのままBが空き含まないXは)、余分な発生B左側にはなければならないλ X ABxABABxBλx.A

はサブタームとしてBがないとラーチャーがどのように推測するのか理解できませんが、これは実際に証明に関係ありません。AB

最初の仮説から、アプリケーションです。場合、これは当てはまらないことができ、Aは= X、従ってA自体がアプリケーションであるM Nと、λ X M N = λ X M N / X ] M = λ X M N / X ] N[(λx.A)/x]AA=xAMNλx.MN=[(λx.MN)/x]M=[(λx.MN)/x]N。以来、部分項としての地位を有することができない、Mは形式持つことができないλ XをPですので、M = xです。同様に、N = xです。MMλx.PM=xN=x


私は、カウント引数のない証明を好みます。ことを仮定する(λx.A)B=[B/x]A

もし我々有するλ X A B = Bため不可能であり、Bは、自身の部分項とすることができません。仮説の右側は、アプリケーションに等しいので従って、Aは、アプリケーションでなければならないA 1 、A 2、及びλ X A = [ B / X ] A 1及びB = [ B / X ] A 2A=x(λx.A)B=BBAA1A2λx.A=[B/x]A1B=[B/x]A2

前者等式から、いずれか1 = XまたはA 1 = λ X [ B / x ] A。第二の場合には、A 1 = λ X λ X A 1 A 2B $ A_1自体の部分項とすることができないため不可能です。A1=xA1=λx.[B/x]AA1=λx.(λx.A1A2)B

後者の等式から、またはA 2にフリーxがありません(そうでない場合、Bはそれ自身のサブタームになります)。後者の場合、A 2 = Bです。A2=xA2xBA2=B

ことを示しました。初期仮説の右側は、このようにあるB B、及びB = λ X A = λ X x xA=xxBBB=λx.Aλx.xx

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