ラムダ計算の組み合わせ解釈


10

Peter Selingerによれば、ラムダ計算は代数的です(PDF)。この記事の早い段階で彼は言う:

ラムダ計算の組み合わせ解釈は、ルールを満たさないため不完全であることが知られています。解釈では、は意味しません(Barendregt、1984)。ξλ X M = λ X NM=Nλx.M=λx.N

質問:

  • ここでどのような同等性を意味しますか?
  • この同等性の定義を前提として、その意味の反例は何ですか?

回答:


7

同値は、議論中の方程式 -theory における同値です。この場合、それは表1に概要が示されている理論です。この理論には含まれていないことに注意してください。そうすると、理論が拡張され、最終的にの意図性を尊重し、CLを作成することになります。部分的に拡張。他の答えがなぜについて言及しているのかはません。η ξ λ ηληξλη

注意してください:λ

(1)(M=βN)(λx.M=βλx.N)

これは直感的に明らかにする必要があります:場合はあるへ-convertibleそれ自体が立っているとき、それはまたですに-convertibleそれはの部分項であるとき、。β N β N λ X MMβNβNλx.M

-rule、として定義 は、理論の一部である場合に、この推論を直接可能にします。そのCLアナログは次のようになります: Mξ λ M

M=N(ξλ)(λx.M)=(λx.N)
λ
M=N(ξCL)(λx.M)=(λx.N)

ここでのポイントは、CLでは次のことが成り立たないということです。

(2)(M=wN)(λx.M=wλx.N)

言い換えると、2つの項が弱く等しい場合、疑似抽象バージョンの場合、これは必ずしも当てはまりません。

その結果、CL理論にを追加すると、異なる正規形を持つ項を同等化し始めます。ξCL


注意。ここで、は弱い等式を示します。これは、一連のおよび縮約(理論の一部である場合はも可能)によって、が(またはその逆に)変換できることを意味します。おそらくご存じのとおり、はCLのます。M N S K I = w = βM=wNMNSKI=w=β

λは、ドキュメントの5ページで定義されている擬似抽象化子です。次のプロパティがあります。

(3)(λx.M)Nw[N/x]M

このプロパティは、簡単に任意のためのCLアナログ見つけることができますだけ変更:-termにとの定義に従って翻訳を適用。λλλλ


明確にするために、この回答の「反例」は(2)の反例ではありません。なぜなら、

N = λ * Z Z X

(4)M=x
(5)N=(λz.z)x

次に、本当に意味します(5ページの翻訳を適用し、4ページの終わりにがとして定義されているという事実):I S K KNISKK

(6)N=(λz.z)x=Ix=SKKx

ので、我々は確かに、その持っている。ただし、これが反例である場合は、です。しかし、翻訳すると、実際には次のようになります。M = W N λ * Y M Wλ * Y N SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

λ * Y N = λ * Y S K Kは、 xは= KS K Kは、 xは

(7)(λy.M)=(λy.x)=Kx
(8)(λy.N)=(λy.SKKx)=K(SKKx)

そして、(7)と(8)がまだ弱いことを確認するのは簡単です。

(9)K(SKKx)wK(Kx(Kx))wKx

ここで、(2)の適切な反例は次のようになります。

N = x

M=Kxy
N=x

ので、我々は間違いなく、その持っている。ただし、抽象化されたバージョンを注意深く翻訳すると、どちらも明確な正規形であり、Church-Rosserの定理に従って変換できないことがわかります。M = W NKxywxM=wN

まず、を確認します。M

M=λx.Kxy=S(λx.Kx)(λx.y)=S(λx.Kx)(Ky)=S(S(λx.K)(λx.x))(Ky)=S(S(λx.K)(I))(Ky)=S(S(λx.K)(SKK))(Ky)=S(S(KK)(SKK))(Ky)
ここで、が正規形であることを確認できます。ここでは、であることを確認できます。がCLの抽象ように動作すると想定されている場合と同じです。M(λx.Kxy)PwPλ

次にをチェックします: N

N=λx.x=I=SKK

これは明らかには異なる正規形なので、Church-Rosserの定理によるです。、つまりと 'は、任意の入力に対して同じ出力を生成することにも注意してください。MMwNNPwPMNP

これで、(2)がCLに適用されないこと、およびを組み込んだCL理論が弱く等しくない項と同等になることが証明されました。しかし、なぜ気にするのでしょうか。ξ

まあ、まず第一に、それは組み合わせ解釈を不完全にします:明らかにすべてのメタ理論的特性が引き継がれるわけではありません。λ

さらに、そしておそらくもっと重要なこととして、とCLの拡張理論が存在しますが、それらは元々一般的に意図的に維持されています。プロセスとしてのとCLモデルの計算、およびこの観点からは常に同じ結果(同じ入力が与えられた場合)を生成する2つの異なるプログラム(特に、異なる正規形を持つ項)は等しいと見なされないため、内在性は良い特性です。はでこの原則を尊重します。拡張したい場合は、たとえば追加するだけです。しかし、の導入λλξλληξCLでは、完全に内包的になることはもうありません(実際には、部分的にだけそうです)。そして、これがの「悪評」の理由です。ξ


1
私は主題についてほとんど知らないので品質についてコメントすることはできませんが、これはちょっとした仕事のようです。ありがとう、ありがとう!
ラファエル

確かに、投稿は私が予想していたよりも長くなりました。ご意見をありがとうございます。:)
ロイO.

2
それか。起こります。定期的に
ラファエル

3

編集他の回答者が正しく指摘したため、この回答は正しくありません。Asperti&Longoの組み合わせロジックへの変換を使用しましたが、これはSelingerのものとは微妙に異なります。

実際、これは重要なポイントを示しています。ラムダ計算の「組み合わせ解釈」は単一のものではありません!作成者が異なれば、方法も少し異なります。

私は後世のためにここに私の答えを残しますが、他の答えの方がいいです。


この文脈での同等性は、Selingerの論文の表1および2で定義されています。ただし、わずかに異なる公理化により、状況が少し明確になる場合があります。

それが実際に意味することは、2つの項が理論で変換可能であることです。「変換可能性」は、次の2つの公理によって定義できます。λ

  • β。、もしのためのフリーで(λx.M)N=[N/x]MxNM
  • η。、もしで無料ではないλy.My=MyM

さらに、もちろん、を合同にするために必要な通常の公理と推論規則。このことから、反例は、破られたルールの自由変数条件に依存することは明らかです。=η

これはおそらく最も簡単だと思います:

M=x
N=(λz.z)x

あることを自分で確認できますただし、それぞれの組み合わせの解釈は、表2の規則では等しくありません。λy.M=λy.N


あなたの答えについて私が理解していないこと:1)なぜに言及するのか、表1の理論はそれを含まず、明らかに意図的であるのですか?2)との組み合わせの解釈はどうですかと等しくありませんか?私の答えの導出は、それらがそうであることを示しています。3) xi-ルールは対処されていませんが、それが問題の原因です。λ Y M λ Y N ξηλy.Mλy.Nξ
ロイO.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.