Barendregts Nachweis der Subjektreduktion für


12

Ich fand ein Problem in Barendregts Beweis der Subjektreduktion (Thm 4.2.5 von Lambda-Kalkülen mit Typen ).

Der letzte Schritt des Beweises (Seite 60) lautet:

"und daher nach Lemma 4.1.19 (1), .Γ,x:ρP:σ

Nach Lemma 4.1.19 (1) sollte es jedoch , da die Substitution auf den gesamten Kontext und nicht nur auf x : ρ ′ erfolgt. .Γ[α: =τ],x:ρP:σx:ρ

Ich denke, die Standardlösung könnte darin bestehen, zu beweisen, dass , aber ich bin nicht sicher, wie.αFV(Γ)

Ich hatte einen Beweis, der es vereinfachte, indem ich das Generations-Lemma der Abstraktionen lockerte, aber kürzlich stellte ich fest, dass es einen Fehler gab und mein Beweis falsch ist, sodass ich nicht mehr sicher bin, wie ich dieses Problem lösen soll.

Kann mir bitte jemand sagen, was ich hier vermisse?


Barendregt geht von der sogenannten Variablenkonvention aus, dass gebundene Variablennamen und freie Variablennamen getrennt standardisiert sind , dh wir gehen implizit davon aus, dass sie unterschiedlich sind (mit Konvertierung. Vielleicht hilft das.α
Dave Clarke

Danke für deine Antwort. Aber es löst das Problem nicht. Er kommt zu unter Verwendung von Lemma 4.1.19 (1) auf folgende Weise: Wir haben Γ , x : ρ P : σ und wir wissen, dass ρ [ α : = τ ] = ρ und σ [ α : = τ ] = σ Γ,x:ρP:σΓ,x:ρP:σρ[α: =τ]=ρσ[α: =τ]=σWenn er dieses Lemma verwendet, kann er dieselbe Substitution im Kontext und den abgeleiteten Typ zur selben Zeit ausführen ... aber er substituiert nur auf dem x: \ rho ', nicht im gesamten Kontext! Und das ist mein Problem ...
Alejandro DC

Antworten:


8

Ich denke immer noch, dass es eine Ungenauigkeit gibt, wie er das Lemma benutzt. Es gibt jedoch eine Lösung (ich muss mich bei Barbara Petit bedanken, die mit der Lösung gekommen ist).

Tatsächlich ergibt sich die Lösung aus der Definition von (def. 4.2.1), die moralisch wie folgt lautet:

σ>ρ wenn ΓP:σΓP:ρ

Anstatt es auf diese Weise zu definieren, definiert er die Beziehung jedoch nur in Bezug auf die Typen. Der Vorteil bei der Definition in Form von Sequenzen ist, dass wir daraus schließen können, wenn , dann α F V ( Γ ) , das ist genau das, was er im Beweis benötigt (und woher die Ungenauigkeit kommt).σ>α.σαFV(Γ)


Ich habe diese Technik in einer Erweiterung von System F für die linear-algebraische Lambda-Rechnung verwendet. Das Papier mit allen Details des Beweises ist heute in LMCS 8 (1:11) erschienen .
Alejandro DC
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.