Kombinatorische Interpretation des Lambda-Kalküls

10

Laut Peter Selinger ist der Lambda-Kalkül algebraisch (PDF). Zu Beginn dieses Artikels sagt er:

Die kombinatorische Interpretation des Lambda-Kalküls ist bekanntermaßen unvollkommen, da sie die Regel nicht erfüllt : Nach der Interpretation impliziert M = N nicht \ lambda xM = \ lambda xN (Barendregt, 1984).ξM=Nλx.M=λx.N

Fragen:

  • Welche Art von Äquivalenz ist hier gemeint?
  • Was ist angesichts dieser Definition von Äquivalenz ein Gegenbeispiel für die Implikation?
Simon Shine
quelle

Antworten:

7

Die Gleichwertigkeit wird Äquivalenz nur in dem equational -Theorie in der Diskussion. In diesem Fall handelt es sich um die in Tabelle 1 dargestellte Theorie. Beachten Sie, dass diese Theorie nicht enthält : Dies würde die Theorie erweitern, und der Punkt ist schließlich, dass Intensität von respektiert , während dies CL ergeben würde teilweise dehnbar. Ich bin mir nicht sicher, warum in der anderen Antwort .ληξλη

Beachten Sie, dass in :λ

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

Dies sollte intuitiv klar sein: Wenn ist -convertible zu , wenn es von selbst steht, dann ist es auch -convertible zu , wenn es sich um eine Subterm von ist .MβNβNλx.M

Die Regel, definiert als macht diese Folgerung direkt möglich, wenn sie Teil einer Theorie ist. Sein CL-Analogon wäre: ξ

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

Der Punkt ist nun, dass in CL Folgendes nicht gilt :

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

Mit anderen Worten, wenn zwei Begriffe schwach gleich sind, gilt dies nicht unbedingt für ihre pseudo-abstrahierten Versionen.

Wenn wir also einer CL-Theorie hinzufügen , beginnen wir, Terme gleichzusetzen, die unterschiedliche Normalformen haben.ξCL


Hinweis. Hier bedeutet schwache Gleichheit. bedeutet, dass durch eine Reihe von und (möglicherweise auch , wenn es Teil der Theorie ist) in umgewandelt werden kann (und umgekehrt ). Wie Sie wahrscheinlich wissen, ist das CL-Analogon von .M=wNMNSKI=w=β

λ ist der Pseudo-Abstracter, wie auf Seite 5 Ihres Dokuments definiert. Es hat die folgende Eigenschaft:

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

Diese Eigenschaft macht es einfach, ein CL-Analogon für jedes -term zu finden: Ändern Sie einfach in und wenden Sie die Übersetzungen gemäß der Definition von .λλλλ


Um klar zu sein, ist das 'Gegenbeispiel' in dieser Antwort kein Gegenbeispiel zu (2). Denn wenn wir haben:

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

Dann bedeutet wirklich (Anwenden der Übersetzungen von Seite 5 und der Tatsache, dass am Ende von Seite 4 als definiert ist ):NISKK

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

Da , haben wir in der Tat , dass . Wenn es sich jedoch um ein Gegenbeispiel handelt, sollten wir das . Aber wenn wir übersetzen, bekommen wir tatsächlich:SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

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

Und es ist leicht zu überprüfen, ob (7) und (8) noch schwach gleich sind, für:

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

Ein geeignetes Gegenbeispiel zu (2) wäre:

M=Kxy
N=x

Da , haben wir auf jeden Fall , dass . Wenn Sie jedoch sorgfältig für die abstrahierten Versionen übersetzen, werden Sie feststellen, dass beide unterschiedliche Normalformen sind - und diese können nach dem Church-Rosser-Theorem nicht konvertierbar sein.KxywxM=wN

Zuerst überprüfen wir :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)
Hier können Sie überprüfen, ob eine normale Form ist. Hier können Sie überprüfen, ob , wie Sie erwarten sollten, wenn sich wie ein Abstraktor für CL verhalten soll.M(λx.Kxy)PwPλ

Jetzt überprüfen wir : N

N=λx.x=I=SKK

Was offensichtlich eine normale Form ist, die sich von , also nach dem Church-Rosser-Theorem. Es ist auch zu beachten, dass , dh und 'die gleiche Ausgabe' für beliebige Eingaben erzeugen .MMwNNPwPMNP

Wir haben nun bewiesen, dass (2) in CL nicht gilt und dass eine CL-Theorie, die , daher Begriffe gleichsetzen würde, die nicht schwach gleich sind. Aber warum interessiert es uns?ξ

Zunächst einmal macht es die kombinatorische Interpretation von unvollkommen: Anscheinend übertragen sich nicht alle metatheoretischen Eigenschaften.λ

Darüber hinaus, und vielleicht noch wichtiger, gibt es zwar Erweiterungstheorien von und CL, diese werden jedoch ursprünglich und allgemein intensiv gehalten. Intensionalität ist eine nette Eigenschaft, da die Berechnung des und CL-Modells als Prozess und aus dieser Perspektive zwei verschiedene Programme (insbesondere Begriffe mit einer anderen Normalform), die immer die gleichen Ergebnisse liefern (bei gleichen Eingaben), nicht gleichgesetzt werden dürfen. respektiert dieses Prinzip in , und wenn wir erweitern wollen, können wir einfach zB hinzufügen . Aber die Einführung vonλλξλληξin CL würde es nicht mehr vollständig intensivieren (tatsächlich nur teilweise). Und dies ist der Grund für 'Bekanntheit', wie der Artikel es ausdrückt.ξ

Roy O.
quelle
1
Ich kann mich nicht zur Qualität äußern, weil ich wenig über das Thema weiß, aber das sieht nach ein bisschen Arbeit aus. Geschätzt, danke!
Raphael
In der Tat endete die Post länger als ich erwartet hatte. Vielen Dank für Ihren Kommentar. :)
Roy O.
2
Oh das. Passiert . Regelmäßig .
Raphael
3

BEARBEITEN Diese Antwort ist falsch, wie der andere Antwortende richtig betont hat. Ich habe die Übersetzung in kombinatorische Logik von Asperti & Longo verwendet, die sich geringfügig von der in Selinger unterscheidet.

In der Tat zeigt dies einen entscheidenden Punkt: "Die kombinatorische Interpretation" des Lambda-Kalküls ist keine einzige Sache! Verschiedene Autoren machen es etwas anders.

Ich lasse meine Antwort hier für die Nachwelt, aber die andere Antwort ist besser.


Die Äquivalenz in diesem Zusammenhang ist in den Tabellen 1 und 2 in Selingers Arbeit definiert. Eine etwas andere Axiomatisierung kann jedoch die Dinge etwas klarer machen.

Was es wirklich bedeutet, ist, dass zwei Terme in der Theorie konvertierbar sind . Wir können "Konvertierbarkeit" durch die folgenden zwei Axiome definieren:λ

  • β . , wenn für in(λx.M)N=[N/x]MxNM
  • η . , wenn in nicht frei istλy.My=MyM

plus natürlich die üblichen Axiome und Inferenzregeln, die benötigt werden, um eine Kongruenz herzustellen . Daraus sollte ersichtlich sein, dass jedes Gegenbeispiel von der Bedingung der freien Variablen abhängt, wenn die Regel verletzt wird.=η

Ich denke das ist wahrscheinlich das einfachste:

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

Sie können selbst überprüfen, ob , aber ihre jeweiligen kombinatorischen Interpretationen sind nach den Regeln in Tabelle 2 nicht gleich.λy.M=λy.N

Pseudonym
quelle
Was ich über Ihre Antwort nicht verstehe: 1) Warum erwähnen , während die Theorie in Tabelle 1 sie nicht enthält und eindeutig intensiv ist? 2) Wie sind die kombinatorischen Interpretationen von und nicht gleich? Die Ableitung in meiner Antwort zeigt, dass sie es sind. 3) Die Regel wird nicht angesprochen, während dies der Schuldige in der Ausgabe ist. ηλy.Mλy.Nξ
Roy O.