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 :λ
(M=βN)⟹(λx.M=βλx.N)(1)
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(λx.M)=N=(λx.N)(ξλ)
λM(λ∗x.M)=N=(λ∗x.N)(ξCL)
Der Punkt ist nun, dass in CL Folgendes nicht gilt :
(M=wN)⟹(λ∗x.M=wλ∗x.N)(2)
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:
(λ∗x.M)N⊳w[N/x]M(3)
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:
M=x(4)
N=(λ∗z.z)x(5)
Dann bedeutet wirklich (Anwenden der Übersetzungen von Seite 5 und der Tatsache, dass am Ende von Seite 4 als definiert ist ):NISKK
N=(λ∗z.z)x=Ix=SKKx(6)
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:SKKx⊳wKx(Kx)⊳wxM=wN(λ∗y.M)≠w(λ∗y.N)
(λ∗y.M)=(λ∗y.x)=Kx(7)
(λ∗y.N)=(λ∗y.SKKx)=K(SKKx)(8)
Und es ist leicht zu überprüfen, ob (7) und (8) noch schwach gleich sind, für:
K(SKKx)⊳wK(Kx(Kx))⊳wKx(9)
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.Kxy⊳wxM=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)P⊳wPλ∗
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 .M′M′≠wN′N′P⊳wPM′N′P
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.ξ
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:λ
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:
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
quelle