Was ist der Sinn der

18

Ich glaube, ich verstehe es nicht, aber Konvertierung erscheint mir als eine β- Konvertierung, die nichts bewirkt, ein Sonderfall der β- Konvertierung, bei der das Ergebnis nur der Begriff in der Lambda-Abstraktion ist, weil nichts zu tun ist. Art einer sinnlosen β- Umwandlung.ηβββ

Vielleicht ist -conversion etwas sehr Tiefes und anderes, aber wenn ja, verstehe ich es nicht und ich hoffe, Sie können mir dabei helfen.η

(Vielen Dank und Entschuldigung, ich weiß, dass dies Teil der Grundlagen der Lambda-Rechnung ist.)

Trylks
quelle

Antworten:

20

Update [20.09.2011]: Ich habe den Abschnitt über -Erweiterung und Extensionalität erweitert. Vielen Dank an Anton Salikhmetov für den Hinweis auf eine gute Referenz.η

Umwandlung ( λ x . f x ) = f ist ein Sonderfall der β- Umwandlungnurin dem Sonderfall, in dem f selbst eine Abstraktion ist, z. B. wenn f = λ y . y y dann ( λ x . f x ) = ( λ x . ( λ y . y y ) x ) = β ( λ x .η(λx.fx)=fβff=λy.yyWas aber, wenn f eine Variable oder eine Anwendung ist, die sich nicht auf eine Abstraktion reduziert?

(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
f

In gewisser Weise ist -Regel wie eine spezielle Art von Extensionalität, aber wir müssen ein bisschen vorsichtig sein, wie das angegeben wird. Wir können Extensionalität angeben als:η

  1. für alle Terme M und N , wenn M x = N x, dann ist M = N , oderλMNMx=NxM=N
  2. für alle wenn x . f x = g x dann f = g .f,gx.fx=gxf=g

Die erste ist eine Meta-Aussage zu den Begriffen des Kalküls. Darin erscheint x als formale Variable, dh es ist Teil des λ- Kalküls. Es kann aus β η -Regeln bewiesen werden, siehe zum Beispiel Theorem 2.1.29 in "Lambda Calculus: its Syntax and Semantics" von Barendregt (1985). Es kann als Aussage über alle definierbaren Funktionen verstanden werden, also solche, die Bezeichnungen von λ- Termen sind.λxλβηλ

Die zweite Aussage ist, wie Mathematiker normalerweise mathematische Aussagen verstehen. Die Theorie von λ Kalküls beschreibt eine bestimmte Art von Strukturen, nennen wir sie " Modelleλ ". Ein Modell kann unzählig sein, daher gibt es keine Garantie dafür, dass jedes Element einem λ- Term entspricht (genau wie es mehr reelle Zahlen gibt als reelle Ausdrücke). Die Extensionalität sagt dann: Wenn wir zwei Dinge f und g in einem λ- Modell nehmen, wenn f x = g x für alle x im Modell, dann ist f = gλλfgλfx=gxxf=g. Selbst wenn das Modell die Regel erfüllt , muss es die Extensionalität in diesem Sinne nicht erfüllen. (Hier ist ein Hinweis erforderlich, und ich denke, wir müssen vorsichtig sein, wie Gleichstellung interpretiert wird.)η

Es gibt verschiedene Möglichkeiten, um und η- Umwandlungen zu motivieren . Ich werde zufällig die kategorietheoretische auswählen, die als λ- Kalkül verkleidet ist , und jemand anderes kann andere Gründe erklären.βηλ

Betrachten wir den typisierten Kalkül (weil er weniger verwirrend ist, aber für den untypisierten λ- Kalkül mehr oder weniger die gleiche Argumentation gilt). Eine der grundlegenden Gesetze, sollte hält das Exponentialgesetz C A × B( C B ) A . (Ich verwende die Notationen A B und B A austauschbar und wähle, was auch immer besser auszusehen scheint.) Was bewirken die Isomorphismen i : C A × B( C B ) A und j :λλ

CA×B(CB)A.
ABBAi:CA×B(CB)A sehen aus wie in λ- Kalkül geschrieben? Vermutlich würden sie i = λ f : C A × B . λ a : A . λ b : B . f a , b und j = λ g : ( C B ) A . λ p : A × Bj:(CB)ACA×Bλ
i=λf:CA×B.λa:A.λb:B.fa,b
Eine kurze Berechnung mit ein paar β -Reduktionen (einschließlich des β -Reduktionen π 1a , b = a und π 2a , b = b für Produkte) sagt unsdaß für jedes g : ( C B ) A wir haben i ( j g ) =
j=λg:(CB)A.λp:A×B.g(π1p)(π2p).
ββπ1a,b=aπ2a,b=bg:(CB)A Da i und j Umkehrungen voneinander sind, erwarten wir , i ( j g ) = g , aber tatsächlich beweisen wir verwenden müssen η -Reduktion zweimal: i ( j g ) = ( λ ein : A . Λ b : B . g a b ) = η (
i(jg)=λa:A.λb:B.gab.
iji(jg)=gη Dies ist also ein Grund für η- Reduktionen. Aufgabe:Welche η- Regel wird benötigt, um zu zeigen, dass j ( i f ) = f ist ?
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
ηηj(if)=f
Andrej Bauer
quelle
"Außerdem habe ich gehört, dass es bei der η-Regel um die Erweiterung von Funktionen geht. Dies ist falsch." ββηβη
ηβη
1
==βMx=NxM=NM=NM=βηNη
MN
1
@AndrejBauer Ich stimme zu, dass die η-Regel keine vollständige Extensionalität ist, aber denken Sie nicht, dass sie immer noch eine begrenzte Form der Extensionalität ist, dh, sie repräsentiert eine Klasse offensichtlicher Fälle von Extensionalität. Die ursprüngliche Frage ist die Suche nach Motivationen und Konzepten, und in diesem Fall halte ich es für nützlich, über Extensionalität nachzudenken (wobei natürlich darauf geachtet wird, nicht zu weit zu gehen).
Marc Hamann
9

Zur Beantwortung dieser Frage können wir das folgende Zitat aus der entsprechenden Monographie „Lambda-Kalkül. Seine Syntax und Semantik “(Barendregt, 1981):

βηλλ+extextMx=NxM=N

M=βηNληM=Nλ+extM=N

[Sein Beweis basiert auf dem folgenden Theorem.]

λ+extλη(ext)(η)

λη

MNληM=Nλη+M=N

HP-vollständige [nach Hilbert-Post] Theorien entsprechen maximal konsistenten Theorien der Modelltheorie für die Logik erster Ordnung.


quelle
7

Nur um Andrejs sehr gute Antwort zu ergänzen: die Theorie des Untyps λβη

  • λxy.xλxy.y βηβη

  • ι

    1. u =ι vt u =ι t v

    2. βηtut=ιutβηu

tut=βηιu

Dies ist eine Konsequenz von Böhms Satz.

Cody
quelle
6

η

=βηβηM=Nλx.M=λx.N=β

=β=βηλx.Mx=MMx=NxM=N

Marcin Kotowski
quelle
η
Siehe Satz 2.1.29 in der Monographie von Barendregt (Lambda-Kalkül und seine Semantik, 1985).
2
ξ
Und ich freue mich auch nicht darüber, dass Glück und „Gehörtes“ mehr Beachtung finden als direkt relevante Zitate mit den entsprechenden Hinweisen.
ξξαβ