Ich habe Schwierigkeiten, den Beweis einer starken Normalisierung für die Konstruktionsrechnung zu verstehen. Ich versuche, dem Beweis in der Arbeit von Herman Geuvers zu folgen: "Ein kurzer und flexibler Beweis für eine starke Normalisierung für die Berechnung von Konstruktionen".
Ich kann der Hauptargumentation gut folgen. Geuvers konstruiert für jeden Typ eine Interpretation basierend auf einer Auswertung der Typvariablen . Und dann konstruiert er eine Terminterpretation basierend auf einer Bewertung von Termvariablen und beweist, dass für gültige Bewertungen die Behauptung für alle gilt.
Mein Problem: Für einfache Typen (wie System-F-Typen) ist die Typinterpretation wirklich eine Reihe von Begriffen, also die Behauptung macht Sinn. Bei komplexeren Typen ist die Interpretation jedoch keine Menge von Begriffen, sondern eine Menge von Funktionen eines geeigneten Funktionsraums. Ich denke, ich verstehe fast die Konstruktion der Funktionsräume, kann jedoch für die komplexeren keine Bedeutung zuweisen Typen .
Kann jemand erklären oder Links zu verständlicheren Präsentationen des Beweises geben?
Bearbeiten: Lassen Sie mich versuchen, die Frage klarer zu machen. Ein Kontext enthält Deklarationen für Typvariablen und Objektvariablen. Eine Art Bewertungs gültig ist , wenn für alle mit dann ist gültig. Aber kann ein Element von und nicht nur . Daher kann für keine gültige Termbewertung definiert werden . muss ein Begriff sein und keine Funktion eines Funktionsraums.
Edit 2: Beispiel, das nicht funktioniert
Nehmen wir die folgende gültige Ableitung vor:
Im letzten Kontext muss eine gültige Typbewertung erfüllen . Für diese Typbewertung gibt es keine gültige Begriffsbewertung.
Antworten:
Leider bin ich mir nicht sicher, ob es mehr anfängerfreundliche Ressourcen gibt als Geuvers 'Konto. Sie können diese Notiz von Chris Casinghino ausprobieren, in der mehrere Beweise bis ins kleinste Detail beschrieben werden.
Ich bin mir nicht sicher, ob ich den Kern Ihrer Verwirrung verstehe, aber ich denke, eine wichtige Sache ist das folgende Lemma (Korollar 5.2.14), das im klassischen Barendregt-Text bewiesen ist :
Dies bedeutet, dass während[[T]]ξ kanneine komplizierte Funktion sein,wenn Γ⊢M:T gilt, dann[[T]]ξ muss eine Reihe von Begriffen sein.
Dies wird in der Gliederung (Abschnitt 3.1) unterstellt, wobei(|t|)σ∈[[T]]ξ nur wennΓ⊢t:T:∗ , was unserer Erwartung entspricht, dass die Interpretation eines Typs eine Menge von Begriffen sein muss, dhV(∗)⊆P(Term) (in der Tat)V(∗)=SAT !)
In der Typentheorie ist es üblich, dass wir, obwohl wir nur an der "Basisart" interessiert sind (hier∗ ), immer noch die Semantik für Dinge höherer Arten definieren müssen (daher die Notwendigkeit, SAT∗ einzuführen ). Am Ende klappt es dann, denn nur die Art, die von Typen bewohnt wird, ist ∗ (und □ , aber das ist nicht wirklich wichtig).
quelle