Repräsentierbarkeit innerhalb des Lambda-Würfels

Gye-Sik Lee

dem Institut für

mathematische Logik und Grundlagenforschung

am FB 15 - Mathematik

der Westfälischen Wilhelms-Universität Münster als Diplomarbeit eingereicht

im Oktober 1996

Ich widme diese Arbeit meinem verstorbenen Vater, der in mir noch lebt, und meiner lieben Mutter, die mich vermißt.

Vorwort

Der getypte λ-Kalkül findet seinen Ursprung darin, Paradoxa zu vermeiden, die im λ-Kalkül geschen. Das System λ→-Curry von H.B. Curry ist das erste und einfachste getypte λ-Kalkülsystem. Inzwischen ist dieses System verallgemeinert worden, und der Barendregtsche λ-Würfel ist eine Vervollständigung von acht bekannten getypten λ-Kalkülsystemen. Diese acht Systeme sind widerum spezielle Beispiele von Pure Type Systems.

Es handelt sich um mathematische Theorien, und abstrakte Algorithmen sind Objekte. Während man sich im λ-Kalkül unter Annahme der Churchschen These mit allen möglichen abstrakten Algorithmen befaßt, betrachtet man in getypten λ-Kalkülsystemen nur bestimmte Algorithmen mit Typenvorraten, durch die die Termbildung eingeschränkt wird. Typen repräsentieren Welten, in denen mathematische Objekte leben. Eine Funktion von einem Typ in einen anderen ist nur auf Objekte aus dem gegebenen Typ anwendbar. Die Selbstanwendung eines Algorithmus ist nicht immer erlaubt.

Im Gegensatz zum λ-Kalkül kann man im getypten λ-Kalkül direkt über Logik sprechen. Dies ist die Idee des Curry-Howard-Isomorphismus, die durch den Zusammenhang zwischen dem λ-Würfel und dem Logikwürfel realisiert wird. Es ist wunderschön zu sehen, daß der getypte λ-Kalkül mit der Logik harmoniert. Der Kalkül der Konstruktionen (=CC) von Th. Coquand und G. Huet ist das stärkste System, mit dem man die alltägliche Mathematik richtig treiben kann. Die Untersuchung der Feinstruktur dieses Systems ist ein möglicher Zugang zum Verständnis des λ-Würfels. Die Idee des Curry-Howard-Isomorphismus trägt dazu enorm bei.

Der Ausgangspunkt für diese Arbeit war die Frage, wie stark die Systeme aus dem λ-Würfel hinsichtlich der Repräsentierbarkeit von arithmetischen Funktionen sind. Die im λ-Würfel repräsentierbaren Funktionen gliedern sich in drei Klassen, und sie sind verschieden. Die Klasse aller in λ→ repräsentierbaren Funktionen ist so klein, daß sie nur polynomial beschränkte Funktionen enthalten. Sogar läßt sich die Vorgängerfunktion nicht in λ → repräsentieren. Dagegen stehen die anderen beiden Klassen im engen Zusammenhang mit HAS (die zweitstufige Heyting-Arithmetik) bzw. HAH (die höherstufige Heyting-Arithmetik). Genau die in λ2 bzw. CC repräsentierbaren Funktionen sind in HAS bzw. HAH beweisbar total. Es gibt arithmetische Funktionen, die in CC, aber nicht in λ2 repräsentierbar sind.

Mein besonderer Dank geht an Herrn Prof. Dr. Justus Diller, der diese Arbeit betreut hat. Er hat mich bei der Vorbereitung in die richtige Richtung geführt und ist jederzeit bereit gewesen, über Probleme zu sprechen. Ihm persönlich verdanke ich mein Interesse an der intuitionistischen Logik. Seine Vorlesung über den λ-Kalkül war der Anfang der Realisierung meines Interesses. Ich bedanke mich herzlich auch bei Herrn Dr. Enno Folkerts, der uns kürzlich nach seiner Promotion verlassen hat. Durch die private Arbeitsgemeinschaft mit ihm und Gunnar Wilken vor zwei Jahren habe ich vieles gelernt. Diesen beiden und allen Mitarbeitern und Kommilitonen des Instituts für mathematische Logik und Grundlagenforschung, sowie den Herren Professoren Dr. Wolfram Pohlers und Dr. Justus Diller möchte ich für die hervorragende Arbeitsatmosphäre. Ohne ihre Hilfe wäre ich in meinem Studium nicht zurecht gekommen. Für die stilistische Verbesserung dieser Arbeit hat Herr Frank Gellern gesorgt, dem ich ein besonderes Dankeschön schulde. Er hat sich Mühe gegeben, um in etwas kurzer Zeit diese Arbeit durchzulesen. An dieser Stelle möchte ich Frau Dagmar Pfeffer großen Dank dafür aussprechen, daß ich mich in die fremde Lebensart gut habe einleben können.

In der letzten viereinhalb Jahren haben mich meine koreanische Freunde trotz der Entfernung geistig unterstützt. Sie haben mir beigebracht, mitmenschlich zu denken und zu leben.

Es sind noch viele Druckfehler vorhanden. Obwohl ich versucht habe, gutes Deutsch zu schreiben, stellte es sich als eine Überforderung dar. Ich bitte darum, an manchen Stellen mit Flexibilität zu lesen.

Inhaltsverzeichnis

1 Einführung in den getypten λ-Kalkül 1 1.1 λ→-Curry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 λ→-Church . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Repräsentierbarkeit in λ→-Church . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 PTSs und der λ-Würfel 13 2.1 Pure Type Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Die Church-Rosser-Eigenschaft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 Eigenschaften von PTSs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 Beispiele von PTSs und der λ-Würfel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 Der Curry-Howard-Isomorphismus 45 3.1 Logiksysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2 Der Curry-Howard-Isomorphismus und CC . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 Starke Normalisierbarkeit von λP2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3.1 Eigenschaften des λ-Würfels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.3.2 λ2 ⊧ SN_{β} ⟹ λP2 ⊧ SN_{β} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.3.3 λ2 ⊧ SN_{β} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4 Repräsentierbarkeit im λ-Würfel 78 4.1 Die Ackermann-Pétersche Funktion in λ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.2 Konservativität innerhalb des λ-Würfels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.3 Nichtkonservativität von λPω über λP2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4.3.1 Einbettung von HAH in den λ-Würfel . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.3.2 Arithmetisierung des λ-Würfels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.3.3 Konsistenz von λP2 + CON in HAH . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.3.4 Zweiter Gödelscher Unvollständigkeitssatz in λP2 + CON . . . . . . . . . . . . . . 116

4.4 Charakterisierung von repräsentierbaren Funktionen . . . . . . . . . . . . . . . . . . . . . 124

Literaturverzeichnis 127

Zusammenfassung 129

Kapitel 1

Einführung in den getypten λ-Kalkül

Es ist allgemein bekannt, daß der ungetypte λ-Kalkül im Hinblick auf die Repräsentierbarkeit der arithmetischen Funktionen mit der Rekursionstheorie in einer sehr engen Beziehung steht. Es ist z.B ein klassischer Satz, daß es für jede partiell rekursive Funktion f : ℕ^{n} ⟶_{p} ℕ, ℕ die Menge der natürlichen Zahlen und n ≥ 1, einen Term M gibt, der diese Funktion f darstellt, s.[1, Kap.6]. Dennoch hat dieses System einen großen Nachteil, der leider zu Paradoxa führt. Verantwortlich dafür ist die ,,Selbstanwendung”.

1.1 Beispiel N sei ein Kombinator, der den Negationsbegriff repraßentiert. Man setze

W :≡ λxy.xyy, B :≡ λxyz.x(yz), F :≡ W (BN) .

Dann gilt F F ≡ W (BN)F ↠_{β} BNF F ↠_{β} N(F F) .

(F F) ist genau dann wahr, wenn (F F) nicht wahr ist, s. [10]. Um u.a. solchen Widerspruch zu vermeiden, wurde ein anderes System von λ-Kalkülen eingeführt. Der erste, der daran gearbeitet hat, ist H.B. Curry. In seinen Arbeiten hat er das einfachste System mit sog. Typen eingeführt, das man λ →-Curry nennt. Dabei wurden Typen eingeführt, in denen sozusagen die Terme leben sollen. Damit wurde natürlich Russell’s Paradoxon vermieden, weil dabei die Selbstanwendung nicht erlaubt ist. Ein anderer Vorteil, den diese Einschränkung mit sich gebracht hat, war für die theoretische Informatik sehr wichtig. Dieses System wurde eine fundamentale Basis für sog. ,,funktionale Programmiersprachen“, da in diesem System die Typenzuordnung für einen Term entscheidbar ist. Dabei heißt ,,Entscheidbarkeit”, daß es entscheidbar ist, ob ein Term in einer Welt (= Typ) lebt oder nicht. Genauer s. z.B. [3, Abschnitt 4.4]. Man schreibt ⊢ M : σ dafür, daß der Term M in der Welt σ lebt: Der Typ σ wird dem Term M zugeordnet. Wir fangen zunächst mit zwei einfachen Systemen λ→-Curry und λ→-Church an.

1.1 λ→-Curry

In [10] und [11] wurde Γ ⊢ M : σ definiert, wobei Γ die Welten der freien Variablen bestimmt. Sei 𝕍_{cu} eine abzählbar unendliche Variablenmenge, die wir als vorgegeben voraussetzen werden.

1.1.1 Definition (Induktive Definition der Typen in λ→-Curry)

𝕋_{cu} ::= 𝕍_{cu} | (𝕋_{cu} → 𝕋_{cu})

2 Kapitel 1. Einführung in den getypten λ-Kalkül

Dabei ist die Definition von 𝕋_{cu} abstrakt abgekürzt worden. Man soll sie folgendermaßen verstehen: Die Variablen α, α′, … sind Typen, und mit σ, τ ist auch (σ → τ) ein Typ. Die Variablen heißen Typenvariablen und die Typen der Gestalt (σ → τ) Funktionaltypen. Informal interpretiert ist der Typ (σ → τ) eine Menge von Funktionen von σ nach τ. Man kann sich auch die Variablenmengen 𝕍_{cu} wie folgt induktiv definiert vorstellen:

𝕍_{cu} ::= α | 𝕍′_{cu}

Solche Definitionen werden wir immer wieder benutzen, weil sie so kompakt sind. Bei der Notation von Funktionaltypen folgt die Klammerungsregel der Assoziation nach rechts:

σ_{1} → σ_{2} → ⋯ → σ_{n} := (σ_{1} → (σ_{2} → ⋯ (σ_{n−1} → σ_{n}) ⋯))

Als syntaktische Variablen für Typen stehen die griechischen Buchstaben α, β, γ usw. zur Verfügung.

1.1.2 Definition (λ→-Curry) Λ ist die Menge aller typenfreien λ-Terme.

(1) M : σ heißt eine Zuordnung, falls M ∈ Λ und σ ∈ 𝕋_{cu} sind. Dabei heißt M das Subjekt und σ das Prädikat dieser Zuordnung.

(2) Eine Deklaration ist eine Zuordnung mit einer Variable als ihr Subjekt.

(3) Eine Basis ist eine endliche Menge von Deklarationen, wobei die Subjekte (Variablen) paarweise verschieden sind.

(4) Eine Pseudoaussage hat die Gestalt Γ ⊢ M : σ, wobei Γ eine Basis, M ∈ Λ und σ ∈ 𝕋_{cu} sind.

(5) Sei Γ := {x_{1} :σ_{1}, …, x_{n}:σ_{n}} eine Basis.

(a) dom(Γ) := {x_{1}, …, x_{n}} und Γ(x_{i}) := σ_{i} .

(b) Ist V_{0} ⊆ 𝕍_{cu}, so sei Γ↾V_{0} := {x : σ | x ∈ V_{0} ∩ dom(Γ) und σ = Γ(x)} .

(c) Γ, y:σ := Γ ∪ {y:σ}, wobei y ∉ dom(Γ) .

1.1.3 Bemerkung

(1) Es sei angemerkt, daß die Reihenfolge der Elemente einer Basis unwichtig ist. Man betrachtet Basen nur als endliche Mengen von Deklarationen. Wenn man später verallgemeinerte getypte λ-Systeme betrachtet, wird dies anders sein, s. Kapitel 2.

(2) Auf Λ sind die Relationen →_{β}, ↠_{β}, =_{β} standardmäßig definiert, s. [1].

1.1.4 Definition

(1) Rekursive Definition von σ [α := τ] für α ∈ 𝕍_{cu}, σ, τ ∈ 𝕋_{cu} .

\begin{aligned}α [α := τ] & := & τ für α ∈ 𝕍_{cu} \\ β [α := τ] & := & β für β ∈ 𝕍_{cu} & α ≢ β \\ (μ → ν) [α := τ] & := & (μ [α := τ] → ν [α := τ]) \end{aligned}

(2) Ist Γ = {x_{1} :σ_{1}, …, x_{n}:σ_{n}} , so sei

Γ [α := τ] := {x_{1} :σ_{1} [α := τ], …, x_{n}:σ_{n} [α := τ]} .

1.1. λ→-Curry 3

1.1.5 Definition Der Typenzuordungskalkül von λ→-Curry.

(V ar) Γ ⊢_{cu} x : σ  für x:σ ∈ Γ
(App) \begin{matrix}Γ ⊢_{cu} M : (σ → τ) Γ ⊢_{cu} N : σ \\ Γ ⊢_{cu} (MN) : τ \end{matrix}
(λ)  \begin{matrix}Γ, x:σ ⊢_{cu} M : τ \\ Γ ⊢_{cu} (λx.M) : (σ → τ) \end{matrix}

Die Aussagen Γ ⊢_{cu} M : σ, die nach diesen drei Regeln herleitbar sind, heißen legal. Ein Term M mit ∃Γ, σ [Γ ⊢_{cu} M : σ legal] heißt legal oder typbar.

1.1.6 Bemerkung Wenn eine Variable einmal durch λ gebunden wird, verliet sie ihre Identität. Terme, die bis auf gebundene Umbenennung identisch sind, werden als identisch betrachtet, s. [1, Anhang]. Insbesondere wird o.B.d.A. angenommen, daß die gebundenen und freien Variablen eines Terms paarweise verschieden sind. Dadurch wird die Einsetzbarkeit eines Terms in den anderen Term immer erreicht. Allgemein kann man folgendes zeigen: Sei 𝕍_{fin} ⊆ 𝕍_{cu} endlich.

∀M ∈ Λ∃N ∈ Λ [ M ≡_{α} N & BV (N)∩ = ∅]

1.1.7 Beispiel Seien σ, τ ∈ 𝕋_{cu} .

(1) Sei Γ := {y:σ → τ, z:σ, b:τ} und Γ_{0} := {y:σ → τ, z:σ}.

\begin{matrix}Γ ⊢_{cu} z : σ \\ Γ_{0} ⊢_{cu} λb.z : τ → σ \end{matrix} \begin{matrix}Γ_{0} ⊢_{cu} y : σ → τ Γ_{0} ⊢_{cu} z : σ \\ Γ_{0} ⊢_{cu} (yz) : τ \end{matrix} ; \begin{matrix}Γ_{0} ⊢_{cu} ((λb.z)(yz)) : σ \\ y:σ → τ ⊢_{cu} λz.((λb.z)(yz)) : σ → σ \end{matrix} ; ⊢_{cu} λyz.((λb.z)(yz)) : (σ → τ) → σ → σ

(2) Seien Γ := {y:τ, z:σ} und Γ_{0} := {y:τ}.

\begin{matrix}Γ ⊢_{cu} z : σ \\ Γ_{0} ⊢_{cu} λz.z : σ → σ \end{matrix} ; ⊢_{cu} λyz.z : τ → σ → σ

Auf den ersten Blick könnte alles etwas unverständlich aussehen. Aber wie man im Beispiel 1.1.7 sieht, ist es ganz logisch, wenn man z.B. den Term M vom Typ σ → τ als eine Funktion von der Welt σ in die Welt τ betrachtet. Man wird diese Interpretation später viel besser verstehen können, wenn man in diesem System einige Terme sieht, die elementare arithmetische Funktionen darstellen.

Die Eigenschaften, die im folgenden ohne Beweise aufgelistet werden, sind zum Teil sehr elementar. Aber nicht nur deswegen sind die Beweise weggelassen worden, sondern auch, weil man sie später in viel allgemeinerer Weise beweisen wird. Einige Eigenschaften sind einfach erwähnt, ohne man weiter darauf eingeht. Der Grund dafür ist, daß man zum einen ein ganz anderes Ziel verfolgt. Zum anderen verlangen sie eigene Forschung. Man sei auf die angegebene Literatur hingewiesen.

• Gelten Γ ⊆ Γ′, Γ′ eine Basis und Γ ⊢_{cu} M : σ . Dann gilt Γ′ ⊢_{cu} M : σ .

• (Variablenbedingung) Γ ⊢_{cu} M : σ ⟹ F V (M) ⊆ dom(Γ) .

• Γ ⊢_{cu} M : σ ⟹ Γ↾F V (M) ⊢_{cu} M : σ .

• (Stripping)

– Γ ⊢_{cu} x : σ ⟹ x:σ ∈ Γ .

– Γ ⊢_{cu} (MN) : τ ⟹ ∃σ [Γ ⊢_{cu} M : σ → τ & Γ ⊢_{cu} N : σ] .

– Γ ⊢_{cu} λx.M : ρ ⟹ ∃σ, τ [Γ, x:σ ⊢_{cu} M : τ & ρ ≡ (σ → τ)] .

• Gelte Γ ⊢_{cu} M : σ und sei M′ ein Subterm von M. Dann gilt ∃Γ′, σ′ [Γ′ ⊢_{cu} M′ : σ′] .

• (Substitution) Sei α ∈ 𝕍_{cu}, σ, τ ∈ 𝕋_{cu} .

– Γ ⊢_{cu} M : σ ⟹ Γ [α := τ] ⊢_{cu} M : σ [α := τ] .

– [Γ, x:σ ⊢_{cu} M : τ & Γ ⊢_{cu} N : σ] ⟹ Γ ⊢_{cu} M [x := N] : τ .

• (Subjektreduktion, SR_{β}) [M ↠_{β} M′ & Γ ⊢_{cu} M : σ] ⟹ Γ ⊢_{cu} M′ : σ .

• (Starke Normalisierbarkeit, SN_{β}) Jeder legale Term ist stark normalisierbar:

λ→ -Curry ⊧ SN_{β}

• (Entscheidbarkeit der Typbarkeit) Für einen vorgegebenen Term M ist die Frage, ob es eine Basis Γ und einen Typ σ gibt so, daß Γ ⊢_{cu} M : σ gilt, entscheidbar, s. [3, Seiten 182-191]

Es ist klar, daß SN_{β} nicht einfach zu zeigen ist. Später werden wir SN_{β} viel allgemeiner zeigen können. Verschiedene direkte Beweise finden sich z.B. in [3, 24].

1.1.8 Bemerkung Man sollte in Beispiel 1.1.7 bemerkt haben, daß λ→-Curry nicht mit β-Konversion kompatibel ist. Sei τ eine Typenvariable. Dann gilt ⊬_{cu} λyz.(λb.z)(yz) : τ → σ → σ . Begründung: Gelte ⊢_{cu} λyz.((λb.z)(yz)) : τ → σ → σ .

⟹ y:τ ⊢_{cu} λz.((λb.z)(yz)) : σ → σ  (Stripping)
⟹ y:τ, z:σ ⊢_{cu} (λb.z)(yz) : σ  (Stripping)
⟹ ∃ρ [y:τ, z:σ ⊢_{cu} λb.z : ρ → σ & y:τ, z:σ ⊢_{cu} (yz) : ρ] (Stripping)
⟹ ∃ρ [ τ ≡ σ → ρ],  (Stripping)

was nicht wahr ist. □

1.2 λ→-Church

Wie vorher erwähnt wurde, ist ein Vorteil des Systems λ →-Curry die Entscheidbarkeit der Typenzuordnung. Dies wird nicht immer der Fall sein. Wenn man eine kleine, aber wesentliche Änderung beim Termaufbau macht, wird die Sache viel klarer. Man betrachtet z.B. (λx:σ.λy:τ.x) statt (λxy.x).

1.2.1 Definition Die Menge Λ_{ch} der Pseudoterme wird wie folgt induktiv definiert:

Λ_{ch} ::= 𝕍 | (Λ_{ch}Λ_{ch}) | (λ𝕍:𝕋_{ch}.Λ_{ch}) ,

wobei 𝕋_{ch} wie folgt induktiv definiert ist:

𝕋_{ch} ::= 𝕍_{ch} | (𝕋_{ch} → 𝕋_{ch})

Dabei ist 𝕍_{ch} eine abzählbar unendliche Typenvariablenmenge und 𝕍 eine abzählbar unendliche, von 𝕍_{ch} disjunkte Termvariablenmenge, die wie 𝕍_{ch} als vorgegeben vorausgesetzt ist.

1.2. λ→-Church 5

1.2.2 Definition

(1) Induktive Definition von F V (M) und BV (M) für M ∈ Λ_{ch} .

\begin{matrix}F V (x) := & \{x\} \\ F V (MN) := & F V (M) ∪ F V (N) \\ F V (λx : σ.M) := & F V (M)\\{x\} \end{matrix}

\begin{matrix}BV (x) := & ∅ \\ BV (MN) := & BV (M) ∪ BV (N) \\ BV (λx : σ.M) := & BV (M) ∪ \{x\} \end{matrix}

(2) Rekursive Definition von M [x := N] für x ∈ 𝕍, M, N ∈ Λ_{ch} .

x [x := N] := N
y [x := N] := y, falls y ≢ x
(ML) [x := N] := ((M [x := N])(L [x := N]))
(λy : σ.M) [x := N] := λy : σ.(M [x := N]), falls x ≢ y & BV (λy : σ.M) ∩ F V (N) = ∅ .

(3) Die zweistelligen Relationen →_{β}, ↠_{β}, =_{β} auf der Menge Λ_{ch} werden folgendermaßen definiert. (Obwohl alle Definitionen neu sind, benutzen wir dieselben Bezeichnungen, ds Verwechslungen ausgeschlossen sind.)

\begin{aligned}((λx : σ.M)N) & →_{β} & M [x := N] \\ M →_{β} L & ⟹ & (λx : σ.M) →_{β} (λx : σ.L) \\ M →_{β} L & ⟹ & (MN) →_{β} (LN) \\ M →_{β} L & ⟹ & (NM) →_{β} (NL) \end{aligned}

↠_{β} ist dann der reflexive und transitive Abschluß von →_{β} und =_{β} die kleinste Äquivalenzrelation, die ↠_{β} enthält.

Was Variablenbedingung von Termen angeht, folgen wir der Bemerkung 1.1.6, die natürlich dementsprechend modifiziert werden soll. Die Begriffe Zuordnung, Basen, Aussagen usw. werden denen in λ→-Curry entsprechend definiert, wobei Λ durch Λ_{ch} ersetzt wird.

1.2.3 Definition Der Typenzuordnungkalkül von λ→-Church.

(V ar) Γ ⊢_{ch} x : σ  für x:σ ∈ Γ
(App) \begin{matrix}Γ ⊢_{ch} M : σ → τ Γ ⊢_{ch} N : σ \\ Γ ⊢_{ch} (MN) : τ \end{matrix}
(λ)  \begin{matrix}Γ, x:σ ⊢_{ch} M : τ \\ Γ ⊢_{ch} λx:σ.M : σ → τ \end{matrix}

Die Aussagen Γ ⊢_{ch} M : σ, die nach dieser Definition herleitbar sind, heißen legal oder typbar.

1.2.4 Beispiel

(1) ⊢_{ch} λx:σ.x : σ → σ .

(2) ⊢_{ch} λy:τ.λz:σ.z : τ → σ → σ .

(3) (λy:τ.λz:σ.z)yz →_{β} (λz:σ.z)z →_{β} z . Wie für λ→-Curry werden wir im folgenden elementare Eigenschaften einfach erwähnen.

• (Church-Rosser-Eigenschaft, CR_{β}) [ M, N ∈ Λ_{ch} & M =_{β} N ] ⟹ ∃L [ M ↠_{β} L & N ↠_{β} L] .

• Gelten Γ′ ⊇ Γ, Γ′ eine Basis und Γ ⊢_{ch} M : σ , dann Γ′ ⊢_{ch} M : σ .

• (Variablenbedingung) Γ ⊢_{ch} M : σ ⟹ F V (M) ⊆ dom(Γ) .

• Γ ⊢_{ch} M : σ ⟹ Γ↾F V (M) ⊢_{ch} M : σ .

• (Stripping)

– Γ ⊢_{ch} x : σ ⟹ x:σ ∈ Γ .

– Γ ⊢_{ch} (MN) : τ ⟹ ∃σ ∈ 𝕋_{ch} [ Γ ⊢_{ch} M : σ → τ & Γ ⊢_{ch} N : σ] .

– Γ ⊢_{ch} λx : σ.M : ρ ⟹ ∃τ ∈ 𝕋_{ch} [ ρ ≡ (σ → τ) & Γ, x:σ ⊢_{ch} M : τ ] . Wenn man dieses Lemma mit dem für λ →-Curry vergleicht, bemerkt man einen kleinen Unterschied zwischen beiden Systemen. Aber wie wir gleich sehen werden, ist dieser nicht allzu groß.

• Γ ⊢_{ch} M : σ & M′ ein Subterm von M ⟹ ∃Γ′, ∃σ′ ∈ 𝕋_{ch} [ Γ′ ⊢_{ch} M′ : σ′] .

• (Substitution) Sei α ∈ 𝕍_{cu}, τ ∈ 𝕋_{ch}, M ∈ Λ_{ch} .

– Γ ⊢_{ch} M : σ ⟹ Γ [α := τ] ⊢_{ch} M [α := τ] : σ [α := τ] .

– [ Γ, x:σ ⊢_{ch} M : τ & Γ ⊢_{ch} N : σ] ⟹ Γ ⊢_{ch} M [x := N] : τ . Der Term M [α := τ] geht aus M hervor, indem man alle Auftreten der Typenvariablen α durch τ ersetzt.

• (Subjektreduktion) [M ↠_{β} M′ & Γ ⊢_{ch} M : σ] ⟹ Γ ⊢_{ch} M′ : σ . 1.2.5 Bemerkung

(1) Anders als in λ →-Curry gilt in λ →-Church die Subjektkonversion. Einen Beweis werden wir später in Bemerkung 2.4.12 kennenlernen. (Die zwei Terme aus dem Beispiel 1.1.7 sind nicht mehr β-äquivalent, wenn sie in λ→-Church übersetzt werden)

(2) Ein anderer Unterschied zu λ →-Curry ist die Eindeutigkeit der Typenzuordnung, die dort nicht galt, wie man es im Beispiel 1.1.7 feststellen kann:

(a) [Γ ⊢_{ch} M : σ & Γ ⊢_{ch} M : σ′] ⟹ σ ≡ σ′

(b) [ Γ ⊢_{ch} M : σ & Γ ⊢_{ch} M′ : σ′ & M =_{β} M′] ⟹ σ ≡ σ′ Begründung: (a) läßt sich einfach durch Induktion nach dem Termaufbau von M zeigen. Daraus folgt (b) mit CR_{β} und Subjektreduktion. □

1.3. Repräsentierbarkeit in λ→-Church 7

Es wurde im vorangegangenen Paragraphen erwähnt, daß das System λ →-Curry die Eigenschaft SN_{β} besitzt. Dieselbe Eigenschaft besitzt auch das System λ→-Church. Die Entscheidbarkeit der Typbarkeit gilt auch genauso.

1.2.6 Definition Rekursive Definition der Funktion | − | : Λ_{ch} ⟶ Λ .

\begin{matrix}|x| := & x \\ |(MN)| := & (|M||N|) \\ |(λx:σ.M)| := & (λx.|M|) \end{matrix}

Die Funktion | − | läßt alle Typenverzierungen eines Terms in Λ_{ch} weg.

1.2.7 Lemma

(1) [ M ∈ Λ_{ch} & Γ ⊢_{ch} M : σ] ⟹ Γ ⊢_{cu} |M| : σ .

(2) [ N ∈ Λ & Γ ⊢_{cu} N : σ] ⟹ ∃M ∈ Λ_{ch} [ Γ ⊢_{ch} M : σ & |M| ≡ N ] .

Beweis. Triviale Induktion nach den vorgegebenen Herleitungen liefert den Beweis. □

1.2.8 Korollar λ→-Curry ⊧ SN_{β} ⟺ λ→-Church ⊧ SN_{β} .

1.3 Repräsentierbarkeit in λ→-Church

In den vorangegangenen Paragraphen wurden zwei einfache Systeme des getypten Lambdakalküls eingeführt, die sich nicht wesentlich voneinander unterscheiden. Die Fragen, die sich dann automatisch erheben, sind, welche Eigenschaften sie besitzen und wie stark sie sind. Einige Eigenschaften sind bereits kurz erwähnt worden. Man hat auch gesehen, daß sie im Hinblik auf den (legalen) Termaufbau dem Lambdakalkül gegenüber sehr schwach sind. Im Gegensatz dazu gibt es etliche große Vorteile, von denen die Idee des Curry-Howard-Isomorphismus und die Anwendbarkeit auf das Gebiet ,,Funktionale Programmiersprache” die größte Vorteile sind. Wie ist es mit der Repräsentierbarkeit von arithmetischen Funktionen? Der Lambdakalkül ist so stark, daß sich genau die partiell rekursiven Funktionen durch geeignete geschlossene Terme darstellen lassen. In [32] hat H. Schwichtenberg gezeigt, welche arithmetischen Funktionen in λ→-Church durch (geschlossene) Terme repräsentierbar sind. Dabei wurde die Repräsentierbarkeit etwas anders als im folgenden definiert. Diese Änderung ist nötig, um vermeintliche Fehler zu verhindern, s. Bemerkung 1.3.3. Die Vorgehensweise ist sehr ähnlich, aber die konkreten Vorgänge sind anders, was wegen anderen Definitionen selbstverständlich ist. Der erste Schritt ist die formale Definition der Repräsentierbarkeit einer arithmetischen Funktion. Dazu sei die Typenvariable o ausgezeichnet, die von jetzt an als eine spezielle Typenkonstante betrachtet wird.

1.3.1 Definition Den Typ (= die Welt) der natürlichen Zahlen definiert man als

o → (o → o) → o =: N .

Notation Für n ≥ 1 sei N^{n} → N := \underbrace{N → ⋯ → N}_{n−mal} → N .

Den Grund, wieso man den Typ N die Welt der natürlichen Zahlen nennt, sieht man an der Definition der Churchschen Numerale c_{n} in Λ:

c_{n} := λxf.f^{n}(x) für n ∈ ℕ ,

wobei f^{n} für die n-fache Iteration von f steht: c_{0} ≡ λxf.x, c_{1} ≡ λxf.f(x), c_{2} ≡ λxf.f(f(x)) usw. Eine kleine Modifikation macht die Intention klarer:

\underline{n} := λx:o.λf:o → o.f^{n}(x) .

Durch Induktion nach n kann man ⊢_{ch} \underline{n} : N zeigen. Dieser Typ N hat eine wichtige Eigenschaft:

1.3.2 Lemma Jeder geschlossene Term vom Typ N in β-nf ist ein Numeral.

Beweis. Wie im Lambdakalkül ist es klar, daß jeder geschlossene Term in β-nf eine λ-Abstraktion ist. Gelte ⊢_{ch} M : N. Dann existiert nach Stripping ein Subterm N von M mit

M ≡ λx:o.N & x:o ⊢_{ch} N : (o → o) → o .

Ferner ist N in β-nf, daher hat N wegen Typbarkeit die Gestalt N ≡ λf : o → o.N_{0} . Weiter gilt nach Stripping x:o, f:o → o ⊢_{ch} N_{0} : o . Dann reicht es zu zeigen: Sei L ∈ Λ_{ch} .

[ x:o, f:o → o ⊢_{ch} L : o & L in β -nf ] ⟹ ∃n ∈ ℕ [L ≡ f^{n}(x) ]

Der Beweis wird durch Induktion nach dem Termaufbau von L geführt; es ist nach Stripping klar, daß L keine Abstraktion ist. Falls L eine Variable ist, so gilt L ≡ x wegen Variablenbedingung. Es folgt die Behauptung. Habe L die Gestalt L ≡ P Q . Da L in β-nf ist, hat P die Gestalt P ≡ yP_{1} ⋯ P_{l}. Wegen Variablenbedingung gilt y ≡ f & l = 0 . Die Behauptung folgt nun mit der I.V. □

1.3.3 Bemerkung A. Church selbst und H. Schwichtenberg haben die Numerale und den Typ N etwas anders definiert. Die ursprünglichen Definitionen lauten:

N := (o → o) → o → o & \underline{n} := λf:o → o.λx:o.f^{n}(x)

Mit diesen Definitionen hätte man das obige Lemma ändern müssen, weil der Term λf : o → o.f auch ein geschlossener Term vom Typ N ist.

Wir definieren nun die Repräsentierbarkeit einer arithmetischen Funktion.

1.3.4 Definition Eine Funktion f : ℕ^{n} ⟶ ℕ, n ∈ ℕ, ist in λ→-Church repräsentierbar, falls es einen geschlossenen (legalen) Term M vom Typ N^{n} → N gibt, so daß gilt:

∀m_{1}, …, m_{n} ∈ ℕ [ f(m_{1}, …, m_{n}) = l ⟺ M \underline{m_{1}} ⋯ \underline{m_{n}} =_{β} \underline{l}]

Diese Definition ist äquivalent zu

∀m_{1}, …, m_{n} ∈ ℕ [ f(m_{1}, …, m_{n}) = l ⟺ M\underline{m_{1}} ⋯ \underline{m_{n}} ↠_{β} \underline{l}] ,

weil CR_{β} gilt und \underline{l} in β-nf steht. Nach Lemma 1.3.2 folgt, daß jeder geschlossene Term vom Typ N^{n} → N eine n-stellige Funktion repräsentert. Es gelten SN_{β} und CR_{β} , die die Existenz und die Eindeutigkeit der β-Normalform eines Terms garantieren.

Notation Im folgenden werden α, β, γ … als die syntaktischen Variablen vom Typ N verwendet. Es wird aber keine Verwechslung mit der vorherigen Festlegung geben, sie als die syntaktischen Variablen zu gebrauchen.

1.3.5 Beispiel

(1) Addition:

\begin{aligned}A_{+} & := & λα:N .λβ:N .λx:o.λf:o → o.(β(αxf)f) \\ & ⟹ ⊢_{ch} A_{+} : N^{2} → N & ∀m, n ∈ ℕ [ A_{+}\underline{m} \underline{n} ↠_{β} \underline{m + n}] \end{aligned}

(2) Multiplikation:

\begin{aligned}A_{∗} & := & λα:N .λβ:N .λx:o.λf:o → o.(βx(λx:o.(αxf))) \\ & ⟹ ⊢_{ch} A_{∗} : N_{2} → N & ∀m, n ∈ ℕ [ A_{∗}\underline{m} \underline{n} ↠_{β} \underline{m · n}] \end{aligned}

(3) Konstante Funktionen: Für n ∈ ℕ

\begin{aligned}A_{n} & := & λα:N .λx:o.λf:o → o.f^{n}(x) \\ & ⟹ ⊢_{ch} A_{n} : N → N & ∀m ∈ ℕ [ A_{n}\underline{m} ↠_{β} \underline{n}] \end{aligned}

(4) Fallunterscheidung: d(m, n, i) := \{ \begin{matrix}m & für i = 0 \\ n & für i ≠ 0 \end{matrix}

\begin{aligned}A_{d} & := & λα:N .λβ:N .λγ:N .λx:o.λf:o → o.γ(αxf)(λy:o.βxf) \\ & ⟹ ⊢_{ch} A_{d} : N^{3} → N & ∀m, n, l ∈ ℕ \{ \begin{matrix}A_{d}\underline{m} \underline{n} \underline{0} ↠_{β} \underline{m} \\ A_{d}\underline{m} \underline{n} \underline{l + 1} ↠_{β} \underline{n} \end{matrix} \end{aligned}

(5) Projektionen: Für n ∈ ℕ\{0} und i ∈ {1, …, n}

\begin{aligned}P_{i}^{n} & := & λα_{1} :N . · · · .λα_{n}:N .α_{i} \\ & ⟹ ⊢_{ch} P_{i}^{n} : N^{n} → N & ∀m⃗ ∈ ℕ^{n} [ P_{i}^{n}\underline{m_{1}} ⋯ \underline{m_{n}} ↠_{β} \underline{m_{i}}] \end{aligned}

Beweis. Wir demonstrieren nur den Fall der Multiplikation.

A_{∗}\underline{m} \underline{n} ≡ (λα:N .λβ:N .λx:o.λf:o → o.(αx(λy:o.(βyf))))\underline{m} \underline{n}
↠_{β} λx:o.λf:o → o.(\underline{m} x(λy:o.(\underline{n} yf))
↠_{β} λx:o.λf:o → o.(\underline{m} x(λy:o.f^{n}(y)))
→_{β} λx:o.λf:o → o. \underbrace{I_{n}(⋯ (I_{n}}_{m−mal}(x)) ⋯), wobei I_{n} := λy:o.f^{n}(y)
↠_{β} λx:o.λf:o → o.f^{m·n}(x) ≡ \underline{m · n}

Die letzte Reduktion kann man leicht durch Induktion nach m zeigen. □

Damit ist zunächst klar, daß sich alle Polynome repräsentieren lassen. Weiter gilt der folgende Satz.

1.3.6 Satz Die Menge der repräsentierbaren Funktionen ist abgeschlossen gegen Einsetzung. Allgemein sind alle Funktionen repräsentierbar, die aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert sind.

Beweis. Seien f eine m-stellige und g_{1}, …, g_{m} n-stellige repräsentierbare Funktionen. M, N_{1}, …, N_{m} sei gegeben, die sie repräsentieren. Die Funktion h : ℕ^{n} ⟶ ℕ mit ∀x⃗ ∈ ℕ^{n} [ h(x⃗) = f(g_{1}(x⃗), …, g_{m}(x⃗))] wird dann durch den Term

L ≡ λα_{1} :N . · · · .λα_{n}:N .(M(N_{1}α_{1} ⋯ α_{n}) ⋯ (N_{m}α_{1} ⋯ α_{n}))

repräsentiert.

Um zu zeigen, daß die aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definierten Funktionen auch repräsentierbar sind, reicht der folgende Spezialfall aus. Eine einfache Verallgemeinerung bringt gewünschte Terme für allgemeine Fälle. Sei f : ℕ^{2} ⟶ ℕ wie folgt definiert:

f(m, n) = \{ \begin{matrix}l & für m = 0 = n \\ P_{1}(n) & für m = 0 & n ≠ 0 \\ P_{2}(m) & für m ≠ 0 & n = 0 \\ P_{3}(m, n) & sonst \end{matrix}

wobei P_{i} Polynome sind. Daß f definierbar ist, sieht man im folgen ein:

f(m, n) = \begin{matrix}l · d(1, 0, m) · d(1, 0, n) \\ + P_{1}(n) · d(1, 0, m) · d(0, 1, n) \\ + P_{2}(m) · d(0, 1, m) · d(1, 0, n) \\ + P_{3}(m, n) · d(0, 1, m) · d(0, 1, n) , \end{matrix}

woraus man einen entsprechenden Term konstruieren kann. □

Unser Ziel ist zu zeigen, daß die Rückrichtung auch gilt. Die repräsentierbaren Funktionen sind aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert. Die folgenden Lemmata werden dazu benötigt.

1.3.7 Lemma Sei Γ_{r} := {α: N , β: N , x: o, y_{1} : o, …, y_{r}: o}, r ∈ ℕ. Gilt Γ_{r} ⊢_{ch} N : o, N in β-nf, dann kann man den Term N folgendermaßen charakterisieren:

(1) N ≡ z ∈ {x, y_{1}, …, y_{r}} oder

(2) N ≡ γL_{0}(λy_{r+1} :o.N_{0}) mit γ ∈ {α, β} & Γ_{r} ⊢_{ch} L_{0} : o & Γ_{r+1} ⊢_{ch} N_{0} : o & N_{0}, L_{0} in β-nf .

Beweis. Sicherlich ist N keine Abstraktion. N ist entweder eine Variable, die wegen der Variablenbedingung aus {x, y_{1}, …, y_{r}} ist, oder eine Applikation γL_{1} ⋯ L_{m}, m ≥ 2, L_{i} in β-nf, wobei γ wegen Variablenbedingung α oder β ist. Es gilt daher m = 2 & Γ_{r} ⊢_{ch} L_{0} : o & Γ_{r} ⊢_{ch} L_{1} : o → o . Da L_{1} in β-nf ist, gilt wegen Variablenbedingung L_{1} ≡ λy_{r+1} :o.N_{0} mit Γ_{r+1} ⊢_{ch} N_{0} : o . □

1.3.8 Lemma Sei Γ_{r} := {α:N , β:N , x:o, y_{1} :o, …, y_{r}:o}, r ∈ ℕ. Gilt Γ_{r} ⊢_{ch} M : o, M in β-nf, dann hat man:

M [α := \underline{m}] [β := \underline{n}] ↠_{β} z & z ∈ \{x, y_{1}, …, y_{r}\}

Beweis. Nach Lemma 1.3.7 kann man durch Induktion nach dem Termaufbau von M argumentieren. Setze L^{∗} ≡ L [α := \underline{m}] [β := \underline{n}] für L ∈ Λ_{ch}.

• M ≡ z ∈ {x, y_{1}, …, y_{l}}. Dann ist die Behauptung trivial.

• M ≡ γM_{0}(λy_{r+1} :o.M_{1}) mit Γ_{r} ⊢_{ch} M_{0} : o & Γ_{r+1} ⊢_{ch} M_{1} : o . Sei o.E. γ ≡ α .

M^{∗} ≡ \underline{m}M_{0}^{∗}(λy_{r+1} :o.M_{1}^{∗})
↠_{β}^{IV} (λx:o.λf:o → o.f^{m}(x))z_{0}(λy_{r+1} :o.z_{1})
mit z_{0} ∈ {x, y_{1}, …, y_{r}} und z_{1} ∈ {x, y_{1}, …, y_{r+1}}
↠_{β} (λy_{r+1} :o.z_{1})^{m}(z_{0})
↠_{β} \{ \begin{matrix}z_{0} , & m = 0 \\ z_{1} , & m ≠ 0 & y_{r+1} ≢ z_{1} \\ z_{0} , & m ≠ 0 & y_{r+1} ≡ z_{1} \end{matrix}

Das Lemma ist bewiesen worden. □

1.3.9 Lemma Sei Γ := {α: N , β: N , x: o}. Es gelte Γ ⊢_{ch} γN : (o → o) → o, γ ∈ {α, β}, wobei N in β-nf ist. Dann gilt:

(γN) [α := \underline{m}] [β := \underline{n}] ↠_{β} \{ \begin{matrix}λf:o → o.f^{m}(x) & für γ = α \\ λf:o → o.f^{n}(x) & für γ = β \end{matrix}

Beweis. Mit Stripping gilt Γ ⊢_{ch} N : o. Nach Lemma 1.3.8 gilt ferner N [α := \underline{m}] [β := \underline{n}] ↠_{β} x , was z.B. \underline{m} (N [α := \underline{m}] [β := \underline{n}]) ↠_{β} \underline{m}x →_{β} λf:o → o.f^{m}(x) impliziert. □

1.3.10 Lemma Sei Γ_{r} := {α:N , β:N , x:o, f:o → o, y_{1} :o, …, y_{r}:o} und M ein legaler Term in β-nf.

(1) Es gelte Γ_{r} ⊢_{ch} M : o . Dann läßt sich M wie folgt charakterisieren:

• M ≡ z ∈ {x, y_{1}, …, y_{r}} oder

• M ≡ fM_{0} mit Γ_{r} ⊢_{ch} M_{0} : o oder

• M ≡ γM_{1}N , γ ∈ {α, β} , mit Γ_{r} ⊢_{ch} M_{1} : o und

– N ≡ f oder
– N ≡ λy_{r+1} :o.N_{0} mit Γ_{r+1} ⊢_{ch} N_{0} : o .

(2) Es gelte Γ_{r} ⊢_{ch} M : o → o . Dann läßt sich M wie folgt charakterisieren:

• M ≡ f oder

• M ≡ λy_{r+1} :o.N_{0} mit Γ_{r+1} ⊢_{ch} N_{0} : o.

Beweis. Wir zeigen nur (1). (2) wird parallel behandelt. Nach Stripping weiß man, daß M keine Abstraktion ist. M ist eine Variable oder eine Applikation. Wegen Variablenbedingung hat man ferner M ≡ z ∈ {x, y_{1}, …, y_{r}}, falls M eine Variable ist. Ist M eine Applikation, hat M wegen Typbarkeit und Variablenbedingung die Gestalt M ≡ fM_{0} oder M ≡ γM_{1}N, γ ∈ {α, β}, da M in β-nf ist. Im Fall M ≡ γM_{1}N, γ ∈ {α, β}, gilt nach Stripping Γ_{r} ⊢_{ch} N : o → o. Dann ist die Behauptung klar wegen Typbarkeit und Variablenbedingung, da N in β-nf sein soll. □

1.3.11 Lemma Sei Γ_{r} := {α:N , β:N , x:o, f:o → o, y_{1} :o, …, y_{r}:o}, und M sei in β-nf. Dann gilt:

(1) Γ_{r} ⊢_{ch} M : o ⟹ M [α := \underline{m}] [β := \underline{n}] ↠_{β} f^{P_{0}(m,n)}(z) & z ∈ \{x, y_{1}, …, y_{r}\}.

(2) Γ_{r} ⊢_{ch} M : o → o ⟹ M [α := \underline{m}] [β := \underline{n}] ↠_{β} \{ \begin{matrix}f oder \\ λy:o.f^{P_{1}(m,n)}(z), \end{matrix}

wobei z ∈ {x, y_{1}, …, y_{r}, y} ist.

Dabei sind P_{0}, P_{1} Polynome sind.

Beweis. Durch simultane Induktion, die wegen des vorigen Lemmas möglich ist, zeigt man die Behauptung. Für L ∈ Λ_{ch} setze L^{∗} ≡ L [α := \underline{m}] [β := \underline{n}]

• M ≡ z ∈ {x, y_{1}, …, y_{r}, f}. Dann sind (1) und (2) klar wegen M^{∗} ≡ z ∈ {x, y_{1}, …, y_{r}, f} .

• M ≡ fM_{0} mit Γ_{r} ⊢_{ch} M_{0} : o. Dann folgt (1) aus der I.V. für (1).

• M ≡ λy_{r+1} :o.N_{0} mit Γ_{r+1} ⊢_{ch} N_{0} : o. Dann folgt (2) direkt aus der I.V. für (1).

• M ≡ γM_{0}M_{1} mit Γ_{r} ⊢_{ch} M_{0} : o & Γ_{r} ⊢_{ch} M_{1} : o → o. Sei o.E. γ ≡ α . Dann gilt:

M^{∗} ≡ \underline{m} M_{0}^{∗}M_{1}^{∗}
↠_{β}^{IV}  \underline{m} (f^{P_{0}(m,n)}(z_{0}))M_{1}^{∗}quad für ein Polynom P_{0} und ein z_{0} ∈ \{x, y_{1}, …, y_{r}\}
↠_{β}^{IV} \{ \begin{matrix}\underline{m} (f^{P_{0}(m,n)}(z_{0}))f oder \\ \underline{m} (f^{P_{0}(m,n)}(z_{0}))(λy:o.f^{P_{1}(m,n)}(z_{1})), \end{matrix}
für ein Polynom P_{1} und ein z_{1} ∈ {x, y_{1}, …, y_{r}, y}
↠_{β} \{ \begin{matrix}f^{m}(f^{P_{0}(m,n)}(z_{0})) oder \\ (λy:o.f^{P_{1}(m,n)}(z_{1}))^{m}(f^{P_{0}(m,n)}(z_{0})) \end{matrix}

↠_{β} \{ \begin{matrix}f^{P_{0}(m,n)}(z_{0}) & m = 0 \\ \begin{matrix}f^{P_{0}(m,n)+m}(z_{0}) oder \\ f^{P_{1}(m,n)}(z_{1}) \end{matrix} \} & für m ≠ 0 & y ≢ z_{1} \\ \begin{matrix}f^{P_{0}(m,n)+m}(z_{0}) oder \\ f^{m·P_{1}(m,n)+P_{0}(m,n)}(z_{0}) \end{matrix} \} & für m ≠ 0 & y ≡ z_{1} \end{matrix}

Das Lemma ist bewiesen worden. □

1.3.12 Satz Alle in λ →-Church repräsentierbaren Funktionen sind schon aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert.

Beweis. Man betrachte o.E. nur 2-stellige Funktionen. Ohne Probleme kann man das Verfahren und die dazu benötigten Lemmata verallgemeinern. Gelte z.B. ⊢_{ch} M : N^{2} → N und sei o.E. M in β-nf, denn es gelten SN_{β} und CR_{β} . Dann existiert wegen Variablenbedingung ein Term M_{0} mit M ≡ λα:N .M_{0} und nach Stripping gilt α:N ⊢_{ch} M_{0} : N → N . Da M_{0} in β-nf sein soll und da der Typ N → N komplexer als der Typ N ist, existiert wegen Variablenbedingung ein Term M_{1} mit M_{0} ≡ λβ: N .M_{1} . Weiter gilt nach Stripping α:N , β:N ⊢_{ch} M_{1} : N. Da M_{1} in β-nf sein soll, gibt es wegen Variablenbedingung zwei mögliche Fälle:

• M_{1} ≡ γ ∈ {α, β} oder

• ∃M_{2} [M_{1} ≡ λx:o.M_{2} & α:N , β:N , x:o ⊢_{ch} M_{2} : (o → o) → o]

Im ersten Fall ist die Behauptung klar. Betrachte nun den zweiten Fall. Es gibt auch wegen Variablenbedingung zwei Fälle: Sei Γ := ⟨ α:N , β:N , x:o ⟩ .

• ∃M_{3} [M_{2} ≡ γM_{3} & γ ∈ {α, β} & Γ ⊢_{ch} M_{3} : o] oder

• ∃M_{4} [M_{2} ≡ λf:o → o.M_{4} & Γ, f:o → o ⊢_{ch} M_{4} : o]

Im ersten Fall gilt nach Lemma 1.3.9

M\underline{m} \underline{n} =_{β} M_{1} [α := \underline{m}] [β := \underline{n}]
≡ λx:o.(M_{2} [α := \underline{m}] [β := \underline{n}])
↠_{β} \{ \begin{matrix}λx:o.λf:o → o.f^{m}(x) & für γ ≡ α \\ λx:o.λf:o → o.f^{n}(x) & für γ ≡ β \end{matrix}

M stellt auch eine der beiden Wahrheitsfunktionen dar. Der zweite Fall folgt genauso wie oben aus Lemma 1.3.11, wobei das Verschwinden oder Nichtverschwinden von Argumenten eine Rolle spielt. □

1.3.13 Bemerkung Es sei angemerkt, daß die Vorgängerfunktion nicht in λ→-Church repräsentierbar ist. Denn die Werte jeder in λ →-Church repräsentierbaren Funktion sind größergleich die Argumente, von denen die Werte der Funktion abhängt.

PTSs und der λ-Würfel

In [2] hat Barendregt den sog. λ-Würfel als eine Vervollständigung der disdahin bekannten getypten λ-Kalkülsysteme vorgestellt, indem er das System namens “The Calculus of Constructions” (= CC) von Coquand und Huet, [7], im Hinblick auf das Analysieren des Typen- und Termaufbaues untersucht. Dieser λ-Würfel besteht aus den acht getypten λ-Kalkülsystemen an jeder Ecke und gerichteten Kanten →, die die Inklusionsrelationen zwischen Systemen repräsentieren. Das stärkste System ist von Coquand und Huet, hier λPω genannt:

[figure: λ→; λP; λ\underline{ω}; λP\underline{ω}; λ2; λP2; λω; λPω; – Barendregt’s λ-Würfel –]

Alle Systeme bis auf λP\underline{ω} sind schon mit anderen Namen bekannt, aber in anderen äquivalenten Formen. Das System λ → ist äquivalent zu dem System λ →-Church. Das System λ2 ist bekannt als das polymorphische oder zweitstufige getypte λ-Kalkülsystem und ist im wesentlichen das System Girard’s F, s. [22, 23, 24]. Das System λω ist im wesentlichen das System Fω, s. [22, 23]. In diesen acht Systemen ist nur ein Typenkonstruktor vorhanden, nämlich Π. Er ist eine Verallgemeinerung von Funktionaltypen: Sind A und B Typen, ist A → B der Typ von Funktionen von A nach B. Die Idee dieser Feinstruktur von CC ist, Abhängigkeit zwischen Termen und Typen zu untersuchen:

14 Kapitel 2. PTSs und der λ-Würfel

Terme abhängig von Termen, Terme abhängig von Typen, Typen abhängig von Termen, Typen abhängig von Typen.

Die dritte Abhängigkeit entsteht, weil man im λ-Würfel Terme und Typen parallel betrachtet, was z.B. in λ→-Church und Girard’s F nicht der Fall ist. Obwohl diese Abhängigkeit in [3] mit einigen Beispielen gut erklärt ist, versuchen wir hier nochmal, die Definition von A → B durch Πx : A.B zu erörtern: Angenommen sei, daß jedem x : A ein Term M(x) und ein Typ B(x) zugeordnet sind. Dann existiert ein Element M(x) : B(x) . Nun darf man den Term λx : A.M(x) bilden, den man als eine Funktion betrachten kann. Er besitzt als Typ das kartesische Produkt Πx : A.B(x) . Man definiert A → B als Πx: A.B , falls B nicht von x abhängt. Oben wurde gesagt, daß Terme und Typen parallel behandelt werden. Dies bedeutet, daß ein Mittel gebraucht wird, das ermöglicht und sicher stellt, daß mit A und B(x) auch Πx:A.B(x) ein Typ ist; dazu führt man die Aussage A : ∗ , um auszudrücken, daß A ein Typ ist. Und diesmal braucht man ein Hilfszeichen □, um ∗ als legal betrachten zu können. Damit kann man z.B. in λ2 ∗ → ∗ ≡ Πx:∗.∗ einführen, was zur Herleitung von λx:∗.x → x dient.

Obgleich wir uns im folgenden auf die Systeme aus dem λ-Würfel beschränken werden, ist es aus zwei Gründen besser, hier den verallgemeinerten Begriff “Pure Type System” (= PTS) zu betrachten. In [20] haben J.H. Geuvers und M.-J. Nederhof den Begriff Generalized Type System als eine Verallgemeinerung des λ-Würfels vorgestellt. Später wurde er PTS genannt. Dadurch können viele von getypten λ-Kalkülsystemen á la Church als PTSs gesehen werden. Ein bedeutender Vorteil dieser Verallgemeinerung ist, daß man damit die Idee des Curry-Howard-Isomorphismus, formulae-as-types, realisieren kann: Es ist möglich, die acht Logiksysteme als PTSs darzustellen.

Der zweite Grund ist, daß man die Eigenschaften der Systeme aus dem λ-Würfel durch die Verallgemeinerung viel einfacher und schöner beweisen kann.

2.1 Pure Type Systems

Ein PTS wird durch ein Tripel (S, A, R) und die dadurch festgelegten Herleitungsregeln bestimmt, wobei S eine Menge von Konstanten, A ⊆ S ×S und R ⊆ S ×S ×S sind. Die Konstanten aus S heißen Sorten, die Paare (s_{1}, s_{2}) ∈ A Axiome und die Tripel (s_{1}, s_{2}, s_{3}) ∈ R Regeln. Die Idee dabei ist, daß die Sorten die Welten bedeuten, in denen Typen leben. Durch die Axiome lassen sich Sorten miteinander verbinden. Die Regeln bestimmen den möglichen Aufbau eines Produkttyps, was zu wesentlichen Unterschieden zwischen Systemen führt. Die folgende Definition stammt aus der Doktorarbeit von H. Geuvers, [19].

2.1.1 Definition Die Spezifizierung eines PTS besteht aus einem Tripel (S, A, R) mit folgenden Eigenschaften.

• S ist eine Menge und die Elemente heißen Sorten.

• A ist eine Teilmenge von S × S. Die Elemente (s_{1}, s_{2}), geschrieben oft als s_{1} : s_{2}, heißen Axiome.

• R ist eine Teilmenge von S × S × S, deren Elemente Regeln heißen. Falls s_{2} ≡ s_{3} ist, steht (s_{1}, s_{2}) für (s_{1}, s_{2}, s_{3}) ∈ R .

Um die Pseudoterme eines PTS zu definieren, sei wie üblich eine abzählbar unendliche Variablenmenge V vorgegeben.

2.1.2 Definition Die durch (S, A, R) bestimmte Menge T der Pseudoterme läßt sich folgendermaßen induktiv definieren:

T ::= S | V | (T T ) | (ΠV:T .T ) | (λV:T .T )

Terme der Gestalt (λx : A.M), (Πx : A.B) bzw. (MN) heißen λ-Abstraktions-, Π-Abstraktions- bzw. Applikationsterme. Die Klammerungen werden weggelassen, falls dadurch keine Verwechslung entsteht. Dabei folgt man der üblichen Klammerungsregel der Applikationsterme: Terme werden nach links geklammert. Die syntaktischen Variablen für Sorten sind s, t, s_{i}, t_{i} …, und x, y, x_{i}, y_{i} … stehen für Elemente aus V und M, N, A, B … für Pseudoterme. Variablen werden durch Π und λ gebunden:

2.1.3 Definition Rekursive Definition der freien und gebundenen Variablen eines Pseudoterms.

\begin{matrix}F V (s) := & ∅  für s ∈ S \\ F V (x) := & \{x\} für x ∈ V \\ F V (MN) := & F V (M) ∪ F V (N) \\ F V (Πx:A.M) := & (F V (A) ∪ F V (M))\\{x\} \\ F V (λx:A.M) := & (F V (A) ∪ F V (M))\\{x\} \end{matrix}  \begin{matrix}BV (s) := & ∅ für s ∈ S \\ BV (x) := & ∅ für x ∈ V \\ BV (MN) := & BV (M) ∪ BV (N) \\ BV (Πx:A.M) := & BV (A) ∪ BV (M) ∪ \{x\} \\ BV (λx:A.M) := & BV (A) ∪ BV (M) ∪ \{x\} \end{matrix}

Terme werden modulo α-Konversion betrachtet, vgl. Bemerkung 1.1.6.

2.1.4 Definition Rekursive Definition der Substitution auf T : Sei x ∈ V .

s [x := L] := s  für s ∈ S
x [x := L] := L
y [x := L] := y  für y ∈ V & y ≢ x
(MN) [x := L] := (M [x := L])(N [x := L])
(Πz:M.N) [x := L] := (Πz:M [x := L].N [x := L]) für x ≢ z
(λz:M.N) [x := L] := (λz:M [x := L].N [x := L]) für x ≢ z

2.1.5 Definition

(1) Induktive Definition der β-Kontraktion, →_{β}, über T .

• (λx:A.M)N →_{β} M [x := N]

• [ A →_{β} B & M →_{β} N ] ⟹ \{ \begin{matrix}MQ →_{β} NQ \\ QM →_{β} QN \\ Πz:A.M →_{β} Πz:B.M \\ Πz:A.M →_{β} Πz:A.N \\ λz:A.M →_{β} λz:B.M \\ λz:A.M →_{β} λz:A.N \end{matrix}

(2) Die β-Reduktion, ↠_{β} , ist der reflexive und transitive Abschluß von →_{β}:

M ↠_{β} N :⟺ ∃n ∈ ℕ ∃M_{1}, …, M_{n} [ M_{0} ≡ M →_{β} M_{1} →_{β} ⋯ →_{β} M_{n} ≡ N ]

(3) Die β-Konversion, =_{β} , ist die durch →_{β} erzeugte Äquivalenzrelation auf T , die sich wie folgt induktiv definieren läßt:

• (λx:A.M)N =_{β} M [x := N] 16 Kapitel 2. PTSs und der λ-Würfel

• M =_{β} M

• [ M =_{β} N & N =_{β} L] ⟹ M =_{β} L

• [ A =_{β} B & M =_{β} N ] ⟹ \{ \begin{matrix}N =_{β} M \\ MQ =_{β} NQ \\ QM =_{β} QN \\ Πx:A.M =_{β} Πx:B.M \\ Πx:A.M =_{β} Πx:A.N \\ λx:A.M =_{β} λx:B.M \\ λx:A.M =_{β} λx:A.N \end{matrix}

(4) Terme der Gestalt (λx:A.M)N heißen Redices. 2.1.6 Lemma (Substitutionslemma) Sei x ≢ y & x ∉ F V (L) . Dann gilt:

M [x := N] [y := L] ≡ M [y := L] [x := N [y := L]]

Beweis. Durch Induktion nach M zeigen wir den Beweis. Interessant ist nur der Fall M ≡ y :

\begin{matrix}M [x := N] ≡ y & M [x := N] [y := L] ≡ L , \\ M [y := L] ≡ L & M [y := L] [x := N [y := L]] ≡ L , \end{matrix}

da x ∉ F V (L) . □ 2.1.7 Lemma ∀M, N, L ∈ T [ M ↠_{β} N ⟹ M [x := L] ↠_{β} N [x := L] ] . Beweis. Es genügt, ((λy : A.P)Q) [x := L] →_{β} P [y := Q] [x := L] zu zeigen, wobei man y ≢ x und y ∉ F V (L) annimmt. Aber der Beweis dafür folgt direkt aus Lemma 2.1.6. □ 2.1.8 Korollar ∀M, N, LT [ M =_{β} N ⟹ M [x := L] =_{β} N [x := L] ] .

Nun kann man die CR_{β}-Eigenschaft der β-Reduktion zeigen, deren Beweis der Lesbarkeit halber auf den nächsten Paragraphen verschoben wird. 2.1.9 Satz (Church-Rosser-Eigenschaft) Auf T erfüllt die β-Reduktion die CR_{β}-Eigenschaft:

∀M, N, L ∈ T [ M ↠_{β} N & M ↠_{β} L ⟹ ∃Q ∈ T [ N ↠_{β} Q & L ↠_{β} Q] ]

Die Zuordnung eines Typs zu einem Term wird durch die Zuordnung von Typen zu den freien Variablen bestimmt, die in dem gegebenen Term auftreten. Das ist die Idee der Definition von Deklarationen und Kontexten. 2.1.10 Definition

(1) Eine Aussage hat die Gestalt von M : N mit M, N ∈ T . Dabei heißt M das Subjekt und N das Prädikat der Aussage M : N .

(2) Die Aussage M : N heißt eine Deklaration, falls M eine Variable ist, d.h., M ∈ V.

(3) Eine endliche geordnete Menge von Deklarationen, deren Subjekte paarweise verschieden sind, wird ein Pseudokontext genannt. Falls Γ = ⟨x_{1} :A_{1}, …, x_{n}:A_{n}⟩ ein Pseudokontext ist, definiert man

dom(Γ) := {x_{1}, …, x_{n}} .

(4) Ist Γ = ⟨x_{1} :A_{1}, …, x_{n}:A_{n}⟩ ein Pseudokontext und M ∈ T , definiert man den Kontext Γ [z := M]

wie folgt

Γ [z := M] := ⟨x_{1} :A_{1} [z := M], …, x_{n}:A_{n} [z := M]⟩ .

(5) Für einen Pseudokontext Γ heißt eine Variable y ∈ V Γ-neu, falls y ∉ dom(Γ).

(6) Sei Γ = ⟨x_{1} :A_{1}, …, x_{n}:A_{n}⟩ ein Pseudokontext. Ist x Γ-neu, dann definiert man

Γ, x:A := ⟨x_{1} :A_{1}, …, x_{n}:A_{n}, x:A⟩ .

(7) Sind Γ, Δ Pseudokontexte, dann ist Γ\Δ der Pseudokontext, der von Γ durch Fortlassen aller Deklarationen hervorgeht, deren Subjekte in dom(Δ) liegen. Dabei bleibt die Reihenfolge der verbliebenen Deklarationen unverändert.

(8) Ist Γ als Menge eine Teilmenge von Δ als Menge, definiert man

Γ ⊆ Δ :⟺ Γ\Δ = ∅ .

(9) Seien Γ ein Pseudokontext und V_{0} eine Teilmenge von V.

Γ↾V_{0} := Γ\Γ_{V_{0}}

Hierbei ist Γ_{V_{0}} := {x:A ∈ Γ | x ∉ V_{0}} .

2.1.11 Definition (PTS) Ein PTS besteht aus einem Tripel (S, A, R), das den Eigenschaften der Definition 2.1.1 genügt, und den dadurch bestimmten im folgenden aufgeführten Herleitungsregeln. Das PTS mit S, A, R wird als ζ = λ(S, A, R) bezeichnet:

(Axiom) ⟨ ⟩ ⊢_{ζ} s_{1} : s_{2}  für (s_{1}, s_{2}) ∈ A
(V ar)  \begin{matrix}Γ ⊢_{ζ} A : s \\ Γ, x:A ⊢_{ζ} x : A \end{matrix}  für x Γ-neu
(Schw)  \begin{matrix}Γ ⊢_{ζ} A : s  Γ ⊢_{ζ} M : C \\ Γ, x:A ⊢_{ζ} M : C \end{matrix}  für x Γ-neu
(Π)  \begin{matrix}Γ ⊢_{ζ} A : s_{1}  Γ, x:A ⊢_{ζ} B : s_{2} \\ Γ ⊢_{ζ} Πx:A.B : s_{3} \end{matrix}  für (s_{1}, s_{2}, s_{3}) ∈ R
(λ)  \begin{matrix}Γ, x:A ⊢_{ζ} M : B  Γ ⊢_{ζ} Πx:A.B : s \\ Γ ⊢_{ζ} λx:A.M : Πx:A.B \end{matrix}
(App)  \begin{matrix}Γ ⊢_{ζ} M : Πx:A.B  Γ ⊢_{ζ} N : A \\ Γ ⊢_{ζ} MN : B [x := N] \end{matrix}
(=_{β})  \begin{matrix}Γ ⊢_{ζ} M : A  Γ ⊢_{ζ} B : s \\ Γ ⊢_{ζ} M : B \end{matrix}  für A =_{β} B

Wie gesagt gibt es eigentlich keine Unterschiede zwischen Typen und Termen in dem Sinne, daß Typen zuerst und dann Terme definiert werden, was z.B. in λ→-Church der Fall war.

2.1.12 Definition (Herleitungsbaum, Herleitungslänge) Sei eine Herleitung für Γ ⊢_{ζ} M : B gegeben. Man definiert ihren Herleitungsbaum H und ihre Herleitungslänge lh(H) wie folgt:

• H := (Γ ⊢_{ζ} M : B) und lh(H) = 0, falls Γ ⊢_{ζ} M : B ein Axiom ist.

• H := (Γ ⊢_{ζ} M : B , H_{1}) und lh(H) = lh(H_{1}) + 1 , falls der letzte Schluß (V ar) und H_{1} der Herleitungsbaum für die Prämisse des letzten Schlusses ist.

• H := (Γ ⊢_{ζ} M : B , H_{1}, H_{2}) und lh(H) = max(lh(H_{1}), lh(H_{2})) + 1 , falls der letzte Schluß nicht (V ar) ist und H_{1}, H_{2} die Herleitungsbäume für die erste bzw. zweite Prämisse des letzten Schlusses sind.

Man schreibt

H : Γ ⊢_{ζ}^{n} M : B ,

falls es einen Herleitungsbaum H der Herleitungslänge n für Γ ⊢_{ζ} M : B gibt.

Im folgenden wird der Index ζ, falls man allgemein argumentiert, meist weggelassen.

2.1.13 Definition Sei ζ = λ(S, A, R) ein PTS.

(1) M ∈ T heißt in ζ typbar oder legal, falls es einen Pseudokontext Γ und einen Pseudoterm B gibt mit Γ ⊢_{ζ} M : B oder Γ ⊢_{ζ} B : M herleitbar.

T erm(ζ) := {M ∈ T | M ist in ζ typbar}

(2) Ein Pseudokontext Γ, für den es A, B ∈ T gibt mit Γ ⊢ A : B herleitbar, heißt ein (legaler) Kontext.

(3) Sei Γ ein Kontext. Ein Pseudoterm A mit Γ ⊢ A : B oder Γ ⊢ B : A herleitbar für einen Pseudoterm B heißt Γ-typbar oder Γ-legal.

(4) Γ ⊢ A : B : C ist die Abkürzung für Γ ⊢ A : B & Γ ⊢ B : C .

2.1.14 Definition Ein PTS λ(S, A, R) heißt

(1) funktional, falls gilt:

• s_{1} : s_{2}, s_{1} : s_{3} ∈ A ⟹ s_{2} ≡ s_{3} ,

• (s_{1}, s_{2}, s_{3}), (s_{1}, s_{2}, s_{4}) ∈ R ⟹ s_{3} ≡ s_{4} .

(2) injektiv, falls es funktional ist und weiter gilt:

• s_{1} : s_{3}, s_{2} : s_{3} ∈ A ⟹ s_{1} ≡ s_{2} ,

• (s_{1}, s_{2}, s_{3}), (s_{1}, s_{4}, s_{3}) ∈ R ⟹ s_{2} ≡ s_{4} .

Diese speziellen Teilklassen von PTSs werden sich auszeichnen, wenn spezifische Eigenschaften von ihnen gezeigt werden.

2.2 Die Church-Rosser-Eigenschaft

In diesem Paragraphen wird die Church-Rosser-Eigenschaft der β-Reduktion auf T gezeigt. Ein direkter Beweis wie für den typenfreien λ-Kalkül kann durchgeführt werden, s. [1]. Dennoch wird hier eine neue und kompakte Methode vorgestellt, die viele Anwendungen mit sich bringt. Die Idee dabei ist eigentlich nicht ganz neu: In [1, Kap. 11] handelt es sich um die markierten Terme und Redices:

Λ′ ::= 𝕍 | (Λ′Λ′) | (λ𝕍.Λ′) | ((λ_{i}𝕍.Λ′)Λ′)

β_{0} : (λ_{i}x.M)N →_{β_{0}} M [x := N] für i ∈ ℕ

Dann wird bewiesen, daß diese →_{β_{0}} Reduktion die starke Normalisierbarkeit und die Karo-Eigenschaft erfüllt; die Normalform eines Terms M läßt sich von Anfang an erkennen, nämlich φ(M) . Die Abbildung φ wird wie folgt rekursiv definiert:

\begin{matrix}φ(x) := & x \\ φ(P Q) := & φ(P)φ(Q) \\ φ(λx.P) := & λx.φ(P) \\ φ((λ_{i}x.P)Q) := & φ(P) [x := φ(Q)] \end{matrix}

Diese Idee kann man zur neuen Definition der Parallelkontraktion benutzen, die ursprünglich wie unten definiert ist.

• M ≡ M′ ⟹ M ≥_{1} M′

• M ≥_{1} M′ & N ≥_{1} N′ ⟹ \{ \begin{matrix}MN ≥_{1} M′N′ \\ λx.M ≥_{1} λx.M′ \\ (λx.M)N ≥_{1} M′ [x := N′] \end{matrix}

In [36] hat M. Takahashi diese Idee mit den Eigenschaften der Funktion φ verknüpft. Dies wird hier verallgemeinert. Für die weiteren Anwendungen sei auf [36] hingewiesen. 2.2.1 Definition Induktive Definition der Parallelkontraktion, ⇝_{β}, auf T . (T1) s ⇝_{β} s für s ∈ S . (T2) x ⇝_{β} x für x ∈ V . (T3) M ⇝_{β} M′ & N ⇝_{β} N′ ⟹ (MN) ⇝_{β} (M′N′) . (T4) M ⇝_{β} M′ & N ⇝_{β} N′ ⟹ Πx:M.N ⇝_{β} Πx:M′.N′ . (T5) M ⇝_{β} M′ & N ⇝_{β} N′ ⟹ λx:M.N ⇝_{β} λx:M′.N′ . (T6) M ⇝_{β} M′ & N ⇝_{β} N′ ⟹ (λx:A.M)N ⇝_{β} M′ [x := N′] . 2.2.2 Lemma

(1) ∀M ∈ T [ M ⇝_{β} M ] .

(2) M →_{β} M′ ⟹ M ⇝_{β} M′ .

(3) M ⇝_{β} M′ ⟹ M ↠_{β} M′ .

(4) [ M ⇝_{β} M′ & N ⇝_{β} N′] ⟹ M [x := N] ⇝_{β} M′ [x := N′] .

20 Kapitel 2. PTSs und der λ-Würfel

Beweis. (1) bis (3) kann man durch einfache Induktion nach dem Aufbau von M, →_{β} bzw. ⇝_{β} zeigen.

(4) Durch Induktion nach M zeigt man die Behauptung. Nur der folgende Fall wird betrachtet.

M ≡ (λz:A.M_{0})N_{0} & M′ ≡ M′_{0} [z := N′_{0}] & M_{0} ⇝_{β} M′_{0} & N_{0} ⇝_{β} N′_{0}

⟹^{IV} M_{0} [x := N] ⇝_{β} M′_{0} [x := N′] & N_{0} [x := N] ⇝_{β} N′_{0} [x := N′]

⟹ M [x := N] ⇝_{β} M′_{0} [x := N′] [z := N′_{0} [x := N′]] nach (T6). ⟹ Behauptung nach Lemma 2.1.6

Die anderen Fälle lassen sich leicht behandeln. □ Aus diesem Lemma weiß man, daß ↠_{β} der reflexive und transitive Abschluß von ⇝_{β} ist. Für den Beweis der CR_{β}-Eigenschaft genügt es,

[ M ⇝_{β} N & M ⇝_{β} L] ⟹ ∃Q [ N ⇝_{β} Q & L ⇝_{β} Q]

zu zeigen. Dafür setzt man hier die Idee der Funktion φ ein. 2.2.3 Definition Rekursive Definition von M^{∗} . (T1^{∗}) s^{∗} := s für s ∈ S . (T2^{∗}) x^{∗} := x für x ∈ V . (T3^{∗}) (MN)^{∗} := M^{∗}N^{∗}, falls (MN) kein Redex ist. (T4^{∗}) (Πx:A.M)^{∗} := Πx:A^{∗}.M^{∗} . (T5^{∗}) (λx:A.M)^{∗} := λx:A^{∗}.M^{∗} . (T6^{∗}) ((λx:A.M)N)^{∗} := M^{∗} [x := N^{∗}] . 2.2.4 Lemma M ⇝_{β} N ⟹ N ⇝_{β} M^{∗} . Beweis. Durch Induktion nach M zeigen wir die Behauptung. Nur zwei Fälle werden betrachtet.

• M ≡ M_{0}M_{1} & N ≡ N_{0}N_{1} & M_{0} ⇝_{β} N_{0} & M_{1} ⇝_{β} N_{1} & M_{0} ≡ λy:B.L

⟹ N_{0} ≡ λy:B′.L′ mit B ⇝_{β} B′ & L ⇝_{β} L′

⟹^{IV} L′ ⇝_{β} L^{∗}

Andererseits giltN_{0} ⇝_{β} M_{0}^{∗} ≡ λy:B^{∗}.L^{∗} & N_{1} ⇝_{β} M_{1}^{∗}

⟹ N ≡ (λy:B′.L′)N_{1} ⇝_{β} L^{∗} [y := M_{1}^{∗}] ≡ M^{∗} nach (T 6)

• M ≡ (λx:A.M_{0})M_{1} & N ≡ N_{0} [x := N_{1}] & M_{0} ⇝_{β} N_{0} & M_{1} ⇝_{β} N_{1}

⟹^{IV} N_{0} ⇝_{β} M_{0}^{∗} & N_{1} ⇝_{β} M_{1}^{∗}

⟹ N ≡ N_{0} [x := N_{1}] ⇝_{β} M_{0}^{∗} [x := M_{1}^{∗}] ≡ M^{∗} nach Lemma 2.2.2.(4)

Die anderen Fälle sind leicht zu zeigen. □ Damit hat man den folgenden Satz bewiesen: 2.2.5 Satz Es gilt die Church-Rosser-Eigenschaft für ↠_{β} über T .

2.3 Eigenschaften von PTSs

Hier werden nur die nötigsten Eigenschaften von PTSs bewiesen, die man später verwenden wird. Weitere Eigenschaften werden z.B. in [20] oder in [19] eingehend erforscht. Im folgenden sei ein PTS λ(S, A, R) vorgegeben. Man argumentiert in einem beliebigen PTS, wenn nichts anderes angemerkt ist. 2.3.1 Lemma (Umbenennung freier Variablen) Seien Γ, x:A, Δ ein Kontext und M, B Terme und y eine neue Variable. Dann gilt:

Γ, x:A, Δ ⊢^{n} M : B ⟹ Γ, y:A, Δ [x := y] ⊢^{n} M [x := y] : B [x := y]

Beweis. Gelte Γ, x:A, Δ ⊢^{n} M : B. Die Behauptung wird durch Induktion nach n gezeigt. Da Γ, x:A, Δ keine leere Sequenz ist, gilt n > 0. Alle Fälle sind mit Hilfe der I.V. einfach zu zeigen. Als ein Beispiel zeigen wir den Fall (V ar).

• 1.Fall Sei Δ = ⟨ ⟩ & A ≡ B & M ≡ x, und es gelte für n = n_{0} + 1

\begin{matrix}Γ ⊢^{n_{0}} A : s \\ Γ, x:A ⊢^{n} x : A \end{matrix}

Die Behauptung folgt dadurch, daß man x durch y ersetzt.

• 2.Fall Sei Δ = Δ_{0} & z:B & M ≡ x, und es gelte für n = n_{0} + 1

\begin{matrix}Γ, x:A, Δ_{0} ⊢^{n_{0}} B : s \\ Γ, x:A, Δ ⊢^{n} z : B \end{matrix}

Die I.V. liefert Γ, y:A, Δ_{0} [x := y] ⊢^{n_{0}} B [x := y] : s , woraus die Behauptung folgt. □ 2.3.2 Lemma Sei Γ = ⟨x_{1} :A_{1}, …, x_{n}:A_{n}⟩ ein Kontext mit Γ ⊢^{m} M : B .

(1) (Variablenbedingung) F V (M) ∪ F V (B) ⊆ {x_{1}, …, x_{n}} .

(2) ∀s_{1} : s_{2} ∈ A ∃l ≤ m [ Γ ⊢^{l} s_{1} : s_{2} ] .

(3) ∀1 ≤ i ≤ n ∃l ≤ m [ Γ ⊢^{l} x_{i} : A_{i}] .

(4) ∀1 ≤ i ≤ n ∃l < m [ x_{1} :A_{1}, …, x_{i−1} :A_{i−1} ⊢^{l} A_{i} : s] . Beweis. Alles läßt sich durch einfache Induktion nach m zeigen. Definiere für r ≤ n Γ_{r} := ⟨x_{1} : A_{1}, …, x_{r}:A_{r}⟩ .

(1) Durch eine einfache Induktion kann die Behauptung gezeigt weerden.

(2) Interessant sind (V ar) und (Schw).

• 1.Fall Sei der letzte Schluß (V ar) mit M ≡ x_{n} & B ≡ A_{n} & Γ = Γ_{n−1}, x_{n}: A_{n}. Dann hat

man für m = m_{0} + 1

\begin{matrix}Γ_{n−1} ⊢^{m_{0}} A_{n} : s \\ Γ_{n−1}, x_{n}:A_{n} ⊢^{m} x_{n} : A_{n} \end{matrix}

Nach der I.V. gilt für ein l_{0} ≤ m_{0} Γ_{n−1} ⊢^{l_{0}} s_{1} : s_{2} , woraus die Behauptung mit der Regel

(Schw) folgt, da max(m_{0}, l_{0}) = m_{0}.

• 2.Fall Es gelte für Γ = Γ_{n−1}, x_{n}:A_{n}

\begin{matrix}Γ_{n−1} ⊢^{m_{0}} A_{n} : s Γ_{n−1} ⊢^{m_{1}} M : B \\ Γ_{n−1}, x_{n}:A_{n} ⊢^{m} M : B \end{matrix}

wobei m = max(m_{0}, m_{1})+1. Nach der I.V. für die zweite Prämisse existiert dann ein l_{0} ≤ m_{1} mit Γ_{n−1} ⊢^{l_{0}} s_{1} : s_{2} . Dann folgt die Behauptung mit der Regel (Schw).

(3) Interessant ist nur der Fall (V ar). Es gelte für m = m_{0} + 1 & M ≡ x_{n} & B ≡ A_{n} :

\begin{matrix}Γ_{n−1} ⊢^{m_{0}} A_{n} : s \\ Γ_{n−1}, x_{n}:A_{n} ⊢^{m} x_{n} : A_{n} \end{matrix}

Ist i = n, dann ist die Behauptung trivial. Sei nun i < n, ann gibt es nach der I.V. ein l_{0} ≤ m_{0} mit Γ_{n−1} ⊢^{l_{0}} x_{i} : A_{i} . Dann hat man mit (Schw) Γ_{n} ⊢^{l} x_{i} : A_{i} , wobei l = max(m_{0}, l_{0})+1 = m_{0}+1 = m.

(4) Der Fall (V ar) ist interessant zu betrachten. Gelte für m = m_{0} + 1 & M ≡ x_{n} & B ≡ A_{n}

\begin{matrix}Γ_{n−1} ⊢^{m_{0}} A_{n} : s \\ Γ_{n−1}, x_{n}:A_{n} ⊢^{m} x_{n} : A_{n} \end{matrix}

Ist i = n , dann ist die Behauptung trivial. Ist i < n, dann existiert nach der I.V. ein l_{0} < m_{0} mit Γ_{i−1} ⊢^{l_{0}} A_{i} : s , was zu zeigen ist. □

2.3.3 Lemma (Substitution) Seien Γ, x:A, Δ ein Kontext und M, B, N ∈ T . Dann gilt:

\begin{matrix}Γ, x:A, Δ ⊢^{n} M : B \\ Γ ⊢^{m} N : A \end{matrix} \} ⟹ ∃l ≤ n + m [ Γ, Δ [x := N] ⊢^{l} M [x := N] : B [x := N] ]

Beweis. Durch Induktion nach der Herleitungslänge n wird die Behauptung gezeigt.

(V ar) • 1. Fall Sei Δ = ∅ & M ≡ x & B ≡ A, und es gelte für n = n_{0} + 1

\begin{matrix}Γ ⊢^{n_{0}} A : s \\ Γ, x:A ⊢^{n} x : A \end{matrix}

Da x ∉ F V (A) nach Lemma 2.3.2.(1) ist, hat man A [x := N] ≡ A. Für l = m gilt die Behauptung.

• 2. Fall Sei Δ = Δ_{0}, z:B & M ≡ z, und es gelte für n = n_{0} + 1

\begin{matrix}Γ, x:A, Δ_{0} ⊢^{n_{0}} B : s \\ Γ, x:A, Δ_{0}, z:B ⊢^{n} z : B \end{matrix}

Nach der I.V. existiert ein l_{0} ≤ n_{0} + m mit Γ, Δ_{0} [x := N] ⊢^{l_{0}} B [x := N] : s . Weiter folgt mit (V ar) Γ, Δ_{0} [x := N], z: B [x := N] ⊢^{l_{0}+1} z : B [x := N] , was zu zeigen ist, denn l_{0} + 1 ≤ n + m und z ∉ F V (N) ∪ F V (B) gilt.

(Schw) • 1. Fall Sei Δ = ∅, und es gelte für n = max(n_{0}, n_{1}) + 1

\begin{matrix}Γ ⊢^{n_{0}} A : s Γ ⊢^{n_{1}} M : B \\ Γ, x:A ⊢^{n} M : B \end{matrix}

Wegen Variablenbedingung hat man x ∉ F V (M) ∪ F V (B). Darum ist die zweite Prämisse schon die Behauptung.

• 2. Fall Sei Δ = Δ_{0}, z:C, und es gelte für n = max(n_{0}, n_{1}) + 1

\begin{matrix}Γ, x:A, Δ_{0} ⊢^{n_{0}} C : s Γ, x:A, Δ_{0} ⊢^{n_{1}} M : B \\ Γ, x:A, Δ_{0}, z:C ⊢^{n} M : B \end{matrix}

Nach der I.V. gibt es l_{i} ≤ n_{i} + m für i ∈ {0, 1} mit Γ, Δ_{0} [x := N] ⊢^{l_{0}} C [x := N] : s , und

Γ, Δ_{0} [x := N] ⊢^{l_{1}} M [x := N] : B [x := N] .

Für l = max(l_{0}, l_{1}) + 1 folgt nun Γ, Δ [x := N] ⊢^{l} M [x := N] : B [x := N] , da gemäß

Variablenbedingung z ∉ F V (N) ∪ F V (C) und l ≤ n + m gilt.

Die Fälle für (Π), (λ) oder (=_{β}) folgen aus der I.V. und mit denselben Regeln. Beim Fall (=_{β}) sollte man das Korollar 2.1.8 anwenden. (App) Sei M ≡ M_{0}M_{1} & B ≡ C [x := M_{1}], und es gelte für n = max(n_{0}, n_{1}) + 1

\begin{matrix}Γ, x:A, Δ ⊢^{n_{0}} M_{0} : Πz:Q.C Γ, x:A, Δ ⊢^{n_{1}} M_{1} : Q \\ Γ, x:A, Δ ⊢^{n} M_{0}M_{1} : C [z := M_{1}] \end{matrix}

Die I.V. liefert l_{i} ≤ n_{i} +m, i ≤ 1 mit Γ, Δ [x := N] ⊢^{l_{0}} M_{0} [x := N] : Πz:Q [x := N].C [x := N] , und Γ, Δ [x := N] ⊢^{l_{1}} M_{1} [x := N] : Q [x := N] . Für l = max(l_{0}, l_{1}) + 1 folgt dann mit (App) Γ, Δ [x := N] ⊢^{l} M [x := N] : C [x := N] [z := M_{1} [x := N]], was nach Lemma 2.1.6 zu zeigen war, denn man kann nach Lemma 2.3.1 z ∉ F V (N) ∪ {x} annehmen. □

2.3.4 Lemma (Stripping) In jedem PTS gilt:

(1) Γ ⊢ s_{0} : B ⟹ ∃s_{1} ∈ S [ B =_{β} s_{1} & s_{0} : s_{1} ∈ A] .

(2) Γ ⊢ x : B ⟹ ∃A ∈ T [ A =_{β} B & x:A ∈ Γ ] .

(3) Γ ⊢^{n} Πx: A.M : B ⟹ ∃(s_{1}, s_{2}, s_{3}) ∈ R ∃m, l ≤ n [ Γ ⊢^{m} A : s_{1} & Γ, x: A ⊢^{l} M : s_{2} & B =_{β} s_{3} ] .

(4) Γ ⊢^{n} λx:A.M : B ⟹ ∃s ∈ S ∃C ∈ T ∃m, l ≤ n [ B =_{β} Πx:A.C & Γ ⊢^{m} Πx:A.C : s & Γ, x:A ⊢^{l} M : C] .

(5) Γ ⊢^{n} MN : B ⟹ ∃P, Q ∈ T ∃m, l ≤ n [ Γ ⊢^{m} M : Πx:P.Q & Γ ⊢^{l} N : P & B =_{β} Q [x := N] ] . Beweis. Alles kann man leicht durch Herleitungsinduktion zeigen.

(1) Es gibt zwei Fälle zu betrachten.

• 1. Fall Sei Γ = ⟨ ⟩ und Γ ⊢ s_{0} : B ist ein Axiom. Dann ist B ∈ S und s_{0} :B ∈ A.

• 2. Fall Der letzte Schluß war (=_{β}). Gelte für ein C =_{β} B

\begin{matrix}Γ ⊢ s_{0} : C Γ ⊢ B : s_{1} \\ Γ ⊢ s_{0} : B \end{matrix}

Dann folgt die Behauptung direkt aus I.V.

(2) Analog zu (1).

(3) Drei Fälle sind zu betrachten.

• 1. Fall Sei Γ = Γ_{0}, z:C, und gelte für n = max(n_{0}, n_{1}) + 1

\begin{matrix}Γ_{0} ⊢^{n_{0}} C : s Γ_{0} ⊢^{n_{1}} Πx:A.M : B \\ Γ_{0}, z:C ⊢^{n} Πx:A.M : B \end{matrix}

Dann folgt die Behauptung automatisch.

• 2. Fall Ist der letzte Schluß (Π), dann ist die Behauptung trivial.

• 3. Fall Falls der letzte Schluß (=_{β}) war, dann ist die Behauptung direkt mit der I.V.

(4) Analog zu (3).

(5) Zu betrachten sind die Fälle (Schw), (App) und (=_{β}). Die Fälle (Schw) und (=_{β}) werden genau so wie in (3) behandelt. Falls der letzte Schluß (App) war, ist die Behauptung direkt. □

2.3.5 Bemerkung

(1) In Lemma 2.3.4.(2) weiß man mehr:

Γ ⊢^{n} x : B ⟹ ∃s ∈ S ∃A ∈ T ∃m, l ≤ n [ Γ ⊢^{m} A : s & x:A ∈ Γ & Γ ⊢^{l} x : A & A =_{β} B]

(2) Das obige Lemma zeigt, wie schön die Termzuordnung zu kontrollieren ist, zumindest für Subjekte. Wir werden immer wieder auf dieses Lemma zurückgreifen.

Das nächste Lemma reflektiert, daß man in jedem PTS nur die gewünschten Terme erwarten kann. Nur Typen und Terme im Sinne von Kapitel 1 werden hergeleitet.

2.3.6 Lemma (Korrektheit) Γ ⊢ M : B ⟹ [ B ∈ S ∨ ∃s ∈ S [ Γ ⊢ B : s] ]

Beweis. Der Beweis wird durch Induktion nach der Herleitunglänge von Γ ⊢ M : B gegeben. Alle Fälle bis auf den Fall (App) sind trivial. Sei der letzte Schluß (App) und sei M ≡ NL & B ≡ Q [x := L], und es gelte

\begin{matrix}Γ ⊢ N : Πx:P.Q Γ ⊢ L : P \\ Γ ⊢ NL : Q [x := L] \end{matrix}

Die I.V. sagt, daß es ein s_{0} ∈ S gibt mit Γ ⊢ Πx: P.Q : s_{0} , woraus mit Stripping Γ, x: P ⊢ Q : s für ein s ∈ S folgt. Dann hat man nach Lemma 2.3.3 die Behauptung. □

Nun wird die sog. Subtermeigenschaft gezeigt.

2.3.7 Definition Rekursive Definition der Subterme eines Pseudoterms:

• sub(M) := {M}, falls M ∈ S ∪ V.

• sub(M) := {M} ∪ sub(N) ∪ sub(L), falls M eine der folgenden Gestalten besitzt:

(Πx:N.L), (λx:N.L) oder (NL)

2.3.8 Korollar

(1) Γ ⊢ M : Πx:A.B ⟹ ∃s_{1}, s_{2} ∈ S [ Γ ⊢ A : s_{1} & Γ, x:A ⊢ B : s_{2} ]

(2) Falls M ein typbarer Term und N ein Subterm von M sind, dann ist N auch typbar.

Beweis.

(1) Es ist eine direkte Folgerung der Korrektheit mit Stripping, weil Πx:A.B ≢ s für alle s ∈ S gilt.

(2) Ist M ∈ S, dann ist die Behauptung direkt. Ist M ∉ S, können wir nach Korrektheit ohne Einschränkung annehmen, daß es ein B gibt mit Γ ⊢ M : B . Mit Hilfe von Stripping wird die Behauptung durch eine einfache Induktion nach dem Termaufbau von M gezeigt. □

Für zwei Kontexte Γ und Δ definiert man als Schreibweise Γ ⊢ Δ folgendermaßen:

Γ ⊢ Δ :⟺ ∀M : B ∈ Δ [ Γ ⊢ M : B] .

Zu beachten ist Γ ⊢ ⟨ ⟩ .

2.3.9 Lemma Seien Γ, Δ Kontexte. Dann gilt:

\begin{matrix}Γ ⊢ Δ \\ Δ ⊢ M : B \end{matrix} \} ⟹ Γ ⊢ M : B

Beweis. Durch Induktion nach der Herleitungslänge von Δ ⊢ M : B wird die Behauptung gezeigt. Beim Fall (Axiom) sollte man das Lemma 2.3.2.(2) gebrauchen. Der Fall (V ar) wird schon mit der ersten Voraussetzung erledigt. Die Fälle (Schw), (App) und (=_{β}) sind klar nach der I.V. Die Fälle, die gewisse Aufmerksamkeit verlangen, sind (Π) und (λ). Der Fall (λ) wird analog zu (Π) mit Hilfe von Stripping behandelt. Seien nun (Π) der letzte Schluß und M ≡ Πx: A.C und B ≡ s_{3}, und es gelte für ein (s_{1}, s_{2}, s_{3}) ∈ R

\begin{matrix}Δ ⊢ A : s_{1} Δ, x:A ⊢ C : s_{2} \\ Δ ⊢ Πx:A.C : s_{3} \end{matrix} .

Nach Lemma 2.3.1 ist x ∉ dom(Γ) anzunehmen. Dann weiß man nach der I.V. für die erste Prämisse, daß Γ, x:A auch ein Kontext ist, denn es gilt Γ, x:A ⊢ x : A . Die I.V. für die zweite Prämisse liefert mit der Regel (Π) die Behauptung. □

2.3.10 Korollar Seien Γ und Δ Kontexte, dann gilt:

[ Δ ⊆ Γ & Δ ⊢ M : B] ⟹ Γ ⊢ M : B

Beweis. Nach Lemma 2.3.2.(3) ist die Behauptung direkt. □

Bevor wir die Subjektreduktion

[ Γ ⊢ M : B & M ↠_{β} N ] ⟹ Γ ⊢ N : B

zeigen können, definieren wir als Schreibweise Γ →_{β} Δ für zwei Kontexte Γ und Δ.

2.3.11 Definition Seien Γ = ⟨x_{1} :A_{1}, …, x_{n}:A_{n}⟩ und Δ Kontexte.

(1) Γ →_{β} Δ :⟺ Δ = ⟨x_{1} :B_{1}, …, x_{n}:B_{n}⟩ & ∃i ∈ {1, …, n} [ A_{i} →_{β} B_{i} & ∀j ≠ i [ A_{j} ≡ B_{j} ] ] .

(2) Γ ↠_{β} Δ :⟺ ∃m ∈ ℕ ∃Γ_{0}, …, Γ_{m} ∀i < m [ Γ_{0} = Γ & Γ_{m} = Δ & Γ_{i} →_{β} Γ_{i+1} ] .

2.3.12 Lemma (Subjektreduktion) Es seien Γ, Δ Kontexte.:

\begin{aligned}(1) & [ Γ ⊢ M : B & M →_{β} N ] & ⟹ & Γ ⊢ N : B \\ (2) & [ Γ ⊢ M : B & Γ →_{β} Δ ] & ⟹ & Δ ⊢ M : B \end{aligned}

Beweis. Durch simultane Induktion nach der Herleitungslänge von Γ ⊢ M : B zeigen wir die Behauptung. Im Fall (Axiom) gibt es nichts mehr zu tun.

(V ar) Es gelte M ≡ x, Γ = Γ_{0}, x:B und

\begin{matrix}Γ_{0} ⊢ B : s \\ Γ_{0}, x:B ⊢ x : B \end{matrix}

Falls B ↠_{β} C gilt, dann hat man nach der I.V. für (1) Γ_{0} ⊢ C : s . Weiter gilt mit (V ar) Γ_{0}, x:C ⊢ x : C , woraus mit (=_{β}) Γ_{0}, x:C ⊢ x : B folgt.

Die Fälle (Schw), (Π), (λ) und (=_{β}) lassen sich simpel mit der I.V. zeigen.

(App) Sei M ≡ M_{0}M_{1} & B ≡ B_{1} [x := M_{1}], und es gelte

\begin{matrix}Γ ⊢ M_{0} : Πx:B_{0}.B_{1} Γ ⊢ M_{1} : B_{0} \\ Γ ⊢ M_{0}M_{1} : B_{1} [x := M_{1}] \end{matrix}

(2) folgt direkt aus der I.V. Sei nun M ≡ M_{0}M_{1} →_{β} N, dann gibt es zwei Fälle zu betrachten. Aber bevor wir weiter gehen, bereiten wir etwas vor. Zunächst hat man nach Korrektheit Γ ⊢ Πx:B_{0}.B_{1} : s für ein s ∈ S und weiter nach Stripping

Γ, x:B_{0} ⊢ B_{1} : s_{1} (a)

für ein s_{1} ∈ S. Dann gilt nach Lemma 2.3.3

Γ ⊢ B_{1} [x := M_{1}] : s_{1} . (b)

• 1. Fall N ≡ N_{0}N_{1} & [ M_{0} →_{β} N_{0} ∨ M_{1} →_{β} N_{1} ] . Die I.V. liefert Γ ⊢ N_{0} : Πx: B_{0}.B_{1} und Γ ⊢ N_{1} : B_{0} . (1) folgt dann direkt mit (b) und der Regel (=_{β}).

• 2. Fall M_{0} ≡ λx:L_{0}.L_{1} und N ≡ L_{1} [x := M_{1}] .

Die erste Prämisse der Voraussetzung liefert mit Stripping ein C und ein s_{2} mit

Γ ⊢ Πx:L_{0}.C : s_{2} & Πx:L_{0}.C =_{β} Πx:B_{0}.B_{1} ,

Γ, x:L_{0} ⊢ L_{1} : C . (c)

Wieder mit Stripping weiß man Γ, x:L_{0} ⊢ C : s_{4} und

Γ ⊢ L_{0} : s_{3} , (d)

für s_{3}, s_{4} ∈ S . Andererseits gilt nach CR_{β}

L_{0} =_{β} B_{0} (e)

C =_{β} B_{1} . (f)

Die zweite Prämisse der Voraussetzung liefert mit (d), (e) und (=_{β}) Γ ⊢ M_{1} : L_{0} . Somit folgt mit (c) und Lemma 2.3.3 Γ ⊢ L_{1} [x := M_{1}] : C [x := M_{1}] . (1) folgt nun mit (b), (f), (=_{β}) und Korollar 2.1.8. □

2.3.13 Korollar [ Γ ⊢ M : A & A ↠_{β} B] ⟹ Γ ⊢ M : B .

2.3.14 Korollar [ Δ ⊢ M : A & Γ ↠_{β} Δ ] ⟹ Γ ⊢ M : A .

Beweis. Nach Lemma 2.3.9 genügt es, Γ ⊢ Δ zu zeigen. Dies folgt aus Lemma 2.3.2.(3) und Korollar 2.3.13. □

2.3.15 Bemerkung Es ist unmöglich, die Herleitungslänge so zu definieren, daß

[ Γ ⊢^{n} M : B & M ↠_{β} N ] ⟹ Γ ⊢^{n} N : B

gilt. Dazu betrachte z.B. die Regel (App) mit M ≡ (λx:P.Q)L, N ≡ Q [x := L] und n = max(n_{0}, n_{1})+1 :

\begin{matrix}Γ ⊢^{n_{0}} λx:P.Q : Πx:P.R Γ ⊢^{n_{1}} L : P \\ Γ ⊢^{n} (λx:P.Q)L : R [x := L] \end{matrix}

Ist n_{1} wesentlich größer als n_{0}, kann die Herleitungslänge für N ≡ Q [x := L] größer als n = n_{1} + 1 sein.

Hiermit wird der Teil für allgemeine Eigenschaften in allen beliebigen PTSs abgeschlossen. Was folgt, ist für spezielle PTSs. Sie sind spezielle PTSs, sber allgemein genug, weil später nur solche PTSs in Betracht gezogen werden. Man erinnere sich an die Definition 2.1.14.

2.3.16 Lemma (Eindeutigkeit der Typbarkeit) In jedem funktionalen PTS gilt:

[ Γ ⊢ M : A & Γ ⊢ M : B] ⟹ A =_{β} B

Beweis. Durch Induktion nach dem Termaufbau von M wird die Behauptung gezeigt. Falls M ein Element von S ist, ist die Behauptung klar nach Stripping, weil es sich hier um ein funktionales PTS handelt. Der Fall M ∈ V wird analog mit Stripping und der Definition eines Pseudokontextes gelöst. Hat M die Gestalt Πx:P.Q , dann gibt es nach Stripping (s_{1}, s_{2}, s_{3}) und (s_{4}, s_{5}, s_{6}) aus R mit

Γ ⊢ P : s_{1} & Γ, x:P ⊢ Q : s_{2} & A =_{β} s_{3} ,
Γ ⊢ P : s_{4} & Γ, x:P ⊢ Q : s_{5} & B =_{β} s_{6} .

Die I.V. liefert s_{1} =_{β} s_{4} & s_{2} =_{β} s_{5} , woraus s_{1} ≡ s_{4} & s_{2} ≡ s_{5} folgt. Mit Funktionalität gilt auch s_{3} ≡ s_{6} , was zu zeigen ist. Die Fälle M ≡ λx : A.N oder M ≡ NL lassen sich analog mit der I.V. argumentieren, natürlich hin und wieder mit Stripping. □

2.3.17 Korollar Es sei ein funktionales PTS vorgegeben, dann gilt:

\begin{matrix}Γ ⊢ M : A & Γ ⊢ N : B \\ M =_{β} N \end{matrix} \} ⟹ A =_{β} B

Beweis. Gemäß CR_{β} gibt es ein L mit M ↠_{β} L & N ↠_{β} L , woraus Γ ⊢ L : A & Γ ⊢ L : B folgt. Nun ist die Behauptung mit dem obigen Lemma direkt. □

Wir zeigen die sog. Subjektkonversion für diejenigen PTSs, in denen die Eindeutigkeit der Typbarkeit gilt, insbesondere in allen funktionalen PTSs.

2.3.18 Satz (Subjektkonversion) In jedem PTS, wo die Eindeutigkeit der Typbarkeit gilt, gilt nicht nur die Subjektreduktion, sondern auch die Subjektkonversion: Sind Γ ein Kontext und M, N, B Γtypbare Terme, dann gilt:

[ Γ ⊢ M : B & M =_{β} N ] ⟹ Γ ⊢ N : B

Beweis. Nach der Voraussetzung für N gibt es ein C mit Γ ⊢ N : C oder Γ ⊢ C : N . Falls Γ ⊢ C : N gilt, hat man nach Korrektheit N ∈ S ∨ ∃s ∈ S [ Γ ⊢ N : s] Ist N eine Sorte aus S, dann hat man nach CR_{β} M ↠_{β} N . Die Behauptung folgt nun mit Subjektreduktion. Nun nehmen wir N ∉ S an. Nach Korrektheit darf man o.B.d.A. Γ ⊢ N : C annehmen. Andererseits gibt es nach CR_{β} ein E mit M ↠_{β} E & N ↠_{β} E . Nach Subjektreduktion folgt dann Γ ⊢ E : B & Γ ⊢ E : C . Weiter gilt nach Eindeutigkeit der Typbarkeit B =_{β} C . Falls B ∈ S, dann gilt wegen CR_{β} C ↠_{β} B , und daher hat man nach Korollar 2.3.13 mit Γ ⊢ N : C die Behauptung Γ ⊢ N : B . Falls B ∉ S , dann existiert ein s ∈ S nach Korrektheit Γ ⊢ B : s . Nun folgt die Behauptung mit der Regel (=_{β}). □

2.3.19 Korollar In jedem PTS, wo die Subjektkonversion gilt, insbesondere in jedem funktionalen PTS, gilt folgendes:

[ Γ ⊢ M : B & A =_{β} B & A Γ-typbar ] ⟹ Γ ⊢ M : A

Beweis. Es gibt drei Fälle zu betrachten.

• 1. Fall A ∈ S . Nach CR_{β} gilt B ↠_{β} A . Das Korollar 2.3.13 liefert die Behauptung.

• 2. Fall A ∉ S & B ∈ S . Dann kann man nach Korrektheit o.E. Γ ⊢ A : C für ein C annehmen. Weiter gilt nach Subjektkonversion Γ ⊢ B : C , was nach dem Stripping Γ ⊢ B : s für ein s ∈ S impliziert. Nun bekommt man wieder nach Subjektkonversion Γ ⊢ A : s . Die Behauptung folgt nun direkt mit (=_{β}).

• 3. Fall A, B ∉ S . Nach Korrektheit gilt Γ ⊢ B : s für ein s ∈ S . Wie im zweiten Fall folgt dann die Behauptung. □

Als nächstes zeigen wir, daß die Forderung an die Definition von Pseudokontexten unter gewisser Bedingung überflüssig ist. Die Reihenfolge der Deklarationen in einem Kontext spielt keine Rolle mehr. Wir könnten also Kontexte als endliche Mengen auffassen. Was gerade gesagt worden ist, gilt eigentlich für alle PTSs, wird aber nur für funktionale PTSs gezeigt. Einen Beweis für beliebige PTSs findet man in [38] von L.S. van Benthem Jutting. Was man braucht, ist: (Strengthening)

\begin{matrix}Γ, x:A, Δ ⊢ M : B \\ x tritt nicht frei in Δ, M und B auf \end{matrix} \} ⟹ Γ, Δ ⊢ M : B

in einem gegebenen PTS. Daraus folgt das gewünschte:

\begin{matrix}Γ, x:A, y:B, Δ ⊢ M : C \\ x ∉ F V (B) \end{matrix} \} ⟹ Γ, y:B, x:A, Δ ⊢ M : C

Beweis. Zu zeigen ist nur, daß Γ, y : B, x : A, Δ auch ein Kontext ist, da dann die Behauptung mit Korollar 2.3.10. Nach Lemma 2.3.2.(4) haben wir Γ, x: A ⊢ B : s . Weiter gilt nach Strengthening und Voraussetzung Γ ⊢ B : s . Γ, y: B ist also ein Kontext. Da wiederum nach Lemma 2.3.2.(4) Γ ⊢ A : s_{1} für ein s ∈ S gilt, ist Γ, y:B, x:A auch ein Kontext. Wenn man weiter wie oben argumentiert, wird man durch eine einfache Induktion nach der Anzahl der Elemente von Δ zeigen können, daß Γ, y:B, x:A, Δ ein Kontext ist. □

Aber, wie gesagt, begnügen wir uns hier mit einer schwächeren Version.

2.3.20 Lemma (Strengthening für funktionale PTSs) In jedem funktionalen PTS hat man:

\begin{matrix}Γ, x:A, Δ ⊢ M : B \\ x tritt nicht frei in Δ, M und B auf \end{matrix} \} ⟹ Γ, Δ ⊢ M : B

Beweis. Wir werden zuerst durch Induktion nach der Herleitunglänge von Γ, x:A, Δ ⊢ M : B folgendes zeigen:

(∗) \begin{matrix}Γ, x:A, Δ ⊢ M : B \\ x tritt nicht frei in Δ und M auf \end{matrix} \} ⟹ ∃C [ B ↠_{β} C & Γ, Δ ⊢ M : C]

(V ar) Da x nicht frei in Δ auftritt, hat Δ die Gestalt Δ_{0}, z:B mit x ∉ F V (B) , und der letzte Schluß ist von der Form

\begin{matrix}Γ, x:A, Δ_{0} ⊢ B : s \\ Γ, x:A, Δ_{0}, z:B ⊢ z : B \end{matrix}

Dann folgt die Behauptung mit (V ar) direkt aus der I.V.

(Schw) • 1. Fall Sei Δ = ⟨ ⟩. Die zweite Prämisse des letzten Schlusses ist schon die Behauptung. • 2. Fall Sei Δ = Δ_{0}, z:C , und es gelte

\begin{matrix}Γ, x:A, Δ_{0} ⊢ C : s Γ, x:A, Δ_{0} ⊢ M : B \\ Γ, x:A, Δ_{0}, z:C ⊢ M : B \end{matrix}

Nach der I.V. gilt für ein Q Γ, Δ_{0} ⊢ C : s & Γ, Δ_{0} ⊢ M : Q , woraus die Behauptung mit (Schw) folgt.

(λ) Sei M ≡ λz:C.N & B ≡ Πz:C.Q, und es gelte für ein s ∈ S

Γ, x:A, Δ, z:C ⊢ N : Q Γ, x:A, Δ ⊢ Πz:C.Q : s
Γ, x:A, Δ ⊢ λz:C.N : Πz:C.Q

Nach Stripping existieren s_{1}, s_{2} ∈ S mit

Γ, x:A, Δ ⊢ C : s_{1} & Γ, x:A, Δ, z:C ⊢ Q : s_{2} & (s_{1}, s_{2}, s) ∈ R .

Dabei sind die Herleitungslängen kürzer als die von Γ, x:A, Δ ⊢ Πz:C.Q : s. Die I.V. liefert

Γ, Δ ⊢ C : s_{1} . (a)

Andererseits liefert die I.V. ein P mit

Q ↠_{β} P & Γ, Δ, z:C ⊢ N : P . (b)

Weiter hat man nach Subjektreduktion Γ, x : A, Δ, z : C ⊢ P : s_{2} . Falls P ∈ S ist, dann ist P:s_{2} nach Stripping ein Axiom. Nach Lemma 2.3.2.(2) gilt Γ, Δ, z:C ⊢ P : s_{2} . Falls P ∉ S ist, exisitert nach (b) und Korrektheit ein s_{3} ∈ S mit Γ, Δ, z: C ⊢ P : s_{3} , was nach Korollar 2.3.10 und Subjektkonversion Γ, x:A, Δ, z:C ⊢ Q : s_{3} impliziert. Dies bedeutet nach Eindeutigkeit der Typbarkeit s_{2} ≡ s_{3} . Man hat auf alle Fälle

Γ, Δ, z:C ⊢ P : s_{2} . (c)

Aus (a) und (c) schließen wir mit der Regel (Π) auf Γ, Δ ⊢ Πz: C.P : s . Die Regel (λ) und (b) liefern die Behauptung.

(App) Sei M ≡ M_{0}M_{1} & B ≡ Q [z := M_{1}], und es gelte

\begin{matrix}Γ, x:A, Δ ⊢ M_{0} : Πz:P.Q Γ, x:A, Δ ⊢ M_{1} : P \\ Γ, x:A, Δ ⊢ M_{0}M_{1} : Q [z := M_{1}] \end{matrix}

Nach der I.V. gibt es C_{0}, C_{1}, C_{2} mit

\begin{matrix}P ↠_{β} C_{0} & Q ↠_{β} C_{1} & P ↠_{β} C_{2} , \\ Γ, Δ ⊢ M_{0} : Πz:C_{0}.C_{1} & Γ, Δ ⊢ M_{1} : C_{2} . \end{matrix}

Nach CR_{β} gibt es ein C_{3} mit C_{0} ↠_{β} C_{3} & C_{2} ↠_{β} C_{3} . Weiter gilt nach Korollar 2.3.13 Γ, Δ ⊢ M_{0} : Πz : C_{3}.C_{1} & Γ, Δ ⊢ M_{1} : C_{3} , woraus Γ, Δ ⊢ M_{0}M_{1} : C_{1} [z := M_{1}] folgt. Die Behauptung folgt direkt mit Lemma 2.1.7.

Der Fall (Π) ist direkt mit der I.V. zu behandeln. Den Fall (=_{β}) behandelt man einfach mit der I.V. Dann folgt die Behauptung direkt mit Subjektreduktion. Somit ist die Behauptung (∗) bewiesen.

Nun beweisen wir das Lemma. Nach (∗) gibt es ein C mit B ↠_{β} C & Γ, Δ ⊢ M : C . Falls B ∈ S ist, dann gilt B ≡ C . Die Behauptung ist bereits gezeigt. Falls B ∉ S ist, dann gilt nach Korrektheit Γ, x:A, Δ ⊢ B : s für ein s ∈ S . Wieder nach (∗) haben wir Γ, Δ ⊢ B : s . Die Regel (=_{β}) liefert nun die Behauptung. □

Nun können wir wie vorher den folgenden Satz, die Umstellbarkeit von Deklarationen, zeigen.

2.3.21 Satz (Umstellbarkeit von Deklarationen) In jedem funktionalen PTS gilt:

\begin{matrix}Γ, x:A, y:B, Δ ⊢ M : C \\ x ∉ F V (B) \end{matrix} \} ⟹ Γ, y:B, x:A, Δ ⊢ M : C

Wir werden zeigen, daß ein Term M in dem Sinne eindeutig hergeleitet wird, daß jeder Subterm von M, der die Gestalt einer Π-, λ-Abstraktion oder Applikation hat, durch eine Regel eindeutig bestimmt wird. Wir definieren, was man unter dem Wort betimmt versteht:

2.3.22 Definition Sei ζ = (S, A, R) ein PTS.

(1) (Πx:A.B) ist in Γ durch (s_{1}, s_{2}, s_{3}) gebildet worden, falls gilt:

(s_{1}, s_{2}, s_{3}) ∈ R & Γ ⊢_{ζ} A : s_{1} & Γ, x:A ⊢_{ζ} B : s_{2}

(2) (λx:A.B) ist in Γ durch (s_{1}, s_{2}, s_{3}) gebildet worden, falls es P, Q gibt mit:

Γ ⊢_{ζ} λx:A.B : Πx:P.Q & (Πx:P.Q) gebildet durch (s_{1}, s_{2}, s_{3}) in Γ

(3) (BA) ist in Γ durch (s_{1}, s_{2}, s_{3}) gebildet worden, falls es P, Q gibt mit:

Γ ⊢_{ζ} B : Πx:P.Q & Γ ⊢ A : P & (Πx:P.Q) gebildet durch (s_{1}, s_{2}, s_{3}) in Γ

2.3.23 Bemerkung Die obige Definition wird durch Stripping und Korrektheit gerechtfertigt.

2.3.24 Lemma Sei ζ ein funktionales PTS. M habe die Gestalt einer Π-, λ-Abstraktion oder Applikation. Ist M in Γ durch (s_{1}, s_{2}, s_{3}) und (t_{1}, t_{2}, t_{3}) gebildet worden, dann gilt s_{i} ≡ t_{i}, i ∈ {1, 2, 3}.

Beweis. Es genügt zu zeigen:

\begin{matrix}Πx:A.B gebildet durch (s_{1}, s_{2}, s_{3}) in Γ \\ Πx:P.Q gebildet durch (t_{1}, t_{2}, t_{3}) in Γ \\ Πx:A.B ↠_{β} Πx:P.Q \end{matrix} \} ⟹ s_{i} ≡ t_{i} für alle i ∈ \{1, 2, 3\}

Nach Definition gilt

\begin{matrix}Γ ⊢_{ζ} A : s_{1} & & & Γ, x:A ⊢_{ζ} B : s_{2} , \\ Γ ⊢_{ζ} P : t_{1} & & & Γ, x:P ⊢_{ζ} Q : t_{2} , \\ A ↠_{β} P & & & B ↠_{β} Q . \end{matrix}

Weiter gilt nach Korollar 2.3.17 s_{1} ≡ t_{1} & s_{2} ≡ t_{2} . Mit Funktionalität folgt die Behauptung. □

Zum Schluß dieses Paragraphen beobachten wir injektive PTSs. Es wird sich später herausstellen, daß es leichter handhabbar ist, die Komplexität der Konstruktion eines typbaren Terms zu analysieren, wenn die Variablenmenge V in card(S)-viele abzählbar unendliche, paarweise disjunkte Teilmengen

(V^{s})_{s∈S}

eingeteilt gegeben ist und wenn man die Regeln (V ar) und (Schw) dementsprechend umändert:

(V ar)  \begin{matrix}Γ ⊢ A : s \\ Γ, x:A ⊢ x : A \end{matrix}  für x ∈ V^{s} Γ-neu
(Schw) \begin{matrix}Γ ⊢ A : s  Γ ⊢ M : B \\ Γ, x:A ⊢ M : B \end{matrix} für x ∈ V^{s} Γ-neu

Von nun an folgen wir dieser Konvention.

2.3.25 Definition Seien λ(S, A, R) ein PTS und s ∈ S .

(1) Ein Term B heißt s-Term, falls es einen Kontext Γ gibt mit Γ ⊢ B : s.

T erm_{s}(λ(S, A, R)) := {B | B s-Term}

(2) Ein Term M heißt s-Element, falls es einen Kontext Γ und einen Term B gibt mit Γ ⊢ M : B : s.

Elt_{s}(λ(S, A, R)) := {M | M s-Element}

Was die Umänderung und diese Definition mit sich bringen, wird nach dem folgenden Satz klar, allerdings nur für injektive PTSs.

2.3.26 Satz (Klassifikation) Sei λ(S, A, R) ein injektives PTS. Für s_{0} ≢ s_{1} gilt:

(1) T erm_{s_{0}}(λ(S, A, R)) ∩ T erm_{s_{1}}(λ(S, A, R)) = ∅.

(2) Elt_{s_{0}}(λ(S, A, R)) ∩ Elt_{s_{1}}(λ(S, A, R)) = ∅.

Beweis. Durch simultane Induktion nach dem Termaufbau von M wird folgendes gezeigt.

\begin{matrix}(a) & [ Γ ⊢ M : s_{0} & Δ ⊢ M : s_{1} ] ⟹ s_{0} ≡ s_{1} . \\ (b) & [ Γ ⊢ M : A : s_{0} & Δ ⊢ M : B : s_{1} ] ⟹ s_{0} ≡ s_{1} . \end{matrix}

• 1. Fall M ≡ s ∈ S.

Dann folgt (a) direkt aus der Funktionalität. Gilt Γ ⊢ s : A : s_{0} & Δ ⊢ s : B : s_{1} , so gibt es nach Stripping s_{2} und s_{3} aus S mit A ↠_{β} s_{2} & B ↠_{β} s_{3} & s : s_{2}, s : s_{3} ∈ A . Dann gilt s_{2} ≡ s_{3} wegen Funktionalität, woraus (b) wieder mit Funktionalität folgt, weil Γ ⊢ s_{2} : s_{0} & Δ ⊢ s_{2} : s_{1} nach Subjektreduktion gilt.

• 2. Fall M ≡ x ∈ V^{s} & s ∈ S.

(a) Nach Stripping gibt es P, Q mit P ↠_{β} s_{0} & Q ↠_{β} s_{1} & x: P ∈ Γ & x: Q ∈ Δ . Weiter gilt nach Lemma 2.3.2.(4) und Lemma 2.3.10 Γ ⊢ P : s & Δ ⊢ Q : s , woraus mit Subjektreduktion Γ ⊢ s_{0} : s & Δ ⊢ s_{1} : s folgt. Nach Stripping und Funktionaltät gilt ferner s_{0} : s, s_{1} : s ∈ A . Mit Injektivität folgt s_{0} ≡ s_{1} .

(b) Es gelte Γ ⊢ x : A : s_{0} . Nach Stripping gibt es ein P mit A =_{β} P & x: P ∈ Γ , und daher gibt es ein Q mit A ↠_{β} Q & P ↠_{β} Q . Nach Subjektreduktion gilt ferner Γ ⊢ Q : s_{0} . Andererseits hat man nach Lemma 2.3.2.(4) und Korollar 2.3.10 Γ ⊢ P : s für ein s ∈ S und daher nach Subjektreduktion Γ ⊢ Q : s , was gemäß Eindeutigkeit der Typbarkeit s ≡ s_{0} bedeutet. Analog zeigt man s ≡ s_{1} .

• 3. Fall M habe die Gestalt NL.

(a) Es gilt Γ ⊢ NL : s_{0} & Δ ⊢ NL : s_{1} Nach Stripping und Korrektheit gibt es P_{0}, P_{1}, Q_{0}, Q_{1} mit:

\begin{matrix}Γ ⊢ L : P_{0} : s_{2} \\ Γ, x:P_{0} ⊢ Q_{0} : s_{3} \\ Γ ⊢ N : Πx:P_{0}.Q_{0} : s_{4} \\ (s_{2}, s_{3}, s_{4}) ∈ R \\ Q_{0} [x := L] ↠_{β} s_{0} \end{matrix} \} & \{ \begin{matrix}Δ ⊢ L : P_{1} : s_{5} \\ Δ, x:P_{1} ⊢ Q_{1} : s_{6} \\ Δ ⊢ N : Πx:P_{1}.Q_{1} : s_{7} \\ (s_{5}, s_{6}, s_{7}) ∈ R \\ Q_{1} [x := L] ↠_{β} s_{1} \end{matrix}

Es gilt nach der I.V. für (b) s_{2} ≡ s_{5} & s_{4} ≡ s_{7} , und daher wegen Injektivität hat man s_{3} ≡ s_{6} . Andererseits gilt nach Lemma 2.3.3 Γ ⊢ Q_{0} [x := L] : s_{3} & Δ ⊢ Q_{1} [x := L] : s_{3}, und daher nach Subjektreduktion Γ ⊢ s_{0} : s_{3} & Δ ⊢ s_{1} : s_{3} , was nach Stripping s_{0} : s_{3}, s_{1} : s_{3} ∈ A heißen soll. Nun hat man die Behauptung mit Injektivität.

(b) Es ist genau so wie für (a) zu argumentieren.

• 4. Fall M ≡ Πx:C.N.

(a) Es gilt Γ ⊢ Πx:C.N : s_{0} & Δ ⊢ Πx:C.N : s_{1} . Nach Stripping gibt es (s_{2}, s_{3}, s_{4}), (s_{5}, s_{6}, s_{7}) , so daß gilt:

\begin{matrix}Γ ⊢ C : s_{2} \\ Γ, x:C ⊢ N : s_{3} \\ s_{0} ≡ s_{4} \end{matrix} \} & \{ \begin{matrix}Δ ⊢ C : s_{5} \\ Δ, x:C ⊢ N : s_{6} \\ s_{1} ≡ s_{7} \end{matrix}

Nach der I.V. hat man s_{2} ≡ s_{5} & s_{3} ≡ s_{6} , und daher wegen Funktionalität s_{4} ≡ s_{7} .

2.4. Beispiele von PTSs und der λ-Würfel 33

(b) Es gilt Γ ⊢ Πx: C.N : A : s_{0} & Δ ⊢ Πx: C.N : B : s_{1} . Nach Stripping existieren s_{2}, s_{3} ∈ S mit A ↠_{β} s_{2} & B ↠_{β} s_{3} . Nach Korollar 2.3.13 und Eindeutigkeit der Typbarkeit gilt ferner s_{2} ≡ s_{3} , woraus sich die Behauptung s_{0} ≡ s_{1} ergibt, wie man es bisher oft gesehen hat.

• 5. Fall M habe die Gestalt M ≡ λx:C.N .

(a) Nach Stripping kommt dieser Fall nicht vor.

(b) Nach Stripping gibt es P, Q und (s_{2}, s_{3}, s_{4}), (s_{5}, s_{6}, s_{7}) ∈ R mit:

\begin{matrix}Γ ⊢ C : s_{2} \\ Γ, x:C ⊢ N : s_{3} \\ Γ ⊢ Πx:C.P : s_{4} \\ A =_{β} Πx:C.P \end{matrix} \} & \{ \begin{matrix}Δ ⊢ C : s_{5} \\ Δ, x:C ⊢ N : s_{6} \\ Δ ⊢ Πx:C.Q : s_{7} \\ B =_{β} Πx:C.Q \end{matrix}

Die I.V. besagt s_{2} ≡ s_{5} & s_{3} ≡ s_{6} , und daher gilt wegen Funktionalität s_{4} ≡ s_{7} . Nun erhält man s_{0} ≡ s_{1} mit CR_{β}, Subjektreduktion und Eindeutigkeit der Typbarkeit. □

2.3.27 Korollar Seien ζ = (S, A, R) ein injektives PTS, und Γ, Δ, M legal. M habe die Gestalt einer Π-, λ-Abstraktion oder Applikation. Dann gilt:

\begin{matrix}M gebildet durch (s_{1}, s_{2}, s_{3}) in Γ \\ M gebildet durch (t_{1}, t_{2}, t_{3}) in Δ \end{matrix} \} ⟹ s_{i} ≡ t_{i} für alle i ∈ \{1, 2, 3\}

Beweis. Analog zu dem Beweis von Lemma 2.3.24 mit Hilfe von Klassifikation. □

2.3.28 Bemerkung Von jetzt an darf man, zumindest in injektiven PTSs, den Bezug auf Kontexte weglassen, wenn es um die Bildung eines Terms geht.

2.4 Beispiele von PTSs und der λ-Würfel

Zu beginn des Kapitels wurde Barendregt’s λ-Würfel angesprochen und grob erklärt. Es wird hier die genaue Definition vorgestellt, und dabei werden ein paar Beispiele von PTSs demonstriert.

In Paragraph 1.3 wurde die Repräsentierbarkeit einer arithmetischen Funktion in λ→-Church gefragt, aber dort hat man sich eigentlich auf das System λ^{τ} konzentriert, das im gewissen Sinne ein Teilsystem von λ →-Church ist. Anders als bei λ →-Church oder bei λ →-Curry setzt man voraus, daß es nur eine Typenvariable gibt. Damit definiert man das System λ^{τ} wie folgt: Sei 𝕍 eine abzählbar unendliche Termvariablenmenge. Die Menge der Pseudoterme wird dann folgendermaßen induktiv definiert

Λ_{τ} ::= 𝕍 | (Λ_{τ} Λ_{τ}) | (λ𝕍:𝕋_{τ} .Λ_{τ}) ,

wobei 𝕋_{τ} durch

𝕋_{τ} ::= o | (𝕋_{τ} → 𝕋_{τ}) ,

definiert wird. Man definiert dementsprechend die anderen Begriffe. Der Herleitungskalkül lautet z.B. wie folgt:

(V ar) Γ ⊢_{τ} x : σ  für x:σ ∈ Γ
(λ)  \begin{matrix}Γ, x:μ ⊢_{τ} M : ν \\ Γ ⊢_{τ} λx:μ.M : μ → ν \end{matrix}
(App) \begin{matrix}Γ ⊢_{τ} M : μ → ν  Γ ⊢_{τ} N : μ \\ Γ ⊢_{τ} MN : ν \end{matrix}

Dieses System läßt sich als ein PTS darstellen. Man definiert λ_{p}^{τ} = λ(S, A, R) durch

S = {o, ∗} ,
A = {o : ∗} ,
R = {(∗, ∗, ∗)} .

2.4.1 Lemma In λ_{p}^{τ} gibt es keinen Kontext Γ und keinen Term B mit Γ ⊢_{τ} ∗ : B .

2.4.2 Definition Falls x ∉ F V (B), definiert man

A → B :≡ Πx:A.B .

2.4.3 Lemma Man betrachte die Menge 𝕋_{τ} als eine Menge von bestimmten Pseudotermen in λ_{p}^{τ}. Dann hat man in λ_{p}^{τ}

∃Γ [ Γ ⊢_{τ} σ : ∗] ⟺ σ ∈ 𝕋_{τ}

Beweis.

(⟸) Durch Induktion nach dem Aufbau von σ ∈ 𝕋_{τ} zeigen wir ⊢_{τ} σ : ∗ .

• σ ≡ o. Dann ist es nach (Axiom) trivial.

• σ ≡ μ → ν ≡ Πx: μ.ν und x eine beliebige Variable. Die I.V. liefert ⊢_{τ} μ : ∗ & ∅ ⊢_{τ} ν : ∗ , und daher ist ⟨x: μ⟩ ein Kontext. Nach Lemma 2.3.10 gilt ferner ⊢_{τ} μ : ∗ & x: μ ⊢_{τ} ν : ∗ , woraus mit (Π) die Behauptung folgt.

(⟹) Gelte Γ ⊢_{τ} σ : ∗. Wir zeigen durch Herleitungsnduktion σ ∈ 𝕋_{τ}. Im Fall (Axiom) ist die Behauptung wieder trivial. Gemäß Lemma 2.4.1 kommen die Fälle (V ar) und (Schw) nicht vor. Sei σ ≡ Πx:A.B , und es gelte

\begin{matrix}Γ ⊢_{τ} A : ∗ Γ, x:A ⊢_{τ} B : ∗ \\ Γ ⊢_{τ} Πx:A.B : ∗ \end{matrix}

Nach der I.V. hat man A, B ∈ 𝕋_{τ} , was insbesondere x ∉ F V (B) (= ∅) heißt. In den verbliebenen Fällen hat man nichts mehr zu tun, weil sie nicht vorkommen können. In den Fällen (λ) und (=_{β}) ist es direkt klar. Im Fall (App) brauchen wir nur einmal das Stripping anzuwenden. Sei σ ≡ (MN) & ∗ ≡ B [x := N] , und es gelte

\begin{matrix}Γ ⊢_{τ} M : Πx:A.B Γ ⊢_{τ} N : A \\ Γ ⊢_{τ} MN : B [x := N] \end{matrix}

Es gibt dann zwei Fälle zu betrachten.

• 1. Fall B ≡ x und N ≡ ∗. Aber dieser Fall kann nicht auftreten.

• 2. Fall B ≡ ∗. Da Πx:A.∗ Γ-typbar ist, gilt nach Korrektheit und Stripping Γ ⊢_{τ} ∗ : ∗ , was unmöglich ist. □

2.4.4 Bemerkung In λ_{p}^{τ} gilt ⊢_{τ} σ : ∗ ⟺ σ ∈ 𝕋_{τ} .

Das Lemma 2.4.3 beinhaltet, daß wir als Typen nur die gewünschten Terme im folgenden Sinne erhalten können:

A ist ein Typ ⟺ ∃Γ [ Γ ⊢_{τ} A : ∗]

Das ist eine der entscheidenden Ideen von formulae-as-types. Genauer werden wir im nächsten Kapitel argumentieren. Nun zeigt man die Äquivalenz von λ^{τ} und λ_{p}^{τ} , was das folgende Lemma benötigt.

2.4.5 Lemma Falls Γ ⊢_{τ} M : B : ∗ in λ_{p}^{τ}, dann wird M genau mit den Variablen aus F V (M) ∩ V^{∗} aufgebaut.

Beweis. Durch Induktion nach der Herleitungslänge von Γ ⊢_{τ} M : B wird die Behauptung gezeigt. Der Fall (Axiom) kommt nicht vor, da ∗ : ∗ kein Axiom ist. Der Fall (V ar) ist trivial, und der Fall (Π) kommt auch nicht vor.

(Schw) Es gelte Γ = Γ_{0}, x:A und

\begin{matrix}Γ_{0} ⊢_{τ} A : s Γ_{0} ⊢_{τ} M : B \\ Γ_{0}, x:A ⊢_{τ} M : B \end{matrix}

Dann folgt die Behauptung aus der I.V., da wegen Variablenbedingung x ∉ F V (M) gilt.

(λ) Es gelte M ≡ λx:A.N & B ≡ Πx:A.C , und

\begin{matrix}Γ, x:A ⊢_{τ} N : C Γ ⊢_{τ} Πx:A.C : s \\ Γ ⊢_{τ} λx:A.N : Πx:A.C \end{matrix}

Nach Lemma 2.4.3 gilt A, C ∈ 𝕋_{τ} . Weiter gilt nach der I.V., daß N genau mit den Variablen aus F V (N) ∩ ({x} ∪ {y | ∃P [ y:P ∈ Γ & P ∈ 𝕋_{τ} ]}) aufgebaut ist. Die Behauptung ist bewiesen worden.

(App) Es gelte M ≡ NL & B ≡ C [x := L] , und

\begin{matrix}Γ ⊢_{τ} N : Πx:A.C Γ ⊢_{τ} L : A \\ Γ ⊢_{τ} NL : C [x := L] \end{matrix}

Da (∗, ∗, ∗) die einzige Regel ist, haben wir nach Korrektheit Γ ⊢_{τ} Πx: A.C : ∗ , woraus nach Stripping Γ ⊢_{τ} A : ∗ folgt. Die Behauptung folgt aus der I.V.

(=_{β}) Es gelte A =_{β} B und

\begin{matrix}Γ ⊢_{τ} M : A Γ ⊢_{τ} B : s \\ Γ ⊢_{τ} M : B \end{matrix}

Gemäß Eindeutigkeit der Typbarkeit - man beachte, daß λ_{p}^{τ} ein injektives PTS ist - haben wir s ≡ ∗ und dann nach Subjektkonversion Γ ⊢_{τ} A : ∗ . Nun folgt die Behauptung aus der I.V. □

Nun ist die Äquivalenz von λ^{τ} und λ_{p}^{τ} klar:

2.4.6 Satz Sei Γ ein Kontext in λ_{p}^{τ} . Dann gilt

Γ ⊢_{τ} M : σ : ∗ in λ_{p}^{τ} ⟺ Γ^{∗} ⊢_{τ} M : σ in λ^{τ} ,

wobei Γ^{∗} = {x:A | x ∈ V^{∗} ∩ dom(Γ) & x:A ∈ Γ}.

Beweis. Die Richtung von links nach rechts ist direkt mit Lemma 2.4.5 und Bemerkung 2.4.4, wo natürlich μ → ν := Πx:μ.ν , x ∉ F V (ν) , als definiert betrachtet wird. Die andere Richtung kann durch eine einfache Herleitungsinduktion nach Γ^{∗} ⊢_{τ} M : σ gezeigt werden. □

Eingangs des Paragraphen ist erwähnt worden, daß λ^{τ} ein gewisser Teilsystem von λ→-Church ist. Der Unterschied der beiden liegt daran, daß λ →-Church im Gegensatz zu λ^{τ} (abzählbar) unendlich viele Grundtypen (Typenvariablen) besitzt. Deshalb brauchen wir eine (abzählbar) unendliche Menge von Sorten, wenn wir λ→-Church als ein PTS darstellen wollen, d.h., λ\overrightarrow{p} = λ(S, A, R) mit

S = 𝕍_{ch} ∪ {∗} ,
A = {α:∗ | α ∈ 𝕍_{ch}} ,
R = {(∗, ∗)} ,

wobei 𝕍_{ch} folgendermaßen induktiv definiert werden kann:

𝕍_{ch} ::= o | 𝕍′_{ch}

Nun erhebt sich die Frage, ob die Sortenmenge S unbedingt unendlich sein soll. Wie man schon bei dieser Frage erahnen kann, kann die Frage verneint werden. Sie wurde schon gewisserweise beantwortet: Durch die Einführung eines Hilfszeichens: Sehen wir uns mal die Regel (V ar) in einem PTS an, in dem ∗, □ Sorten sind und ∗:□ ein Axiom ist. Dann braucht man dabei nur unendlich viele Variablen vorgegeben zu haben, die als Elemente der Menge V^{□} immer angenommen werden, um die unendlich viele Variablen zu erhalten. Natürlich soll dabei (∗, ∗) eine Regel und sogar die einzige Regel sein, damit ausschließlich gewünschte Funtionaltypen hergeleitet werden können.

2.4.7 Definition (λ→) Das PTS λ→ basiert auf

\begin{matrix}S = \{∗, □\} , \\ A = \{∗:□\} , \\ R = \{(∗, ∗)\} . \end{matrix}

2.4.8 Definition Sei Γ ein Pseudokontext. Man teilt Γ in zwei disjunkte Psedokontexte Γ^{∗} und Γ^{□} ein:

Γ^{∗} := Γ↾V^{∗} & Γ^{□} := Γ↾V^{□}

2.4.9 Lemma In λ→ gilt für jeden Kontext Γ :

(1) Γ ⊢_{λ→} M : □ ⟺ M ≡ ∗ .

(2) Falls Γ ⊢_{λ→} M : ∗, dann gilt F V (M) ⊆ V^{□} . Dabei wird → als der einzige Typenkonstruktor benutzt: M läßt sich wie folgt charakterisieren:

• M ∈ V^{□} oder

• M ≡ A → B & Γ ⊢_{λ→} A : ∗ & Γ ⊢_{λ→} B : ∗ .

(3) Γ ⊢_{λ→} M : B : ∗ ⟺ Γ^{□}, Γ^{∗} ⊢_{λ→} M : B : ∗ .

Beweis. Zunächst sollte man zeigen, daß

(∗) ∀Γ ∀B [ Γ ⊬_{λ→} □ : B] ,

was durch eine einfache Herleitungsinduktion gezeigt werden kann.

(1) Die Richtung von links nach rechts ist noch zu zeigen. Der Beweis wird durch Herleitungsinduktion von Γ ⊢_{λ→} M : □ gezeigt. Beim Fall (Axiom) ist alles klar, und der Fall (V ar) kommt wegen (∗) nicht vor. Im Fall (Schw) sollte man nur in die I.V. eingreifen. Der Fall (Π) kann nicht auftreten, weil (∗, ∗) die einzige Regel ist. Habe der letzte Schluß die Gestalt

\begin{matrix}Γ ⊢_{λ→} N : Πx:A.B Γ ⊢_{λ→} L : A \\ Γ ⊢_{λ→} NL : B [x := L] \end{matrix}

Dann gibt es zwei Fälle zu betrachten. Der erste Fall lautet, daß B ≡ x & L ≡ □ gilt, was nach (∗) unmöglich ist. Die nächste Möglichkeit wäre, daß B identisch mit □ sein sollte. Dies ist gemäß Stripping und (∗) unmöglich. D.h. der Fall (App) kann auch nicht auftreten, ebenso wie der Fall (=_{β}) (wegen (∗)). Nach Korrektheit kann der Fall (λ) auch nicht vorkommen.

(2) Durch Herleitungsinduktion zeigt man die Behauptung. Gelte Γ ⊢_{λ→} M : ∗, dann sind die Fälle (Axiom), (λ) und (App) nicht zu betrachten. Denn ∗ : □ ist das einzige Axiom, und ein Produktterm kann nicht identisch mit ∗ sein. Wir sehen uns nun an, warum der Fall (App) nicht auftreten kann: Habe der letzte Schluß die Gestalt

\begin{matrix}Γ ⊢_{λ→} N : Πx:A.B Γ ⊢_{λ→} L : A \\ Γ ⊢_{λ→} NL : B [x := L] \end{matrix}

Da B [x := L] ≡ ∗ sein soll, gibt es zwei Fälle zu betrachten.

• 1. Fall B ≡ x und L ≡ ∗. Nach Eindeutigkeit der Typbarkeit gilt A ↠_{β} □ . Nach Korrektheit gilt weiter Γ ⊢_{λ→} Πx:A.B : s , wobei s notwendigerweise ∗ sein soll, da (∗, ∗) die einzige Regel ist, d.h. Γ ⊢_{λ→} Πx: A.B : ∗ . Dann nach Subjektreduktion gilt Γ ⊢_{λ→} Πx: □.B : ∗ . Dies ist nach Stripping und (∗) unmöglich.

• 2. Fall B ≡ ∗. Nach Korrektheit hat man Γ ⊢_{λ→} Πx : A.∗ : s , wobei s notwendigerweise ∗ sein soll, da (∗, ∗) die einzige Regel ist. Dies ist nach Stripping unmöglich, da (∗, □) das einzige Axiom ist.

Insgesamt wurde gezeigt, daß der Fall (App) nicht vorkommt.

(V ar) Es gelte Γ = Γ_{0}, x:∗ & M ≡ x ∈ V^{s} und

\frac{Γ_{0} ⊢_{λ→} ∗ : s}{Γ_{0}, x:∗ ⊢_{λ→} x : ∗}

Nach Stripping ist s ≡ □ , woraus die Behauptung folgt. (Schw) Die Behauptung folgt direkt aus I.V.

(Π) M habe die Gestalt Πx:A.B , und es gelte

\begin{matrix}Γ ⊢_{λ→} A : ∗ Γ, x:A ⊢_{λ→} B : ∗ \\ Γ ⊢_{λ→} Πx:A.B : ∗ \end{matrix} .

Mit der ersten Prämisse folgt x ∈ V^{∗} , woraus mit der I.V. x ∉ F V (B) folgt. Dies war zu zeigen.

(=_{β}) Es gelte A =_{β} ∗ und

\begin{matrix}Γ ⊢_{λ→} M : A Γ ⊢_{λ→} ∗ : s \\ Γ ⊢_{λ→} M : ∗ \end{matrix}

Nach Stripping ist s ≡ □. Andererseits kann man A ≡ ∗ zeigen: Es gibt gemäß Korrektheit zwei Fälle zu betrachten.

• 1. Fall A ist eine Sorte. Dann ist A ≡ ∗ nach CR_{β} .

• 2. Fall Es gibt ein t ∈ S mit Γ ⊢_{λ→} A : t . Nach Eindeutigkeit der Typbarkeit hat man daher t =_{β} □ , d.h., t ≡ □ . Das bedeutet aber nach (1) A ≡ ∗ .

Nun liefert die I.V. sofort die Behauptung.

(3) Es ist nach Satz 2.3.21 klar, da nach Lemma 2.3.2.(3) Γ ⊢_{λ→} x : A für alle x: A ∈ Γ^{□} und daher nach (1) A ≡ ∗ gilt. □

2.4.10 Bemerkung Beim Beweis des Lemmas 2.4.9 haben wir mehr gezeigt:

Γ ⊢_{λ→} M : B : □ ⟹ [ B ≡ ∗ & M in β-nf ]

2.4.11 Satz Setzt man V^{□} = 𝕍_{ch} & V^{∗} = 𝕍 voraus, so gilt für jeden Kontext Γ aus λ→:

(1) ∃Δ [ Δ ⊢_{λ→} M : ∗] ⟺ M ∈ 𝕋_{ch}

(2) Γ ⊢_{λ→} M : B : ∗ ⟹ Γ^{∗} ⊢_{ch} M : B

(3) Γ^{∗} ⊢_{ch} M : B ⟹ ∃Δ [ Γ^{∗} ⊆ Δ & Δ ⊢_{λ→} M : B : ∗]

2.4.12 Bemerkung Man beachte, daß man mit 2.4.11.(3) die Subjektkonversion für λ →-Church bewiesen hat.

Als nächstes Beispiel betrachten wir das System Girard’s F, dessen ursprüngliche Definition nicht die Gestalt eines PTS besitzt, sondern nach der Churchschen Art wie vorher gebildet wird: Zuerst definiert man, welche wohldefinierte Typen sind, und dadurch Terme eines bestimmten Typs:

2.4.13 Definition (Girard’s F)

(1) Induktive Definition der Typenmenge 𝕋_{F} :

𝕋_{F} ::= 𝕍_{F} | (𝕋_{F} → 𝕋_{F}) | (Π𝕍_{F}.𝕋_{F}) ,

wobei 𝕍_{F} eine abzählbar unendliche Typenvariablenmenge ist.

(2) Eine Zuordnung hat die Gestalt x:σ mit σ ∈ 𝕋_{F} und x ∈ 𝕍_{2}, wobei 𝕍_{2} eine abzählbar unendliche Objektvariablenmenge ist. 𝕍_{2} und 𝕍_{F} seien disjunkt.

(3) Eine Objektbasis ist eine endliche Sequenz von Zuordnungen, deren Objektvariablen paarweise verschieden sind. Γ, Δ, Γ_{i}, Δ_{i} … sind die syntaktischen Variablen für Objektbasen. Für eine Basis Γ definiert man die Menge F V (Γ) der in Γ frei auftretenden Typenvariablen:

F V (Γ) := {α ∈ 𝕍_{F} | ∃x ∈ 𝕍_{2} ∃σ ∈ 𝕋_{F} [ x:σ ∈ Γ & α tritt in σ frei auf ]}

(4) Induktive Definition der Typenzuordnung.

(Axiom) Γ ⊢_{F} x : σ  für x : σ ∈ Γ
(→ I)  \begin{matrix}Γ, x:σ ⊢_{F} M : τ \\ Γ ⊢_{F} (λx:σ.M) : (σ → τ) \end{matrix}
(→E)  \begin{matrix}Γ ⊢_{F} M : (σ → τ)  Γ ⊢_{F} N : σ \\ Γ ⊢_{F} (MN) : τ \end{matrix}
(∀I)  \begin{matrix}Γ ⊢_{F} M : σ \\ Γ ⊢_{F} (λα:∗.M) : (Πα:∗.σ) \end{matrix}  für α ∉ F V (Γ)
(∀E)  \begin{matrix}Γ ⊢_{F} M : (Πα:∗.σ) \\ Γ ⊢_{F} (Mτ) : σ [α := τ] \end{matrix}  für τ ∈ 𝕋_{F}

2.4.14 Bemerkung

(1) Wir nehmen an, daß die Substitution eines Typs in einen anderen Term für eine Typenvariable wie üblich definiert ist.

(2) Man sollte Begriffe wie Zuordnung und Basis mit Begriffen wie Aussage und Kontext vergleichen. Die Begriffe Zuordnung und Aussage sind völlig identisch; aber die Begriffe Basis und Kontext sind nicht unbedingt identisch, wenn man die Variablenbedingung bei der Definition eines Pseudokontextes und der Herleitungsregeln in jedem PTS vergleicht. Es ist leicht, wie wir gleich sehen werden, daß eine Basis im entsprechenden PTS als ein legaler Kontext betrachtet wird. Andererseits haben wir die Umstellbarkeit von Deklarationen unter einer gewissen Bedingung, die in unserem Fall immer erfüllt wird, s. Satz 2.3.21.

Wie stark das System Girard’s F ist, kann zum einen dadurch erklärt werden, daß die in PA2 beweisbar totalen arithmetischen Funktionen in diesem System repräsentierbar sind, was viel mehr ist als Polynome. Das System F ist wesentlich stärker als λ →, wo nur Polynome, die durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert sind, repräsentiert werden können. Als ein Beispiel werden wir später sehen, daß die Ackermann-Pétersche Funktion im PTS λ2 repräsentierbar ist, das zu F äquivalent ist. Zum anderen werden wir uns - auch im nächsten Kapitel - den Curry-Howard-Isomorphismus ansehen. Dadurch wird klarer, daß das System λ2 viel stärker ist als λ →. Aber hier geht es um PTSs, und daher wollen wir uns nur darauf konzentrieren, ein zu F äquivalentes PTS zu definieren.

2.4.15 Definition (λ2) Das PTS λ2 charakterisiert sich durch

S = {∗, □} ,
A = {∗:□} ,
R = {(∗, ∗), (□, ∗)} .

Dieses System λ2 ist dann injektiv und man hat das Analogon von Lemma 2.4.9.

2.4.16 Lemma In λ2 gilt für jeden Kontext Γ :

(1) Γ ⊢_{λ2} M : □ ⟺ M ≡ ∗ ⟺ ⊢_{λ2} M : □

(2) Falls Γ ⊢_{λ2} M : ∗ gilt, dann hat man F V (M) ⊆ V^{□} . M läßt sich ferner wie folgt charakterisieren:

• M ∈ V^{□} oder

• M ≡ σ → τ :≡ Πx:σ.τ (x ∉ F V (τ)) & Γ ⊢_{λ2} σ : ∗ & Γ ⊢_{λ2} τ : ∗ oder

• M ≡ Πα:∗.σ & Γ, α:∗ ⊢_{λ2} σ : ∗ .

(3) Γ ⊢_{λ2} M : B : ∗ ⟺ Γ^{□}, Γ^{∗} ⊢_{λ2} M : B : ∗

Beweis. Die Beweise laufen im wesentlichen wie zuvor und darum betrachten wir die zusätzlichen Fälle, die etwas anders zu behandeln sind. Dazu sollte man auch

(∗) ∀Γ ∀B [ Γ ⊬_{λ2} □ : B]

im Kopf behalten.

(1) Der Fall (Π) kommt nicht vor, weil wir nur (∗, ∗) und (□, ∗) als Regeln haben.

(2) Der Grund dafür, daß der Fall (App) nicht vorkommen kann, wird wie zuvor erörtert und dabei brauchen wir nur darauf zu achten, daß nur (∗, ∗) und (□, ∗) Regeln sind. Nun betrachten wir den Fall (Π): M habe die Gestalt Πx:A.B , und es gelte

\frac{Γ ⊢_{λ2} A : s Γ, x:A ⊢_{λ2} B : ∗}{Γ ⊢_{λ2} Πx:A.B : ∗}

wobei s ∈ {∗, □}. Der Fall s ≡ ∗ wird wie vorher behandelt. Sei nun s ≡ □, dann nach (1) hat man A ≡ ∗, was die Behauptung bedeutet.

(3) Es ist nach Satz 2.3.21 klar, denn man hat nach Lemma 2.3.2.(3) Γ ⊢_{λ2} x : A für alle x: A ∈ Γ^{□} und daher nach (1) A ≡ ∗ . □

2.4.17 Bemerkung Wie in λ→ gilt:

Γ ⊢_{λ2} M : B : □ ⟹ [ B ≡ ∗ & M in β-nf ]

Also haben wir auch das Analogon von Satz 2.4.11 bewiesen.

2.4.18 Satz Gelte V^{□} = 𝕍_{F} & V^{∗} = 𝕍_{2} , dann hat man für jeden Kontext Γ aus λ2 :

(1) ∃Δ [ Δ ⊢_{λ2} M : ∗] ⟺ M ∈ 𝕋_{F}

(2) Γ ⊢_{λ2} M : B : ∗ ⟹ Γ^{∗} ⊢_{F} M : B

(3) Γ^{∗} ⊢_{F} M : B ⟹ ∃Δ [ Γ^{∗} ⊆ Δ & Δ ⊢_{λ2} M : B : ∗]

Nun wenden wir uns unserem Hauptobjekt zu, das wir in den nächsten Kapiteln näher kennenlernen werden. Zu Beginn des Kapitels haben wir den λ-Würfel als eine Feinstruktur des Systems CC, Calculus of Constructions, von Coquand und Huet erwähnt, ohne dabei die genaue Definition anzugeben. Das tun wir jetzt:

Das PTS CC basiert auf den folgenden Mengen

\begin{matrix}S = & \{∗, □\} , \\ A = & \{∗ : □\} , \\ R = & \{(∗, ∗), (∗, □), (□, ∗), (□, □)\} , \end{matrix}

wobei (s, t) für (s, t, t) steht. Was das Axiom ∗ : □ und die Regel (∗, ∗) intendieren und wozu sie dienen, ist schon mit dem System λ→ teilweise gut erklärt worden. Durch die Betrachtung von Girard’s F und das äquivalente PTS λ2 haben wir darauf hingewiesen, wie stark die Einführung der Regel (□, ∗) das System macht. Was die intendierte Bedeutung der Regeln (∗, □) und (□, □) ist, werden wir auch gleich ersehen können.

2.4.19 Definition (λ-Würfel) Der Barendregtsche λ-Würfel besteht aus acht PTSs, die sich nur an den Regeln unterscheiden. Die Mengen S und A sind wie bei CC und die Regeln in jedem System lauten wie folgt:

Systeme  Regeln (R)
λ→  (∗, ∗)
λ2  (∗, ∗)  (□, ∗)
λ\underline{ω}  (∗, ∗)  (□, □)
λω  (∗, ∗)  (□, ∗) (□, □)
λP  (∗, ∗) (∗, □)
λP2  (∗, ∗) (∗, □) (□, ∗)
λP\underline{ω} (∗, ∗) (∗, □) (□, □)
λPω (= CC) (∗, ∗) (∗, □) (□, ∗) (□, □)

Warum es sich hier um einen Würfel handelt, erklärt der unten aufgemalte Würfel:

[figure: λ→; λP; λ\underline{ω}; λP\underline{ω}; λ2; λP2; λω; λPω; – Barendregt’s λ-Würfel –]

2.4.20 Bemerkung Man achte darauf, daß alle Systeme aus dem λ-Würfel injektiv sind. Sie genießen all die bisher bewiesenen Eigenschaften.

2.4.21 Satz (CC ⊧ SN_{β}) Das System CC erfüllt die starke Normalisierbarkeit: Ist M ein in CC typbarer Term, so ist jede mit M beginnende β-Reduktionskette endlich.

Beweis. S. [3, 20]. Später wird ein Beweis für λP2 ⊧ SN_{β} so durchgeführt, daß die Methode dabei auf den Fall mit CC verallgemeinert angewandt werden kann. □

Wie man bei der Definition sieht, entsprechen sich die links und rechts stehenden Systeme. Sie unterscheiden sich nur an der Regel (∗, □), deren Wirkung wir im nächsten Kapitel genauer untersuchen werden. Was ist dann mit der Regel (□, □)? Grob gesagt sorgt diese Regel für die Quantifizierung über Propositionen, d.h. sie sorgt für den höherstufigen Term- und Typenaufbau: Als ein Beipiel dafür betrachten wir das System Girard’s Fω. Dazu definiert man zunächst höherstufige Sorten, kind auf Englisch.

2.4.22 Definition Die Menge K der (höhersufigen) Sorten wird wie folgt induktiv definiert:

K ::= ∗ | (K → K)

Wie üblich nehmen wir an, daß es für jede Sorte k ∈ K eine abzählbar unendliche Typenvariablenmenge 𝕍^{k} gibt. Die Mengen 𝕍^{k}, k ∈ K, seien paarweise disjunkt, wobei 𝕍^{∗} = 𝕍_{F} auch angenommen ist.

Nun definieren wir das System Girard’s Fω. Man sollte darauf achten, was zu den Unterschieden zwischen den beiden Girardschen Systemen gehört und gehören sollte.

2.4.23 Definition (Girard’s Fω) Das System Fω wird folgendermaßen definiert:

• Als erster Schritt werden die Mengen 𝕋^{k}, k ∈ K, von Konstruktoren simultan induktiv definiert: Sei k, k_{i} ∈ K.

– 𝕍^{k} ⊆ 𝕋^{k}

– [ M ∈ 𝕋^{k_{2}} & α ∈ 𝕍^{k_{1}} ] ⟹ (λα:k_{1}.M) ∈ 𝕋^{k_{1}→k_{2}}

– [ M ∈ 𝕋^{k_{1}→k_{2}} & N ∈ 𝕋^{k_{1}} ] ⟹ (MN) ∈ 𝕋^{k_{2}}

– [ σ ∈ 𝕋^{∗} & α ∈ 𝕍^{k}] ⟹ (Πα:k.σ) ∈ 𝕋^{∗}

– σ, τ ∈ 𝕋^{∗} ⟹ (σ → τ) ∈ 𝕋^{∗}

Die Menge der freien oder gebundenen Variablen in einem Konstruktor und die Idee von Substitution und β-Reduktion sind in der üblichen Weise definiert. Man betrachte die Konstruktoren modulo α-Konversion.

• Eine Zuordnung hat die Gestalt x:σ mit σ ∈ 𝕋^{∗} und x ∈ 𝕍_{ω}, wobei 𝕍_{ω} eine abzählbar unendliche Objektvariablenmenge ist. 𝕍_{ω} sei von allen 𝕍^{k} disjunkt.

• Eine Objektbasis ist eine endliche Sequenz von Zuordnungen, deren Objektvariablen paarweise verschieden sind. Γ, Δ, Γ_{i}, Δ_{i} … sind die syntaktischen Variablen für Objektbasen. Die Menge der in Γ frei auftretenden Typenvariablen aus ⋃_{k∈K} 𝕍^{k} wird mit F V (Γ) bezeichnet.

• Die Herleitungsregeln von Fω lauten:

(Axiom) Γ ⊢{F \atop ω} x : σ  für x : σ ∈ Γ
(→I)  \begin{matrix}Γ, x:σ ⊢{F \atop ω} M : τ \\ Γ ⊢{F \atop ω} (λx:σ.M) : (σ → τ) \end{matrix}
(→E)  \begin{matrix}Γ ⊢{F \atop ω} M : (σ → τ)  Γ ⊢{F \atop ω} N : σ \\ Γ ⊢{F \atop ω} (MN) : τ \end{matrix}
(∀I)  \begin{matrix}Γ ⊢{F \atop ω} M : σ \\ Γ ⊢{F \atop ω} (λα:k.M) : (Πα:k.σ) \end{matrix}  für α ∉ F V (Γ)
(∀E)  \begin{matrix}Γ ⊢{F \atop ω} M : (Πα:k.σ) \\ Γ ⊢{F \atop ω} (Mτ) : σ [α := τ] \end{matrix}  für τ ∈ 𝕋^{k}
(Konv) \begin{matrix}Γ ⊢{F \atop ω} M : σ \\ Γ ⊢{F \atop ω} M : τ \end{matrix}  für σ =_{β} τ

2.4.24 Bemerkung Bevor wir die Analoga von Sätzen 2.4.11 und 2.4.18 zeigen, sei folgendes angemerkt:

(1) Es ist klar, daß man das System Girard’s F durch die Einschränkung der Menge K auf {∗} erhält: Die zweite und dritte Klausel bei dem Aufbau von Konstruktoren und die Herleitungsregel (Konv) werden dann nicht auftreten. Weiter gilt 𝕋^{∗} = 𝕋_{F} auch, falls 𝕍_{F} = 𝕍^{∗} vorausgesetzt ist, was man gerne tut.

(2) Die Namen der Herleitungsregeln sind darauf gezielt gewählt worden, daß man auf den gewissen Zusammenhang zwischen dem System Girard’s Fω und der höherstufigen intuitionistischen Aussagenlogik hinweist, s. Kapitel 3.

Wie stark dieses System Fω im Gegensatz zu F ist und warum man hier von höherstufigen Dingen redet, hat J.-Y. Girard dadurch gezeigt, daß ganau die in HAH, die höherstufige Heyting-Arithmetik, beweisbar totalen arithmetischen Funktionen in Fω repräsentierbar sind. Es ist schon erwähnt worden, daß das PTS λω zu Fω äquivalent ist. Das zeigen wir jetzt. Wir gehen wie zuvor vor:

2.4.25 Lemma In λω gilt für jeden Kontext Γ :

(1) Γ ⊢_{λω} M : □ ⟺ M ∈ K ⟺ ⊢_{λω} M : □

(2) Falls Γ ⊢_{λω} M : k für k ∈ K, dann gilt F V (M) ⊆ V^{□} . M läßt sich wie ferner unten charakterisieren:

• M ∈ V^{□} oder

• M ≡ λα:k_{1}.N & Γ, α:k_{1} ⊢_{λω} N : k_{2} & k_{1}, k_{2} ∈ K & k ≡ k_{1} → k_{2} oder

• M ≡ NL & Γ ⊢_{λω} N : k_{1} → k & Γ ⊢_{λω} L : k_{1} & k_{1} ∈ K oder

• M ≡ Πα:k_{1}.σ & Γ, α:k_{1} ⊢_{λω} σ : ∗ & k_{1} ∈ K & k ≡ ∗ oder

• M ≡ σ → τ ≡ Πx:σ.τ (x ∉ F V (τ)) & Γ ⊢_{λω} σ : ∗ & Γ ⊢_{λω} τ : ∗ & k ≡ ∗ .

(3) Γ ⊢_{λω} M : B : ∗ ⟺ Γ^{□}, Γ^{∗} ⊢_{λω} M : B : ∗

Beweis. Wie zuvor betrachten wir hier die zusätzlichen Fälle, die noch berücksichtigt werden sollen. Man achte auf

(∗) ∀Γ ∀B [ Γ ⊬_{λω} □ : B] ,

was leicht zu zeigen ist.

(1) Es genügt nur die erste Äquivalenz zu zeigen. Die Richtung von rechts nach links ist klar, da Γ als legal vorausgesetzt ist. Der Beweis für die Richtung von links nach rechts wird durch Herleitungsinduktion gezeigt. Anders als bei λ2 kann der Fall (Π) vorkommen:

\begin{matrix}Γ ⊢_{λω} A : □ Γ, x:A ⊢_{λω} B : □ \\ Γ ⊢_{λω} Πx:A.B : □ \end{matrix}

Dann folgt die Behauptung direkt mit der I.V. Daß der Fall (App) nicht vorkommen kann, ist zuvor ganz allgemein begründet.

(2) Der Beweis wird duch Induktion nach der Herleitungslänge von Γ ⊢_{λω} M : k gezeigt. Es ist klar, daß der Fall (Axiom) nicht auftritt. In den Fällen (V ar) und (Schw) ist die Behauptung direkt oder klar nach der I.V. Übriggeblieben sind nur die Fälle (Π), (App) und (=_{β}). Der Fall (=_{β}) ist zuvor ganz allgemein begründet, was man ohne weiteres übernehmen kann. Nun betrachten wir den Fall (App). Es gelte M ≡ NL & k ≡ B [x := L] und

\begin{matrix}Γ ⊢_{λω} N : Πx:A.B Γ ⊢_{λω} L : A \\ Γ ⊢_{λω} NL : B [x := L] \end{matrix}

Dann gibt es zwei Fälle zu betrachten: B ≡ x & L ≡ k oder B ≡ k. Der Fall B ≡ x & L ≡ k kann nicht auftreten, denn sonst hätte man nach Eindeutigkeit der Typbarkeit A ↠_{β} □ und daher nach Korrektheit und Stripping Γ ⊢_{λω} Πx:□.B : s für ein s ∈ S, was (∗) widersprechen würde. Sei also B ≡ k. Dann hat man nach Stripping , Eindeutigkeit der Typbarkeit und Subjektreduktion Γ ⊢_{λω} Πx:A.k : □ , woraus nach (1) Πx:A.k ∈ K & A ∈ K folgt. Der Fall (Π) tritt nur für k ≡ ∗ auf. Es gelte M ≡ Πx:A.σ und für ein s ∈ {∗, □}

\begin{matrix}Γ ⊢_{λω} A : s Γ, x:A ⊢_{λω} σ : ∗ \\ Γ ⊢_{λω} Πx:A.σ : ∗ \end{matrix}

• 1. Fall s ≡ ∗. Nach der I.V. gilt x ∉ F V (σ) und daraus folgt die Behauptung. Der dritte Fall kommt vor.

• 2. Fall s ≡ □. Dann ist nach (1) der vierte Fall an der Reihe.

Der Fall (λ) lautet M ≡ λx: A.N & Γ ⊢_{λω} λx: A.N : k . Dann gibt es ein B mit Πx: A.B =_{β} k & Γ ⊢_{λω} λx : A.N : Πx : A.B . Es ist dann fertig, wenn man Πx : A.B ≡ k zeigen kann. Man kann es durch Induktion nach dem Termaufbau von k zeigen. Aber da wir später kompakter argumentieren können, sparen wir uns den Beweis, s. Lemma 3.3.1.18. Der fünfte Fall tritt auf.

(3) Nach Satz 2.3.21 und Definition von K ist die Behauptung direkt. □

Nun kann man mit Hilfe vom obigen Lemma die Äquivalenz von Fω und λω zeigen.

2.4.26 Satz Gelte V^{□} = ⋃_{k∈K} 𝕍^{k} & V^{∗} = 𝕍_{ω} , dann hat man für jeden Kontext Γ aus λω :

(1) ∀k ∈ K [ ∃Γ [ Γ ⊢_{λω} M : k] ⟺ M ∈ 𝕋^{k}]

(2) Γ ⊢_{λω} M : B : ∗ ⟹ Γ^{∗} ⊢{F \atop ω} M : B

(3) Γ^{∗} ⊢{F \atop ω} M : B ⟹ ∃Δ [ Γ^{∗} ⊆ Δ & Δ ⊢_{λω} M : B : ∗]

Beweis. Alles läßt sich durch einfache Induktion nach Herleitungslängen oder dem Termaufbau zeigen. Man beachte, ist, daß jede Objektbasis in Fω ein legaler Kontext in λω ist. □

2.4.27 Bemerkung

(1) Wie man einen Kontext Γ mit Γ ⊢_{λω} M : k für M ∈ 𝕋^{k} wählen kann, ist offensichtlich. Die Menge {x : k | x ∈ F V (M) ∩ 𝕍^{k}} ist ein Beispiel. Achte darauf, daß die Reihenfolge der Deklarationen keinen Einfluß hat, vgl. Satz 2.3.21.

(2) Es ist auch offenbar, wie ein Δ mit Γ^{∗} ⊆ Δ & Δ ⊢_{λω} M : B : ∗ für Γ^{∗} ⊢{F \atop ω} M : B zu wählen ist: Z.B. Δ = {x:k | x ∈ (F V (M) ∪ F V (B)) ∩ 𝕍^{k} für ein k ∈ K}, Γ^{∗}

Der Curry-Howard-Isomorphismus

Im gewissen Sinne des Wortes steht ,,Konstruktivismus“ mit ,,Intuitionismus“ in einem engen Zusamenhang. Dieser Zusamenhang läßt sich durch die Brouwer-Heyting-Kolmogorov-Interpretation, die man wiederum mit Natürlichem Schließen gut beschreiben kann, grob erörtern, s. [37, 30]. Andererseits hat H.B. Curry beobachtet, daß die minimale Aussagenlogik, P (⊃) in [10], eine gewisse Beziehung zur kombinatorischen Logik besitzt. Es existiert eine Bijektion zwischen den Axiomen und Kombinatoren. Der Kombinator λxy.x entspricht z.B. dem Axiom A ⊃ (B ⊃ A) und umgekehrt. Betrachtet man zum leichteren Verständnis dieser Idee Kombinatoren als Beweisobjekte für herleitbare Formeln, so erhebt sich die Frage, wie die logischen Grundschlußregeln aussehen sollten. In [26] stellt W.A. Howard vor, wie man den Isomorphismus zwischen der minimalen Aussagenlogik und λ →-Church aufbauen kann. Formeln sollen als Typen und Beweise als Terme von gewissen Typen interpretiert werden: Sei eine Formel wie üblich aus den Aussagenvariablen P_{i}, i ∈ ℕ, nur mit dem Implikatinsoperator → gebaut, und sei jeder Aussagenvariablen P_{i} eine Typenvariable α_{i} ∈ 𝕍_{ch} zugeordnet, so bekommt man eine Bijektion [[−]] zwischen den Formeln und Typen. Nun betrachte man die Grundschlußregeln im Natürlichen Schließen:

(1) Jedem einköpfigen Baum mit dem einzigen Auftreten der Formel A ist eine Termvariable x zugeordnet. Man nimmt an, daß für verschidene Formeln auch verschiedene Termvariablen zur Verfügung stehen.

(2) Dem Grundschluß (→I)

\begin{matrix}[ A] \\ H \\ B \\ A → B \end{matrix}

wird der Term λx:[[A]].M vom Typ [[A → B]] ≡ [[A]] → [[B]] zugeordnet, wobei M der dem Beweis für B (mit den möglichen Auftreten der offenen Annahme A) zugeordnete Term vom Typ [[B]] ist.

(3) Dem Grundschluß (→E)

\begin{matrix}H_{1} & H_{2} \\ A → B & A \\ B \end{matrix}

wird der Term MN vom Typ [[B]] zugeordnet, wobei M bzw. N der dem Beweis für A → B bzw. B zugeordnete Term vom Typ [[A]] → [[B]] bzw. [[A]] ist.

Es ist eine leichte Aufgabe einzusehen, daß diese Interpretation vollständig ist:

Ist H ein Beweis der Formel A, dessen offene Formeln in {A_{1}, …, A_{n}} enthalten sind, dann hat man Γ ⊢_{ch} [[H]] : [[A]] für eine Basis Γ, die {x_{1} : A_{1}, …, x_{n}: A_{n}} als eine Teilmenge hat, und umgekehrt.

Hierbei ist [[H]] die a priori zu bestimmende Interpretation des Beweises. Ein konkreter Beweis wird hier nicht durchgeführt, weil es einerseits offensichtlich ist und andererseits etwas später viel allgemeiner bewiesen wird.

Oben haben wir gerade skizziert, wie man die Idee des Curry-Howard-Isomorphismus ungefähr verstehen soll. Wir werden diese Idee auf höherstufige Logiksysteme verallgemeinern. Man soll an dieser Stelle betonen, daß das Ziel dieses Paragraphen nicht die eingehende Untersuchung dieser Idee, sondern die Erörterung der Regeln in CC mit Hilfe der Idee des Curry-Howard-Isomorphismus unsere Absicht ist. Für weitere Eigenschaften sei auf [26, 24, 19] hingewiesen.

Dagegen ziehen wir in Betracht, unter welchem Zusammenhang die β-Reduktion und die Schnittelimination stehen. Es war W.W. Tait, der diesen Zusammenhang herausgefunden hat, s. [35]. Und diese Idee läßt sich leicht nachvollziehen, indem man sich die zwei Grundschlußregeln genauer ansieht. Wir werden uns im folgenden mit den folgenden Fragen befassen:

(1) Läßt sich die oben demonstrierte Idee des sog. Curry-Howard-Isomorphismus für die anderen Logiksysteme verallgemeinern?

(2) Spielt dann die Beziehung zwischen β-Reduktion und der Schnittelimination eine Rolle?

Diese Fragen deuten auch einen anderen Zugang zum Verständnis des Systems CC, Calculus of Construction von Coquand und Huet [7], oder überhaupt von Barendregt’s λ-Würfel und Logik-Würfel, welche die Hauptobjekte dieser Arbeit sind, an. Wir fangen mit formalen Dingen an, und der erste Schritt soll die genaue Formulierung der Systeme sein, von denen die Rede sein wird.

3.1 Logiksysteme

Sei eine abzählbar unendliche Menge B gegeben, deren Elemente wir Grunddomänen nennen werden. Dieser Name stammt aus der mehrsortigen erststufigen Prädikatenlogik. Dabei werden Funktionszeichen mit Typen versehen: Ist f eine n-stellige (totale) Funktion, so gibt es n + 1 Grunddomänen A_{1}, …, A_{n} und B, so daß f den Typ A_{1} → ⋯ → A_{n} → B besitzt, d.h. der Definitionsbereich von f ist A_{1} ×⋯×A_{n} und der Bildbereich von f ist eine Teilmenge von B. Die Menge B ist dann als die Gesamtmenge von Grunddomänen (auch Grundsorten genannt) zu verstehen, d.h. A_{1}, …, A_{n}, B ∈ B Wie eben gesehen, werden dann Funktionaldomänen auf die übliche Weise definiert.

Wie ist es mit Prädikaten? In der erststufigen mehrsortigen Logik werden jedem n-stelligen Prädikatszeichen n Grunddomänen A_{1}, …, A_{n} zugeordnet und, falls t_{1}, …, t_{n} jeweils Terme aus den Grunddomänen A_{1}, …, A_{n} sind, ist P t_{1} ⋯ t_{n} eine Formel der gegebenen Sprache, die durch die Angabe von B bestimmt wird. Nun erhebt sich eine Frage. Wie kann man ausdrücken, daß P t_{1} ⋯ t_{n} eine Formel ist? Eine einfache und klare Lösung ist die Einführung des Zeichens, das das Formelzusein symbolisiert, z.B. das Zeichen prop. Im obigen Beispiel ist P dann mit dem Typ A_{1} → ⋯ → A_{n} → prop versehen, wobei A_{1}, …, A_{n} ∈ B sind.

Das bisherige Vorgehen beschränkt sich auf die erststufige Sprache. Was soll z.B. prop → prop heißen? Wie wir gleich sehen werden, sind Terme vom Typ prop → prop als Mengen von Formeln intendiert. Es ist ein typischer Fall für die drittstufige Logik. Wenn man weiter so vorgeht, erhält man somit die höherstufige Logik. Aber ehe man die höherstufige Sprache definiert, formuliert man die oben erörterte Idee von höherstufigen Domänen:

3.1.1 Definition Domänen mit Grunddomänen aus der abzählbar unendlichen Menge B werden folgendermaßen simultan induktiv definiert:

\begin{aligned}D_{s} & ::= & B | (D_{s} → D_{s}) | (D_{p} → D_{s}) \\ D_{p} & ::= & prop | (D_{p} → D_{p}) | (D_{s} → D_{p}) \\ D_{B} & := & D_{s} ∪ D_{p} \end{aligned}

Wie üblich lege man für jede Domäne σ ∈ D_{B} eine abzählbar unendliche Variablenmenge V^{σ} zugrunde, wobei V^{σ} ∩ V^{τ} = ∅ für σ ≢ τ angenommen wird.

Es sei angemerkt, daß D_{B} die disjunkte Vereinigung von D_{s} und D_{p} ist.

3.1.2 Definition (L_{B}^{ω}) Es sei B gegeben.

(1) Für jede Domäne σ ∈ D_{B} wird die Menge L_{B}^{σ} der höherstufigen Terme folgendermaßen simultan induktiv definiert:

• V^{σ} ⊆ L_{B}^{σ} für σ ∈ D_{B}.

• Sind M ∈ L_{B}^{τ} und x ∈ V^{σ}, dann ist (λx:σ.M) ∈ L_{B}^{σ→τ}.

• Sind M ∈ L_{B}^{σ→τ} und N ∈ L_{B}^{σ}, dann ist (MN) ∈ L_{B}^{τ}.

• Sind φ, ψ ∈ Lprop_{B}, dann ist (φ → ψ) ∈ Lprop_{B} .

• Sind φ ∈ Lprop_{B} und x ∈ V^{σ}, dann ist (∀x:σ.φ) ∈ Lprop_{B}.

(2) L_{B}^{ω} := ⋃{L_{B}^{σ} | σ ∈ D_{B}} .

3.1.3 Bemerkung

(1) Nach der üblichen Klammerungsregel werden Klammerungen meistens weggelassen.

(2) Wenn nichts angemerkt ist, ist B von jetzt an eine stillschweigend vorgegebene, aber beliebige Menge von Grunddomänen. Daher wird der Index B meist weggelassen.

(3) Die freien bzw. gebundenen Variablen eines Terms werden wie üblich definiert: Sei x ∈ V^{σ}, σ ∈ D_{B} .

\begin{aligned}F V (x) & := & \{x\} \\ F V (λx:σ.M) & := & F V (M)\\{x\} \\ F V (MN) & := & F V (M) ∪ F V (N) \\ F V (φ → ψ) & := & F V (φ) ∪ F V (ψ) \\ F V (∀x:σ.φ) & := & F V (φ)\\{x\} \end{aligned}  \begin{aligned}BV (x) & := & ∅ \\ BV (λx:σ.M) & := & BV (M) ∪ \{x\} \\ BV (MN) & := & BV (M) ∪ BV (N) \\ BV (φ → ψ) & := & BV (φ) ∪ BV (ψ) \\ BV (∀x:σ.φ) & := & BV (φ) ∪ \{x\} \end{aligned}

(4) Die Substitution eines Terms in einen anderen Term für eine Variable wird dann wie üblich, aber mit geeigneten Variablenbedingungen definiert.

(5) Wie auf der Menge T der Pseudoterme wird die Äquivalenzrelation =_{β}, β-Konversion, über L_{B}^{ω} definiert. Man betrachte Terme modulo der α-Konversion, vgl. Bemerkung 1.1.6.

Im folgenden definieren wir die Herleitungsregeln der höherstufigen Logik. Herleitungen werden die folgende Gestalt

\begin{matrix}H \\ ψ \end{matrix}

haben, wobei ψ die Konklusion der Herleitung H ist. Um anzudeuten, daß eine Formel φ in der Herleitung H möglicherweise auftritt, schreibt man oft

\begin{matrix}[^{α}φ] \\ H \\ ψ \end{matrix}

Dabei kann φ an mehreren Stellen auftreten.

3.1.4 Definition (PREDω) Sei B die zugrundeliegende Menge von Grunddomänen.

(1) Terme aus L^{prop} heißen Formeln. Formeln ohne freie Variablen heißen Sätze.

(2) Jeder Formel φ wird die abzählbar unendliche Menge der markierten Formeln ^{α}φ für α ∈ I zugeordnet, wobei I eine abzählbar unendliche Indexmenge ist. Dabei betrachte man die markierten Formeln auch als Formeln. Man nehme immer an, daß verschiedene Formeln verschiedene Markierungen zur Verfügung haben: Indexmengen für verschiedene Formeln sind paarweise disjunkt.

(3) Die höherstufige Prädikatenlogik PREDω (basierend auf B) charakterisiert sich durch die Sprache L^{ω} und die folgenden Herleitungsregeln. Im folgenden stehen φ und ψ für Formeln und H_{i} für Herleitungen:

Basis Der einköpfige Baum mit dem Knoten ^{α}φ ist eine Herleitung. ^{α}φ ist die freie Annahme der Herleitung und es gibt keine gebundenen Annahmen.

Induktionsschritt Eine Herleitung kann nach den folgenden Regeln konstruiert werden:

[^{α}φ]
\begin{aligned}& H_{1} \\ & ψ \\ (→I) & φ → ψ & α \end{aligned}  \begin{aligned}& H_{1} & H_{2} \\ & φ → ψ & φ \\ (→E) & ψ \end{aligned}

\begin{aligned}& H_{1} \\ & ψ \\ (∀ I) & ∀x:σ.ψ & x ∈ V^{σ} \end{aligned}  \begin{aligned}& H_{1} \\ & ∀x:σ.ψ \\ (∀ E) & ψ [x := t] & t ∈ L^{σ} \end{aligned}

H_{1}
φ
(Konv) ψ  φ =_{β} ψ

• Die Formel^{α}φ bei (→I) wird sozusagen gestrichen und als gebundene Annahme bezeichnet. Es wird immer angenommen, daß die Regel (→I) mit dem Index α höchstens einmal angewendet wird.

• Bei (∀ I) wird angenommen, daß die Variable x nicht frei in den freien Annahmen der Herleitung H_{1} auftritt.

3.1.5 Definition (Γ ⊢_{PREDω} φ) Sei Γ eine Menge von (höherstufigen) Formeln. Eine Formel φ heiße von Γ herleitbar, falls es eine Herleitung gibt, die als ihre Wurzel die Formel φ hat und deren freien Annahmen in Γ sind. In Zeichen

Γ ⊢_{PREDω} φ

Wie eingangs angesprochen wurde, muß man den Aufbau der Domänen einschränken, um die nstufigen Logiksysteme zu erhalten. Es ist sehr plausibel, was die unten definierte Ordnungsfunktion beabsichtigt. Zu beachten ist, daß es für jede Domäne σ n ∈ ℕ & σ_{1}, …, σ_{n} ∈ D & τ ∈ B ∪ {prop} gibt mit σ = σ_{1} → ⋯ → σ_{n} → τ .

3.1.6 Definition Die Ordnung einer Domäne σ ∈ D, ord(σ), wird rekursiv definiert: Sei b aus B.

ord(b) := 1
ord(prop) := 2
ord(σ_{1} → ⋯ → σ_{n} → b) := max{ord(σ_{i}) | 1 ≤ i ≤ n}
ord(σ_{1} → ⋯ → σ_{n} → prop) := max{ord(σ_{i}) | 1 ≤ i ≤ n} + 1

Beachte, daß gilt

ord(σ) = 1 ⟺ kein Auftreten von prop in σ

Mit dieser Ordnungsrestriktion definieren wir die Teilsysteme von PREDω. Aber dazu müssen wir zwei bestimmte Arten von Domänen auszeichnen:

3.1.7 Definition

(1) σ ∈ D heißt eine Funktionaldomäne, falls prop nicht in σ vorkommt, d.h., falls ord(σ) = 1.

(2) σ ∈ D heißt eine Prädikatsdomäne, falls σ die folgende Gestalt besitzt:

σ = σ_{1} → ⋯ → σ_{n} → prop & ∀i ∈ {1, …, n} [ σ_{i} ∈ D & ord(σ_{i}) = 1 ]

Es gilt insbesondere ord(σ) = 2, falls σ eine Prädikatsdomäne ist.

3.1.8 Definition (PREDn)

(1) Das n-stufige System PREDn für n ≥ 3 ist ein Teilsystem von PREDω, das bei der Formulierung der Sprache durch Einschränkung von Domänen auf die Domänen der Ordnung ≤ n hervorgeht.

(2) Das zweitstufige Logiksystem PRED2 erhält man als ein Teilsystem von PREDω, indem man sich auf die Funktional- oder Prädikatsdomänen beschränkt, d.h., indem man die Klauseln der Sprache für die Variablen, die Konstruktion einer λ-Abstraktion und die Quantifizierung einer Formel durch die folgenden Klauseln ersetzt:

• V^{σ} ⊆ L^{σ} für jede Funktional- oder Prädikatsdomäne σ.

• Sind M ∈ L^{τ} und x ∈ L^{σ}, dann ist (λx: σ.M) ∈ L^{σ→τ}, falls (σ → τ) eine Funktional- oder Prädikatsdomäne ist.

• Sind φ ∈ L^{prop} und x ∈ V^{σ}, dann ist (∀x : σ.φ) ∈ L^{prop}, falls σ eine Funktional- oder Prädikatsdomäne ist.

(3) Das erststufige Logiksystem PRED1 oder einfach PRED erhält man von PREDω, indem man die Ordnung aller auftretenden Domänen auf 1 einschränkt und die Klauseln der Sprache um die folgenden Klauseln vermehrt:

• V^{σ} ⊆ L^{σ} , falls σ eine Prädikatsdomäne ist.

• Sind M ∈ L^{τ}, x ∈ L^{σ} und (σ → τ) eine Prädikatsdomäne, dann ist (λx:σ.M) ∈ L^{σ→τ}.

(4) Sei n ∈ ℕ\{0}. Sind Γ eine Menge von n-stufigen Formeln und φ eine n-stufige Formel, dann ist

die Herleitung

Γ ⊢_{PREDn} φ

analog wie in PREDω, aber mit der entsprechenden Einschränkung der Domänenordnung definiert.

Die Systeme scheinen minimal zu sein, denn man hat nur den Junktor → und den Quantor ∀ gebraucht. Im Fall PRED ist es wirklich so in dem Sinne, daß es dort wenig herzuleiten gibt. Wir werden zeigen können, daß PRED2 konservativ über PRED ist, s. Korollar 4.2.14. Dies hört sich etwas widersprüchlich an, wenn man an den zweiten Gödelschen Satz denkt.

Im Gegensatz dazu können die anderen fehlenden Junktoren und der ∃-Quantor in PREDn, n ≥ 2, folgendermaßen definiert werden: Seien φ, ψ Formeln.

φ ∧ ψ := ∀α:prop.(φ → ψ → α) → α
φ ∨ ψ := ∀α:prop.(φ → α) → (ψ → α) → α
⊥ := ∀α:prop.α
¬φ := φ →⊥
∃x:σ.φ := ∀α:prop.(∀x:σ.φ → α) → α

Analog definiert man die Leibnizschen Gleichungen für jede Domäne σ ∈ D in jedem System PREDn, n ≥ 2, durch

t =_{σ} s := ∀P:σ → prop.P t → P s ,

wobei ord(σ) < n ist. Im Fall n = 2 beschränken wir uns daher auf Funktionaldomänen.

3.1.9 Lemma Sei n ≥ 2.

(1) Im System PREDn gelten all die Standardregeln für die definierten Junktoren, den ∃-Quantor und die Leibnizschen Gleichungen =_{σ}, σ ∈ D.

(2) Im System PREDn, ist das Komprehensionsschema zulässig:

Für jede Formel φ(x_{1}, …, x_{n}) mit F V (φ) ⊆ {x_{1}, …, x_{n}}, x_{i} ∈ V^{σ_{i}}, hat man

⊢_{PREDn} ∃P:σ_{1} → ⋯ → σ_{n} → prop.∀x_{1} :σ_{1}. · · · .∀x_{n}:σ_{n}.(φ ↔ P x_{1} ⋯ x_{n}) .

Beweis.

(1) Alles ist nur eine Standardsache, wenn man folgendes vor Augen hält:

\begin{aligned}F ∧ G & ⟺ & ¬(F → ¬G) \\ F ∨ G & ⟺ & ¬F → ¬G →⊥ \\ ∃xF & ⟺ & ¬∀x¬F \end{aligned}

Für die Leibnizschen Gleichungen sei z.B. auf [37] hingewiesen.

(2) Wähle P ≡ λx_{1} :σ_{1}. · · · .λx_{n}:σ_{n}.φ(x_{1}, …, x_{n}) . □

Nun definiert man die aussagelogischen Systeme, indem man keine Grundterme berücksichtigt, welche unentbehrlich für die Prädikatenlogik sind.

3.1.10 Definition (PROPν) Die Systeme der Aussagenlogik werden als Teilsysteme der entsprechenden Prädikatenlogiksysteme definiert.

(1) Die höherstufige Aussagenlogik PROPω wird als Teilsystem von PREDω definiert, wobei B als leer vorausgesetzt ist.

(2) Die Systeme PROPn, n ≥ 1, werden analog zu PREDn definiert mit B = ∅.

(3) Für eine Menge Γ von aussagenlogischen Formeln und eine aussagenlogische Formel φ wird die

Herleitung

Γ ⊢_{PROPν} φ

analog zu Γ ⊢_{PREDν} φ definiert mit ν ∈ ℕ\{0} ∪ {ω}.

Die bisher betrachteten Systeme sind alle intuitionistisch formuliert worden. Natürlich gibt es die entsprechenden klassischen Versionen. Aber weil wir uns nur mir dem Zusammenhang zwischen Logiksystemen und λ-Kalkülsystemen befassen werden, begnügen wir uns hier mit der Definition und ein paar Eigenschaften.

3.1.11 Definition (PREDν_{c}, PROPν_{c}) Die klassischen Systeme werden charakterisiert durch Hinzufügen des Axioms

(Stab) ∀α:prop.(¬¬α → α),

namens Stabilitätsaxiom: Für ν ≥ 2

PREDν_{c} =PREDν + (Stab)
PROPν_{c} =PROPν + (Stab)

Achte darauf, daß es für die Systeme PRED und PROP (= PROP1) keine entsprechenden klassischen Versionen gibt. Wenn man dies erreichen will, sollte man die Konstante ⊥ aus L^{prop} als vorgegeben sehen und die Herleitungsregel

\begin{aligned}& H_{1} \\ & ⊥ \\ (⊥) & ψ \end{aligned}

hinzufügen. Die eben definierten Systeme heißen PRED⊥ bzw. PROP⊥. Dann gibt es die entsprechenden klassischen Versionen PRED⊥_{c} bzw. PROP⊥_{c} mit dem zugefügten Axiomschema

(Stab) ¬¬ψ → ψ

für jede erststufige Formel ψ.

Noch anzumerken ist, daß die Herleitungsregel (⊥) in den Systemen PREDν und PROPν, ν ≥ 2, zulässig ist. Wir zeigen nun, daß es wie im erststufigen Fall eine Version der Gödel-Translation gibt.

3.1.12 Definition Sei L ein intuitionistisches Logiksystem. Die Gödelsche Translation (−)^{¬} von den Termen von L in sich selbst wird folgendermaßen rekursiv definiert:

(1) L ist höher als erststufig.

(x)^{¬} := x für x eine Variable
(MN)^{¬} := (M)^{¬}(N)^{¬}
(λx:σ.M)^{¬} := λx:σ.(M)^{¬}
(φ → ψ)^{¬} := ¬¬(φ)^{¬} → ¬¬(ψ)^{¬}
(∀x:σ.φ)^{¬} := ∀x:σ.¬¬(φ)^{¬}

(2) Ist L PRED⊥ oder PROP⊥, nimmt man zusätzlich die folgende Regel

(⊥)^{¬} := ⊥ .

3.1.13 Lemma Seien M, N Terme, x eine Variable und σ eine Domäne.

(1) M ∈ L^{σ} ⟹ (M)^{¬} ∈ L^{σ}

(2) (M [x := N])^{¬} ≡ (M)^{¬} [x := (N)^{¬}]

(3) M =_{β} N ⟹ (M)^{¬} =_{β} (N)^{¬}

Beweis. (1) und (2) lassen sich leicht durch Induktion nach dem Termaufbau von M nachprüfen. Für (3) kann man die direkte Methode einsetzen, dennoch wird es einfacher, wenn man von der Church-Rosser-Eigenschaft Gebrauch macht, die nicht direkt gilt, aber eigentlich schon bewiesen worden ist, denn wir werden gleich sehen, daß sich die intuitionistischen Logiksysteme als PTSs repräsentieren lassen. □

Nun bekommt man die Beziehung zwischen L und L_{c}, deren Beweis wir uns hier gerne sparen möchten.

3.1.14 Satz Sei L ein intuitionistisches System und φ eine Formel aus L. Dann gilt

Γ ⊢_{L_{c}} φ ⟺ ¬¬(Γ)^{¬} ⊢_{L} ¬¬(φ)^{¬} ,

wobei klar ist, wie ¬¬(Γ)^{¬} definiert wird.

3.2 Der Curry-Howard-Isomorphismus und CC

Eingangs des Kapitels haben wir darüber diskutiert, wie sich die minimale Aussagenlogik in dem getypten λ-Kalkül λ →-Church repräsentieren läßt. Das minimale Logiksystem PROP und das PTS λ → stehen in einem sehr engen Zusammenhang, und dieser Zusammenhang wird hier auf die anderen Logiksysteme verallgemeinert und erörtert.

Wir betrachen als das erste Objekt das minimale Prädikatenlogiksystem PRED. Ein Unterschied zu PROP ist, daß man noch die Grunddomänen berücksichtigen muß. Wie kann man ausdrücken, daß eine Funktion f den Typ A_{1} → ⋯ → A_{n} → A_{n+1} hat, d.h. die Definitionsmenge von f A_{1} × ⋯ × A_{n} ist und die Bildmenge von f in A_{n+1} enthalten ist, wobei A_{1}, …, A_{n+1} Grunddomänen sind? Die erste Frage soll dann lauten: Was braucht man, um mit zwei Grunddomänen A und B die Funktionaldomäne A → B zu konstruieren? Man benutzt die Idee, daß all die Grunddomänen, modelltheoretisch gesehen, als Mengen interpretiert werden; man führt das neue Symbol set und die neue Regel

(set, set, set)

ein. Sind A : set und B : set, dann ist auch A → B : set. Im allgemeinen hat man

A_{1} → ⋯ → A_{n} → A_{n+1} : set , falls A_{i} : set für alle i ∈ {1, …, n + 1} .

Damit kann man von einer Funktion von A_{1} × ⋯ × A_{n} nach A_{n+1} sprechen und sogar alles formal ausdrücken.

Der andere Gesichtspunkt der Prädikatenlogik ist die Einführung von n-stelligen Prädikatszeichen für n ∈ ℕ. Ein n-stelliges Prädikatszeichen P versehen mit den Grunddomänen A_{1}, …, A_{n} ist eine Teilmenge von A_{1} × ⋯ × A_{n} und für t_{i} vom Typ A_{i}, i ∈ {1, …, n}, ist P t_{1} ⋯ t_{n} eine Formel. Wie wir uns vorher überlegt haben, kann P als vom Typ A_{1} → ⋯ → A_{n} → prop gesehen werden. Nun ist deutlich, was man noch zusätzlich braucht: Erstens benötigt man etwas, mit dem man prop als legal bezeichnen kann. Dafür legt man

prop : type^{p}

als ein Axiom fest. Als nächstes braucht man die Regel

(set, type^{p}, type^{p}) .

Ist z.B. A : set , dann ist A → prop : type^{p} .

Natürlich hätte man festlegen sollen, daß man ein neues Zeichen type^{s} und ein neues Axiom

set : type^{s}

braucht, um set überhaupt als legal bezeichnen zu können.

Was wir noch zu tun haben oder was noch charakteristisch für die erststufige Prädikatenlogik ist, ist die Quantifizierung einer Formel über Individuenvariablen: Ist φ(x) eine Formel, dann ist ∀xφ(x) auch eine Formel. Weil wir uns hier mit mehrsortiger Logik befassen, ist x dabei mit einer Domäne σ, ord(σ) = 1, verbunden, man soll also ∀x : σ.φ(x) betrachten. Wie wir uns oben überlegt haben, gilt σ : set und andererseits φ(x) : prop. Mit der neuen Regel

(set, prop, prop)

bekommt man nun Πx:σ.φ(x) : prop . Damit haben wir bereits die Intention unserer Überlegung gezeigt: Der Allquantor wird als eine Produktabstraktion interpretiert.

Wir kommen zur höherstufigen Logik. Wie wir bereits im letzten Kapitel über Girard’s Systeme F und Fω gesehen haben, hat das Wort ,,höherstufig“ seinen Ursprung bei dem Typenaufbau zu finden. Um z.B. aus der zweitstufigen Formel φ(X) die zweitstufige Formel ∀Xφ(X) zu konstruieren, d.h. in unserem Fall um aus der Aussage φ(X) : prop die Aussage ΠX: prop.φ(X) : prop herstellen zu können, braucht man die Regel

(type^{p}, prop, prop) .

Ein anderes Beispiel ist die Konstruktion des drittstufigen Typs prop → prop, der die folgende Regel

(type^{p}, type^{p}, type^{p})

benötigt.

Was noch fehlt, ist beispielsweise die Konstruktion von prop → b, b ∈ B, was die Regel

(type^{p}, set, set)

verlangt. Dies ist nur nötig für n-stufige Prädikatenlogik, n ≥ 3, obwohl ord(prop → b) = 2 für b ∈ B ist. Die Domänen wie prop → b stehen für polymorphische Mengen.

Die vorangegangene Erläuterung und die ursprüngliche Idee werden nun in der nachstehenden Definition zusammengefaßt und realisiert. Die Idee stammt aus [4].

3.2.1 Definition (Logikwürfel) Der Logikwürfel besteht aus den acht PTSs, die gemeinsam die Sortenmenge und die Axiomenmenge

S = {prop, set, type^{p}, type^{s}} ,
A = {prop : type^{p}, set : type^{s}}

besitzen und sich in den Regeln, wie in der folgenden Tabelle dargestellt, unterscheiden:

λPROP (prop, prop)
λPROP2 (prop, prop)  (type^{p}, prop)
λPROP\underline{ω} (prop, prop)  (type^{p}, type^{p})
λPROPω (prop, prop)  (type^{p}, prop)  (type^{p}, type^{p})
λPRED (prop, prop)
(set, set)  (set, type^{p})
(set, prop)
λPRED2 (prop, prop)  (type^{p}, prop)
(set, set)  (set, type^{p})
(set, prop)
λPRED\underline{ω} (prop, prop)  (type^{p}, type^{p})
(set, set)  (set, type^{p})
(set, prop)
λPREDω (prop, prop)  (type^{p}, prop)  (type^{p}, type^{p})
(set, set)  (set, type^{p})  (type^{p}, set)
(set, prop)

Diese acht Systeme lassen sich durch die acht Ecken des sog. Logikwürfels präsentiert:

[figure: λPROP; λPRED; λPROP\underline{ω}; λPRED\underline{ω}; λPROP2; λPRED2; λPROPω; λPREDω; – Logikwürfel –]

Dabei drücken die gerichteten Kanten die Beziehung der Subsysteme aus.

3.2.2 Bemerkung

(1) Es sei angemerkt, daß all diese acht PTSs injektiv sind.

(2) Wenn man die obige Tabelle mit der in [19, 18] vergleicht, bemerkt man dabei einen Fehler. Das ist der Grund, warum man z.B. bei der Definition von PRED2 und PROP2 und unten bei der Definition von PRED\underline{ω} und PROP\underline{ω} in Definition 3.2.3 andere Klauseln als bei den ursprünglichen Definitionen aufgestellt hat.

Wie schon erwähnt wurde, existieren folgende Entsprechungen:

λPROP ≃ PROP  λPRED ≃ PRED
λPROP2 ≃ PROP2  λPRED2 ≃ PRED2
λPROPω ≃ PROPω  λPREDω ≃ PREDω

Die Systeme λPROP\underline{ω} und λPRED\underline{ω} sind nur der Vollständigkeit halber eingeführt worden. Die dazu entsprechenden Logiksysteme können folgendermaßen definiert werden:

3.2.3 Definition (PROP\underline{ω} , PRED\underline{ω}) Die Systeme PROP\underline{ω} und PRED\underline{ω} werden durch die Umänderung der Sprache von PROP bzw. PRED definiert. Dabei laufen σ, τ ∈ D über die Domänen, deren Aufbau ohne die Klausel (D_{p} → D_{s}) geführt worden ist:

• V^{σ} ∈ L^{σ} für alle σ ∈ D.

• Sind M ∈ L^{τ} und x ∈ V^{σ}, dann ist (λx:σ.M) ∈ L^{σ→τ}.

• Sind M ∈ L^{σ→τ} und N ∈ L^{σ}, dann ist (MN) ∈ L^{τ}.

• Sind φ, ψ ∈ L^{prop}, dann ist (φ → ψ) ∈ L^{prop}.

• Sind φ ∈ L^{prop} und x ∈ V^{σ} und σ eine Funktionaldomäne, dann ist (∀x:σ.φ) ∈ L^{prop}.

Die Systeme PROP\underline{ω} bzw. PRED\underline{ω} heißen die schwach höherstufige Aussagen- bzw. Prädikatenlogik.

3.2.4 Bemerkung Die Systeme PROP\underline{ω} und PRED\underline{ω} verfügen über die beliebig höherstufige Sprache, aber vermögen nicht, über sie zu quantifizieren. Es ist genau so wie bei λPROP\underline{ω} und λPRED\underline{ω} . Anwesend ist die Regel (type^{p}, type^{p}), aber es fehlt die Regel (type^{p}, prop), die wir z.B. für die Konstruktion von Πz: prop.φ : prop gebraucht hätten. Weiter sei angemerkt, daß die letzte Klausel der obigen Definition nur für das System PRED\underline{ω} angewendet wird.

Nun wird behauptet, daß die acht PTSs aus dem Logikwürfel jeweils äquivalent zu den entsprechenden Logiksystemen sind, und diese Behauptung kann wie bei der Äquivalenz von λω und Girard’s Fω oder von λ2 und Girard’s F gezeigt werden. Entscheidend dabei ist das folgende Lemma, das analog wie zuvor begründet werden kann. Dessen Beweis wird daher weggelassen.

3.2.5 Lemma In λPREDω gilt:

Γ ⊢ M : A ⟹ Γ_{d}, Γ_{t}, Γ_{p} ⊢ M : A ,

wobei

• Γ als eine Menge die disjunkte Vereinigung von Γ_{d}, Γ_{t} und Γ_{p} als Mengen ist,

• Γ_{d} = {x:set | x ∈ dom(Γ)} ,

• Γ_{t} = {x:σ | x ∈ dom(Γ) & Γ_{d} ⊢ σ : s & s ∈ {set, type^{p}}} ,

• Γ_{p} = {x:φ | x ∈ dom(Γ) & Γ_{d}, Γ_{t} ⊢ φ : prop} ,

• A ∈ {set, type^{p}} ⟹ Γ_{d} ⊢ M : A ,

• [ Γ ⊢ A : s & s ∈ {set, type^{p}}] ⟹ Γ_{d}, Γ_{t} ⊢ M : A .

Nach diesem Lemma ist klar, daß im Fall Γ ⊢ M : φ : prop zunächst Domänen, dann Terme (der höherstufigen Sprache) und schließlich Beweise der Formeln gebaut werden. Die Elemente von Γ_{p} stehen für die offenen Annahmen der gegebenen Herleitung. Analoga hat man auch für die anderen Systeme und damit haben wir die folgende Behauptung grob skizzierend begründet.

3.2.6 Satz Zu jedem λ-Kalkülsystem aus dem Logikwürfel ist jedes oben genannte entsprechende Logiksystem äquivalent.

Schließlich sind wir mit allen Mitteln ausgerüstet, die Idee des Curry-Howard-Isomorphismus (oder formulae-as-types) zu realisieren. Dafür setzen wir voraus, daß es zwei bijektive Funktionenˆ , ˜ gibt mit

ˆ : V^{prop} ∪ V^{set} → V^{∗}
˜ : V^{type^{p}} ∪ V^{type^{s}} → V^{□}

3.2.7 Definition (Curry-Howard-Isomorphismus) Die Kollabierungsfunktion K von einem System aus dem Logikwürfel in das entsprechende System aus dem λ-Würfel wird folgendermaßen rekursiv definiert:

K(x) := x̂  für x ∈ V^{prop} ∪ V^{set}
K(y) := ỹ für y ∈ V^{type^{p}} ∪ V^{type^{s}}
K(prop) := ∗
K(set) := ∗
K(type^{p}) := □
K(type^{s}) := □
K(MN) := (K(M)K(N))
K(Πz:A.M) := (ΠK(z):K(A).K(M))
K(λz:A.M) := (λK(z):K(A).K(M))

Wie man bestimmt erkannt hat, wurde nicht der direkte Zugang zu formulae-as-types genommen, was zu Beginn des Kapitels für die minimale Aussagenlogik der Fall war, sondern ein Umweg wurde gewählt. In der Tat ist die Idee des Isomorphismus bei den aussagenlogischen Logiksystemen nicht anders als eine direkte Übersetzung von Wort zu Wort. Aber bei den Prädikatenlogiksystemen ist es etwas komplizierter: Es wird dabei keinen Unterschied zwischen den drei Regeln

(prop, prop) & (set, set) & (set, prop)

mehr geben. Wie wir schon gesehen haben, werden beispielsweise die folgenden drei Konstruktionen von Formeln oder Termen mit derselben Regel in CC behandelt, nämlich (∗, ∗):

• Sind φ und ψ Formeln, ist auch φ → ψ eine Formel.

• Sind A und B Grunddomänen, ist A → B die Menge von Funktionen von A nach B.

• Sind φ(x) eine Formel und x eine Individuenvariable, dann ist ∀xφ(x) eine Formel.

Wir werden bald sehen, daß dieses Zusammenschmelzen von drei eigentlich zu unterscheidenden Fällen bei den höherstufigen Formen des Curry-Howard-Isomorphismus die Ursache eines Problems ist: Der Curry-Howard-Isomorphismus ist nicht vollständig. Aber man hat zumindest die Korrektheit der Kollabierungsfunktion.

3.2.8 Satz (Korrektheit) Es sei ζ_{L} ein PTS aus dem Logikwürfel und ζ_{λ} das dazu entsprechende System aus dem λ-Würfel.

(1) s_{1} : s_{2} ∈ A in ζ_{L} ⟹ K(s_{1}) : K(s_{2}) ∈ A in ζ_{λ}

(2) (s_{1}, s_{2}) ∈ R in ζ_{L} ⟹ (K(s_{1}), K(s_{2})) ∈ R in ζ_{λ}

(3) Γ ⊢_{ζ_{L}} M : A ⟹ K(Γ) ⊢_{ζ_{λ}} K(M) : K(A), wobei K(Γ) kanonisch definiert ist durch

K(Γ) := {K(x):K(A) | x:A ∈ Γ} .

Dabei bleibt die Reihenfolge der Deklarationen wie in Γ erhalten.

Beweis. (1) und (2) sind klar nach der Definition. (3) läßt sich simpel durch die Herleitungsinduktion von Γ ⊢_{ζ_{L}} M : A zeigen. Als eine Demonstration betrachten wir die Systeme ζ_{L} = λPREDω und ζ_{λ} = λω und den Fall (Π) mit der Regel (type^{p}, prop). Es gelte M ≡ Πx:σ.φ, A ≡ prop und

Γ ⊢_{ζ_{L}} σ : type^{p} Γ, x:σ ⊢_{ζ_{L}} φ : prop
Γ ⊢_{ζ_{L}} Πx:σ.φ : prop

Nach der I.V. hat man dann K(Γ) ⊢_{ζ_{λ}} K(σ) : □ & K(Γ), x̃:K(σ) ⊢_{ζ_{λ}} K(φ) : ∗ . Nun gilt mit (Π) für die Regel (□, ∗) K(Γ) ⊢_{ζ_{λ}} Πx̃:K(σ).K(φ) : ∗ . □

3.2.9 Korollar (λPREDω ⊧ SN_{β}) Das System λPREDω erfüllt die starke Normalisierbarkeit.

Beweis. Nach Sätzen 3.2.8.(3) und 2.4.21 genügt es,

[ M ∈ T erm(λPREDω) & M →_{β} N ] ⟹ K(M) →_{β} K(N)

zu zeigen. Dies kann durch Induktion nach der Definition von →_{β} gezeigt werden. □

Nun folgt die Frage, ob diese Realisierung von formulae-as-types durch die oben definierte Kollabierungsfunktion vollständig ist:

∃M [ Γ ⊢_{ζ_{L}} M : B] ⟺^{?} ∃N [ K(Γ) ⊢_{ζ_{λ}} N : K(B) ]

für Γ und B aus ζ_{L}. Die Richtung von links nach rechts ist eben bewiesen. Falls ζ_{L} eines der auf der linken Seite des Logikwürfels in der Standardform stehenden PTSs ist, ist die Rückrichtung auch offensichtlich, denn die Kollabierungsfunktion K besitzt die Umkehrfunktion K^{−1} mit

K^{−1}(∗) := prop & K^{−1}(□) := type^{p} .

Bei den anderen Systemen ist es überhaupt nicht klar, ob die Kollabierungsfunktion vollständig ist oder nicht. Dies ist nicht immer der Fall. Der positive Fall ist nur für das System λPRED erwiesen und ein Beweis findet sich z.B. in [19]. Dennoch ist dieses positive Ergebnis nur zum Teil erfreulich, weil die Systeme PRED, λPRED und λP mathematisch gesehen uninteressant sind. Sie sind einfach zu unbedeutend, als daß man mit ihnen etwas machen kann. Wir werden sehen, daß das Logiksystem PRED2 konservativ über PRED ist, was kein Widerspruch zum zweiten Gödelschen Unvollständigkeitssatz ist. PRED besitzt nicht die Ausdrucksfähigkeit, mit deren Hilfe man die erststufige Theorie PA formal behandeln kann, s. Kapitel 4.

Andererseits ist die Frage offen für den Fall von λPRED2 und λP2 und beim Fall von λPREDω und λPω ist die Antwort sogar negativ, d.h. die Idee von formulae-as-types ist unvollständig. Der folgende Satz entstammt der Idee von J.H. Geuvers. Die Grundidee liegt wie gesagt darin, daß man prop und set nicht mehr unterscheidet.

3.2.10 Satz Der Curry-Howard-Isomorphismus von der höherstufigen Logik PREDω in das PTS CC ist nicht vollständig.

Beweisskizze. Betrachtet man einen Term der Gestalt Πx: A.φ , dann hat man diesen Term zu A → φ abgekürzt, falls x in φ nicht frei auftritt. In CC sind Πx:A.φ und A → φ identisch. Betrachte den Term B ≡ Πα: prop.P (α → φ) und den Kontext Γ = A: set, a: A, φ: prop, P : prop → prop, z : P (Πx: A.φ) aus λPREDω, wobei x ∉ F V (φ). Per Übersetzung kann man sich B als die Formel ∃α: prop.P (α → φ) in PREDω vorstellen, und Γ soll beinhalten, daß A eine Grunddomäne, a ein Element von A, φ eine Formel, P ein drittstufiges Prädikat, d.h. eine Menge von Formeln, und z die Beweisannahme ist, daß die Formel ∃x:A.φ in P liegt. Es ist dann klar, daß es keinen Beweis für die Formel ∃α:prop.P (α → φ) gibt, weil man nicht wissen kann, ob die Menge P irgendein Element der Gestalt ψ → φ enthält oder nicht. Formal kann man zeigen, daß es keinen Term M_{0} gibt mit Γ ⊢_{λPREDω} M_{0} : B , indem man zeigt, daß jeder solche Term M_{0} nicht normalisierbar wäre, was nach Korollar 3.2.9 unmöglich ist. Andererseits gilt K(B) ≡ Πα: ∗.P (α → φ) & Πx: A.φ ≡ A → φ , woraus ∃α: ∗.P (α → φ) folgt. Formal hat man K(Γ) ⊢_{λC} M_{1} : K(B) für M_{1} ≡ λγ:∗.Πh:(Πα:∗.P (γ → φ) → β).hAz. □

3.3. Starke Normalisierbarkeit von λP2 59

Obwohl die Idee des Curry-Howard-Isomorphismus nicht universell funktioniert, trägt diese Idee enorm zum Verständnis des Systems CC bei. Man fragt sich, ob man die Schnittelimination bei Logiksystemen per Einbettung von Logiksystemen in das System CC zeigen kann. Man denkt dabei an die starke Normalisierbarkeit von CC. Th. Coquand hat selbst einen Beweis durchgeführt, und einen etwas einsichtigeren haben J.H. Geuvers und M.-J. Nederhof in [20] vorgestellt. Im folgenden Paragraphen wird dieser Beweis so modifiziert, daß gilt:

(1) λP2 erfüllt die starke Nomalisierbarkeit.

(2) Alle Vorgehen lassen sich in der höherstufigen Heyting-Arithmetik HAH formalisieren.

Dies ermöglicht außerdem zu zeigen, daß das System CC nicht konservativ über λP2 ist: Es wird gezeigt, daß HAH nicht konservativ über die zweitstufige Heyting-Arithmetik HAS ist. Später werden wir sehen, daß es unmöglich ist, den Beweis aus [20] in HAH durchzuführen.

Aus diesem Grund werden wir uns auf das System λP2 konzentrieren. Das bedeutet aber auch, daß wir auf den bekannten Beweis in [20] oder [3] verweisen können und dürfen, wenn es um die starke Normalisierbarkeit von CC geht.

3.3 Starke Normalisierbarkeit von λP2

In diesem Paragraphen wird die starke Normalisierbarkeit des Systems λP2 gezeigt. Der Beweis wird in zwei Schritten gemacht:

(1) λ2 ⊧ SN_{β} ⟹ λP2 ⊧ SN_{β} .

(2) λ2 ⊧ SN_{β} .

Der folgende kleine Unterparagraph ist eine Vorbereitung auf die weiteren. Zum leichteren Überblick wiederholen wir ein paar Lemmata.

3.3.1 Eigenschaften des λ-Würfels

Wir gliedern die legalen Terme eines Systems aus dem λ-Würfels in vier Gruppen auf:

3.3.1.1 Definition ζ sei ein System aus dem λ-Würfel.

kind(ζ) := {M | ∃Γ [ Γ ⊢_{ζ} M : □]}
constructor(ζ) := {M | ∃Γ, B [ Γ ⊢_{ζ} M : B : □]}
type(ζ) := {M | ∃Γ [ Γ ⊢_{ζ} M : ∗]}
object(ζ) := {M | ∃Γ, B [ Γ ⊢_{ζ} M : B : ∗]}

3.3.1.2 Bemerkung In CC gilt:

M ∈ kind(CC) ⟹ M ≡ ∗ oder M ≡ Πx:A.B
M ∈ constructor(CC) ⟹ M ∉ {∗, □} & M ∉ V^{∗}
M ∈ type(CC) ⟹ M ∈ V^{□} oder M ≡ Πx:A.B oder M ≡ AB
M ∈ object(CC) ⟹ M ∈ V^{∗} oder M ≡ λx:A.B oder M ≡ AB

Begründung. Alles läßt sich mit Hilfe von Stripping und Definition von Herleitungsregeln zeigen. Die erste Behauptung ist am schwierigsten, s. Lemma 3.3.1.15. □

3.3.1.3 Lemma (Klassifikation) ζ sei ein PTS aus dem λ-Würfel.

(1) kind(ζ) ∩ type(ζ) = ∅

(2) constructor(ζ) ∩ object(ζ) = ∅ Beweis. S. Satz 2.3.26. □ Über die Klassifikation hinaus wird gezeigt, daß ein (legaler) Term M in CC nur von dem sog. innersten Symbol von M abhängt. Dazu definiert man sich das ,,Herz“ eines Pseudotermes aus T . 3.3.1.4 Definition Rekursive Definition des Herzes eines Pseudotermes aus einem PTS λ(S, A, R) .

H(s) := s für s ∈ S

H(x) := x für x ∈ V^{∗} ∪ V^{□}
H(Πx:A.B) = H(λx:A.B) = H(BA) := H(B)

3.3.1.5 Lemma Sei λ(S, A, R) ein injektives PTS, wobei alle Regeln von der Gestalt (s_{1}, s_{2}) sind. Ist M ein legaler Term in λ(S, A, R) , dann gilt:

(1) M ∈ Elt_{s}(λ(S, A, R)) ⟺ [ H(M) ∈ V^{s}] ∨ ∃s_{1}, s_{2} ∈ S [ H(M) = s_{2} & s_{2} : s_{1}, s_{1} : s ∈ A] .

(2) M ∈ T erm_{s}(λ(S, A, R)) ⟹ ∃t ∈ S [ [ H(M) ∈ V^{t} & s : t ∈ A] ∨ [ H(M) = t & t : s ∈ A] ] . Beweis.

(1) Beide Richtungen lassen sich leicht durch Herleitungsinduktion zeigen.

(2) Man argumentiert mit der Herleitungsinduktion. Ein interessanter Fall ist (App): Sei M ≡ NL & B [x := L] ≡ s, und es gelte

\begin{matrix}Γ ⊢ N : Πx:A.B Γ ⊢ L : A \\ Γ ⊢ NL : B [x := L] \end{matrix}

Nach Stripping hat man zunächst Γ, x:A ⊢ B : t für ein t ∈ S . Daher erhält man mit Substitution Γ ⊢ B [x := L] : t , also s : t ∈ A nach Stripping. Nun wendet man (1) an, so daß man entweder H(M) ∈ V^{t} oder H(M) = s_{2} mit s_{2} : s_{1}, s_{1} : t ∈ A für ein s_{1} ∈ S erhält. Da s : t ∈ A ist, gilt s_{1} ≡ s, d.h. s_{2} : s ∈ A, und das war zu zeigen. □

Nun kehren wir zurück zum λ-Würfel. Um das obige Lemma auf den λ-Würfel anzuwenden, nutzen wir die Tytsache aus, daß es nur zwei Sorten gibt. 3.3.1.6 Korollar In CC gilt mit s ∈ {∗, □} :

(1) ∃Γ, B [ Γ ⊢ M : B : s] ⟺ H(M) ∈ V^{s}

(2) ∃Γ [ Γ ⊢ M : ∗] ⟹ H(M) ∈ V^{□}

(3) ∃Γ [ Γ ⊢ M : □] ⟹ H(M) ≡ ∗ Beweis. Beachte, daß ∗ : □ das einzige Axiom ist. □ Nun führen wir eine numerische Klassifikation von Pseudotermen ein.

3.3.1.7 Definition

(1) Im λ-Würfel wird die Ordnungsfunktion ♯ : T ⟶ {0, 1, 2, 3} folgendermaßen definiert:

♯(□) := 3
♯(∗) := 2
♯(x) := 1 für x ∈ V^{□}
♯(y) := 0 für y ∈ V^{∗}
♯(Πx:A.B) = ♯(λx:A.B) = ♯(BA) := ♯(B)
(2) \begin{matrix}T_{i} := \{M ∈ T | ♯(M) = i\} für i ≤ 3. \\ T_{i,j} := T_{i} ∪ T_{j} . \\ T_{i,j,k} := T_{i,j} ∪ T_{k} . \end{matrix}

Es gilt dann ♯(M) = ♯(H(M)) . Das folgende Lemma zeigt, daß die Ordunungsfunktion ♯ bei der Analyse von legalen Termen sehr nützlich ist. 3.3.1.8 Lemma In CC gilt:

(1) ∃Γ, B [ Γ ⊢ M : B : ∗] ⟺ ♯(M) = 0

(2) ∃Γ, B [ Γ ⊢ M : B : □] ⟺ ♯(M) = 1

(3) ∃Γ [ Γ ⊢ M : ∗] ⟹ ♯(M) = 1

(4) ∃Γ [ Γ ⊢ M : □] ⟹ ♯(M) = 2 3.3.1.9 Korollar In CC gilt Γ ⊢ M : B ⟹ ♯(M) + 1 = ♯(B) . Beweis. Nach Lemma 2.3.6 folgt die Behauptung direkt aus dem obigen Lemma. □ 3.3.1.10 Korollar [ M ∈ T erm(CC) & ♯(M) = 3 ] ⟺ M ≡ □ . Beweis. Gemäß der Korrektheit ist die Behauptung klar. □ Wir wollen nun zeigen, daß die Ordnungsfunktion ♯ mit der β-Reduktion verträglich ist. 3.3.1.11 Lemma Sei x ∈ V^{∗} ∪ V^{□}. Dann gilt ♯(x) = ♯(Q) ⟹ ♯(P [x := Q]) = ♯(P) . Beweis. Durch eine leichte Induktion nach dem Termaufbau von P zeigt man die Behauptung. □ 3.3.1.12 Lemma (λx:M.N)L ∈ T erm(CC) ⟹ ♯(x) = ♯(L) . Beweis. Nach Korrektheit existieren ein Kontext Γ und ein Term B mit Γ ⊢ (λx:M.N)L : B . Dann folgt nach Stripping Γ ⊢ λx:M.N : Πx:P.Q & Γ ⊢ L : P für ein P =_{β} M. Daher gilt nach Subjektkonversion Γ ⊢ L : M , also ♯(L) + 1 = ♯(M). Andererseits ist x : M legal, d.h. ♯(x) + 1 = ♯(M), woraus die Behauptung folgt. □ 3.3.1.13 Satz [ M ∈ T erm(CC) & M ↠_{β} N ] ⟹ ♯(M) = ♯(N) . Beweis. Eine direkte Folgerung der obigen beiden Lemmata. □

62 Kapitel 3. Der Curry-Howard-Isomorphismus

3.3.1.14 Korollar [ M, N ∈ T erm(CC) & M =_{β} N ] ⟹ ♯(M) = ♯(N) . Im weiteren folgen noch speziellere Eigenschaften des λ-Würfels. 3.3.1.15 Lemma In CC gilt:

(1) Γ ⊬ □ : A .

(2) Γ ⊬ (AB) : □ .

(3) Γ ⊬ (λx:A.B) : □ . Beweis.

(1) Die Behauptung folgt aus Korollar 3.3.1.9.

(2) Durch eine Herleitungsinduktion zeigen wir, daß aus Γ ⊢ (AB) : C C ≢ □ folgt. Interessant ist nur

der Fall (App). Es gelte

\begin{matrix}Γ ⊢ A : Πx:P.Q Γ ⊢ B : P \\ Γ ⊢ AB : Q [x := B] \end{matrix}

mit Q [x := B] ≡ C. Nach Korrektheit und Stripping gibt es ein s ∈ S mit Γ, x: P ⊢ Q : s . Dann hat man mit Substitution Γ ⊢ Q [x := B] : s . Mit (1) folgt die Behauptung.

(3) Wegen CR_{β} ist die Behauptung mit Stripping klar. □ 3.3.1.16 Lemma [ M ∈ T erm(CC) & M =_{β} s ∈ {∗, □}] ⟹ M ≡ s . Beweis. Wegen CR_{β} gilt M ↠_{β} s. Weiter gilt nach Satz 3.3.1.13 ♯(M) = ♯(s) , also ♯(M) ∈ {2, 3} . Es wird gezeigt, daß die Länge der β-Reduktion gleich null sein soll.

• 1. Fall s ≡ □. Dann folgt mit Korollar 3.3.1.10 die Behauptung.

• 2. Fall s ≡ ∗. Ist M ∈ {∗, □} , dann gilt nach CR_{β} M ≡ ∗ . Ist M ∉ {∗, □} , hat man nach Korrektheit und Korollar 3.3.1.10 Γ ⊢ M : □ , woraus mit Lemma 3.3.1.15.(2) die Behauptung folgt. □

Man erinnere sich an die Definition der Menge K der (höherstufigen) Sorten

K ::= ∗ | (K → K) .

Alle Sorten sind in β-nf, und es gilt ♯(k) = 2 für jedes k ∈ K . Dabei wurde gezeigt, daß diese Menge K die Menge kind(λω) vollständig charakterisiert. 3.3.1.17 Lemma In λω gilt für jeden Kontext Γ :

Γ ⊢_{λω} M : □ ⟺ M ∈ K ⟺ ⊢_{λω} M : □ ⟺ [ ♯(M) = 2 & M ∈ T erm(λω) ]

Beweis. S. Lemma 2.4.25.(1). □ 3.3.1.18 Korollar [ Γ ⊢_{λω} M : □ & M =_{β} N & N ∈ T erm(λω) ] ⟹ M ≡ N .

Beweis. Nach Lemma 3.3.1.17 ist M in β-nf. Nach Korollar 3.3.1.14 gilt weiter ♯(N) = ♯(M) = 2. Ist N ≡ ∗ , dann folgt die Behauptung aus Lemma 3.3.1.16. Ansonsten gilt nach Korrektheit und Korollar 3.3.1.10 Δ ⊢_{λω} N : □ für einen Kontext Δ, und daher N ∈ K. Insbesondere sind M und N in β-nf. Die Behauptung folgt mit CR_{β} . □

3.3.1.19 Lemma Gelte Γ ⊢_{λω} M : A : □, und N sei ein Subterm von M. Dann ist N entweder aus K oder ein Konstruktor.

Beweis. S. Beweis des Lemmas 2.4.25.(2). □

Im folgenden geht es um die Konsistenz der Systeme, die λ2 als ein Teilsystem enthalten. Wenn man ihn mit der Idee des Curry-Howard-Isomorphismus verbindet, versteht man, was der folgende Satz andeutet.

3.3.1.20 Satz In λ2 gilt für ⊥ ≡ Πα:∗.α :

¬∃M [ ⊢_{λ2} M : ⊥ & M normalisierbar ]

Beweis. Es existiere ein M mit ⊢_{λ2} M : ⊥ & M normalisierbar . Ist N die durch CR_{β} eindeutig bestimmte Normalform von M, gilt nach Subjektreduktion ⊢_{λ2} N : ⊥ . Gemäß Stripping und Variablenbedingung weiß man ferner N ∉ S ∪ V^{∗} ∪ V^{□} . Ferner ist N keine Π-Abstraktion. Übriggeblieben sind die folgenden zwei Fälle:

• 1. Fall N ≡ N_{1} ⋯ N_{k} , k ≥ 2, und N_{1} keine Applikation. Zunächst gilt gemäß Variablenbedingung N_{1} ∉ V^{∗} ∪ V^{□} . Weiter ist N_{1} weder eine Sorte noch eine Π-Abstraktion, da k ≥ 2 ist. Daher soll N_{1} eine λ-Abstraktion sein, was unmöglich ist, da N in β-nf ist.

• N ≡ λα : ∗.L . Nach Stripping gilt α : ∗ ⊢_{λ2} L : α . L ist weder eine Sorte noch eine Π- oder λ-Abstraktion. Gemäß Variablenbedingung gilt dann L ≡ αL_{1} ⋯ L_{n} für n , denn L ist in β-nf. Nach Stripping gilt dann n = 0, woraus L ≡ α folgt, also α: ∗ ⊢_{λ2} α : α . Dies ist nach Stripping unmöglich. □

3.3.1.21 Bemerkung In der Tat gilt ¬∃M [ ⊢_{λ2} M : ⊥] , s. Satz 3.3.3.12.

3.3.1.22 Korollar Für jedes PTS ζ, das λ2 umfaßt, gilt:

⊢_{ζ} M : ⊥ ⟹ M nicht normalisierbar

3.3.1.23 Lemma In λ2 gilt für jeden Kontext Γ und jeden (legalen) Term M :

(1) Γ ⊢_{λ2} M : □ ⟺ M ≡ ∗ ⟺ ⊢_{λ2} M : □ ⟺ ♯(M) = 2 .

(2) Γ ⊢_{λ2} M : B : □ ⟹ M in β-nf.

Beweis. S. Lemma 2.4.16 und Bemerkung 2.4.17. □

Hiermit haben wir alle Vorbereitungen für das weitere getroffen. Im folgenden Unterparagraphen ist die untere Tabelle sehr nützlich um einzusehen, welche Ideen hinter Definitionen stecken. Man erinnere sich an die Definition 2.3.22, das Korollar 2.3.27 und natürlich die Definition des λ-Würfels.

3.3.1.24 Bemerkung Es seien Πx : A.B, λx : A.B, BA in CC legale Terme. Dann erhält man die folgende Tabelle von (♯(A), ♯(B)), je nachdem wo sie typbar sind.

Terme  (♯(A), ♯(B)) in λ2  (♯(A), ♯(B)) in λP2
Πx:A.B  (1, 1)  (2, 1) (1, 1) (1, 2) (2, 1)
λx:A.B  (1, 0)  (2, 0) (1, 0) (1, 1) (2, 0)
BA  (0, 0)  (1, 0) (0, 0) (0, 1) (1, 0)
Bildung durch (∗, ∗) (∗, □) (□, ∗) (∗, ∗) (∗, □) (□, ∗)

3.3.2 λ2 ⊧ SN_{β} ⟹ λP2 ⊧ SN_{β}

Bevor wir mit einem Beweis anfangen, werden wir die Grundideen erläutern. Es liegt an der Regel (∗, □), daß sich die Systeme λ2 und λP2 unterscheiden. (Die intendierte Bedeutung dieser Regel wurde mit Hilfe der Idee des Curry-Howard-Isomorphismus in Paragraph 3.2 ausreichend erörtert.) Darum sollte man diese Regel (∗, □) sozusagen abschaffen können, um die Aufgabe für λP2 auf die für λ2 zurückzuführen.

Eine Möglichkeit wäre, eine Abbildung [−] : T erm(λP2) ⟶ T erm(λ2) zu definieren, die einfach diese Regel (∗, □) vergißt, s. Definition 4.2.4. Obwohl sich diese Funktion später als wichtig erweisen wird, erfüllt sie an dieser Stelle keinen Zweck, denn bestimmte β-Reduktionen können durch die Übersetzung unbeabsichtigt verlorengehen.

Die Frage ist, wie man eine sog. Übersetzungsabbildung definieren kann, die die Regel (∗, □) abschafft und mit der β-Reduktion verträglich ist: Es wird eine (partielle) Abbildung [[−]] von T nach T definiert, die keine β-Reduktionskette verschwinden läßt. Diese Abbildung funktioniert nicht universell und benötigt eine (partielle) Hilfsabbildung τ von T nach T : Man kann nicht

Γ ⊢_{λP2} M : A ⟹ [[Γ]] ⊢_{λ2} [[M]] : [[A]]

erwarten, sondern man muß die Abbildung τ verwenden, um

Γ ⊢_{λP2} M : A ⟹ τ(Γ) ⊢_{λ2} [[M]] : τ(A)

zu erzielen. Durch Beobachtung der folgenden Fälle wird erklärt, wie diese Abbildungen definiert werden sollen.

(1)

Bildung einer Applikation durch (∗, □)

\begin{matrix}Γ ⊢_{λP2} M : A → ∗ : □ Γ ⊢_{λP2} N : A : ∗ \\ Γ ⊢_{λP2} MN : ∗ \end{matrix}

Die I.V. liefere

τ(Γ) ⊢_{λ2} [[M]] : τ(A → ∗) & τ(Γ) ⊢_{λ2} [[N]] : τ(A) .

Um ferner

τ(Γ) ⊢_{λ2} [[MN]] : τ(∗)

erzielen zu können, verfährt man wie folgt:

[[MN]] := [[M]][[N]] & τ(A → ∗) := τ(A) → 0 & τ(∗) := 0 & τ(A):∗ legal ,

wobei 0 eine festgelegte Variable aus V^{□} ist. Der Term [[MN]] wird durch (∗, ∗) gebildet.

(2)

Bildung eines Redex durch (∗, □)

\begin{matrix}Γ ⊢_{λP2} λx:A.N : Πx:A.B : □ Γ ⊢_{λP2} L : A : ∗ \\ Γ ⊢_{λP2} (λx:A.N)L : B [x := L] \end{matrix}

Die I.V. liefere

τ(Γ) ⊢_{λ2} [[λx:A.N]] : τ(Πx:A.B) & τ(Γ) ⊢_{λ2} [[L]] : τ(A) .

Der Term [[λx : A.N]] hängt sowohl von [[A]] als auch von τ(A) ab. Weil der Term [[A]] bei der β-Reduktion eigentlich keine Rolle spielt, ist der folgende Versuch sehr plausibel:

[[λx:A.N]] := (λz:0.λx:τ(A).[[N]])[[A]] ,

wobei z ∈ V^{∗} eine neue Variable ist. Dann hat man

[[(λx:A.N)L]] ≡ (λz:0.λx:τ(A).[[N]])[[A]][[L]] .

(3)

Bildung einer Applikation durch (□, ∗)

\begin{matrix}Γ ⊢_{λP2} M : Πα:∗.α → α : ∗ Γ ⊢_{λP2} A : ∗ \\ Γ ⊢_{λP2} MA : A → A \end{matrix}

Die I.V. liefere

τ(Γ) ⊢_{λ2} [[M]] : τ(Πα:∗.α → α) & τ(Γ) ⊢_{λ2} [[A]] : 0 .

Weiter ist

τ(Γ) ⊢_{λ2} [[MA]] : τ(A → A)

zu erzielen. Die erste Möglichkeit wäre

τ(Πα:∗.α → α) := 0 → α → α .

Dies würde aber die Variablenbedingung verletzen, denn die Variable α ist plötzlich frei geworden. Die nächste Möglichkeit wäre

\begin{aligned}τ(Πα:∗.α → α) & := & Πα:∗.τ(α → α) , \\ [[MA]] & := & [[M]]τ(A) . \end{aligned}

Dann könnten mögliche β-Reduktionen in A verlorengehen. Wir setzen darum die beiden Ideen zusammen:

\begin{aligned}τ(Πα:∗.α → α) & := & Πα:∗.0 → τ(α → α) , \\ [[MA]] & := & [[M]]τ(A)[[A]] . \end{aligned}

Dabei haben wir stillschweigend von der folgenden Eigenschaft Gebrauch gemacht:

Γ ⊢_{λP2} A : ∗ ⟹ τ(Γ) ⊢_{λ2} τ(A) : ∗ ,

was noch zu zeigen ist.

Wir werden nun die Funktion τ : T_{1,2,3} ⟶ T_{1} definieren. Dabei sollte man sich immer wieder an die Bemerkung 3.3.1.24 erinnern, denn wir interessieren uns in der Tat nur für legale Terme. Wir brauchen die folgenden zwei ausgezeichneten Variablen

0 ∈ V^{□} & c ∈ V^{∗} .

Die folgenden Bemerkungen werden bis zum Ende dieser Arbeit ihre Gültigkeit behalten.

66 Kapitel 3. Der Curry-Howard-Isomorphismus

3.3.2.1 Bemerkung Man stelle sich eine injektive Funktion ^{∗} mit der folgenden Eigenschaft definiert vor:

∗ : V^{□} ⟶ V^{∗}\{c}, x ⟼ ^{∗}x, mit V^{∗}\Bild(^{∗}) unendlich .

(1) Nur die Variablen aus

(V^{∗}\(Bild(^{∗}) ∪ {c})) ∪ (V^{□}\{0})

stehen bei Herleitungen in CC zur Verfügung: ^{∗}x ist daher immer als neu vorausgesetzt.

(2) Die Funktion ^{∗} wird durch

∗x ≡ x für x ∈ V^{∗}

auf V^{∗} ∪ V^{□} erweitert. Diese Konventionen werden keine Probleme auslösen, da sogar die freien Variablen in einem Term umbenannt werden können, s. Lemma 2.3.1. □

Bei den vorigen Überlegungen mußten Kontexte erweitert werden, um die Variablenbedingung nicht zu verletzen. Das ist die grundlegende Idee der folgenden Definition. 3.3.2.2 Definition Sei ⊥ ≡ Πα:∗.α .

(1) Γ_{0} := ⟨0:∗, c:⊥⟩ .

(2) Sei B ∈ T_{1,2}. Dann wird c^{B} ∈ T_{0,1} folgendermaßen definiert:

c^{B} := \{ \begin{matrix}cB & für ♯(B) = 1 \\ 0 & für ♯(B) = 2 \end{matrix}

3.3.2.3 Bemerkung

(1) Γ_{0} ist ein in λ2 legaler Kontext.

(2) Mit Γ ist auch Γ_{0}, Γ ein legaler Kontext: Man denke nur an den Satz 2.3.21 über die Umstellbarkeit von Deklarationen, denn es gilt ⊢_{λ2} ∗ : □ & ⊢_{λ2} ⊥ : ∗ .

Das folgende Lemma zeigt die Intention der Definition von Γ_{0} . 3.3.2.4 Lemma [ Γ ⊢_{λ2} B : s & s ∈ {∗, □}] ⟹ Γ_{0}, Γ ⊢_{λ2} c^{B} : B . Beweis.

• 1. Fall s ≡ ∗ . Nach Korollar 3.3.1.9 hat man ♯(B) = 1, also c^{B} ≡ cB . Dann folgt mit der Regel (App) die Behauptung.

• s ≡ □ . Nach Lemma 3.3.1.23 gilt B ≡ ∗ , also ♯(B) = 2 & c^{B} ≡ 0 . Dann ist die Behauptung nach

Korollar 2.3.10 trivial. □ 3.3.2.5 Bemerkung [ x ∈ V^{∗} ∪ V^{□} & ♯(x) = ♯(N) & x ∉ {0, c}] ⟹ c^{B} [x := N] ≡ c^{B [x:=N]} .

Beweis. Nach Lemma 3.3.1.11 gilt ♯(B) = ♯(B [x := N]) . Damit gilt

c^{B [x:=N]} ≡ \{ \begin{matrix}c(B [x := N]) & für ♯(B [x := N]) = 1 \\ 0 & sonst \end{matrix}
≡ \{ \begin{matrix}(cB) [x := N] & für ♯(B) = 1 \\ 0 [x := N] & sonst \end{matrix}
≡ c^{B} [x := N] ,

denn x ∉ {0, c} ist angenommen. □ 3.3.2.6 Definition

(1) Die Abbildung τ : T_{1,2,3} ⟶ T_{1} wird folgendermaßen definiert:

τ(s) := 0 für s ∈ {∗, □}
τ(x) := x für x ∈ V^{□}
τ(Πx:A.B) := \{ \begin{matrix}Πx:τ(A).τ(B) & für ♯(A) = 1 \\ Πx:∗.(τ(A) → τ(B)) & sonst^{(∗)} \end{matrix}
τ(λx:A.B) := τ(B)
τ(BA) := τ(B)^{(∗∗)}

(2) Die Abbildung wird auf Pseudokontexte wie folgt erweitert:

\begin{matrix}τ(x:A) := x:τ(A) für x ∈ V^{∗} , \\ τ(x:A) := x:∗,^{∗}x:τ(A) für x ∈ V^{□} . \end{matrix}

Sei Γ = ⟨ x_{1} :A_{1}, …, x_{n}:A_{n} ⟩ ein Pseudokontext. Man definiert

τ(Γ) := Γ_{0}, τ(x_{1} :A_{1}), …, τ(x_{n}:A_{n}) .

3.3.2.7 Bemerkung (1)

(∗) Man interessiert sich nur für den Fall ♯(A) = 2 , s. Tabelle in Bemerkung 3.3.1.24.
(∗∗) Laut Bemerkung 3.3.1.24 ist ♯(A) = 0 , falls BA durch (∗, □) gebildet worden ist.

(2) M ∈ T_{1,2,3} ⟹ F V (τ(M)) ∩ V^{∗} = ∅ . 3.3.2.8 Lemma

(1) Sei M ∈ T_{1,2,3} . Gilt ♯(x) = ♯(N) , dann hat man

τ(M [x := N]) ≡ \{ \begin{matrix}τ(M) ≡ τ(M) [x := τ(N)] & für x ∈ V^{∗} , \\ τ(M) [x := τ(N)] & für x ∈ V^{□} . \end{matrix}

(2) [ M ∈ T_{1,2,3} ∩ T erm(λP2) & M →_{β} N ] ⟹ τ(M) ≡ τ(N) .

(3) [ M, N ∈ T_{1,2,3} ∩ T erm(λP2) & M =_{β} N ] ⟹ τ(M) ≡ τ(N) . Beweis. (1) läßt sich durch einfache Induktion nach dem Termaufbau von M zeigen. (3) folgt unmittelbar aus (2) mit CR_{β} .

(2) Es gelte o.E. M ≡ (λx:A.B)C & N ≡ B [x := C] . Nach Korrektheit und Stripping existieren ein Kontext Γ, ein Term P und eine Sorte s mit Γ ⊢_{λP2} λx: A.B : Πx: A.P : s , woraus man s ≡ □ erkennt, s. Korollare 3.3.1.9 und 3.3.1.10. M ist durch (∗, □) gebildet worden. Daher gilt x ∈ V^{∗} . Die Behauptung folgt dann aus (1) und der Definition von τ(M) . □

3.3.2.9 Lemma Gelte Γ ⊢_{λP2} B : □ oder B ≡ □ . Dann gilt

Γ ⊢_{λP2} M : B ⟹ τ(Γ) ⊢_{λ2} τ(M) : ∗ .

Beweis. Durch eine Herleitungsinduktion von Γ ⊢_{λP2} M : B wird der Beweis durchgeführt.

(Axiom) Da τ(⟨ ⟩) = Γ_{0} ist, folgt die Behauptung direkt aus Lemma 2.3.2.(3).

(V ar) Nach Stripping ist B ≢ □ . Seien nun M ≡ x ∈ V^{□} und Γ = Δ, x:B , und es gelte

\begin{matrix}Δ ⊢_{λP2} B : □ \\ Δ, x:B ⊢_{λP2} x : B \end{matrix}

Dann folgt die Behauptung unmittelbar aus x:∗ ∈ τ(Δ, x:B) .

(Schw) Es gelte Γ = Δ, x:C und

\begin{matrix}Δ ⊢_{λP2} C : s Δ ⊢_{λP2} M : B \\ Δ, x:C ⊢_{λP2} M : B \end{matrix}

Die I.V. liefert τ(Δ) ⊢_{λ2} τ(C) : ∗ & τ(Δ) ⊢_{λ2} τ(M) : ∗ .

• 1. Fall s ≡ ∗ . Die Behauptung folgt direkt mit der Regel (Schw).

• 2. Fall s ≡ □ . Nach der Regel (Schw) gilt zunächst τ(Δ), x:∗ ⊢_{λ2} τ(M) : ∗ , woraus die Behauptung wiederum mit der Regel (Schw) folgt.

(Π) Seien M ≡ Πx:P.Q und B ≡ s_{2} , und es gelte

\begin{matrix}Γ ⊢_{λP2} P : s_{1} Γ, x:P ⊢_{λP2} Q : s_{2} \\ Γ ⊢_{λP2} Πx:P.Q : s_{2} \end{matrix}

Die I.V. liefert τ(Γ) ⊢_{λ2} τ(P) : ∗ & τ(Γ), τ(x:P) ⊢_{λ2} τ(Q) : ∗ .

• 1. Fall s_{1} ≡ ∗ . Dann gilt ♯(P) = 1, x ∈ V^{∗} und

τ(Πx:P.Q) ≡ Πx:τ(P).τ(A) & τ(x:P) = x:τ(P) .

Der Term τ(Πx:P.Q) wird durch (∗, ∗) gebildet.

• 2. Fall s_{1} ≡ □ . Dann gilt ♯(P) = 2, x ∈ V^{□} und

τ(Πx:P.Q) ≡ Πx:∗.τ(P) → τ(Q) & τ(x:P) = x:∗,^{∗}x:τ(P) .

Nach Korollar 2.3.10 folgt mit der Regel (Π) τ(Γ), x: ∗ ⊢_{λ2} τ(P) → τ(Q) : ∗ , da ^{∗}x nach Bemerkung 3.3.2.1 neu ist. Die Behauptung ist nun wieder mit der Regel (Π) klar.

(λ) Nach Stripping ist B ≢ □ . Seien M ≡ λx:P.Q und B ≡ Πx:P.R , und es gelte

Γ, x:P ⊢_{λP2} Q : R Γ ⊢_{λP2} Πx:P.R : □
Γ ⊢_{λP2} λx:P.Q : Πx:P.R

Der Term M ist durch (∗, □) gebildet worden. Daher gilt ♯(P) = 1 & x ∈ V^{∗} . Weiter hat man nach der I.V. τ(Γ), x:τ(P) ⊢_{λ2} τ(Q) : ∗ & τ(λx:P.Q) ≡ τ(Q) . Die Behautpung folgt nach Lemmata 2.4.16.(2) und 2.3.20.

Die Fälle (App) und (=_{β}) sind leicht mit der I.V. zu behandeln. □

3.3.2.10 Definition Die Abbildung [[−]] : T_{0,1,2} ⟶ T_{0} wird folgendermaßen rekursiv definiert:

[[∗]] := c^{0}
[[x]] := x für x ∈ V^{∗}
[[y]] := ^{∗}y für y ∈ V^{□}
[[Πx:A.B]] := \{ \begin{matrix}c^{0→0→0}[[A]]([[B]] [x := c^{τ(A)}]) & für ♯(A) = 1 \\ c^{0→0→0}[[A]]([[B]] [x := c^{∗}] [^{∗}x := c^{τ(A)}]) & sonst \end{matrix}
[[λx:A.B]] := \{ \begin{matrix}(λz:0.λx:τ(A).[[B]])[[A]]^{(∗)} & für ♯(A) = 1 \\ (λz:0.λx:∗.λ^{∗}x:τ(A).[[B]])[[A]]^{(∗)} & sonst \end{matrix}
[[BA]] := \{ \begin{matrix}[[B]][[A]] & für ♯(A) = 0 \\ [[B]]τ(A)[[A]] & sonst \end{matrix}

(∗) z ∈ V^{∗} ist eine neue Variable.

3.3.2.11 Satz Γ ⊢_{λP2} M : B ⟹ τ(Γ) ⊢_{λ2} [[M]] : τ(B) .

Beweis. Durch eine Herleitungsinduktion von Γ ⊢_{λP2} M : B zeigt man die Behauptung.

(Axiom) Die Behauptung ist direkt mit der Regel (Π), denn τ(Γ) = Γ_{0} .

(V ar) Seien Γ = Δ, x:B und M ≡ x , und es gelte für ein s ∈ {∗, □}

\begin{matrix}Δ ⊢_{λP2} B : s \\ Δ, x:B ⊢_{λP2} x : B \end{matrix} .

Nach Lemma 3.3.2.9 gilt τ(Δ) ⊢_{λ2} τ(B) : ∗ . Die Behauptung folgt für den Fall s ≡ □ mit den Regeln (Schw) und (V ar). Für den Fall s ≡ ∗ folgt die Behauptung ohne (Schw).

(Schw) Es gelte Γ = Δ, x:C und

\begin{matrix}Δ ⊢_{λP2} C : s Δ ⊢_{λP2} M : B \\ Δ, x:C ⊢_{λP2} M : B \end{matrix}

Nach der I.V. für die zweite Prämisse genügt es zu zeigen, daß τ(Δ, x: C) legal ist. Dies folgt mit der Regel (Schw) aus Lemma 3.3.2.9 und der ersten Prämisse.

(Π) Seien M ≡ Πx:P.Q und B ≡ s_{2} ∈ {∗, □} , und es gelte

\begin{matrix}Γ ⊢_{λP2} P : s_{1} Γ, x:P ⊢_{λP2} Q : s_{2} \\ Γ ⊢_{λP2} Πx:P.Q : s_{2} \end{matrix}

Nach der I.V. gilt τ(Γ) ⊢_{λ2} [[P]] : 0 & τ(Γ, x: P) ⊢_{λ2} [[Q]] : 0 . Andererseits hat man nach Lemmata 3.3.2.9 und 3.3.2.4 τ(Γ) ⊢_{λ2} c^{τ(P)} : τ(P) .

• 1. Fall s_{1} ≡ ∗ . Dann gilt

[[Πx:P.Q]] ≡ c^{0→0→0}[[P]]([[Q]] [x := c^{τ(P)}]) & τ(x:P) = x:τ(P) .

Weiter gilt nach Substitution τ(Γ) ⊢_{λ2} [[Q]] [x := c^{τ(P)}] : 0 . Die zweimalige Anwendung der Regel (App) liefert mit Γ_{0} ⊢_{λ2} c^{0→0→0} : 0 → 0 → 0 die Behauptung.

• 2. Fall s_{1} ≡ □ . Dann gilt

[[Πx:P.Q]] ≡ c^{0→0→0}[[P]]([[Q]] [x := c^{∗}] [^{∗}x := c^{τ(P)}]) & τ(x:P) = x:∗,^{∗}x:τ(P) .

Andererseits hat man nach Lemma 3.3.2.4 Γ_{0} ⊢_{λ2} c^{∗} : ∗ , woraus durch die zweimalige Anwendung von Substitution τ(Γ) ⊢_{λ2} [[P]] [x := c^{∗}] [^{∗}x := c^{τ(P)}] : 0 folgt. Wie im ersten Fall liefert die Regel (App) die Behauptung.

(λ) Es gelte M ≡ λx:P.Q , B ≡ Πx:P.R und

Γ, x:P ⊢_{λP2} Q : R Γ ⊢_{λP2} Πx:P.R : s Γ ⊢_{λP2} λx:P.Q : Πx:P.R

für ein s ∈ {∗, □} . Mit Stripping liefert die I.V.

τ(Γ) ⊢_{λ2} [[P]] : 0 , (1)

τ(Γ, x:P) ⊢_{λ2} [[Q]] : τ(R) . (2)

Weiter gilt nach Lemma 3.3.2.9 und Stripping

τ(Γ) ⊢_{λ2} τ(P) : ∗ & τ(Γ, x:P) ⊢_{λ2} τ(R) : ∗ . (3)

• 1. Fall ♯(P) = 1 . Dann gilt

\begin{matrix}[[λx:P.Q]] := (λz:0.λx:τ(P).[[Q]])[[P]] , \\ τ(Πx:P.R) := Πx:τ(P).τ(R) & τ(x:P) := x:τ(P) . \end{matrix}

Aus (3) folgt

τ(Γ) ⊢_{λ2} Πx:τ(P).τ(R) : ∗ . (4)

(2) impliziert daher

τ(Γ) ⊢_{λ2} λx:τ(P).[[Q]] : Πx:τ(P).τ(R) . (5)

Andererseits folgt aus Γ_{0} ⊢_{λ2} 0 : ∗ und (4) τ(Γ) ⊢_{λ2} Πz: 0.Πx: τ(P).τ(R) : ∗ , woraus mit (5) τ(Γ) ⊢_{λ2} λz : 0.λx : τ(P).[[Q]] : Πz : 0.Πx : τ(P).τ(R) folgt. Damit folgt die Behauptung mit (1) und der Regel (App).

• 2. Fall ♯(P) = 2 . Dann gilt

\begin{matrix}[[λx:P.Q]] := (λz:0.λx:∗.λ^{∗}x:τ(P).[[Q]])[[P]] , \\ τ(Πx:P.R) := Πx:∗.τ(P) → τ(R) & τ(x:P) := x:∗,^{∗}x:τ(P) . \end{matrix}

Da ^{∗}x ∉ F V (τ(P)) ist, folgt aus (3)

τ(Γ), x:∗ ⊢_{λ2} τ(P) → τ(R) : ∗ . (6)

Weiter gelte nach (2)

τ(Γ), x:∗ ⊢_{λ2} λ^{∗}x:τ(P).[[Q]] : τ(P) → τ(R) , (7)

woraus τ(Γ) ⊢_{λ2} λx: ∗.λ^{∗}x: τ(P).[[Q]] : Πx: ∗.τ(P) → τ(Q) mit der Regel (□, ∗) folgt. Wie im ersten Fall bekommt man nun die Behauptung.

(App) Es gilt M ≡ NL, B ≡ Q [x := L] und

\begin{matrix}Γ ⊢_{λP2} N : Πx:P.Q Γ ⊢_{λP2} L : P \\ Γ ⊢_{λP2} NL : Q [x := L] \end{matrix}

für geeignete Terme P und Q. Nach der I.V. gilt

τ(Γ) ⊢_{λ2} [[N]] : τ(Πx:P.Q) & τ(Γ) ⊢_{λ2} [[L]] : τ(P) .

• 1. Fall x ∈ V^{∗} . Dann gilt

♯(L) = 0 & [[NL]] ≡ [[N]][[L]] & τ(Πx:P.Q) ≡ Πx:τ(P).τ(Q) .

Man hat auch nach Lemma 3.3.2.8.(1) τ(Q [x := L]) ≡ τ(Q) ≡ τ(Q) [x := τ(L)] . Die Regel (App) liefert die Behauptung.

• 2. Fall x ∈ V^{□} . Dann gilt

♯(L) = 1 & [[NL]] ≡ [[N]]τ(L)[[L]] & τ(Πx:P.Q) ≡ Πx:∗.τ(P) → τ(Q) .

Andererseits hat man nach Lemma 3.3.2.9 τ(Γ) ⊢_{λ2} τ(L) : ∗ . Dann folgt die Behauptung unmittelbar mit der Regel (App).

(=_{β}) Die Behauptung folgt direkt aus der I.V. und Lemma 3.3.2.8.(3). □ In den folgenden zwei Lemmata wird gezeigt, daß keine β-Reduktionskette durch die Abbildung [[−]] verlorengeht.

3.3.2.12 Lemma Seien M, N ∈ T_{0,1,2} und ♯(x) = ♯(N) . Dann gilt:

(1) x ∈ V^{∗}\(Bild(∗) ∪ {c}) ⟹ [[M [x := N]]] ≡ [[M]] [x := [[N]]] .

(2) x ∈ V^{□}\{0} ⟹ [[M [x := N]]] ≡ [[M]] [x := τ(N)] [^{∗}x := [[N]]] . Beweis. (1) und (2) lassen sich durch einfache Induktion nach dem Termaufbau von M zeigen. Nur zwei Fälle werden betrachtet. Der erste Fall zeigt, wie wichtig die Bemerkung 3.3.2.1 ist.

(1) Sei x ∈ V^{∗}\(Bild(∗) ∪ {c}) & M ≡ z ∈ V^{□}\{0} . Dann gilt [[M [x := N]]] ≡ [[M]] ≡ ^{∗}z ∈ Bild(^{∗}) . Da ^{∗}z ≢ x sein soll, folgt die Behauptung.

(2) Sei x ∈ V^{□}\{0} & M ≡ Πy: A.B & ♯(A) ≠ 1 . Definiere L^{+} := L [x := N] für L ∈ T . Zunächst kann man o. B.d.A. y ≢ x & y ∉ F V ([[N]]) & y ∉ {0, c} annehmen. Es gilt

\begin{aligned}[[M]] & ≡ & c^{0→0→0}[[A]]([[B]] [y := c^{∗}] [^{∗}y := c^{τ(A)}]) , \\ [[M^{+}]] & ≡ & c^{0→0→0}[[A^{+}]]([[B^{+}]] [y := c^{∗}] [^{∗}y := c^{τ(A^{+})}]) , \end{aligned}

da nach Lemma 3.3.1.11 ♯(A^{+}) = ♯(A) ≠ 1 gilt. Andererseits gilt nach Lemma 3.3.2.8.(1) und Bemerkung 3.3.2.7.(2) τ(A) [x := τ(N)] [^{∗}x := [[N]]] ≡ τ(A [x := N]) . Damit hat man

c^{τ(A)} [x := τ(N)] [^{∗}x := [[N]]] ≡ (c τ(A)) [x := τ(N)] [^{∗}x := [[N]]]
≡ c (τ(A) [x := τ(N)] [^{∗}x := [[N]]])
≡ c (τ(A [x := N]))
≡ c^{τ(A [x:=N])} .

Nun folgt die Behauptung direkt aus der I.V. □

3.3.2.13 Lemma [ M ∈ T_{0,1,2} ∩ T erm(λP2) & M →_{β} N ] ⟹ [[M]] ↠^{≠0}_{β} [[N]] , wobei ↠^{≠0}_{β} eine β-Reduktionskette der Länge ≥ 1 bedeutet.

Beweis. Wir betrachten nur den Fall von M ≡ (λx: A.B)C & N ≡ B [x := C] . Es gilt nach Lemma 3.3.1.12 und Satz 3.3.1.13 ♯(M) = ♯(N) & ♯(x) = ♯(C) .

• 1. Fall x ∈ V^{∗} . Mit Lemma 3.3.2.12 gilt

[[(λx:A.B)C]] ≡ [[λx:A.B]][[C]]
≡ (λz:0.λx:τ(A).[[B]])[[A]][[C]]
→_{β} (λx:τ(A).[[B]])[[C]]
→_{β} [[B]] [x := [[C]]]
≡ [[B [x := C]]] ,

denn es gilt gemäß Bemerkung 3.3.2.1 x ∈ V^{∗}\(Bild(∗) ∪ {c}) .

• 2. Fall x ∈ V^{□} . Mit Lemma 3.3.2.12 gilt

[[(λx:A.B)C]] ≡ [[λx:A.B]]τ(C)[[C]]
≡ (λz:0.λx:∗.λ^{∗}x:τ(A).[[B]])[[A]]τ(C)[[C]]
→_{β} (λx:∗.λ^{∗}x:τ(A).[[B]])τ(C)[[C]]
↠_{β} [[B]] [x := τ(C)] [^{∗}x := [[C]]]
≡ [[B [x := C]]] ,

denn es gilt gemäß Bemerkung 3.3.2.1 x ≢ 0 . □

Wir schließen mit dem folgenden Satz den ersten Schritt ab.

3.3.2.14 Satz Aus λ2 ⊧ SN_{β} folgt λP2 ⊧ SN_{β} .

Beweis. Nach Lemma 3.3.2.13 und Satz 3.3.2.11 ist die Behauptung direkt. □

3.3.3 λ2 ⊧ SN_{β}

Gemäß Korrektheit und Lemma 3.3.1.23.(1) gliedern sich legale Terme bei dem System λ2 in die folgenden drei Gruppen:

\begin{aligned}kind(λ2) & := & \{M | ∃Γ [ Γ ⊢_{λ2} M : □]\} = \{∗\} \\ constructor(λ2) = type(λ2) & := & \{M | ∃Γ [ Γ ⊢_{λ2} M : ∗]\} \\ object(λ2) & := & \{M | ∃Γ, B [ Γ ⊢_{λ2} M : B : ∗]\} \end{aligned}

Weiter weiß man nach Lemma 3.3.1.23.(2), daß die Terme aus der Menge constructor(λ2) in β-nf sind. Es genügt daher,

M ∈ object(λ2) ⟹ M stark normalisierbar

zu zeigen, um λ2 ⊧ SN_{β} zu erhalten.

Im folgenden wird eine Abbildung | − | : T_{0} ⟶ Λ so definiert, daß gilt:

Γ ⊢_{λ2} M : B : ∗ ⟹ |M| stark normalisierbar

Diese Abbildung wird gewisse β-Reduktionsketten schonend übersetzen können, damit die starke Normaliserbarkeit von M ∈ T aus der von |M| folgt. Sicherheitshalber beginnen wir mit einer bekannten Definition.

3.3.3.1 Definition

(1) Die Menge Λ der typenfreien λ-Terme wird folgendermaßen definiert:

Λ ::= V | (ΛΛ) | (λV.Λ)

Dabei ist V eine Menge der (typenfreien) Variablen.

(2) SN := {M ∈ Λ | M ist stark normalisierbar} .

(3) Seien X, Y ⊆ Λ . Man definiert X → Y := {M ∈ Λ | ∀N ∈ X [ MN ∈ Y ]} .

(4) Eine Menge X ⊆ Λ heißt saturiert, falls gilt (a) X ⊆ SN ,

(b) ∀n ∈ ℕ ∀N_{1}, …, N_{n} ∈ SN ∀x ∈ V [ xN_{1} ⋯ N_{n} ∈ X] ,

(c) ∀n ∈ ℕ ∀N_{1}, …, N_{n}, M, N ∈ SN [ M [x := N]N_{1} ⋯ N_{n} ∈ X ⟹ (λx.M)NN_{1} ⋯ N_{n} ∈ X] .

(5) SAT := {X ⊆ Λ | X ist saturiert} . 3.3.3.2 Lemma Sei I eine Indexmenge.

(1) SN ∈ SAT .

(2) X, Y ∈ SAT ⟹ X → Y ∈ SAT .

(3) X_{i} ∈ SAT für i ∈ I ⟹ ⋂_{i∈I} X_{i} ∈ SAT . Beweis. (a), (b), und (c) seien die Bedingungen bei der Definition von Saturiertheit.

(1) (a) und (b) sind trivialerweise erfüllt. Sei nun M, N, N_{1}, …, N_{n} ∈ SN & M [x := N]N⃗ ∈ SN . Zu zeigen ist (λx.M)NN⃗ ∈ SN . Sei eine Reduktionskette, die mit (λx.M)NN⃗ anfängt, gegeben. Da M, N, N⃗ alle stark normalisierbar sind, ist jede innere Reduktionskette endlich. Daher gibt es M′, N′, N⃗′ mit (λx.M)NN⃗ ↠_{β} (λx.M′)N′N⃗′ als ein Anfangsstück der gegebenen Reduktion, falls der Kopfredex in der Reduktion kotrahiert wird. Da mit M [x := N]N⃗ auch M′ [x := N′]N⃗′ auch stark normalisierbar ist. (c) ist bewiesen worden.

(2) Sei X, Y ⊆ SN . Nach Definition gilt V ⊆ X , also gilt für jedes x ∈ V

M ∈ X → Y ⟹ Mx ∈ Y
⟹ Mx ∈ SN
⟹ M ∈ SN ,

woraus (a) folgt. (b) und (c) sind leicht mit Definition zu zeigen.

(3) Analog zu (2). □ Wir begeben uns zu unserem Hauptziel. Die Methode ist schon als Candidats Reductibilité von J.-Y.

Girard bekannt, s. [22, 24]. Für die Analyse und Anwendung sei auf [16, 17] hingewiesen.

3.3.3.3 Definition

(1) Eine Objektbelegung ist eine Abbildung ρ : V^{∗} ⟶ Λ .

(2) Sei ρ : V^{∗} ⟶ Λ eine Objektbelegung. Die Abbildung [[−]]_{ρ}^{0} : T_{0} ⟶ Λ wird folgendermaßen

rekursiv definiert:

[[x]]_{ρ}^{0} := ρ(x) für x ∈ V^{∗}
[[Πx:A.B]]_{ρ}^{0} := [[B]]_{ρ}^{0}
[[λx:A.B]]_{ρ}^{0} := \{ \begin{matrix}λx.[[B]]_{ρ [x:=x]}^{0} & für ♯(A) = 1^{(∗)} \\ [[B]]_{ρ}^{0} & sonst \end{matrix}
[[BA]]_{ρ}^{0} := \{ \begin{matrix}[[B]]_{ρ}^{0}[[A]]_{ρ}^{0} & für ♯(A) = 0 \\ [[B]]_{ρ}^{0} & sonst \end{matrix}

(∗) Die Abbildung ρ [x := x] geht aus ρ hervor, indem man den Wert der Abbildung an der Stelle x durch x ersetzt.

(3) Eine Termbelegung ist eine Abbildung η : V^{□} ⟶ SAT .

(4) Sei η : V^{□} ⟶ SAT eine Termbelegung. Die Abbildung [[−]]_{η}^{1} : T_{1} ⟶ SAT wird folgendermaßen

rekursiv definiert:

[[x]]_{η}^{1} := η(x) für x ∈ V^{□}
[[Πx:A.B]]_{η}^{1} := \{ \begin{matrix}[[A]]_{η}^{1} → [[B]]_{η}^{1} & für ♯(A) = 1 \\ ⋂\{[[B]]_{η [x:=X]}^{1} | X ∈ SAT\} & sonst \end{matrix}
[[λx:A.B]]_{η}^{1} := [[B]]_{η}^{1}
[[BA]]_{η}^{1} := [[B]]_{η}^{1}

(5) Sei ρ, η eine Objekt- bzw. Termbelegung, M ∈ T_{0}, B ∈ T_{1} und Γ ein Pseudokontext. Man definiert: (a) ρ, η ⊧ M : B :⟺ [[M]]_{ρ}^{0} ∈ [[B]]_{η}^{1} .

(b) ρ, η ⊧ Γ :⟺ ∀x:A ∈ Γ [ x ∈ V^{∗} & ♯(A) = 1 ⟹ ρ, η ⊧ x : A] .

(c) Γ ⊧ M : B :⟺ ∀ρ, η [ ρ, η ⊧ Γ ⟹ ρ, η ⊧ M : B] . 3.3.3.4 Bemerkung

(1) Sind M ∈ T_{1} und η eine Termbelegung, dann gilt [[M]]_{η}^{1} ∈ SAT .

(2) Die Fallunterscheidung bei der Definition von [[−]]_{ρ}^{0} folgt der Idee, λ→-Church ⊧ SN_{β} zu benutzen. Konvention Man lege stillschweigend eine bijektive Abbildung von V^{∗} auf V zugrunde. Diese Funktion wird nicht explizit behandelt. 3.3.3.5 Definition Die Abbildung | − | : T_{0} ⟶ Λ wird wie folgt induktiv definiert:

|x| := x für x ∈ V^{∗}
|Πx:A.B| := |B|
|λx:A.B| := \{ \begin{matrix}λx.|B| & für ♯(A) = 1 \\ |B| & sonst \end{matrix}
|BA| := \{ \begin{matrix}|B||A| & für ♯(A) = 0 \\ |B| & sonst \end{matrix}

3.3.3.6 Lemma Seien B ∈ T_{0} und ♯(x) = ♯(L) .

(1) x ∈ V^{∗} ⟹ |B [x := L]| ≡ |B| [x := |L|] .

(2) x ∈ V^{□} ⟹ |B [x := L]| ≡ |B| .

Beweis. Alles läßt sich einfach durch Induktion nach dem Termaufbau von B zeigen. □

3.3.3.7 Lemma

(1) Sei M ∈ T_{0} und ρ eine Objektbelegung. Dann gilt

[[M]]_{ρ}^{0} ≡ |M| [x_{1} := ρ(x_{1})] ⋯ [x_{n} := ρ(x_{n})] ,

wobei {x_{1}, …, x_{n}} = F V (M) ∩ V^{∗} ist.

(2) Sei M ∈ T_{1} und η eine Termbelegung.

(a) ♯(x) = ♯(N) = 1 ⟹ [[M [x := N]]]_{η}^{1} = [[M]]_{η [x:=[[N]]_{η}^{1}]}^{1} .

(b) ♯(x) = ♯(N) = 0 ⟹ [[M [x := N]]]_{η}^{1} = [[M]]_{η}^{1} .

Beweis. Alles läßt sich durch einfache Induktion nach dem Termaufbau von M zeigen. □

3.3.3.8 Satz Γ ⊢_{λ2} M : B : ∗ ⟹ Γ ⊧ M : B .

Beweis. Nach Korollar 3.3.1.9 gilt ♯(M) = 0 & ♯(B) = 1 . Man zeigt durch Herleitungsinduktion von Γ ⊢_{λ2} M : B die Behauptung. Im folgenden sei ρ, η ⊧ Γ vorausgesetzt, wobei ρ, η eine Objekt- bzw. Termbelegung ist. Der Fall (V ar) gilt trivialerweise. Die Fälle (Schw) und (=_{β}) werden einfach mit der I.V. gezeigt. Für den Fall (=_{β}) achte man auf Lemma 3.3.1.23.(2).

(λ) Seien M ≡ λx:P.Q und B ≡ Πx:P.R , und gelte für ein s ∈ {∗, □}

\begin{matrix}Γ, x:P ⊢_{λ2} Q : R Γ ⊢_{λ2} Πx:P.R : s \\ Γ ⊢_{λ2} λx:P.Q : Πx:P.R \end{matrix} .

• 1. Fall ♯(P) = 1 . Es gilt

[[λx:P.Q]]_{ρ}^{0} ≡ λx.[[Q]]_{ρ [x:=x]}^{0} & [[Πx:P.R]]_{η}^{1} = [[P]]_{η}^{1} → [[R]]_{η}^{1} .

Sei N ∈ [[P]]_{η}^{1} beliebig und definiere ρ′ := ρ [x := N] . Dann gilt ρ′, η ⊧ Γ, x: P . Die I.V. liefert mit Lemma 3.3.3.7.(1) [[Q]]_{ρ′}^{0} ≡ [[Q]]_{ρ [x:=x]}^{0} [x := N] ∈ [[R]]_{η}^{1} . Weiter gilt nach der Definition von SAT (λx.[[Q]]_{ρ [x:=x]}^{0})N ∈ [[R]]_{η}^{1} ∈ SAT , woraus die Behauptung folgt.

• 2. Fall ♯(P) = 2 . Es gilt

[[λx:P.Q]]_{ρ}^{0} ≡ [[Q]]_{ρ}^{0} & [[Πx:P.R]]_{η}^{1} = ⋂{[[R]]_{η [x:=X]}^{1} | X ∈ SAT} .

Sei X ∈ SAT beliebig und definiere η′ := η [x := X] . Dann gilt ρ, η′ ⊧ Γ, x: P . Die I.V. liefert [[Q]]_{ρ}^{0} ∈ [[R]]_{η′}^{1} . Damit ist [[λx:P.Q]]_{ρ}^{0} ∈ ⋂{[[R]]_{η [x:=X]}^{1} | X ∈ SAT} bewiesen.

(App) Seien M ≡ QP und B ≡ C [x := P] für ein C, und gelte

\begin{matrix}Γ ⊢_{λ2} Q : Πx:A.C Γ ⊢_{λ2} P : A \\ Γ ⊢_{λ2} QP : C [x := P] \end{matrix}

• 1. Fall ♯(A) = 1 . Es gilt

♯(P) = 0 & [[QP]]_{ρ}^{0} ≡ [[Q]]_{ρ}^{0}[[P]]_{ρ}^{0} & [[Πx:A.C]]_{η}^{1} = [[A]]_{η}^{1} → [[C]]_{η}^{1} . Weiter gilt nach Lemma 3.3.3.7.(2).(b) [[C [x := P]]]_{η}^{1} = [[C]]_{η}^{1} . Die Behauptung ist direkt mit der I.V. für die erste Prämisse.

• 2. Fall ♯(A) = 2 . Es gilt

♯(P) = 1 & [[QP]]_{ρ}^{0} ≡ [[Q]]_{ρ}^{0} & [[Πx:A.C]]_{η}^{1} = ⋂{[[C]]_{η [x:=X]}^{1} | X ∈ SAT} . Nach Lemma 3.3.3.7.(2).(a) [[C [x := P]]]_{η}^{1} = [[C]]_{η [x:=[[P]]_{η}^{1}]}^{1} . Mit [[P]]_{η}^{1} ∈ SAT folgt die Behauptung aus der I.V. für die erste Prämisse. □

3.3.3.9 Lemma Γ ⊢_{λ2} M : B : ∗ ⟹ |M| ∈ SN . Beweis. Man betrachte folgende Belegungen:

\begin{matrix}ρ : V^{∗} ⟶ Λ , x ⟼ x , \\ η : V^{□} ⟶ SAT , x ⟼ SN . \end{matrix}

Es gilt trivialerweise ρ, η ⊧ Γ , da jede saturierte Menge die Menge V umfaßt. Nach Satz 3.3.3.8 und Lemma 3.3.3.7.(1) gilt [[M]]_{ρ}^{0} ≡ |M| ∈ [[B]]_{η}^{1} ∈ SAT , woraus die Behauptung folgt. □ Mit dem nächsten Schritt ist zu zeigen, daß die Abbildung | − | : T_{0} ⟶ Λ gewisse β-Reduktionsketten aufbewahrt. Die Fallunterscheidung bei der Definition von |−| basiert auf den Bildungsarten der Redices. 3.3.3.10 Definition Sei M ≡ (λx:A.B)C ∈ T_{0} ∩ T erm(λ2) .

(1) M heißt ein 0-Redex, falls M durch (∗, ∗) gebildet worden ist.

(2) M heißt ein 2-Redex, falls M durch (□, ∗) gebildet worden ist.

(3) Die Relationen →^{ν}_{β}, ↠^{ν}_{β} für ν ∈ {0, 2} werden analog zu →_{β} bzw. ↠_{β} definiert. Dabei werden nur ν-Redices kontrahiert.

(4) Terme der Gestalt λx:A.B heißen ν-Abstraktionen für ν = ♯(A) ∈ {0, 2} . 3.3.3.11 Lemma Sei M, N ∈ T_{0} ∩ T erm(λ2) .

(1) M →^{2}_{β} N ⟹ (die Anzahl der 2-Abstraktionen in M) > (die Anzahl der 2-Abstraktionen in N) .

(2) M →^{2}_{β} N ⟹ |M| ≡ |N| .

(3) M →^{0}_{β} N ⟹ |M| →_{β} |N| .

Beweis. Es wird nur der Fall M ≡ (λx:A.B)C & N ≡ B [x := C] betrachtet.

(1) Nach Lemma 3.3.1.12 gilt ♯(x) = ♯(C) = 1 . Weiter weiß man nach Korrektheit und Stripping, daß es einen Kontext Γ gibt mit Γ ⊢_{λ2} C : ∗ : □ . Wie man bei Lemma 2.4.16.(2) sieht, enthält C keine λ-Abstraktion. Damit ist die Behauptung gezeigt worden.

(2) Zunächst gilt |M| ≡ |B| . Andererseits gilt nach Lemma 3.3.3.6.(2) |B [x := C]| ≡ |B| .

(3) Nach Lemma 3.3.3.6.(1) ist die Behauptung klar. □

3.3.3.12 Satz M ∈ T erm(λ2) ⟹ A stark normalisierbar.

Beweis. Laut Vorbemerkung zu Beginn des Unterparagraphen ist o.E. M ∈ T_{0} anzunehmen. Gemäß Definition ist jeder typbare Redex durch (∗, ∗) oder (□, ∗) gebildet worden: Jeder Redex ist 0- oder 2-Redex. Nach Lemma 3.3.3.11.(1) ist jede Reduktionskette der Relation ↠^{2}_{β} endlich. Also hat jede Reduktionskette folgende Gestalt.

M_{0} ↠^{2}_{β} M_{1} →^{0}_{β} M_{2} ↠^{2}_{β} M_{3} →^{0}_{β} M_{4} ⋯

Nach Lemma 3.3.3.11 hat man dann

M_{0} ≡ M_{1} →_{β} M_{2} ≡ M_{3} →_{β} M_{4} ⋯

Gemäß Lemma 3.3.3.9 sind die Anzahl von →_{β} und daher von →^{0}_{β} endlich. Daher ist jede Reduktionskette, die mit M_{0} anfängt, ist endlich. Da M_{0} beliebig war, ist gezeigt worden, daß λ2 die starke Normalisierbarkeit erfüllt. □

3.3.3.13 Satz Das PTS λP2 erfüllt die starke Normalisierbarkeit.

Repräsentierbarkeit im λ-Würfel

Dieses Kapitel handelt von der Repräsentierbarkeit in jedem System des λ-Würfels. Was man unter Repräsentierbarkeit einer arithmetischen Funktion versteht, wurde in Paragraph 1.3 erklärt. Nach Satz 2.4.11 weiß man, daß die Systeme λ→-Church und λ→ auch auf die Repräsentierbarkeit hin zueinander äquivalent sind: Die in λ → repräsentierbaren arithmetischen Funktionen sind genau diejenigen, die aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert sind: Sei o ∈ V^{□} eine spezielle Variable und definiere für n ∈ ℕ

N := o → (o → o) → o & \underline{n} := λx:o.λf:o → o.f^{n}(x) .

Dann gilt für alle n ∈ ℕ

\begin{matrix}o:∗ ⊢_{λ→} N : ∗ & o:∗ ⊢_{λ→} \underline{n} : N , \\ [ o:∗ ⊢_{λ→} M : N & M in β-nf ] ⟹ ∃n ∈ ℕ [ M ≡ \underline{n}] . \end{matrix}

f : ℕ^{n} ⟶ ℕ heißt durch M repräsenierbar, falls gilt:

o:∗ ⊢_{λ→} M : N^{n} → N & [ f(m⃗) = n ⟺ M \underline{m⃗} ↠_{β} \underline{n} ]

In [21, 22] hat J.-Y. Girard die in den Systemen F bzw. Fω repräsentierbaren Funktionen charakterisieren können, s. auch [23]: Genau die in HAS bzw. HAH beweisbar totalen Funktionen sind in Girard’s F bzw. Fω repräsentierbar. Der Fall mit Girard’s F ist in [24] mit einer neuen Methode wieder betrachtet worden, s. auch [34]. Nach Sätzen 2.4.18 und 2.4.26 ist klar, welche arithmetischen Funktionen sich in λ2 bzw. λω repräsentieren lassen. Anders als in λ → können der Term N und die Numerale als geschlossene (legale) Terme in λ2 definiert werden:

N := Πα:∗.α → (α → α) → α & \underline{n} := λα:∗.λx:α.λf:α → α.f^{n}(x)

4.1 Satz

(1) ⊢_{λ2} N : ∗ .

(2) ∀n ∈ ℕ [ ⊢_{λ2} \underline{n} : N ] .

(3) [ ⊢_{λω} M : N & M in β-nf ] ⟹ ∃n ∈ ℕ [ M ≡ \underline{n}] .

Beweis. (1) und (2) lassen sich einfach nachrechnen. (3) wird später im Lemma 4.4.2 allgemeiner gezeigt. □

Damit kann man wie folgt die Repräsentierbarkeit einer arithmetischen Funktion definieren.

4.2 Definition f : ℕ^{n} ⟶ ℕ heißt in ζ ∈ {λ2, λω} duch M repräsentierbar, falls

⊢_{ζ} M : N^{n} → N & ∀m⃗, n ∈ ℕ [ f(m⃗) = n ⟺ M \underline{m⃗} ↠_{β} \underline{n} ]

gilt, wobei N^{n} → N := \underbrace{N → ⋯ → N}_{n−fach} → N ist.

Im folgenden wird gezeigt, daß diese drei Charakterisierungen schon vollständig sind. Wenn es um die Repräsentierbarkeit geht, gilt folgendes, s. Paragraph 4.4.

(1) λ\underline{ω}, λP und λP\underline{ω} sind äquivalent zu λ→ .

(2) λP2 ist äquivalent zu λ2 .

(3) λPω ist äquivalent zu λω .

Dabei wird die Repräsentierbarkeit einer arithmetischen Funktion in ζ ∈ \{λ\underline{ω}, λP, λP\underline{ω}\} wie in λ → definiert. Man fragt sich, ob es überhaupt eine nicht in λω repräsentierbare rekursive Funktion gibt: Wegen λω ⊧ SN_{β} ist jede in λω repräsentierbare arithmetische Funktion rekursiv.

4.3 Satz Es gibt eine (total) rekursive Funktion, die nicht in λω repräsentierbar ist.

Beweis. Man setze eine geeignete Kodierungsfunktion ⌜ · ⌝ : T erm(λω) ⟶ ℕ voraus und betrachte folgende Funktionen.

• N(m) := \{ \begin{matrix}n & für m = ⌜M⌝ & n = ⌜nf(M)⌝ & M ∈ T erm(λω) , \\ 0 & für m ∉ \{⌜M⌝ | M ∈ T erm(λω)\} . \end{matrix}

• A(m, n) := \{ \begin{matrix}p & für m = ⌜M⌝ & n = ⌜N⌝ & p = ⌜MN⌝ & M, N ∈ T erm(λω) , \\ 0 & sonst. \end{matrix}

• ♮(m) := n für n = ⌜\underline{m}⌝ .

• ♭(m) := \{ \begin{matrix}n & für m = ⌜\underline{n}⌝ , \\ 0 & sonst. \end{matrix}

Dabei bedeutet nf(L) die Normalform von L ∈ T erm(λω) . Die obigen Funktionen sind trivialerweise total rekursiv. Für die Rekursivität der Funktion N sorgt die starke Normalisierbarkeit von λω . Man betrachte nun die Funktion D : ℕ ⟶ ℕ ,

D(n) := ♭(N(A(n, ♮(n)))) + 1 .

Die Funktion D ist eine total rekursive Funktion. Dazu sei D durch einen Term M repräsentierbar, und weiter sei n die Kodierung von M, d.h. n = ⌜M⌝ . Dann gilt:

♮(n) = ⌜ \underline{n} ⌝ & A(n, ♮(n)) = ⌜M \underline{n} ⌝ & N(A(n, ♮(n))) = ⌜nf(M \underline{n})⌝ .

Andererseits gilt nach der Definition von M M \underline{n} ↠_{β} \underline{D(n)} , also

N(A(n, ♮(n))) = ⌜\underline{D(n)}⌝ = ♮(D(n)) & ♭(N(A(n, ♮(n)))) = D(n) .

Es folgt daher D(n) = D(n) + 1 . Ein Widerspruch! □

80 Kapitel 4. Repräsentierbarkeit im λ-Würfel

4.4 Bemerkung

(1) Die Idee des obigen Satzes ist eine Variante des bekannten Ergebnisses aus der Rekursionstheorie, daß sich die Menge aller total rekursiven Funktionen nicht durch eine total rekursive Funktion aufzählen läßt: Mit einer geeigneten Kodierung sind die Funktionen A, ♮, ♭ in λω repräsentierbar. Aber die Funktion N ist nicht repräsentierbar, denn jeder die Funktion N repräsentierende Term sollte wiederum seine eigene Normalform ausrechnen.

(2) Die oben angewandte Methode funktioniert universell für alle getypte λ-Kalkülysteme, die die starke Normalisierbarkeit erfüllen.

(3) Der obige Satz ist der Ausgangspunkt für die Behauptung, daß λω hinsichtlich der Repräsentierbarkeit stärker als λ2 ist: Es gibt in HAH beweisbar totale Funktionen, die nicht in HAS beweisbar total sind, s. Satz 4.4.6 □

Im folgenden zeigen wir, daß man in λ2 mehr Funktionen als in λ → repräsentieren kann: Die Ackermann-Pétersche Funktion läßt sich in λ2 repräsentieren.

4.1 Die Ackermann-Pétersche Funktion in λ2

In [15] wurde gezeigt, daß man mehr Funktionen in λ2 als in λ→ repräsentieren kann: Die Funktion f_{ϵ_{0}} ist in λ2 repräsentierbar, wobei f_{α}, α ∈ On, die schnell wachsenden Funktionen aus der Beweistheorie sind: Es ist allgemein bekannt, daß nur f_{α}, α < ϵ_{0} , in HA, beweisbar total sind. Hier wird man eine bekanntere Funktion betrachten. Man benutzt, daß die Ackermann-Pétersche Funktion in der Peano-Arithmetik PA, daher in der Heyting-Arithmetik HA beweisbar total ist: PA ist Π_{2}^{0}-konservativ über HA, s. [37]. In der Tat ist diese Funktion in einem schwächeren System als λ2 repräsentierbar, nämlich in Gödel’s T, s. [24].

4.1.1 Definition (Ackermann-Pétersche Funktion) Die Ackermann-Pétersche Funktion AP wird folgendermaßen definiert. Sei m, n ∈ ℕ .

AP(0, n) := n + 1
AP(m + 1, 0) := AP(m, 1)
AP(m + 1, n + 1) := AP(m, AP(m + 1, n))

Wie man bei der Definition sieht, braucht man Terme, die die Nachfolgerfunktion und die Rekursion repräsentieren. Für die Rekursion definieren wir zuerst den Term der die Iteration repräsentiert.

4.1.2 Definition

(1) S := λn:N .λα:∗.λx:α.λf:α → α.(f(nαxf)) .

(2) It := λα:∗.λx:α.λf:α → α.λn:N .(nαxf) .

4.1.3 Lemma Sei α ∈ V^{□}, x, f, r ∈ V^{∗} .

(1) ⊢_{λ2} S : N → N .

(2) ∀n ∈ ℕ [ S \underline{n} ↠_{β} \underline{n + 1} ] .

4.1. Die Ackermann-Pétersche Funktion in λ2 81

(3) ⊢_{λ2} It : Πα:∗.α → (α → α) → N → α .

(4) (a) It αxf \underline{0} ↠_{β} x .

(b) It αxf(Sr) ↠_{β} f(rαxf) .

(5) ∀n ∈ ℕ [ It αxf \underline{n + 1} =_{β} f(It αxf \underline{n}) ] . 4.1.4 Definition Sei α, β ∈ V^{□}, M, N ∈ T . Man definiert folgende Terme.

(1) α × β := Πγ:∗.((α → β → γ) → γ) .

(2) ⟨ M, N ⟩ := λα:∗.λβ:∗.λγ:∗.λv:α → β → γ.(vMN) .

(3) (a) π^{1} := λα:∗.λβ:∗.λu:α × β.(uα(λx:α.λy:β.x)) (b) π^{2} := λα:∗.λβ:∗.λu:α × β.(uβ(λx:α.λy:β.y))

4.1.5 Lemma Sei α, β ∈ V^{□}, M, N ∈ T .

(1) α:∗, β:∗ ⊢_{λ2} α × β : ∗ .

(2) (a) ⊢_{λ2} π^{1} : Πα:∗.Πβ:∗.(α × β → α) .

(b) ⊢_{λ2} π^{2} : Πα:∗.Πβ:∗.(α × β → β) .

(3) (a) π^{1}αβ(⟨ M, N ⟩αβ) ↠_{β} M .

(b) π^{2}αβ(⟨ M, N ⟩αβ) ↠_{β} N . 4.1.6 Definition H := λα:∗.λg:α → N → α.λz:α × N .(⟨ g(π^{1}αN z)(π^{2}αN z), S(π^{2}αN z) ⟩αN ) . 4.1.7 Lemma Seien α ∈ V^{□}, x, g ∈ V^{∗} und n ∈ ℕ .

(1) ⊢_{λ2} H : Πα:∗.(α → N → α) → α × N → α × N .

(2) (a) Hαg(⟨ x, \underline{n} ⟩αN ) ↠_{β} ⟨ gx \underline{n} , \underline{n + 1} ⟩αN .

(b) It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n} =_{β} ⟨ r_{n}, \underline{n} ⟩αN

⟹ It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n + 1} =_{β} ⟨ gr_{n} \underline{n} , \underline{n + 1} ⟩αN .

Beweis.

(1) Die Behauptung ist einfach nachzurechnen.

(2) (a) Hαg(⟨ x, \underline{n} ⟩αN) ↠_{β} ⟨ g(π^{1}αN (⟨ x, \underline{n} ⟩αN))(π^{2}αN (⟨ x, \underline{n} ⟩αN)), S(π^{2}αN (⟨ x, \underline{n} ⟩αN)) ⟩
↠_{β} ⟨ gx \underline{n} , S \underline{n} ⟩αN nach Lemma 4.1.5.(3)
↠_{β} ⟨ gx \underline{n} , \underline{n + 1} ⟩ nach Lemma 4.1.3.(2)

(b) Gelte It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n} =_{β} ⟨ r_{n}, \underline{n} ⟩αN . Dann gilt:

It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n + 1} =_{β} Hαg(It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n})

nach Lemma 4.1.3.(5)

=_{β} Hαg(⟨ r_{n}, \underline{n} ⟩αN ) nach der Voraussetzung
↠_{β} ⟨ gr_{n} \underline{n} , \underline{n + 1} ⟩αN nach (a)

Hier hat man das Lemma 2.1.7 stillschweigend benutzt. □

82 Kapitel 4. Repräsentierbarkeit im λ-Würfel Nun können wir die Rekursion wie folgt repräsentieren. 4.1.8 Definition R := λα:∗.λx:α.λg:α → N → α.λn:N .π^{1}αN (It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg)n) . 4.1.9 Lemma Sei α ∈ V^{□}, x, g ∈ V^{∗}, n ∈ ℕ .

(1) ∅ ⊢_{λ2} R : Πα:∗.α → (α → N → α) → N → α .

(2) (a) Rαxg \underline{0} ↠_{β} x .

(b) Rαxg \underline{n + 1} =_{β} g(Rαxg \underline{n}) \underline{n} . Beweis.

(1) Es ist leicht nachzurechnen.

(2) (a) Rαxg \underline{0} ↠_{β} π^{1}αN (It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{0} )
↠_{β} π^{1}αN (⟨ x, \underline{0} ⟩αN ) nach Lemma 4.1.3.(4).(a)
↠_{β} x nach Lemma 4.1.5.(3).(a)

(b) Durch eine simultane Induktion zeigt man folgendes:

\begin{matrix}(∗) & It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n + 1} =_{β} ⟨ g(Rαxg \underline{n}) \underline{n} , \underline{n + 1} ⟩αN . \\ (∗∗) & Rαxg \underline{n + 1} =_{β} g(Rαxg \underline{n}) \underline{n} . \end{matrix}

• 1. Fall n = 0 . Man achte auf It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{0} ↠_{β} ⟨ x, \underline{0} ⟩αN . (∗)

It(α × N)(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{1} =_{β} ⟨ gx \underline{0} , \underline{1} ⟩αN nach Lemma 4.1.7.(2).(b)
=_{β} ⟨ g(Rαxg \underline{0} ) \underline{0} , \underline{1} ⟩αN nach (a)

(∗∗) Rαxg \underline{1} ↠_{β} π^{1}αN (It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{1} )

=_{β} π^{1}αN (⟨ g(Rαxg \underline{0} ) \underline{0} , \underline{1} ⟩αN ) nach (∗)
↠_{β} g(Rαxg \underline{0} ) \underline{0} nach Lemma 4.1.5.(3).(a)

• 2. Fall n = m + 1 & m ∈ ℕ .

(∗) It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{m + 1} ↠^{IV}_{β} ⟨ g(Rαxg \underline{m}) \underline{m} , \underline{m + 1} ⟩αN .
It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n + 1} =_{β} ⟨ g(g(Rαxg \underline{m}) \underline{m}) \underline{n} , \underline{n + 1} ⟩αN

nach Lemma 4.1.7.(2).(b)

=_{β} ⟨ g(Rαxg \underline{m + 1} ) \underline{n} , \underline{n + 1} ⟩αN

nach der I.V. für (∗∗)

≡ ⟨ g(Rαxg \underline{n}) \underline{n} , \underline{n + 1} ⟩αN

(∗∗) Rαxg \underline{n + 1} ↠_{β} π^{1}αN (It(α × N )(⟨ x, \underline{0} ⟩αN )(Hαg) \underline{n + 1} )

=_{β} π^{1}αN (⟨ g(Rαxg \underline{n}) \underline{n} , \underline{n + 1} ⟩αN ) nach (∗)
↠_{β} g(Rαxg \underline{n}) \underline{n} nach Lemma 4.1.5.(3).(a)

Hiermit ist die Behauptung bewiesen. □

Man betrachte nun folgenden Term. 4.1.10 Definition F := λh:N → N .λk:N .λl:N .(R N (h(S \underline{0} ))(λp:N .λq:N .hp)l) . 4.1.11 Lemma ⊢_{λ2} F : (N → N) → N → N → N .

4.1. Die Ackermann-Pétersche Funktion in λ2 83

4.1.12 Satz Der Term AP := R(N → N)SF repräsentiert die Ackermann-Pétersche Funktion:

(1) ⊢_{λ2} AP : N → N → N .

(2) ∀m, n ∈ ℕ [ AP \underline{m} \underline{n} =_{β} \underline{AP(m, n)} ] . Beweis.

(1) Trivial!

(2) Durch die Hauptinduktion nach m und die Nebeninduktion nach n wird die Behauptung gezeigt.

Dabei benutzt man hin und wieder das Lemma 4.1.9.(2).

• 1. Fall m = 0 & n ∈ ℕ .

\begin{aligned}AP \underline{0} \underline{n} & ≡ & R(N → N )SF \underline{0} \underline{n} \\ & ↠_{β} & S \underline{n} \end{aligned}

• 2. Fall m = m_{0} + 1 & n = 0 & m_{0} ∈ ℕ .

AP \underline{m_{0} + 1} \underline{0} ≡ R(N → N )SF \underline{m_{0} + 1} \underline{0}
=_{β} F(R(N → N )SF \underline{m_{0}} ) \underline{m_{0}} \underline{0}
↠_{β} RN (R(N → N )SF \underline{m_{0}} (S \underline{0} ))(λp:N .λq:N .R(N → N )SF \underline{m_{0}} p) \underline{0}
↠_{β} R(N → N )SF \underline{m_{0}} (S \underline{0} )
↠_{β} R(N → N )SF \underline{m_{0}} \underline{1}
≡ AP \underline{m_{0}} \underline{1}
=_{β} \underline{AP(m_{0}, 1)} nach der H-I.V.

• 3. Fall m = m_{0} + 1 & n = n_{0} + 1 & m_{0}, n_{0} ∈ ℕ . Definiere

A := RN (R(N → N )SF \underline{m_{0}} (S \underline{0} ))(λp:N .λq:N .R(N → N )SF \underline{m_{0}} p) .

AP \underline{m_{0} + 1} \underline{n_{0} + 1} ≡ R(N → N )SF \underline{m_{0} + 1} \underline{n_{0} + 1}
=_{β} F(R(N → N )SF \underline{m_{0}} ) \underline{m_{0}} \underline{n_{0} + 1}
↠_{β} A \underline{n_{0} + 1}
=_{β} (λp:N .λq:N .R(N → N )SF \underline{m_{0}} p)(A \underline{n_{0}} ) \underline{n_{0}}
↠_{β} R(N → N )SF \underline{m_{0}} (A \underline{n_{0}} )
=_{β} R(N → N )SF \underline{m_{0}} (R(N → N )SF \underline{m_{0} + 1} \underline{n_{0}}) nach (∗)
=_{β} R(N → N )SF \underline{m_{0}} \underline{AP(m_{0} + 1, n_{0})} nach der N-I.V.
=_{β} \underline{AP(m_{0}, AP(m_{0} + 1, n_{0}))} nach der H-I.V.

\begin{aligned}(∗) & R(N → N )SF \underline{m_{0} + 1} \underline{n_{0}} & =_{β} & F(R(N → N )SF \underline{m_{0}} ) \underline{m_{0}} \underline{n_{0}} \\ & & ↠_{β} & A \underline{n_{0}} \end{aligned}

Hiermit ist die Behauptung gezeigt worden. □ 4.1.13 Satz Im Hinblick auf die Repräsentierbarkeit ist λ2 stärker als λ→ . Beweis. Wie bekannt ist die Ackermann-Pétersche Funktion rekursiv, aber nicht primitiv rekursiv. Funktionen, die aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert sind, sind jedoch nur primitiv rekursiv. □

4.2 Konservativität innerhalb des λ-Würfels

In diesem Paragraphen werden wir den λ-Würfel auf die Konservativität hin untersuchen. Die Konservativitätsrelationen zwischen den Systemen aus dem λ-Würfel werden deutlicher, wenn man an die Idee des Curry-Howard-Isomorphismus denkt. Es gibt vier Fälle zu betrachten: Seien ζ_{1} und ζ_{2} aus dem λ-Würfel.

(1) Ist ζ_{1} aus der unteren Seite und ein Teilsystem von ζ_{2}, dann ist ζ_{2} konservativ über ζ_{1} .

(2) Sind ζ_{2} aus der rechten Seite und ζ_{1} das zu ζ_{2} benachbarte System aus der linken Seite , dann ist ζ_{2} konservativ über ζ_{1} .

(3) λω ist konservativ über λ2 .

(4) λP2 ist nicht konservativ über λP2 .

Der Fall (3) wird hier nicht berücksichtigt. Der Grund ist, daß der bisher bekannte Beweis keine richtige Einsicht in die Struktur des λ-Würfels erlaubt, s. [18, 19]. Der Fall (4) wird im folgenden Paragraphen mit aller Genauigkeit behandelt. In diesem Parapraphen beschäftigen wir uns mit (1) und (2).

Diese vier Fälle reichen aus, um all die Konservativitätsrelationen innerhalb des λ-Würfels auszuschöpfen, denn es gilt die Transitivität der Konservativitätsrelationen. Das Ergebnis wird im folgenden Bild zusammengefaßt, wobei die Pfeile die Konservativität und der punktierte Pfeil die Nichtkonservativität kennzeichnen.

[figure: λ→; λP; λ\underline{ω}; λP\underline{ω}; λ2; λP2; λω; λPω]

4.2.1 Definition Seien ζ_{1} und ζ_{2} aus dem λ-Würfel, und ζ_{1} sei ein Teilsystem von ζ_{2}. Das System ζ_{2} heißt konservativ über ζ_{1} , falls für jeden Kontext Γ und jeden Term B aus ζ_{1} folgendes gilt:

\begin{matrix}Γ ⊢_{ζ_{1}} B : ∗ \\ Γ ⊢_{ζ_{2}} M : B \end{matrix} \} ⟹ ∃N [ Γ ⊢_{ζ_{1}} N : B]

Der Fall (1) wird durch den folgenden Satz und die starke Normalisierbarkeit von CC gezeigt.

4.2. Konservativität innerhalb des λ-Würfels 85

4.2.2 Satz Seien ζ_{1} und ζ_{2} aus dem λ-Würfel. Ist ζ_{1} aus der unteren Seite und ein Teilsystem von ζ_{2}, dann gilt folgendes: Sei Γ ein Kontext, in dem nur solche Terme, die in β-nf sind, auftreten.

\begin{matrix}Γ ⊢_{ζ_{1}} B : ∗ \\ Γ ⊢_{ζ_{2}} M : B \\ M in β-nf \end{matrix} \} ⟹ Γ ⊢_{ζ_{1}} M : B

Beweis. Durch Induktion nach dem Termaufbau von M wird die Behauptung gezeigt.

• M ≡ x ∈ V^{∗} ∪ V^{□} . Nach Stripping und der Regel (=_{β}) ist die Behauptung direkt.

• M ≡ xM_{1} ⋯ M_{n} & n ≥ 1. Nach Stripping gibt es A, P, Q mit x: A ∈ Γ und A =_{β} Πy_{1} : P.Q . Wegen der Voraussetzung über Γ ist A in β-nf, daher gibt es nach CR_{β} P_{1}, Q_{1} mit A ≡ Πy_{1} :P_{1}.Q_{1} . Es gilt nun Γ ⊢_{ζ_{1}} Πy_{1} :P_{1}.Q_{1} : ∗ . Weiter gilt nach Stripping Γ ⊢_{ζ_{1}} P_{1} : ∗ , da (□, ∗) keine Regel in ζ_{1} ist. Andererseits gilt Γ ⊢_{ζ_{2}} M_{1} : P_{1} , was mit der I.V. Γ ⊢_{ζ_{1}} M_{1} : P_{1} impliziert, denn M_{1} ist auch in β-nf. Die Regel (App) liefert Γ ⊢_{ζ_{1}} xM_{1} : Q_{1} [y_{1} := M_{1}] : ∗ . Wenn man weiter so verfährt, kann man durch Iteration bis n zeigen, daß es Q_{n} gibt mit Γ ⊢_{ζ_{1}} xM_{1} ⋯ M_{n} : Q_{n} [y_{n} := M_{n}] . Nach Eindeutigkeit der Typbarkeit gilt nun Q_{n} [y_{n} := M_{n}] =_{β} B . Die Behauptung folgt mit (=_{β}).

• M ≡ λx: A.N . Es gibt nach Stripping und CR_{β} ein C mit B ↠_{β} Πx: A.C & Γ, x: A ⊢_{ζ_{2}} N : C . Weiter gilt nach Subjektreduktion Γ ⊢_{ζ_{1}} Πx : A.C : ∗ , was nach Stripping Γ, x : A ⊢_{ζ_{1}} C : ∗ impliziert. Nach der I.V. hat man Γ, x:A ⊢_{ζ_{1}} N : C . Die Behauptung ist nun direkt. □

4.2.3 Korollar ζ_{1} und ζ_{2} seien wie im obigen Satz. Dann gilt:

\begin{matrix}Γ ⊢_{ζ_{1}} B : ∗ \\ Γ ⊢_{ζ_{2}} M : B \end{matrix} \} ⟹ Γ ⊢_{ζ_{1}} nf(M) : B

Beweis. Die Behauptung resultiert direkt aus Satz 4.2.2, Lemma 2.3.12.(2), Korollar 2.3.14 und natürlich SN_{β} . □

Im weiteren wird gezeigt, daß die rechts im λ-Würfel stehenden Systeme konservativ über ihre benachbarten, im λ-Würfel links stehenden Systeme sind. Die Idee stammt aus [4] und [28].

4.2.4 Definition (Paulin, Berardi) Sei ζ_{2} ein System aus der rechten Seite des λ-Würfels und ζ_{1} sei das zu ζ_{2} benachbarte System, das auf der linken Seite liegt. Die Abbildung [−] : T erm(ζ_{2}) ⟶ T erm(ζ_{1}) wird wie folgt rekursiv definiert:

[□] := □
[∗] := ∗
[x] := x für x ∈ V^{∗} ∪ V^{□}
[Πx:A.B] := \{ \begin{matrix}[B] & falls Πx:A.B durch (∗, □) gebildet worden ist \\ Πx:[A].[B] & sonst \end{matrix}
[λx:A.B] := \{ \begin{matrix}[B] & falls λx:A.B durch (∗, □) gebildet worden ist \\ λx:[A].[B] & sonst \end{matrix}
[BA] := \{ \begin{matrix}[B] & falls BA durch (∗, □) gebildet worden ist \\ [B][A] & sonst \end{matrix}

Die Abbildung [−] wird in einer kanonischen Weise auf Kontexte erweitert.

4.2.5 Bemerkung

(1) Die Fallunterscheidung läßt sich durch Korollar 2.3.27 rechtfertigen. Dann kann die Wohldefiniertheit der Abbildung [−] von T erm(ζ_{2}) in T erm(ζ_{1}) durch Induktion nach dem Termaufbau gezeigt werden.

(2) Die Idee der Abbildung [−] ist, die Regel (∗, □) zu vergessen.

(3) Es gilt [M] ≡ M für M ∈ T erm(ζ_{1}).

4.2.6 Lemma In CC gilt:

\begin{matrix}Γ, x:A ⊢ M : B \\ Γ ⊢ N : A \end{matrix} \} ⟹ [M [x := N]] ≡ [M] [x := [N]]

Beweis. Durch Induktion nach dem Termaufbau von M zeigen wir die Behauptung. Nach Lemma 2.3.3 ist der Term M [x := N] legal. Im folgenden sei L^{∗} ≡ L [x := N] für L ∈ T .

(1) M ≡ ∗ oder M ∈ V^{∗} ∪ V^{□} . Die Behauptung ist direkt.

(2) M ≡ Πz:P.Q . (O.B.d.A x ≢ z)

• 1. Fall M ist durch (∗, □) gebildet worden. Es gilt [M] ≡ [Q] & M^{∗} ≡ Πz: P^{∗}.Q^{∗} . Andererseits hat man nach Stripping Γ, x:A ⊢ P : ∗ & Γ, x:A, z:P ⊢ Q : □ . Wieder nach Lemma 2.3.3 gilt Γ ⊢ P^{∗} : ∗ & Γ, z:P^{∗} ⊢ Q^{∗} : □ . Der Term Πz:P^{∗}.Q^{∗} ist auch durch (∗, □) gebildet

worden. Daher folgt: \begin{aligned}[M [x := N]] & ≡ & [Q^{∗}] \\ & ≡^{IV} & [Q] [x := [N]] \\ & ≡ & [M] [x := [N]] \end{aligned}

• M ist nicht durch (∗, □) gebildet worden. Die Behauptung folgt direkt aus der I.V.: Daß M^{∗} auch nicht durch (∗, □) gebildet worden ist, kann analog zum ersten Fall gezeigt werden.

(3) Der Fall, daß M eine λ-Abstraktion oder eine Applikation ist, wird analog zu (2) behandelt. Man sollte zeigen können, daß M und M^{∗} durch dieselbe Regel gebildet worden sind. Die Behauptung folgt dann aus der I.V. □

4.2.7 Lemma In CC gilt:

(1) Γ ⊢ B : □ ⟹ [B] ∈ K .

(2) Γ ⊢ M : B : □ ⟹ F V ([M]) ∩ V^{∗} = ∅ .

Beweis.

(1) Durch Induktion nach dem Termaufbau von B zeigt man die Behauptung. Falls B ≡ ∗ ist, ist die Behauptung klar. Nach Stripping ist der Fall B ∈ V^{∗} ∪ V^{□} ausgeschlossen. Der Fall, daß B eine λ-Abstraktion oder eine Applikation ist, kommt nach Lemma 3.3.1.15 nicht vor. Hat B die Gestallt Πx:P.Q , dann gibt es zwei Fälle zu unterscheiden.

• Πx:P.Q ist durch (∗, □) gebildet worden. Nach Stripping gilt Γ ⊢ P : ∗ und Γ, x:P ⊢ Q : □ . Weiter gilt [Πx:P.Q] ≡ [Q] , woraus die Behauptung mit der I.V. folgt.

• Πx : P.Q ist nicht durch (∗, □) gebildet worden. Nach Stripping weiß man Γ ⊢ P : □ und Γ, x:P ⊢ Q : □ . Die Behauptung folgt dann aus der I.V.

(2) Durch Herleitungsinduktion zeigt man die Behauptung. Nach Stripping kommt der Fall (Axiom) nicht vor. Der Fall (V ar) ist nach Satz 2.3.26 klar. Der Fall (Schw) folgt aus der I.V.

(Π) Es gelte M ≡ Πx:P.Q , B ≡ ∗ und

\begin{matrix}Γ ⊢ P : s Γ, x:P ⊢ Q : ∗ \\ Γ ⊢ Πx:P.Q : ∗ \end{matrix}

• 1. Fall s ≡ ∗ . Die Behauptung folgt direkt mit der I.V.

• 2. Fall s ≡ □ . Nach (1) gilt F V ([P]) = ∅ . Die Behauptung ist direkt mit der I.V. für die zweite Prämisse.

(λ) Es gelte M ≡ λx:P.Q & B ≡ Πx:P.R und

\begin{matrix}Γ, x:P ⊢ Q : R Γ ⊢ Πx:P.R : □ \\ Γ ⊢ λx:P.Q : Πx:P.R \end{matrix}

Weiter gilt nach Stripping Γ ⊢ P : s & Γ ⊢ R : □ .

• 1. Fall s ≡ ∗ . Es gilt [λx: P.Q] ≡ [Q] , woraus die Behauptung mit der I.V. für die erste Prämisse folgt.

• 2. Fall s ≡ □ . Die Behauptung folgt mit (1) und der I.V. für die erste Prämisse.

(App) Es gelte M ≡ QP & B ≡ L [x := P] und

\begin{matrix}Γ ⊢ Q : Πx:A.L Γ ⊢ P : A \\ Γ ⊢ QP : L [x := P] \end{matrix}

Es gilt zunächst nach Satz 2.3.26, Γ ⊢ Πx:A.L : □ . Es gibt zwei Fälle zu betrachten.

• 1. Fall Γ ⊢ A : ∗ . Es gilt [QP] ≡ [Q] , woraus die Behauptung aus der I.V. für die erste Prämisse folgt.

• 2. Fall Γ ⊢ A : □ . Die Behauptung folgt direkt mit der I.V.

(=_{β}) Es gelte für A =_{β} B

\begin{matrix}Γ ⊢ M : A Γ ⊢ B : □ \\ Γ ⊢ M : B \end{matrix}

Nach Subjektkonversion gilt Γ ⊢ A : □ , was die Behauptung mit der I.V. für die erste Prämisse impliziert. □

4.2.8 Lemma [ M ∈ T erm(CC) & M →_{β} N ] ⟹ [ [M] ≡ [N] ∨ [M] →_{β} [N] ] .

Beweis. Da M ∉ {∗, □} sein sollte, kann man o.E. Γ ⊢ M : L für einen Kontext Γ und einen Term L annehmen. Man zeigt durch Induktion nach dem Termaufbau von M die Behauptung. Man betrachtet nur den Fall M ≡ (λx: A.B)C & N ≡ B [x := C] . Nach Korollar 2.3.8.(2) und Subjektreduktion sind A, B, C, N alle legal. Es gibt zwei Fälle zu betrachten.

• M ist durch (∗, □) gebildet worden. Es gilt [M] ≡ [B] . Andererseits existiert nach Stripping ein D mit Γ, x: A ⊢ B : D : □ & Γ ⊢ C : A : ∗ , woraus mit Lemma 4.2.6 [B [x := C]] ≡ [B] [x := [C]] folgt. Weiter gilt nach Lemma 4.2.7.(2) x ∉ F V ([B]) , da x ∈ V^{∗} ist. Es gilt [M] ≡ [N] .

• M ist nicht durch (∗, □) gebildet worden. Es gilt: \begin{aligned}[M] & ≡ & [λx:A.B][C] \\ & ≡ & (λx:[A].[B])[C] \\ & →_{β} & [B] [x := [C]] \\ & ≡ & [B [x := C]] \end{aligned}

Dabei kann die letzte Identität wie im ersten Fall durch Stripping begründet werden. □

4.2.9 Korollar [ M, N ∈ T erm(CC) & M =_{β} N ] ⟹ [M] =_{β} [N] .

4.2.10 Satz (Paulin, Berardi) Seien ζ_{1} und ζ_{2} wie in der Definition 4.2.4. Dann gilt:

Γ ⊢_{ζ_{2}} M : A ⟹ [Γ] ⊢_{ζ_{1}} [M] : [A]

Beweis. Durch Herleitungsinduktion wird die Behauptung bewiesen. Gilt ferner ∃s ∈ S [ Γ ⊢_{ζ_{2}} A : s] , dann wird folgendes simultan gezeigt:

(∗) Γ ⊢_{ζ_{2}} A : s ⟹ |Γ| ⊢_{ζ_{1}} |A| : s

In allen Fällen ist die Behauptung (∗) direkt oder mitbewiesen. Die Fälle (Axiom), (V ar) und (Schw) sind leicht zu behandeln. Der Fall (=_{β}) folgt direkt aus Korollar 4.2.9.

(Π) Es gelte M ≡ Πx:P.Q & A ≡ s_{2} ∈ {∗, □} und

\begin{matrix}Γ ⊢_{ζ_{2}} P : s_{1} Γ, x:P ⊢_{ζ_{2}} Q : s_{2} \\ Γ ⊢_{ζ_{2}} Πx:P.Q : s_{2} \end{matrix}

• 1. Fall (s_{1}, s_{2}) = (∗, □) . Dann gilt [Πx:P.Q] ≡ [Q] . Die Behauptung folgt direkt aus der zweiten Prämisse mit der I.V. und Lemma 2.4.25.(1), denn |Γ| nach der I.V. für die erste Prämisse legal ist.

• 2. Fall (s_{1}, s_{2}) ≠ (∗, □) . Die Behauptung ist direkt mit der I.V.

(λ) Es gelte M ≡ λx:P.Q & A ≡ Πx:P.R und

\begin{matrix}Γ, x:P ⊢_{ζ_{2}} Q : R Γ ⊢_{ζ_{2}} Πx:P.R : s \\ Γ ⊢_{ζ_{2}} λx:P.Q : Πx:P.R \end{matrix}

• λx:P.Q ist durch (∗, □) gebildet worden. Dann gilt

[λx:P.Q] ≡ [Q] & [Πx:P.R] ≡ [R] .

Andererseits liefert die I.V. [Γ], x : [P] ⊢_{ζ_{1}} [Q] : [R] : □ . Da x ∈ V^{∗} ist, hat man nach Lemma 2.4.25.(1) x ∉ F V ([Q]) ∪ F V ([R]) . Die Behauptung folgt mit Strengthening, s. Lemma 2.3.20.

• λx:P.Q ist nicht durch (∗, □) gebildet worden. Die Behauptung folgt aus der I.V.

(App) Es gelte M ≡ QP & A ≡ C [x := P] und

\begin{matrix}Γ ⊢_{ζ_{2}} Q : Πx:B.C Γ ⊢_{ζ_{2}} P : B \\ Γ ⊢_{ζ_{2}} QP : C [x := P] \end{matrix}

4.3. Nichtkonservativität von λPω über λP2 89

• Πx:B.C ist durch (∗, □) in Γ gebildet worden. Es gilt

[QP] ≡ [Q] & [Πx:B.C] ≡ [C] .

Die I.V. für (∗) liefert [Γ] ⊢_{ζ_{1}} [C] : □ , also F V ([C]) = ∅ . Nach Lemma 4.2.6 gilt ferner [C [x := P]] ≡ [C] [x := [P]] ≡ [C] , denn es gilt nach Stripping Γ, x: B ⊢_{ζ_{2}} C : □ . Die Behauptung folgt aus der ersten Prämisse mit der I.V.

• Πx:B.C ist nicht durch (∗, □) in Γ gebildet worden. Die I.V. liefert [Γ] ⊢_{ζ_{1}} [Q] : Πx:[B].[C] und [Γ] ⊢_{ζ_{1}} [P] : [B] , daher gilt mit (App) [Γ] ⊢_{ζ_{1}} [Q][P] : [C] [x := [B]] . Andererseits gilt nach Lemma 4.2.6 [QP] ≡ [Q][P] & [C] [x := [B]] ≡ [C [x := B]] . □

4.2.11 Korollar Seien ζ_{1} und ζ_{2} wie im obigen Satz. Dann ist ζ_{2} konservativ über ζ_{1} .

Beweis. Achte darauf, daß ∀M ∈ T erm(ζ_{1}) [ M ≡ [M] ] gilt. □

Hiermit ist der folgende Satz vervollständigt worden.

4.2.12 Satz Seien ζ_{1} und ζ_{2} zwei PTSs aus dem λ-Würfel. Ist ζ_{1} ein Teilsystem von ζ_{2}, gilt die folgende Äquivalenz:

ζ_{2} ist konservativ über ζ_{1} ⟺ [ ζ_{1} ≠ λP2 ∨ ζ_{2} ≠ CC ]

Beweis. Die Richtung von links nach rechts wird auf den nächsten Paragraphen verschoben. Für die andere Richtung fehlt nur zu zeigen, daß λω konservativ über λ2 ist. Dafür sei auf [18, 19] hingewiesen.□

4.2.13 Korollar Seien ζ_{L_{1}} und ζ_{L_{2}} zwei PTSs aus dem Logikwürfel. Ist ζ_{L_{1}} ein Teilsystem von ζ_{L_{2}} , gilt die folgende Äquivalenz:

ζ_{L_{2}} ist konservativ über ζ_{L_{1}} ⟺ [ ζ_{L_{1}} ≠ λPRED2 ∨ ζ_{L_{2}} ≠ λPREDω]

Dabei wird die Konservativität durch die folgende Bedingung definiert:

\begin{matrix}Γ ⊢_{ζ_{L_{1}}} B : prop \\ Γ ⊢_{ζ_{L_{2}}} M : B \end{matrix} \} ⟹ ∃N [ Γ ⊢_{ζ_{L_{1}}} N : B]

Beweis. Mit völlig analogen Ideen wie beim λ-Würfel kann ein Beweis durchgeführt werden. □

4.2.14 Korollar Seien L_{1} und L_{2} zwei Logiksysteme, die jeweils zu einem PTS aus dem Logikwürfel äquivalent sind, s. Satz 3.2.6. Ist L_{1} ein Teilsystem von L_{2}, dann gilt die folgende Äquivalenz:

L_{2} ist konservativ über L_{1} ⟺ [ L_{1} ≠ PRED2 ∨ L_{2} ≠ PREDω]

4.3 Nichtkonservativität von λPω über λP2

Es ist bekannt, daß die zweitstufige Heyting-Arithmetik HAS nicht konservativ über die erststufige Heyting-Arithmetik HA ist: Die Konsistenz von HA ist in HAS beweisbar, aber nicht in HA selbst, s. z.B. [33, Shoenfield]. Mit einem erheblich umständlichen Aufwand wird gezeigt, daß man in der höherstufige Heyting-Arithmetik HAH die Konsistenz von HAS zeigen kann. Indem man die Nichtkonservativität von HAH über HAS zeigt, wird weiter gezeigt, daß λPω nicht konservativ über λP2 ist. Mit Hilfe einer Einbettungsfunktion von HAH in den λ-Würfel und der sog. Gödelisierung werden wir folgende Strecke verfolgen. Die Idee dabei stammt aus [15, 31].

(1) HAH beweist die starke Normalisierbarkeit von λP2 .

(2) Die starke Normalisierbarkeit von λP2 impliziert in HA die Konsistenz von HAS.

(3) HAS selbst beweist ihre eigene Konsistenz nicht. (zweiter Gödelscher Unvollständigkeitssatz)

4.3.1 Einbettung von HAH in den λ-Würfel

Wir fangen damit an, daß sich HAH in den λ-Würfel einbetten läßt. In den Paragraphen 1.3 und 4.1 wurde dieser Prozeß zum Teil vorgeführt. Zunächst werden die Logiksysteme HA, HAS und HAH genau definiert. Man erinnere sich an den Paragraphen 3.1, wobei der Aufbau von λ-Abstraktion zugelassen wurde; man hat bei Lemma 3.1.9.(2) gesehen, daß dies nichts anderes als die Komprehension ist. In [13, Dowek] ist gezeigt worden, daß die auf einem Komprehensionsschema, einem skolemisierten Komprehensionsschema oder λ-Kalkülen basierenden Typentheorien in dem Sinn äquivalent sind, daß jede eine konservative Erweiterung von einer anderen ist, und daß sich jede in eine andere so einbetten läßt, daß die Beweisbarkeit erhalten bleibt. Für unseren Zweck ist es angemessen, bei Typentheorien mit einem Komprehensionsschema zu arbeiten. Dennoch soll man folgende Dinge mit denen aus Paragraph 3.1 vergleichen können. Wir definieren zuerst die Sprache L_{ω} .

4.3.1.1 Definition

(1) Die Menge der Domänen D wird folgendermaßen induktiv definiert:

\begin{aligned}D_{o} & ::= & o | D_{o} → D_{o} | D_{p} → D_{o} \\ D_{p} & ::= & prop | D_{p} → D_{p} | D_{o} → D_{p} \\ D & := & D_{o} ∪ D_{p} \end{aligned}

Wie üblich lege man für jede Domäne σ ∈ D eine abzählbar unendliche Variablenmenge V^{σ} zugrunde. Es sei V_{σ} ∩ V_{τ} = ∅ für σ ≢ τ angenommen.

(2) Für jede Domäne σ ∈ D wird die Termmenge L^{σ} folgendermaßen simultan induktiv definiert: Sei τ ∈ D .

• V^{σ} ⊆ L^{σ} .

• 0 ∈ L^{o} .

• Ist t ∈ L^{o} , dann ist (St) ∈ L^{o} .

• Sind t_{0}, t_{1} ∈ L^{o} , dann sind (t_{0} + t_{1}) und (t_{0} × t_{1}) ∈ L^{o} .

• Sind t_{0}, t_{1} ∈ L^{σ} , dann ist (t_{0} = t_{1}) ∈ L^{prop} .

• ⊥ ∈ L^{prop} .

• Sind φ, ψ ∈ L^{prop} , dann sind (φ ∧ ψ), (φ ∨ ψ) und (φ → ψ) ∈ L^{prop} .

• Sind φ ∈ L^{prop} und x^{σ} ∈ V^{σ} , dann sind ∀x^{σ}(φ) und ∃x^{σ}(φ) ∈ L^{prop} .

• Sind M ∈ L^{τ→σ} und N ∈ L^{τ} , dann ist (MN) ∈ L^{σ} .

(3) L^{ω} := ⋃{L^{σ} | σ ∈ D} .

4.3.1.2 Bemerkung

(1) Man folgt der üblichen Klammerungsregel.

(2) Variablen aus V^{σ}, σ ∈ D, werden durch ∀ und ∃ gebunden, vgl. Bemerkung 1.1.6.

(3) Die Substitution eines Terms in einen anderen Term für eine Variable wird mit geeigneten Variablenbedingungen wie üblich definiert, in Zeichen t_{x}(t′) oder t(t′) .

(4) Terme werden modulo α-Konversion betrachtet.

(5) ¬φ steht für φ → ⊥ , falls φ ∈ L^{prop} ist.

(6) Die intendierte Rolle von o ist die Menge ℕ der natürlichen Zahlen. Der Index o bei den Variablen aus V^{o} wird meistens weggelassen: x, y, z usw. stehen für x^{o}, y^{o}, z^{o} usw.

(7) φ, ψ, χ, φ_{i}, ψ_{i}, χ_{i} usw. sind die syntaktischen Variablen für Terme aus L^{prop} . Im folgenden definieren wir die Herleitungen der höherstufigen Logik. Herleitungen werden die fol-

gende Gestalt haben:

\begin{matrix}H \\ ψ \end{matrix}

Dabei ist ψ die Konklusion der Herleitung H . Um anzudeuten, daß eine Formel φ in der Herleitung H möglicherweise auftritt, schreibt man oft

\begin{matrix}[^{α}φ] \\ H \\ ψ \end{matrix}

Dabei kann φ an mehreren Stellen auftreten. 4.3.1.3 Definition (HAH)

(1) Terme aus L^{prop} heißen Formeln. Formeln ohne freie Variablen heißen Sätze.

(2) Jeder Formel φ wird die abzählbar unendliche Menge der markierten Formeln ^{α}φ für α ∈ I zugeordnet, wobei I eine abzählbar unendliche Indexmenge ist. Dabei betrachte man die markierten Formeln auch als Formeln. Man nehme immer an, daß verschiedene Formeln verschiedene Markierungen zur Verfügung haben: Indexmengen für verschiedene Formeln sind paarweise disjunkt.

(3) Die höherstufige Heyting-Arithmetik HAH charakterisiert sich durch die Sprache L^{ω} und die folgenden Axiome und Herleitungsregeln: H_{i} steht für Herleitungen. Sei φ, ψ, χ ∈ L^{prop}, σ, τ ∈ D . Axiome Sei M ≡ M(y_{1}^{σ_{1}}, …, y_{n}^{σ_{n}}) ∈ L^{τ} & y^{σ→τ} ∉ F V (M) & σ ≡ σ_{1} → ⋯ → σ_{n} .

Es sei φ(x^{o}, z_{1}^{σ_{1}}, …, z_{n}^{σ_{n}}) eine Formel mit F V (φ) ⊆ {x^{o}, z_{1}^{σ_{1}}, …, z_{n}^{σ_{n}}} .
(Z_{1}) ∀x(Sx = 0 → ⊥)
(Z_{2}) ∀x, y(Sx = Sy → x = y)
(Z_{3}) ∀x(x + 0 = x)
(Z_{4}) ∀x, y(x + Sy = S(x + y))
(Z_{5}) ∀x(x × 0 = 0)
(Z_{6}) ∀x, y(x × Sy = (x × y) + x)
(Ind_{φ}) ∀z_{1}^{σ_{1}}, …, z_{n}^{σ_{n}}(φ(0, z⃗) → ∀x(φ(x, z⃗) → φ(Sx, z⃗)) → ∀xφ(x, z⃗))
(REFL) ∀x^{σ}(x^{σ} = x^{σ})
(REPL) ∀x^{σ}, y^{σ}(φ(x^{σ}) → x^{σ} = y^{σ} → φ(y^{σ}))
(CA) ∃y^{σ→τ} ∀z_{1}^{σ_{1}}, …, z_{n}^{σ_{n}}((y^{σ→τ} z_{1}^{σ_{1}} ⋯ z_{n}^{σ_{n}}) = M(z_{1}^{σ_{1}}, …, z_{n}^{σ_{n}}))

Basis Der einköpfige Baum mit dem Knoten ^{α}φ ist eine Herleitung. ^{α}φ ist die freie Annahme der Herleitung und es gibt keine gebundenen Annahmen.

Axiom Sei ψ ein Axiom. Der Baum mit dem Axiom ψ ist eine Herleitung ohne Prämissen.

(Ax)  ψ

Es gibt keine freien und gebundenen Annahmen.

Induktionsschritt Eine Herleitung kann nach den folgenden Regeln konstruiert werden:

\begin{aligned}& H_{1} \\ & ⊥ \\ (⊥_{i}) & ψ \end{aligned}

\begin{matrix}H_{1} & H_{2} \\ φ & ψ \\ (∧ I) & φ ∧ ψ \end{matrix}  \begin{aligned}& H_{1} \\ & φ ∧ ψ \\ (∧ E_{r}) & φ \end{aligned}  \begin{aligned}& H_{1} \\ & φ ∧ ψ \\ (∧ E_{l}) & ψ \end{aligned}
[^{α}φ]
\begin{aligned}& H_{1} \\ & ψ \\ (→I) & φ → ψ & α \end{aligned}  \begin{aligned}& H_{1} & H_{2} \\ & φ → ψ & φ \\ (→E) & ψ \end{aligned}
[^{α}φ] [^{β}ψ]
\begin{aligned}& H_{1} \\ & φ \\ (∨ I_{r}) & φ ∨ ψ \end{aligned}  \begin{aligned}& H_{1} \\ & ψ \\ (∨ I_{l}) & φ ∨ ψ \end{aligned}  \begin{aligned}& H_{1} & H_{2} & H_{3} \\ & φ ∨ ψ & χ & χ \\ (∨ E) & & χ & & α,β \end{aligned}

\begin{aligned}& H_{1} \\ & ψ \\ (∀ I) & ∀x^{σ}ψ \end{aligned}  \begin{aligned}& H_{1} \\ & ∀x^{σ}ψ \\ (∀ E) & ψ_{x^{σ}}(t) & t ∈ L^{σ} \end{aligned}
[^{α}φ]
\begin{aligned}& H_{1} \\ & ψ_{x^{σ}}(t) \\ (∃ I) & ∃x^{σ}ψ & t ∈ L^{σ} \end{aligned}  \begin{aligned}& H_{1} & H_{2} \\ & ∃x^{σ}φ & ψ \\ (∃ E) & ψ & & α \end{aligned}

• Die Formel^{α}φ bei (→I) wird sozusagen gestrichen und als gebundene Annahme bezeichnet. Es wird immer angenommen, daß die Regel (→I) mit dem Index α höchstens einmal angewendet wird. Bei (∨ E) sind die Mengen [^{α}φ] in H_{2} und [^{β}ψ] in H_{3} gestrichen; Bei (∃ E) ist die Menge [^{α}φ] in H_{2} gestrichen.

• Bei (∨ E) ist φ keine offene Annahme in H_{1} oder H_{3} . ψ ist nicht offen in H_{1} und H_{2}; Bei (∃ E) ist φ keine offene Annahme in H_{1} .

• Bei (∀ I) wird angenommen, daß die Variable x nicht frei in den freien Annahmen der Herleitung H_{1} auftritt; Bei (∃ E) tritt die Variable x weder in den freien Annahmen von H_{2} noch in ψ frei auf.

(4) Die gestrichenen Annahmen in einer Herleitung heißen die gebundenen Annahmen der Herleitung. Annahmen, die nicht gestrichen sind, heißen offen; Sei H eine Herleitung. Man definiert

F A(H) := {φ | φ eine offene Annahme in H} ,
BA(H) := {φ | φ eine gebundene Annahme in H} .

H heißt geschlossen, falls F A(H) = ∅ ist.

(5) Ein Satz φ ∈ L^{ω} heißt in HAH beweisbar, falls es eine geschlossene Herleitung für φ gibt, in

Zeichen

HAH ⊢ φ .

4.3.1.4 Lemma In HAH gilt:

(1) ⊢ ∀x^{σ}, y^{σ}(x^{σ} = y^{σ} → y^{σ} = x^{σ}) .

(2) ⊢ ∀x^{σ}, y^{σ}, z^{σ}(x^{σ} = y^{σ} → y^{σ} = z^{σ} → x^{σ} = z^{σ}) .

(3) ⊢ ∀x, y(x = y → Sx = Sy) .

(4) ⊢ ∀x, y, v, w(x = y → v = w → x + v = y + w) .

(5) ⊢ ∀x, y, v, w(x = y → v = w → x × v = y × w) .

(6) ⊢ ∀x^{σ→τ} , y^{σ→τ} (x^{σ→τ} = y^{σ→τ} → ∀z^{σ}(x^{σ→τ} z^{σ} = y^{σ→τ} z^{σ})) .

(7) ⊢ ∀x^{prop}, y^{prop}(x^{prop} = y^{prop} → (x^{prop} ↔ y^{prop})) .

Beweis. Alles läßt sich mit (REFL) und (REPL) leicht zeigen. Als ein Beispiel zeigen wir (7). Sei x, y, z aus V^{prop} und betrachte die Formel φ(z) ≡ x ↔ z . Nach (REPL) gilt

(x ↔ x) → x = y → (x ↔ y) .

Andererseits ist x ↔ x logisch herleitbar. Mit (→E) folgt die Behauptung. □

HA und HAS werden als Teilsysteme von HAH definiert, vgl. Definition 3.1.8. Um die Sprache L^{2} der zweitstufigen Heyting-Arithmetik zu definieren, benötigt man folgende Notation, vgl. Definition 3.1.7.

4.3.1.5 Definition Domänen der Gestalt

σ_{1} → ⋯ → σ_{n} → prop & σ_{i} ≡ o

für n ∈ ℕ, i ∈ {1, …, n} heißen Prädikatsdomänen.

D_{2} := {σ ∈ D | σ eine Prädikatsdomäne}

4.3.1.6 Definition (HA, HAS)

(1) Die erst- bzw. zweitstufige Heyting-Arithmetik HA bzw. HAS wird als Teilsysteme von HAH definiert: Die Sprache L^{ω} wird durch L bzw. L^{2} ersetzt, die mit veränderten Klauseln definiert werden: Bei der Definition der erst- bzw. zweitstufigen Prädikatenlogik werden die Axiome (REFL), (REPL) bzw. (CA) folgendermaßen verändert. Dabei bleiben die nicht genannten Klauseln, Axiome und Regeln unverändert.

(a) Die erststufige Heyting-Arithmetik HA: • V^{o} ⊆ L^{o} .

• Sind t_{0}, t_{1} ∈ L^{o} , dann ist t_{0} = t_{1} ∈ L^{prop} .

• Sind φ ∈ L^{prop} und x^{o} ∈ L^{o} , dann sind ∀x^{o}(φ) und ∃x^{o}(φ) ∈ L^{prop} .

(REFL) ∀x^{o}(x^{o} = x^{o}) ;
(REPL) ∀x^{o}, y^{o}(φ(x^{o}) → x^{o} = y^{o} → φ(y^{o})) .

(b) Die zweitstufige Heyting-Arithmetik HAS:

• V^{σ} ⊆ L^{σ} für σ ∈ D_{2} ∪ {o} .

• Sind t_{0}, t_{1} ∈ L^{o} , dann ist t_{0} = t_{1} ∈ L^{prop} .

• Sind φ ∈ L^{prop}, x^{σ} ∈ V^{σ} und σ ∈ D_{2} ∪ {o} , dann sind ∀x^{σ}(φ) und ∃x^{σ}(φ) ∈ L^{prop} .

• Sind M ∈ L^{o→σ} , σ ∈ D_{2} und t ∈ L^{o} , dann ist (Mt) ∈ L^{σ} .

(REFL) ∀x^{o}(x^{o} = x^{o}) ;
(REPL) ∀x^{o}, y^{o}(φ(x^{o}) → x^{o} = y^{o} → φ(y^{o})) ;
(CA) ∃X^{σ} ∀y_{1}^{o}, …, y_{n}^{o}((Xy⃗) ↔ φ(y⃗))
wobei σ ≡ \underbrace{o → ⋯ → o}_{n-fach} → prop & X ∉ F V (φ) ist.

(2) Ein Satz φ ∈ L bzw. L^{2} heißt in HA bzw. HAS beweisbar, falls es eine geschlossene Herleitung

für φ gibt, in Zeichen

HA ⊢ φ bzw. HAS ⊢ φ .

4.3.1.7 Bemerkung

(1) Es gelten die Analoga des Lemmas 4.3.1.4 für HA bzw. HAS, wenn man sich auf die Sprachen L bzw. L^{2} beschränkt.

(2) In HA spielt die Klausel für Applikation sowie das Axiom (CA) keine Rolle.

(3) Bei der Definition von L^{2} hat man folgendes erzielt:

(a) Gilt MN_{1} ⋯ N_{n} ∈ L^{prop} , dann hat man

[ M ∈ V^{σ} & σ ≡ σ_{1} → ⋯ → σ_{n} → prop ∈ D_{2} & ∀i ∈ {1, …, n} [ σ^{i} ≡ o & N_{i} ∈ L^{o}] ] .

(b) Die Rechtfertigung des Axioms (CA) in HAS folgt aus dem Lemma 4.3.1.4.(7).

(c) In [24] ist das System HAS (= HA_{2}) etwas anders definiert: Die Formulierung dabei basiert auf einem λ-Kalkül. Man benutzt sog. Komprehensionsterme {ξ⃗.C} oder λξ⃗.C für jede Formel C und die Regel

\begin{matrix}∀X.A \\ A [X := \{ξ⃗.C\}] \end{matrix}

Die Fomel A [X := {ξ⃗.C}] geht aus A hervor, indem man alle Auftreten von Xt_{1} ⋯ t_{p} durch C(t_{1}, …, t_{p}) ersetzt. Achte darauf, daß das Komprehensionsschema und die Klauseln für die Gleichheit nicht dabei sind. Dennoch ist diese Fomulierung äquivalent zu der Fomulierung in der obigen Definition, vgl. Lemma 3.1.9.

(4) Im folgenden werden Indizes meistens weggelassen, wenn dadurch keine Verwechselung entsteht. Wir fangen mit der Einbettung von HAH und HA in λPω bzw. λP2 an.

4.3.1.8 Definition Sei D ∈ T . Sei α^{2} := α → α .

(1) P^{−} := λn:N .λα:∗.λx:α.λf:α^{2}.(n(α^{2} → α)(λg:α^{2}.x)(λp:α^{2} → α.λq:α^{2}.q(pf))(λy:α.y)) .

(2) A_{+} := λn:N .λm:N .λα:∗.λx:α.λf:α → α.(mα(nαxf)f) .

(3) A_{∗} := λn:N .λm:N .λα:∗.λx:α.λf:α → α.(mαx(λx:α.nαxf)) .

(4) A_{=}^{D} := λn:D.λm:D.ΠQ:D → ∗.(Qn → Qm) .

(5) Ind := λn:N .ΠQ:N → ∗.(Q \underline{0} → Πm:N .(Qm → Q(Sm)) → Qn) . 4.3.1.9 Bemerkung Die Intention von A_{=}^{D} ist die Leibnizsche Gleichheit. A_{=} steht für A_{=}^{N} . 4.3.1.10 Definition Sei ζ ∈ {λP2, λPω}. Dann definiert man

Γ ⊩_{ζ} B :⟺ ∃M [ Γ ⊢_{ζ} M : B] .

4.3.1.11 Lemma Sei ζ ∈ {λP2, λPω} .

(1) ⊢_{λ2} P^{−} : N → N .

(2) ⊢_{λ2} A_{+} : N^{2} → N .

(3) ⊢_{λ2} A_{∗} : N^{2} → N .

(4) [ ⊢_{ζ} D : s & s ∈ {∗, □}] ⟹ ⊢_{ζ} A_{=}^{D} : D → D → ∗ .

(5) ⊢_{λP2} Ind : N → ∗ . 4.3.1.12 Lemma Seien ζ ∈ {λP2, λPω} und M, N ∈ T , und es gelte ⊢_{ζ} D : s , s ∈ {∗, □} .

(1) P^{−}(S \underline{0} ) =_{β} \underline{0} =_{β} P^{−} \underline{0} .

(2) P^{−}(S(SM)) =_{β} S(P^{−}(SM)) .

(3) A_{+}M \underline{0} =_{β} λα:∗.λx:α.λf:α → α.Mαxf .

(4) A_{+}M(SN) =_{β} S(A_{+}MN) .

(5) A_{∗}M \underline{0} =_{β} \underline{0} .

(6) A_{∗}M(SN) =_{β} A_{+}(A_{∗}MN)M .

(7) (a) ⊩_{ζ} Πn:D.(A_{=}^{D}nn) .

(b) ⊩_{ζ} Πn:D.Πm:D.(A_{=}^{D}nm → A_{=}^{D}mn) .

(c) ⊩_{ζ} Πn:D.Πm:D.Πl:D.(A_{=}^{D}nm → A_{=}^{D}ml → A_{=}^{D}nl) .

(8) [ Γ ⊢_{ζ} M : D & Γ ⊢_{ζ} N : D & M =_{β} N ] ⟹ Γ ⊩_{ζ} A_{=}^{D}MN . Beweis. (1) bix (6) sind leicht nachzurechnen. (7) bedeutet nichts anderes, als daß die Leibnizsche Gleichheit all die Gleichheitsaxiome erfüllt. Wie man Beweise in Terme übersetzen kann, wird im folgenden durch Beispiele ausreichend erklärt, s. Lemma 4.3.1.17 oder [24, 3]. Für (8) beachte man, daß Γ ⊢_{ζ} A_{=}^{D}MN : ∗ nach Lemma 4.3.1.11.(4) gilt. Die Behauptung folgt mit der Regel (7).(a) und (=_{β}). □

4.3.1.13 Lemma

(1) ⊩_{λP2} Ind \underline{0} .

(2) ⊩_{λP2} Πx:N .(Ind x → Ind(Sx)) .

(3) ∀n ∈ ℕ [ ⊩_{λP2} Ind \underline{n} ] .

(4) ⊩_{λP2} Πx:N .(Ind x → Πy:N .(Ind y → Ind(A_{+}xy))) .

(5) ⊩_{λP2} Πx:N .(Ind x → Πy:N .(Ind y → Ind(A_{∗}xy))) .

(6) ⊩_{λP2} Πx:N .(Indx → A_{=}(P^{−}(Sx))x) . Beweis. Man definiere

Γ_{1} := ⟨Q:N → ∗, u:Q \underline{0} , v:Πm:N .(Qm → Q(Sm))⟩ ,
Γ_{2} := ⟨x:N , i:Ind x, y:N , j:Ind y⟩, Γ_{1} ,
Γ_{3} := Γ_{2}, n:N , w:Q(A_{∗}xn) .

(1) ⊩_{λP2} Ind \underline{0} folgt mit mehrmaliger Anwendung der Regel (λ) aus Γ_{1} ⊢_{λP2} u : Q \underline{0} .

(2) x : N , i : Ind x, Γ_{1} ⊢_{λP2} vx(iQuv) : Q(Sx) impliziert mit mehrmaliger Anwendung von (λ) die Behauptung.

(3) Die Behauptung folgt direkt aus (1) und (2) und Lemma 4.1.3.(2).

(4) Nach Lemma 4.3.1.12.(3) gilt S(A_{+}m \underline{0} ) =_{β} A_{+}(Sm) \underline{0} , d.h.

Γ_{2} ⊢_{λP2} i(λx:N .Q(A_{+}x \underline{0} )) : Q(A_{+} \underline{0} \underline{0} ) → Πm:N .(Q(A_{+}m \underline{0} ) → Q(A_{+}(Sm) \underline{0} )) → Q(A_{+}x \underline{0} ) . Weiter gilt nach Lemma 4.3.1.12.(3) mit M := i(λx:N .Q(A_{+}x \underline{0} ))u(λm:N .v(A_{+}m \underline{0} ))

A_{+} \underline{0} \underline{0} =_{β} \underline{0} & Γ_{2} ⊢_{λP2} M : Q(A_{+}x \underline{0} ) .

Das Lemma 4.3.1.12.(4) liefert S(A_{+}xm) =_{β} A_{+}x(Sm) und

Γ_{2} ⊢_{λP2} j(λy:N .Q(A_{+}xy)) : Q(A_{+}x \underline{0} ) → Πm:N .(Q(A_{+}xm) → Q(A_{+}x(Sm))) → Q(A_{+}xy) , woraus Γ_{2} ⊢_{λP2} j(λy:N .Q(A_{+}xy))M(λm:N .v(A_{+}xm)) : Q(A_{+}xy) folgt. Mehrmalige Anwendung von (λ) liefert die Behauptung.

(5) Nach Lemma 4.3.1.12.(3)-(4) gilt A_{+}(A_{∗}xn) \underline{0} =_{β} A_{∗}xn & S(A_{+}(A_{∗}xn)m) =_{β} A_{+}(A_{∗}xn)(Sm) . Dann gilt Γ_{3} ⊢_{λP2} i(λz:N .Q(A_{+}(A_{∗}xn)z)) :

Q(A_{∗}xn) → Πm:N .(Q(A_{+}(A_{∗}xN)m) → Q(A_{+}(A_{∗}xn)(Sm))) → Q(A_{+}(A_{∗}xn)x)

und Γ_{3} ⊢_{λP2} i(λz: N .Q(A_{+}(A_{∗}xn)z))w(λm: N .v(A_{+}(A_{∗}xn)m)) : Q(A_{+}(A_{∗}xn)x) . Die zweimalige Anwendung von (λ) liefert ein N mit Γ_{2} ⊢_{λP2} N : Πn: N .(Q(A_{∗}xn) → Q(A_{+}(A_{∗}xn)x)) . Weiter gilt nach Lemma 4.3.1.12.(6) A_{∗}x(Sm) =_{β} A_{+}(A_{∗}xm)x , also

Γ_{2} ⊢_{λP2} j(λy:N .Q(A_{∗}xy)) : Q(A_{∗}x \underline{0} ) → Πm:N .(Q(A_{∗}xm) → Q(A_{+}(A_{∗}xn)x)) → Q(A_{∗}xy) . Nach Lemma 4.3.1.12.(5) gilt A_{∗}x \underline{0} =_{β} \underline{0} & Γ ⊢_{λP2} j(λy:N .Q(A_{∗}xy))uN : Q(A_{+}xy) . Nun liefert die mehrmalige Anwendung von (λ) die Behauptung.

(6) Nach Lemma 4.3.1.12.(1), (2) und (8) weiß man ⊩_{λP2} Πm: N .(A_{=}(P^{−}(S(Sm)))(S(P^{−}(Sm)))) und ⊩_{λP2} A_{=}(P^{−}(S \underline{0} )) \underline{0} . Da ⊩_{λP2} Πm : N .(A_{=}(P^{−}(Sm))m → A_{=}(S(P^{−}(Sm)))(Sm)) gilt, hat man ⊩_{λP2} Πm:N .(A_{=}(P^{−}(Sm))m → A_{=}(P^{−}(S(Sm)))(Sm)) . Weiter gilt x:N , k:Ind x ⊢_{λP2} k(λx:N .A_{=}(P^{−}(Sx))x) :

A_{=}(P^{−}(S \underline{0} )) \underline{0} → Πm:N .(A_{=}(P^{−}(Sm))m → A_{=}(P^{−}(S(Sm)))(Sm)) → A_{=}(P^{−}(Sx))x .

Nun folgt mit (App) die Behauptung. □

Für die folgende Definition setzt man zwei injektive Funktionen von ⋃{V^{σ} | σ ∈ D_{o}} nach V^{∗} und von ⋃{V^{σ} | σ ∈ D_{p}} nach V^{□} , so daß die jeweiligen Komplemente der Bildmengen unendlich sind.

4.3.1.14 Lemma

(1) Die Abbildung [[−]] : D ⟶ T wird wie folgt rekursiv definiert:

\begin{aligned}[[o]] & := & N \\ [[prop]] & := & ∗ \\ [[σ → τ]] & := & [[σ]] → [[τ]] \end{aligned}

(2) Die Abbildung [[−]] wird auf L^{ω} (bzw. L) wie unten rekursiv definiert. Parallel dazu wird der Kontext Γ_{t} zu jedem Term t definiert, der die freien Variablen in t aufsammelt. Folgende Abkürzungen dienen zur besseren Lesbarkeit: Sei M ∈ T & σ_{n+1}, τ_{m+1} ∈ {o, prop}, n, m ∈ ℕ & σ = σ_{1} → ⋯ → σ_{n} → σ_{n+1} ∈ D & τ = τ_{1} → ⋯ → τ_{m} → τ_{m+1} .

Πy⃗:[[σ⃗_{n}]].M := Πy_{1} :[[σ_{1}]]. · · · .Πy_{n}:[[σ_{n}]].M
∀x:[[σ]].M := Πx:[[σ]].((Πy⃗:[[σ⃗_{n}]].Ind(xy⃗)) → M) für σ_{n+1} = o
∀x:[[σ]].M := Πx:[[σ]].M  für σ_{n+1} = prop
∃x:[[σ]].M := Πα:∗.(∀x:[[σ]].(M → α)) → α
t ∈ L^{σ}  [[t]] ∈ T  Γ_{t}
x ∈ V^{σ}  x  x:[[σ]], i_{x}:Πy⃗:[[σ⃗_{n}]].Ind(xy⃗)  für σ_{n+1} = o
x  x:[[σ]]  für σ_{n+1} = prop
0  \underline{0}  ⟨ ⟩
(S t)  S[[t]]  Γ_{t}
(t_{0} + t_{1})  A_{+}[[t_{0}]][[t_{1}]]  Γ_{t_{0}} ∪ Γ_{t_{1}}
(t_{0} ∗ t_{1})  A_{∗}[[t_{0}]][[t_{1}]]  Γ_{t_{0}} ∪ Γ_{t_{1}}
t_{0} = t_{1}  A_{=}^{[[τ]]}[[t_{0}]][[t_{1}]]  Γ_{t_{0}} ∪ Γ_{t_{1}}  für t_{0}, t_{1} ∈ L^{τ}
⊥  ⊥ := Πα:∗.α  ⟨ ⟩
φ ∧ ψ  Πα:∗.([[φ]] → [[ψ]] → α) → α  Γ_{φ} ∪ Γ_{ψ}
φ ∨ ψ Πα:∗.([[φ]] → α) → ([[ψ]] → α) → α Γ_{φ} ∪ Γ_{ψ}
φ → ψ  [[φ]] → [[ψ]]  Γ_{φ} ∪ Γ_{ψ}
∀x^{τ} (φ)  ∀x:[[τ]].[[φ]]  Γ_{φ}\{x:[[τ]], i_{x}:Πy⃗:[[τ⃗_{m}]].Ind(xy⃗)} für τ_{m+1} = o
∀x:[[τ]].[[φ]]  Γ_{φ}\{x:[[τ]]}  für τ_{m+1} = prop
∃x^{τ} (φ)  ∃x:[[τ]].[[φ]]  Γ_{φ}\{x:[[τ]], i_{x}:Πy⃗:[[τ⃗_{m}]].Ind(xy⃗)} für τ_{m+1} = o
∃x:[[τ]].[[φ]]  Γ_{φ}\{x:[[τ]]}  für τ_{m+1} = prop
(MN)  [[M]][[N]]  Γ_{M} ∪ Γ_{N}  für M ∈ L^{τ→σ}, N ∈ L^{τ}

4.3.1.15 Lemma Seien ξ ∈ \{L^{2}, L^{ω}\} und ζ_{ξ} = \{ \begin{matrix}λP2 & für ξ = L^{2} \\ λPω & für ξ = L^{ω} \end{matrix}

(1) Sei σ, τ ∈ D, M ∈ L^{σ}, N ∈ L^{τ} , x ∈ V^{τ} . Dann gilt [[M [x := N]]] = [[M]] [x := [[N]]] .

(2) ∀σ ∈ D ∀M ∈ L^{σ} ⊆ ξ [ Γ_{M} ⊢_{ζ_{ξ}} [[M]] : [[σ]] ] .

(3) Sei M ∈ L^{σ} ⊆ ξ, σ = σ_{1} → ⋯ → σ_{n} → o, n ∈ ℕ . Dann gilt Γ_{M} ⊩_{ζ_{ξ}} Πy⃗:[[σ⃗_{n}]].Ind([[M]]y⃗) .

(4) Sei M, N_{1}, …, N_{m} ∈ ξ, m ∈ ℕ, x ∈ V^{τ} , τ = τ_{1} → ⋯ → τ_{n+1}, τ_{n+1} ∈ {o, prop}, n ∈ ℕ .

Ist x ∉ F V ([[M]]) ∪ F V ([[N_{1}]]) ∪ ⋯ ∪ F V ([[N_{m}]]) , dann gilt:

[ Γ, x:τ, i_{x}:Πy⃗:[[τ⃗_{n}]].Ind(xy⃗), v⃗:[[N⃗]] ⊩_{ζ_{ξ}} [[M]] ⟹ Γ ⊩_{ζ_{ξ}} [[M]] für τ ∈ D_{o}] ,
[ Γ, x:τ, v⃗:[[N⃗]] ⊩_{ζ_{ξ}} [[M]] ⟹ Γ ⊩_{ζ_{ξ}} [[M]] für τ ∈ D_{p}]

Dabei steht v⃗:[[N⃗]] für v_{1} :[[N_{1}]], ⋯, v_{m}:[[N_{m}]] . Beweis.

(1) Die Behauptung kann durch eine einfache Induktion nach dem Termaufbau von M gezeigt werden.

(2) Mit Hilfe von Satz 4.1 und Lemmata 4.1.3 und 4.3.1.8 kann eine Induktion nach dem Termaufbau von M durchgeführt werden.

(3) Durch Induktion nach dem Termaufbau von M zeigt man die Behauptung.

• 1. Fall M ≡ x ∈ V^{σ} . Nach der Definition von Γ_{M} ist die Behauptung direkt.

• 2. Fall M ≡ 0 & n = 0 . Die Behauptung folgt aus Lemma 4.3.1.13.(1).

• 3. Fall M ≡ S & t ∈ L^{o} . Die Behauptung folgt mit der I.V. aus Lemma 4.3.1.13.(2).

• 4. Fall M ≡ t_{0} ⋄ t_{1} & ⋄ ∈ {+, ∗} . Die Behauptung folgt aus Lemma 4.3.1.13.(4)-(5).

• 5. Fall M ≡ NL & N ∈ L^{τ→σ} & L ∈ L^{τ} . Die I.V. liefert

Γ_{N} ⊩_{ζ_{ξ}} Πy_{0} :[[τ]].Πy⃗:[[σ⃗_{n}]].Ind([[N]]y_{0}y⃗)

Nun folgt die Behauptung mit (App) aus (2).

(4) Beachte, daß für den ersten Fall i_{x} ∉ F V ([[L]]) ist, falls x ∉ F V ([[L]]) & L ∈ L^{ω} ist. Dies kann man durch Induktion nach dem Termaufbau von L zeigen. Die Behauptung folgt dann mit Lemma 2.3.3 und Satz 2.3.21 aus folgendem:

⊢_{ζ_{ξ}} λy⃗:[[σ⃗_{n}]]. \underline{0} : [[σ]] für σ_{n+1} = o ,
⊢_{ζ_{ξ}} λy⃗:[[σ⃗_{n}]].⊥ : [[σ]] für σ_{n+1} = prop ,

denn es gilt für den ersten Fall nach (3) x:[[σ]], i_{x}:Πy⃗:[[σ⃗_{n}]].Ind(xy⃗) ⊩_{ζ_{ξ}} Πy⃗:[[σ⃗_{n}]].Ind(xy⃗) . 4.3.1.16 Bemerkung Das Lemma 4.3.1.15.(2) bestätigt, daß jeder Kontext Γ_{M}, M ∈ L^{σ} als eine Menge betrachtet werden kann. 4.3.1.17 Lemma Die Axiome (REFL), (REPL), (CA) und die Herleitungsregeln der zweit- bzw. höherstufigen Prädikatenlogik sind in λP2 bzw. in λPω beweisbar.

Beweis. Seien φ, ψ, χ Formeln aus ξ ∈ {L^{2}, L^{ω}} . Sei ζ_{ξ} ∈ {λP2, λPω} wie oben definiert. Folgendes wird gezeigt:

\begin{matrix}H ein Herleitung von ψ \\ F A(H) = \{φ_{1}, …, φ_{m}\} \end{matrix} \} ⟹ ∃M ∈ T [ Γφ⃗ ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[ψ]] ] ,

wobei Γφ⃗ := Γ_{φ_{1}} ∪ ⋯ ∪ Γ_{φ_{m}} & v⃗ : [[φ⃗]] := v_{1} : [[φ_{1}]], …, v_{m} : [[φ_{m}]] ist. Das Lemma 4.3.1.15 und das Korollar 2.3.10 werden stillschweigend hin und wieder verwendet. Der Einfachheit halber werden nur ein paar Fälle betrachtet. Sonstige Fälle können analog (und einfacher) gelöst werden.

(Basis) Γ_{φ}, v:[[φ]] ⊢_{ζ_{ξ}} v : [[φ]]

(REFL) Sei σ ≡ o . Dann gilt

⊢_{ζ_{ξ}} λn:N .λi:Ind n.λx:N → ∗.λy:xn.y : Πn:N .(Ind n → ΠQ:N → ∗.(Qn → Qn)) .

Die Regel (=_{β}) liefert dann die Behauptung, denn es gilt

\begin{matrix}ΠQ:N → ∗.(Qn → Qn) =_{β} (Πp:N .Πq:N .ΠQ:N → ∗.(Qp → Qq))nn , \\ n:N ⊢_{ζ_{ξ}} (Πp:N .Πq:N .ΠQ:N → ∗.(Qp → Qq))nn : ∗ . \end{matrix}

(REPL) Sei σ ≡ o & φ(x^{σ}) ∈ L^{prop} ⊆ ξ & ψ ≡ ∀x^{σ}, y^{σ}(φ(x) → x = y → φ(y)) . Dann gilt:

Γ_{ψ}, n:N , i:Ind n, m:N , j:Ind m, v:[[φ]] [n := n], w:A_{=}^{N} nm ⊢_{ζ_{ξ}} w(λp:N .[[φ]] [n := p])v : [[φ]] [n := m]

Das Lemma 4.3.1.15.(1) und die Regel (λ) liefern die Behauptung.

(CA) Sei M ≡ M(y^{σ}) ∈ L^{τ} , σ, τ ∈ D_{p} . Definiere ψ := [[∃x^{σ→τ} ∀y^{σ}(x(y) = M(y))]] und

Γ := Γ_{ψ}, α:∗, v:(Πx:[[σ]] → [[τ]].(Πy:[[σ]].[[x(y) ↔ M(y)]] → α)) .

Andererseits gibt es einen Term N mit Γ_{ψ} ⊢_{ζ_{ξ}} N : Πy: [[σ]].[[M(y) → M(y)]] . Da die Formel ∀y^{σ}(M(y) → M(y)) logisch herleitbar ist, kann man einen solchen Term finden, s.u. Somit gilt Γ ⊢_{ζ_{ξ}} v(λz:[[σ]].[[M(z)]])N : α . Die Regel (λ) liefert die Behauptung.

(⊥_{i}) Nach der I.V. gelte Γφ⃗, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : ⊥ . Dann gilt Γφ⃗ ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M[[ψ]] : [[ψ]] .

(∧ I) Nach der I.V. gelte Γφ⃗ ∪ Γ_{φ}, v⃗: [[φ⃗]] ⊢_{ζ_{ξ}} M : [[φ]] & Γφ⃗ ∪ Γ_{ψ}, v⃗: [[φ⃗]] ⊢_{ζ_{ξ}} N : [[ψ]] . Damit gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λα:∗.λv:[[φ]] → [[ψ]] → α.vMN : [[φ ∧ ψ]] .

(∧ E_{r}) Nach der I.V. gelte Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[φ ∧ ψ]] . Somit gilt

Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M[[φ]](λx:[[φ]].λy:[[ψ]].x) : [[φ]] .

(∧ E_{l}) Sei M wie in (∧ E_{r}) . Dann gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M[[ψ]](λx:[[φ]].λy:[[ψ]].y) : [[ψ]] .

(→I) Nach der I.V. gelte Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]], w:[[φ]] ⊢_{ζ_{ξ}} M : [[ψ]] . Damit gilt

Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λw:[[φ]].M : [[φ → ψ]] .

(→E) Nach der I.V. gelte Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗: [[φ⃗]] ⊢_{ζ_{ξ}} M : [[φ → ψ]] & Γφ⃗ ∪ Γ_{φ}, v⃗: [[φ⃗]] ⊢_{ζ_{ξ}} N : [[φ]] , woraus Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} MN : [[ψ]] folgt.

(∨ I_{r}) Nach der I.V. gelte Γφ⃗ ∪ Γ_{φ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[φ]] . Weiter gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[φ]] . Damit gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λα:∗.λv:[[φ]] → α.λw:[[ψ]] → α.vM : [[φ ∨ ψ]] .

(∨ I_{l}) Nach der I.V. gelte Γφ⃗ ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[ψ]] . Weiter gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[ψ]] . Damit gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λα:∗.λv:[[φ]] → α.λw:[[ψ]] → α.wM : [[φ ∨ ψ]] .

(∨ E) Nach der I.V. gelte Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ} ∪ Γ_{χ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[φ ∨ ψ]] , Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ} ∪ Γ_{χ}, v⃗:[[φ⃗]], v:[[φ]] ⊢_{ζ_{ξ}} M_{0} : [[χ]] , Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ} ∪ Γ_{χ}, v⃗:[[φ⃗]], w:[[ψ]] ⊢_{ζ_{ξ}} M_{1} : [[χ]] .

Weiter gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ} ∪ Γ_{χ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λv:[[φ]].M_{0} : [[φ → χ]] , Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ} ∪ Γ_{χ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λw:[[ψ]].M_{1} : [[ψ → χ]] ,

woraus Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ} ∪ Γ_{χ}, v⃗ : [[φ⃗]] ⊢_{ζ_{ξ}} M[[χ]](λv : [[φ]].M_{0})(λw : [[ψ]].M_{1}) : [[χ]] folgt. Die Behauptung folgt nun mit Lemma 4.3.1.15.(4)

(∀ I) Nach der I.V. gelte Γφ⃗ ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[ψ(x^{σ})]] . Somit gilt

Γφ⃗ ∪ Γ_{∀x^{σ}ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λx:[[σ]].λi_{x}:Ind x.M : [[∀x^{σ}ψ]] ,

denn es gilt Γ_{∀x^{σ}ψ} = Γ_{ψ}\{x:[[σ]], i_{x}:Ind x} & x ∉ F V ([[φ⃗]]) , s. Satz 2.3.21.

(∀ E) Sei σ ∈ D_{o} und gelte nach der I.V. Γφ⃗ ∪ Γ_{∀x^{σ}ψ}, v⃗: [[φ⃗]] ⊢_{ζ_{ξ}} M : [[∀x^{σ}ψ]] . Weiter existiert ein N mit Γ_{t} ⊢_{ζ_{ξ}} N : Πy⃗:[[σ⃗_{n}]].Ind([[t]]y⃗) . Daher gilt

Γφ⃗ ∪ Γ_{∀x^{σ}ψ} ∪ Γ_{t}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M[[t]]N : [[ψ]] [x := [[t]]] .

Da Γ_{ψ(t)} = (Γ_{ψ}\{x:[[σ]], i_{x}:Πy⃗:[[σ⃗_{n}]].Ind(xy⃗)}) ∪ Γ_{t} gilt, folgt die Behauptung.

(∃ I) Sei σ ∈ D_{o} und gelte nach der I.V. Γφ⃗ ∪ Γ_{ψ(t)}, v⃗ : [[φ⃗]] ⊢_{ζ_{ξ}} M : [[ψ(t)]] . Sei N wie gerade oben. Dann gilt Γφ⃗ ∪ Γ_{ψ(t)} ∪ Γ_{t}, v⃗: [[φ⃗]], α: ∗, w: ∀x: [[σ]].([[ψ]] → α) ⊢_{ζ_{ξ}} w[[t]]NM : α , woraus Γφ⃗ ∪ Γ_{ψ(t)} ∪ Γ_{t}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λα:∗.λw:(∀x:[[σ]].([[φ]] → α)).w[[t]]NM : [[∃x^{σ}ψ]] folgt. Damit gilt Γφ⃗ ∪ Γ_{∃x^{σ}ψ}, v⃗: [[φ⃗]] ⊩_{ζ_{ξ}} [[∃x^{σ}ψ]]: Falls es ein x ∈ F V (t) & x ∉ F V ([[φ⃗]]) gibt, kann man das Lemma 4.3.1.15.(4) anwenden.

(∃ E) Sei σ ∈ D_{o} und gelte nach der I.V. \begin{matrix}Γφ⃗ ∪ Γ_{∃x^{σ}φ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M : [[∃x^{σ}φ]] , \\ Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]], v:[[φ]] ⊢_{ζ_{ξ}} N : [[ψ]] . \end{matrix}

Ferner gilt Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} λv:[[φ]].N : [[φ → ψ]] , woraus

Γφ⃗ ∪ Γ_{φ} ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊢_{ζ_{ξ}} M[[ψ]](λx:[[σ]].λi_{x}:(Πy⃗:[[σ⃗_{n}]].Ind(xy⃗)).λv:[[φ]].N) : [[ψ]]

folgt. Damit gilt Γφ⃗ ∪ Γ_{ψ}, v⃗:[[φ⃗]] ⊩_{ζ_{ξ}} [[ψ]]: Falls es ein z ∈ F V (φ) & z ∉ F V ([[φ]]) ∪ F V ([[ψ]]) gibt, sollte man das Lemma 4.3.1.15.(4) benutzen. □

Es wird ein Kontext definiert, der die Peanoschen Axiome repräsentiert. Um die weiteren Argumentationen möglich zu machen, wird dieser Kontext minimal gewählt. Sei ς ∈ V^{∗} eine fest gewählte Variable.

4.3.1.18 Definition CON := ⟨ς:[[¬(0 = S0)]]⟩

4.3.1.19 Satz Sei φ ∈ L^{ω} ∩ L^{prop} ein Satz. Dann gilt:

HAS ⊢ φ ⟹ CON ⊩_{λP2} [[φ]] ,
HAH ⊢ φ ⟹ CON ⊩_{λPω} [[φ]]

Beweis. Nach Lemma 4.3.1.17 genügt es, für jedes Peanosche Axiom φ CON ⊩_{ζ} [[φ]] zu zeigen. Dabei ist ζ = λP2 oder ζ = λPω je nachdem, ob φ in HAH oder in HAH ist.

• (φ ≡ Z_{2}) Zunächst gilt

x:N , y:N ⊢_{λP2} λu:(ΠQ:N → ∗.Q(Sx) → Q(Sy)).λQ:N → ∗.(u(λy:N .Q(P^{−}y))) :

(ΠQ:N → ∗.Q(Sx) → Q(Sy)) → ΠQ:N → ∗.(Q(P^{−}(Sx)) → Q(P^{−}(Sy))) .

Weiter gilt gemäß (λ) und (=_{β}) ⊩_{λP2} ∀x: N .∀y : N .(A_{=}(Sx)(Sy) → A_{=}(P^{−}(Sx))(P^{−}(Sy))) . Das Lemma 4.3.1.13.(6) liefert die Behauptung.

• (φ ≡ Ind_{ψ}) Sei F V (ψ) ⊆ {x, y⃗} . Definiere

Γ := Γ_{ψ}, u:[[ψ_{x}(0, y⃗)]], v:∀m:N .([[ψ]] [x := m] → [[ψ]] [x := Sm]), x:N , i_{x}:Ind x .

Im folgenden steht M & N für Πα : ∗.((M → α) → (N → α) → α) , wobei α ∈ V^{□} eine neue Variable ist. Dann gilt

Γ ⊢_{ζ} i_{x}(λp:N .([[ψ]] [x := p] & Ind \underline{0} )) :

([[ψ(0)]] & Ind \underline{0} ) → Πq:N .(([[ψ]] [x := q] & Ind q) → (ψ [x := S q] & Ind(S q))) → ([[ψ]] & Ind x) .

Weiter gilt nach Lemma 4.3.1.13.(1)-(2) Γ ⊩_{ζ} [[ψ(0)]] & Ind \underline{0} und Γ ⊩_{ζ} Πq : N .Ind q → Ind(S q) . Andererseits gilt nach Lemma 4.3.1.17 Γ_{ψ} ⊩_{ζ} Πq:N .(([[ψ]] [x := q] & Ind q) → Ind q → [[ψ]] [x := q]) , woraus Γ ⊩_{ζ} Πq:N .(([[ψ]] [x := q] & Ind q) → [[ψ]] [x := S q]) folgt. Ferner gilt

Γ ⊩_{ζ} Πq:N .(([[ψ]] [x := q] & Ind q) → ([[ψ]] [x := S q]) & Ind(S q)) .

Daher folgt Γ ⊩_{ζ} [[ψ]] & Ind x und insbesondere Γ ⊩_{ζ} [[ψ]] . Die mehrmalige Anwendung von (λ) liefert Γ_{ψ} ⊩_{ζ} [[φ(0, y⃗) → ∀x(φ(x, y⃗) → φ(S x, y⃗)) → ∀xφ(x, y⃗)]] , woraus

⊩_{ζ} [[∀y⃗(ψ(0, y⃗) → ∀x(ψ(x, y⃗) → ψ(S x, y⃗)) → ∀xψ(x, y⃗))]]

folgt. Hier kann ζ = λP2 stehen, wenn φ ∈ L^{2} ist.

• (φ ≡ Z_{1}) Sei ψ ≡ ψ(x) := ¬(S x = 0) . Nach dem Fall (Ind_{ψ}) hat man

⊩_{λP2} [[S0 ≠ 0]] → [[∀x(S x ≠ 0 → S(S x) ≠ 0)]] → [[∀x(S x ≠ 0)]] .

Zu zeigen ist nun ⊩_{λP2} [[∀x(S x ≠ 0 → S(S x) ≠ 0)]] . Wie im Fall (Z_{2}) hat man mit Lemma 4.3.1.12.(1) ⊩_{λP2} ∀x:N .A_{=}(S(S x)) \underline{0} → A_{=}(P^{−}(S(S x))) \underline{0} . Weiter gilt nach Lemma 4.3.1.12.(2)

⊩_{λP2} ∀x:N .A_{=}(S(S x)) \underline{0} → A_{=}(S(P^{−}(S x))) \underline{0} .

Das Lemma 4.3.1.13.(6) liefert ⊩_{λP2} ∀x:N .A_{=}(S(S x)) \underline{0} → A_{=}(S x) \underline{0} , woraus mit Lemma 4.3.1.17 ⊩_{λP2} ∀x:N .(A_{=}(S x) \underline{0} → ⊥) → (A_{=}(S(S x)) \underline{0} → ⊥) folgt. Hier hat man die logische Herleitbarkeit von (ψ → χ) → (¬χ → ¬ψ) und das Lemma 4.3.1.17 benutzt. Die Behauptung ist gezeigt worden.

• (φ ≡ Z_{3}) Es gilt nach Lemma 4.3.1.12.(3) S(A_{+} x \underline{0} ) =_{β} S x . Dann gilt mit Lemma 4.3.1.12.(8) x:N , i_{x}:Ind x ⊩_{λP2} A_{=}(S(A_{+} x \underline{0} ))(S x) . Nach dem Fall (Z_{2}) gilt x:N , i_{x}:Ind x ⊩_{λP2} A_{=}(A_{+} x \underline{0} )x , woraus die Behauptung folgt.

Die Fälle Z_{4}, Z_{5}, Z_{6} werden analog mit Hilfe des Lemmas 4.3.1.12 gezeigt. □

4.3.2 Arithmetisierung des λ-Würfels

Die Menge der legalen Terme in λ-Würfel ist im inhaltlichen Sinne aufzählbar: Herleitungen für einen legalen Term können als Algorithmen aufgefaßt werden. Diese Algorithmen werden wir hier sozusagen arithmetisieren. Wir werden in der Tat nichts anderes als die Arithmetisierung mathematischer Theorien machen, die aus der Rekursionstheorie bekannt ist: in Richtung des zweiten Gödelschen Unvollständigkeitssatzes! Wir legen den folgenden Satz 4.3.2.3 als Voraussetzung zugrunde.

4.3.2.1 Lemma

(1) Rekursive Definition von \underline{n} ∈ L :

\begin{aligned}\underline{0} & := & 0 \\ \underline{n + 1} & := & S \underline{n} \end{aligned}

(2) Eine Formel φ mit F V (φ) ⊆ {x_{1}, …, x_{n}} aus HA repräsentiert ein Prädikat P ⊆ ℕ^{n} stark, wenn für alle k_{1}, …, k_{n} ∈ ℕ gilt:

\begin{aligned}P (k_{1}, …, k_{n}) & ⟹ & HA ⊢ φ( \underline{k_{1}} , …, \underline{k_{n}}) \\ ¬P (k_{1}, …, k_{n}) & ⟹ & HA ⊢ ¬φ( \underline{k_{1}} , …, \underline{k_{n}}) \end{aligned}

φ repräsentiert eine Funktion f stark, wenn φ den Graphen von f stark repräsentiert.

4.3.2.2 Bemerkung Man benutzt dieselbe Notation für Numerale in λ2 und in HA. Dennoch wird dadurch keine Verwechslung entstehen.

4.3.2.3 Satz Alle rekursiven Funktionen und Pradikate lassen sich stark repräsentieren.

Beweis. S. z.B. [12, 5]. □

Das eigentliche Ziel ist die Formalisierung der starken Normalisierbarkeit von λP2 . Das Herleitbarkeitsprädikat Bew für λP2 wird definiert. Diese Definition kann auf jedes System aus dem λ-Würfel verallgemeinert werden.

4.3.2.4 Bemerkung (1) Für das weitere setzt man drei bijektive Abbildungen als gegeben voraus:

f_{u} : V → ℕ & f_{∗} : V^{∗} → ℕ & f_{□} : V^{□} → ℕ

Dabei ist V die Menge der typenfreien Termvariablen.

(2) Primitiv rekursive Funktionen und Prädikate wie ⟨ , …, ⟩, ( )_{i} , lh, − · , ∗ , Seq usw. sind als bekannt vorausgesetzt.

4.3.2.5 Definition

(1) Rekursive Definition von ⌜M⌝ für M ∈ Λ :

⌜x⌝ := ⟨ 0, 0, 0, f_{u}(x) ⟩ für x ∈ V
⌜NL⌝ := ⟨ 1, ⌜N⌝, ⌜L⌝, 0 ⟩
⌜λx.N⌝ := ⟨ 2, ⌜N⌝, 0, ⌜x⌝ ⟩

(2) Rekursive Definition von ⌜M⌝ für M ∈ T :

⌜ ∗ ⌝ := ⟨ 3, 0, 0, 0 ⟩
⌜ □ ⌝ := ⟨ 4, 0, 0, 0 ⟩
⌜x⌝ := ⟨ 5, 0, 0, f_{∗}(x) ⟩  für x ∈ V^{∗}
⌜y⌝ := ⟨ 6, 0, 0, f_{□}(y) ⟩  für y ∈ V^{□}
⌜Πx:A.B⌝ := ⟨ 7, ⌜B⌝, ⌜A⌝, ⌜x⌝ ⟩ für x ∈ V^{∗}
⌜Πy:A.B⌝ := ⟨ 8, ⌜B⌝, ⌜A⌝, ⌜y⌝ ⟩ für y ∈ V^{□}
⌜λx:A.B⌝ := ⟨ 9, ⌜B⌝, ⌜A⌝, ⌜x⌝ ⟩ für x ∈ V^{∗}
⌜λy:A.B⌝ := ⟨ 10, ⌜B⌝, ⌜A⌝, ⌜y⌝ ⟩ für y ∈ V^{□}
⌜BA⌝ := ⟨ 11, ⌜B⌝, ⌜A⌝, 0 ⟩

4.3.2.6 Definition Seien M, B ∈ T und Γ = ⟨ x_{1} :A_{1}, ⋯, x_{n}:A_{n} ⟩ ein Pseudokontext.

(1) ⌜Γ⌝ := ⟨ ⟨ ⌜x_{1}⌝, ⌜A_{1}⌝ ⟩, ⋯, ⟨ ⌜x⌝, ⌜A_{n}⌝ ⟩ ⟩ .

(2) ⌜Γ ⊢ M : B⌝ := ⟨ ⌜Γ⌝, ⌜M⌝, ⌜B⌝ ⟩ .

(3) Gelte H : Γ ⊢ M : B in CC. Die Gödel-Nummer ⌜H⌝ wird folgendermaßen rekursiv definiert:

⌜H⌝ := ⟨ ⌜Γ ⊢ M : B⌝, ⌜H_{1}⌝, ⋯, ⌜H_{m}⌝ ⟩

Dabei sind H_{1}, …, H_{m}, m ≤ 2, die Prämissen des letzten Schlusses in H . Im folgenden werden etliche rekursive Funktionen und Prädikate definiert, deren Intention von der

Definition her offensichtlich ist. Später werden sie formal in der Sprache der Heyting-Arithmetik mit demselben Namen verwendet. Es wird nur eine andere Schrift gewählt, Sans Serif. Der Satz 4.3.2.3 ermöglicht alles! 4.3.2.7 Lemma Folgende Funktionen sind primitiv rekursiv.

var^{u}(n) := ⟨ 0, 0, 0, n ⟩
app^{u}(m, n) := ⟨ 1, m, n, 0 ⟩
abst^{u}(m, n) := ⟨ 2, n, 0, m ⟩
var^{∗}(n) := ⟨ 5, 0, 0, n ⟩
var^{□}(n) := ⟨ 6, 0, 0, n ⟩
prod^{∗}(m, n, l) := ⟨ 7, l, n, m ⟩
prod^{□}(m, n, l) := ⟨ 8, l, n, m ⟩
abst^{∗}(m, n, l) := ⟨ 9, l, n, m ⟩
abst^{□}(m, n, l) := ⟨ 10, l, n, m ⟩
app(m, n) := ⟨ 11, m, n, 0 ⟩

4.3.2.8 Lemma Folgende Prädikate sind primitiv rekursiv.

(1) TERM^{u}(n) :⟺ ∃M ∈ Λ [ n = ⌜M⌝] .

(2) TERM(n) :⟺ ∃M ∈ T [ n = ⌜M⌝] .

(3) SORTE(n) :⟺ [ n = ⌜ ∗ ⌝ oder n = ⌜ □ ⌝] .

(4) VAR^{u}(n) :⟺ ∃x ∈ V [ n = ⌜x⌝] .

(5) VAR^{∗}(n) :⟺ ∃x ∈ V^{∗} [ n = ⌜x⌝] .

(6) VAR^{□}(n) :⟺ ∃y ∈ V^{□} [ n = ⌜y⌝] .

(7) KONTEXT(n) :⟺ ∃Γ [ Γ ein Pseudokontext & n = ⌜Γ⌝] .

(8) Γ-NEU(m, n) :⟺ ∃x ∈ V^{∗}∪V^{□} ∃Γ [ Γ ein Pseudokontext & m = ⌜x⌝ & n = ⌜Γ⌝ & x Γ-neu ] . Beweis. Alles ist eine Standardsache. Wir demonstrieren (7):

Γ-NEU(m, n) ⟺ (VAR^{∗}(m) ∨ VAR^{□}(m)) ∧ KONTEXT(n) ∧ ∀i < lh(n)((n)_{i,0} ≠ m) Dies zeigt die Behauptung. □ Notation Der besseren Lesbarkeit halber werden folgende Abkürzungen definiert:

(1) Seien P, Q, R Zahlentheoretische Prädikate.

P △ Q △ R :≡ (P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ R) .

(2) Sei l, m, n_{1}, …, n_{m} ∈ ℕ .

\begin{aligned}l ∈ \{n_{1}, …, n_{m}\} & :⟺ & l = n_{1} ∨ ⋯ ∨ l = n_{m} , \\ l ∉ \{n_{1}, …, n_{m}\} & :⟺ & ¬l ∈ \{n_{1}, …, n_{m}\} . \end{aligned}

4.3.2.9 Lemma Es gibt eine primitiv rekursive Funktion sub mit

sub(⌜M⌝, ⌜x⌝, ⌜N⌝) = ⌜M [x := N]⌝

über Λ bzw. T . Beweis.

sub(m, n, l) = \{ \begin{matrix}l  für m = n \\ ⟨ (m)_{0}, sub((m)_{1}, n, l), sub((m)_{2}, n, l), (m)_{3} ⟩ \\ für (m)_{0} ∈ \{1, 11\} oder ((m)_{0} ∈ \{2, 7, 8, 9, 10\} & n ≠ (m)_{3}) \\ m  sonst \end{matrix}

Im folgenden werden durch simultane Rekursion die Normalisierbarkeits- und Herleitbarkeitsprädikate definiert, vgl. Bemerkung 4.3.2.11. 4.3.2.10 Lemma

(1) Normalisierbarkeit

(a) KONTR(m, n) :⟺ [ TERM^{u}(m) ∨ TERM(m) ] ∧ [ TERM^{u}(n) ∨ TERM(n) ]

∧ [ [ (m)_{0} ∈ \{1, 11\} ∧ (m)_{1,0} ∈ \{2, 9, 10\} ∧ n = sub((m)_{1,1}, (m)_{1,3}, (m)_{2}) ] △ [ \begin{matrix}(m_{0}) ∉ \{0, 3, 4, 5, 6\} ∧ (m)_{0} = (n)_{0} ∧ (m)_{2} = (n)_{2} ∧ (m)_{3} = (n)_{3} \\ ∧ KONTR((m)_{1}, (n)_{1}) ] \end{matrix} △ [ \begin{matrix}(m)_{0} ∉ \{0, 3, 4, 5, 6\} ∧ (m)_{0} = (n)_{0} ∧ (m)_{1} = (n)_{1} ∧ (m)_{3} = (n)_{3} \\ ∧ KONTR((m)_{2}, (n)_{2}) ] ] \end{matrix}

(b) RED^{u}(n) :⟺ Seq(n) ∧ TERM^{u}((n)_{0}) ∧ ∀i < (lh(n) − · 1)(KONTR((n)_{i}, (n)_{i+1}))

(c) RED(n) :⟺ Seq(n) ∧ TERM((n)_{0}) ∧ ∀i < (lh(n) − · 1)(KONTR((n)_{i}, (n)_{i+1}))

(d) InNF^{u}(n) :⟺

VAR^{u}(n) ∨ ∃p, q < n [ (InNF(p) ∧ InNF(q) ∧ (p)_{0} ≠ 2 ∧ n = app^{u}(p, q)) ∨(VAR(p) ∧ InNF(q) ∧ n = abst^{u}(p, q))]

(e) InNF(n) :⟺ VAR^{∗}(n) ∨ VAR^{□}(n) ∨ SORTE(n) ∨ ∃p, q < n(InNF(p) ∧ InNF(q) ∧ (p)_{0} ∉ {9, 10} ∧ n = app^{u}(p, q)) ∨ ∃l, p, q < n [ InNF(p) ∧ InNF(q) ∧ [ (VAR^{∗}(l) ∧ (n = prod^{∗}(l, p, q) ∨ n = abst^{∗}(l, p, q))) ∨ (VAR^{□}(l) ∧ (n = prod^{□}(l, p, q) ∨ n = abst^{□}(l, p, q))) ] ]

(f) l = NF(m, n) :⟺ TERM(m) ∧ HER_{λP2}(n) ∧ (m = (n)_{0,1} ∨ m = (n)_{0,2}) ∧ l = (t)_{lh(t)− · 1} mit t = μy.(RED(y) ∧ (y)_{0} = m ∧ InNF((y)_{lh(y)− · 1}))

(2) Herleitungsregeln

(a) AXIOM(m) :⟺ m = ⌜⟨ ⟩ ⊢ ∗ : □⌝

(b) VAR(m, n) :⟺ ∃p < m [ Γ-NEU(p, (n)_{0}) ∧ SORTE((n)_{2}) ∧ m = ⟨ (n)_{0} ∗ ⟨ ⟨ p, (n)_{1} ⟩ ⟩, (l)_{1}, (l)_{2} ⟩]

(c) SCHW(m, n, l) :⟺ ∃p < m [ Γ-NEU(p, (n)_{0}) ∧ SORTE((n)_{2}) ∧ (n)_{0} = (l)_{0} ∧ m = ⟨ (n)_{0} ∗ ⟨ ⟨ p, (n)_{1} ⟩ ⟩, (l)_{1}, (l)_{2} ⟩]

(d) PROD(m, n, l, r) :⟺ ∃p < m [ Γ-NEU(p, (n)_{0}) ∧ (l)_{0} = (n)_{0} ∗ ⟨ ⟨ p, (n)_{1} ⟩ ⟩ ∧ (n)_{2} = (r)_{0} ∧ (l)_{2} = (r)_{1} ∧ SORTE((n)_{2}) ∧ SORTE((l)_{2}) ∧ (VAR^{∗}(p) → m = ⟨ (n)_{0}, prod^{∗}(p, (n)_{1}, (l)_{1}), (r)_{1} ⟩) ∧ (VAR^{□}(p) → m = ⟨ (n)_{0}, prod^{□}(p, (n)_{1}, (l)_{1}), (r)_{1} ⟩) ]

(e) ABST(m, n, l) :⟺

∃p < m[ \begin{matrix}Γ-NEU(p, (l)_{0}) ∧ (n)_{0} = (l)_{0} ∗ ⟨ ⟨ p, (l)_{1,2} ⟩ ⟩ ∧ (n)_{2} = (l)_{1,1} ∧ SORTE((l)_{2}) \\ ∧ (VAR^{∗}(p) → m = ⟨ (l)_{0}, abst^{∗}(p, (l)_{1,2}, (n)_{1}), prod^{∗}(p, (l)_{1,2}, (n)_{2}) ⟩) \\ ∧ (VAR^{□}(p) → m = ⟨ (l)_{0}, abst^{□}(p, (l)_{1,2}, (n)_{1}), prod^{□}(p, (l)_{1,2}, (n)_{2}) ⟩) ] \end{matrix}

(f) APP(m, n, l) :⟺ (n)_{0} = (l)_{0} ∧ (n)_{2,2} = (l)_{2} ∧ (VAR^{∗}((n)_{2,3}) → (n)_{2} = prod^{∗}((n)_{2,3}, (l)_{2}, (n)_{2,1})) ∧ (VAR^{□}((n)_{2,3}) → (n)_{2} = prod^{□}((n)_{2,3}, (l)_{2}, (n)_{2,1})) ∧ m = ⟨ (n)_{0}, app((n)_{1}, (l)_{1}), sub((n)_{2,1}, (n)_{2,3}, (l)_{1}) ⟩

(g) KONV(m, n, l, r, s) :⟺

(n)_{0} = (l)_{0} ∧ SORTE((l)_{2}) ∧ NF((n)_{2}, r) = NF((l)_{1}, s) ∧ m = ⟨ (n)_{0}, (n)_{1}, (l)_{1} ⟩ (3) Herleitung

(a) HER(m, n) :⟺ (lh(m) = 1 ∧ AXIOM((m)_{0})) ∨ (lh(m) = 2 ∧ HER((m)_{1}, n) ∧ VAR((m)_{0}, (m)_{1,0})) ∨ [ lh(m) = 3 ∧ HER((m)_{1}, n) ∧ HER((m)_{2}, n) ∧ [ (SCHW((m)_{0}, (m)_{1,0}, (m)_{2,0})) ∨ ∃i < lh(n)(PROD((m)_{0}, (m)_{1,0}, (m)_{2,0}, (r)_{i})) ∨ (ABST((m)_{0}, (m)_{1,0}, (m)_{2,0})) ∨ (APP((m)_{0}, (m)_{1,0}, (m)_{2,0})) ∨ (KONV((m)_{0}, (m)_{1,0}, (m)_{2,0}, (m)_{1}, (m)_{2})) ] ]

(b) HER_{λ2} :⟺ HER(m, ⟨ ⟨ ⌜ ∗ ⌝, ⌜ ∗ ⌝ ⟩, ⟨ ⌜ □ ⌝, ⌜ ∗ ⌝ ⟩ ⟩)

(c) HER_{λP2} :⟺ HER(m, ⟨ ⟨ ⌜ ∗ ⌝, ⌜ ∗ ⌝ ⟩, ⟨ ⌜ ∗ ⌝, ⌜ □ ⌝ ⟩, ⟨ ⌜ □ ⌝, ⌜ ∗ ⌝ ⟩ ⟩)

(d) Thm_{λP2}(m, n) :⟺ HER_{λP2}(m) ∧ (m)_{0} = ⟨ ⌜CON⌝, (m)_{0,1}, n ⟩ Beweis. Die Funktion NF und die Prädikate KONV und HER sind simultan rekursiv definiert. Es ist bekannt, daß die Rekursivität gegen die simultane Rekursion abgeschlossen ist, s. z.B. [12, 29]. Die starke Normalisierbarkeit von λP2 sorgt dafür, daß die Funktion NF total ist, s. Satz 3.3.3.13. □ 4.3.2.11 Bemerkung

(1) KONTR(⌜M⌝, ⌜N⌝) ⟺ M →_{β} N über Λ bzw. T .

(2) RED^{u}(⟨ ⌜M_{0}⌝, ⋯, ⌜M_{r}⌝ ⟩) ⟺ ∀i < r [ M_{i} →_{β} M_{i+1} über Λ ] .

(3) InNF(⌜M⌝) ⟺ M ∈ T in β-nf .

(4) ⌜N⌝ = NF(⌜M⌝, ⌜H⌝) ⟺ H eine Herleitung für M in λP2 und N ≡ nf(M) .

(5) PROD(⌜Γ ⊢ Πx:A.B : s_{2}⌝, ⌜Γ ⊢ A : s_{1}⌝, ⌜Γ, x:A ⊢ B : s_{2}⌝, ⌜⟨ s_{1}, s_{2} ⟩⌝)

⟺ \begin{matrix}Γ ⊢ A : s_{1} Γ, x:A ⊢ B : s_{2} \\ Γ ⊢ Πx:A.B : s_{2} \end{matrix}

(6) KONV(⌜Γ ⊢ M : B⌝, ⌜Γ ⊢ M : A⌝, ⌜Γ ⊢ B : s⌝, ⌜H_{1}⌝, ⌜H_{2}⌝)

⟺ \{ \begin{matrix}H_{1}, H_{2} sind Herleitungen für A bzw. B und es gilt \\ \begin{matrix}Γ ⊢ M : A Γ ⊢ B : s \\ Γ ⊢ M : B \end{matrix} für A =_{β} B \end{matrix}

(7) HER_{λP2}(⌜H : Γ ⊢_{λP2} M : B⌝) ⟺ H ist eine Herleitung für Γ ⊢_{λP2} M : B

(8) Thm_{λP2}(⌜H⌝, ⌜B⌝) ⟺ ∃M ∈ T [ H : CON ⊢_{λP2} M : B] .

(9) Ist H eine Herleitung in λP2, dann gilt HER_{λP2}(⌜H⌝) . Es bleibt, die Herleitbarkeit zu definieren. Wie in der klassischen Logik ist das Herleitbarkeitsprädikat

nicht rekursiv. Anders als bisher definierte rekursive Prädikate und Funktionen wird die Schrift für die Kodierungs- und Dekodierungsfunktionen unverändert weiter in der Sprache von HA verwendet.

In HA definiert man wie folgt das Herleitbarkeitsprädikat für λP2 . 4.3.2.12 Definition Bew(m) : ≡ ∃x Thm_{λP2}(x, m)

4.3.2.13 Satz

(1) Sei H : Γ ⊢_{λP2} M : B . Dann gilt HA ⊢ ∃x(HER_{λP2}(x) ∧ (x)_{0} = \underline{⌜Γ ⊢ M : B⌝}) .

(2) Sei H : CON ⊩_{λP2} B . Dann gilt HA ⊢ Bew(\underline{⌜B⌝}) .

Beweis.

(1) Nach Bemerkung 4.3.2.11.(9) gilt HER_{λP2}(⌜H⌝) & (⌜H⌝)_{0} = ⌜Γ ⊢ M : B⌝ . Nach Satz 4.3.2.3 gilt ferner HA ⊢ HER_{λP2}(\underline{⌜H⌝}) ∧ (\underline{⌜H⌝})_{0} = \underline{⌜Γ ⊢ M : B⌝} , woraus die Behauptung folgt.

(2) Nach Voraussetzung gibt es ein M ∈ T mit H : CON ⊢_{λP2} M : B . Dann folgt die Behauptung direkt aus (1). □

4.3.3 Konsistenz von λP2 + CON in HAH

In Paragraph 3.3 wurde die Konsistenz von λP2 ,

¬∃M ∈ T [ ⊢_{λP2} M : ⊥] ,

dadurch gezeigt, daß λP2 die starke Normalisierbarkeit erfüllt, vgl. Korollar 3.3.1.22. Wir werden zeigen, daß dies auch für λP2 + CON der Fall ist. Der Beweis läßt sich sogar in HAH formalisieren. Folgendes ist angemerkt.

4.3.3.1 Lemma

(1) Gelte Γ ⊢_{λP2} M : B & M in β-nf , dann gibt es m, n ∈ ℕ, Ξ_{1}, …, Ξ_{n} ∈ {λ, Π}, x_{1}, …, x_{n} ∈ V, γ ∈ V ∪ {∗, □}, A_{1}, …, A_{n} ∈ T , M_{1}, …, M_{m} ∈ T in β-nf mit

M ≡ Ξ_{1}x_{1} :A_{1}. · · · .Ξ_{n}x_{n}:A_{n}.γM_{1} ⋯ M_{m} .

(2) Sei M, N, L ∈ T & M in β-nf. Dann gilt

CON ⊢_{λP2} M : A_{=}^{N} NL ⟹ N =_{β} L .

Beweis.

(1) Die Behauptung läßt sich durch eine einfache Induktion nach dem Termaufbau zeigen.

(2) Nach (1) habe M die Gestalt Ξ_{1}x_{1} :A_{1}. · · · .Ξ_{n}x_{n}:A_{n}.γM_{1} ⋯ M_{m} , wobei A⃗, M⃗ in β-nf sind. Man definiert folgenden (legalen) Kontext Γ := CON, x : N → ∗, y : xN . Nach Korollar 2.3.10 gilt Γ ⊢_{λP2} M : A_{=}NL . Durch Induktion nach dem Termaufbau von M wird N =_{β} L gezeigt. Bis auf einen Fall kommen alle Fälle nicht vor. Beachte A_{=}NL =_{β} ΠQ:N → ∗.QN → QL . Stripping und CR_{β} werden stillschweigend hin und wieder verwendet.

• 1. Fall n = 0 . – γ ∈ {∗, □} .

Die m-malige Anwendung von Stripping liefert B, C ∈ T mit Γ ⊢_{λP2} γ : Πx: B.C . Dies ist gemäß Stripping unmöglich.

– γ ≡ ς .

Ist m = 0, dann gilt A_{=}NL =_{β} A_{=} \underline{0} (S \underline{0} ) . Die I.V. liefert \underline{0} =_{β} S \underline{0} . Dies ist gemäß CR_{β} unmöglich.

– γ ≡ x . Es gilt

A_{=}NL =_{β} \{ \begin{matrix}N → ∗ & für m = 0 , \\ ∗ & für m = 1 . \end{matrix}

Dies ist unmöglich.

– γ ≡ y . Dann gilt m = 0 und A_{=}xN . Dies widerspricht der Church-Rosser-Eigenschaft. Insgesamt wurde n ≠ 0 gezeigt.

• 2. Fall n = 1 . Gemäß Stripping gilt Ξ_{1} ≡ λ & Γ, Q:N → ∗ ⊢_{λP2} γM⃗ : QN → QL . Weiter gilt nach Lemma 2.3.3 Γ ⊢_{λP2} (γM⃗) [Q := x] : xN → xL , da Γ ⊢_{λP2} x : N → ∗ gilt. Wie im 1. Fall kann man zeigen, daß dieser Fall auch nicht vorkommen kann. Man zieht den Term xN → xL statt des Terms A_{=}NL in Betracht.

• 3. Fall n = 2 . Gemäß Stripping gilt Ξ_{1} ≡ Ξ_{2} ≡ λ & Γ, Q: N → ∗, z : QN ⊢_{λP2} γM⃗ : QL , wobei z ∈ V^{∗} eine neue Variable ist. Nach Lemma 2.3.3 gilt ferner Γ ⊢_{λP2} (γM⃗) [Q := x] [z := y] : xL , da Γ ⊢_{λP2} x : N → ∗ & Γ ⊢_{λP2} y : xN gilt. Wenn man wie im 1. Fall argumentiert, weiß man, daß alle Fälle bis auf den Fall γ [Q := x] [z := y] ≡ y nicht auftreten. Ist γ [Q := x] [z := y] ≡ y , gilt m = 0 & xN =_{β} xL , woraus N =_{β} L folgt.

Nach Stripping kommt der Fall n > 2 nicht vor. Die Behauptung ist gezeigt worden. □

4.3.3.2 Bemerkung Das obige Lemma ist allgemein bewiesen worden, so daß man in CC statt in λP2 argumentieren kann.

4.3.3.3 Lemma λP2 ⊧ SN_{β} ⟹ CON ⊮_{λP2} ⊥

Beweis. Für ein M ∈ T gelte λP2 ⊧ SN_{β} & CON ⊢_{λP2} M : ⊥ . Daraus folgt mit der Regel (App) CON ⊢_{λP2} M(A_{=} \underline{0} (S \underline{0} )) : A_{=} \underline{0} (S \underline{0} ) . Sei N die Normalform von M(A_{=} \underline{0} (S \underline{0} )) . Gemäß Subjektreduktion gilt ferner CON ⊢_{λP2} N : A_{=} \underline{0} (S \underline{0} ) , woraus mit Lemma 4.3.2.1.(2) \underline{0} =_{β} S \underline{0} folgt. Ein Widerspruch! □

Dieses Lemma und der Satz 3.3.3.13 impliziert den folgenden Satz.

4.3.3.4 Satz CON ⊮_{λP2} ⊥

Der Rest des Paragraphen wird der Formalisierung der Konsistenz von λP2+CON in HAH gewidmet. Beweise werden weggelassen, denn alle Beweise, die wir bisher hatten, sind konstruktiv geführt: Die meisten Beweise sind durch Induktion und Fallunterscheidung nach rekursiven Fällen durchgeführt. Es wäre zu umstädlich, wenn wir alles nochmal machen.

Konvention Im folgenden stehen kleine Buchstaben für die Variablen aus V^{o} und große Buchstaben für die aus V^{o→prop} . Variablen mit sonstigen Typen werden explizit ausgedrückt.

HA ⊢ (λ2 ⊧ SN_{β}) ⟶ (λP2 ⊧ SN_{β})

Im folgenden wird gezeigt, daß sich alle Verfahren in Paragraphen 3.3.2 in HA formalisieren lassen. Wir folgen derselben Reihenfolge der Numerierung in Paragraphen 3.3.2. Wir fangen mit Definitionen von etlichen Funktionen und Prädikaten an, vgl. Bemerkung 4.3.3.7.

4.3.3.5 Lemma Folgende Funktionen sind primitiv rekursiv.

(1) Ordnungsfunktion

ord(n) := \{ \begin{matrix}3 & falls n = ⌜ □ ⌝ \\ 2 & falls n = ⌜ ∗ ⌝ \\ 1 & falls ∃x < n(n = var^{□}(x)) \\ 0 & falls ∃x < n(n = var^{∗}(x)) \\ ord(z) & falls ∃x, y, z < n(n = prod^{∗}(x, y, z) ∨ n = prod^{□}(x, y, z)) \\ ord(z) & falls ∃x, y, z < n(n = abst^{∗}(x, y, z) ∨ n = abst^{□}(x, y, z)) \\ ord(x) & falls ∃x, y < n(n = app(x, y)) \\ 0 & sonst \end{matrix}

(2) Applikation auf Sequenzen

s-app(n, l) := \{ \begin{matrix}n & falls lh(l) = 0 \\ s-app(app(n, (l)_{0}), (μy < l)(⟨ (l)_{0} ⟩ ∗ y = l)) & falls lh(l) > 0 \end{matrix}

(3) Iterierte Applikation m-app(f, n, l) := \{ \begin{matrix}l & falls n = 0 \\ app(f, m-app(f, n − · 1, l)) & sonst \end{matrix} Beweis. Alle Funktionen sind durch Wertverlaufsrekursion mit Fallunterscheidung nach primitiv rekursiven Prädikaten definiert. □ 4.3.3.6 Lemma Man definiert in HA folgende Prädikate.

(1) LEGAL_{λ2}(m) :⟺ ∃z [ HER_{λ2}(z) ∧ (m = (z)_{0,1} ∨ m = (z)_{0,2}) ] .

(2) LEGAL_{λP2}(m) :⟺ ∃z [ HER_{λP2}(z) ∧ (m = (z)_{0,1} ∨ m = (z)_{0,2}) ] .

(3) KONGR(m, n) :⟺ ∃z [ (z)_{0} = m ∧ (z)_{lh(z)− · 1} = n ∧ ∀i < (lh(z) − · 1)(KONTR((z)_{i}, (z)_{i+1}) ∨ KONTR((z)_{i+1}, (z)_{i})) ] .

(4) RED^{+}(m, n) :⟺ ∃z [ RED(z) ∧ lh(z) > 0 ∧ (z)_{0} = m ∧ (z)_{lh(z)− · 1} = n] .

(5) FV(m, n) :⟺ sub(m, n, app(m, m)) ≠ m .

(6) SN(m) :⟺ ∃x∀y(RED(y) ∧ (y)_{0} = m → lh(y) < x) . 4.3.3.7 Bemerkung Sei M, N, ∈ T & x ∈ V^{∗} ∪ V^{□} .

(1) ord(⌜M⌝) = ♯(M) .

(2) LEGAL_{λP2}(⌜M⌝) ⟺ M typbar in λP2 .

(3) KONGR(⌜M⌝, ⌜N⌝) ⟺ M =_{β} N .

(4) RED^{+}(⌜M⌝, ⌜N⌝) ⟺ M ↠^{≠0}_{β} N .

(5) FV(⌜M⌝, ⌜x⌝) ⟺ x ∈ F V (M) .

(6) SN(⌜M⌝) ⟺ M stark normalisierbar .

110 Kapitel 4. Repräsentierbarkeit im λ-Würfel

4.3.3.8 Bemerkung

(1) Man definiert folgende (primitiv) rekursive Funktion:

∗(m) := \{ \begin{matrix}⟨ 5, 0, 0, 2(m)_{3} + 1 ⟩ & falls VAR^{□}(m) \\ m & falls VAR^{∗}(m) \\ 0 & sonst \end{matrix}

Es sei angemerkt, daß die Bildmenge von ^{∗}, Bild(^{∗}) , auch (primitiv) rekursiv ist.

(2) Wir zeichnen zwei Variablen aus:

\begin{matrix}0 ∈ V^{□} & mit ⌜0⌝ = ⟨ 6, 0, 0, 0 ⟩ , \\ c ∈ V^{∗} & mit ⌜c⌝ = ⟨ 5, 0, 0, 0 ⟩ \end{matrix}

(3) Nur die Variablen aus

((V^{∗}\(Bild(^{∗})) ∪ {c}) ∪ (V^{□}\{0}))

stehen bei Herleitungen in CC zur Verfügung. 4.3.3.9 Definition

(1) γ_{0} = ⌜⟨ 0:∗, c:⊥ ⟩⌝ .

(2) Man definiert die primitiv rekursive Funktion c^{B} :

c^{B}(m) := \{ \begin{matrix}app(⌜c⌝, m) & falls ord(m) = 1 \\ ⌜0⌝ & sonst \end{matrix}

4.3.3.10 Lemma HA ⊢ ∀x, y, z [ (∃u(HER_{λ2}(u) ∧ (u)_{0} = ⟨ x, y, z ⟩) ∧ SORTE(z))

→ ∃v(HER_{λ2}(v) ∧ (v)_{0} = ⟨ \underline{γ_{0}} ∗ x, c^{B}(y), y ⟩) ] .

4.3.3.11 Definition

(1) Man definiert folgende (primitiv) rekursive Funktion τ :

τ(m) := \{ \begin{matrix}⌜0⌝ & falls m ∈ \{⌜ ∗ ⌝, ⌜ □ ⌝\} \\ m & falls VAR^{□}(m) \\ prod^{∗}((m)_{3}, τ((m)_{2}), τ((m)_{1})) \\ falls ord((m)_{2}) = 1 ∧ m = prod^{∗}((m)_{3}, (m)_{2}, (m)_{1}) \\ prod^{□}((m)_{3}, ⌜ ∗ ⌝, prod^{∗}(var^{∗}(m), τ((m)_{2}), τ((m)_{1}))) \\ falls ord((m)_{2}) ≠ 1 ∧ m = prod^{□}((m)_{3}, (m)_{2}, (m)_{1}) \\ τ((m)_{1}) & falls m = abst^{s}((m)_{3}, (m)_{2}, (m)_{1}) & s ∈ \{∗, □\} \\ τ((m)_{1}) & falls m = app((m)_{1}, (m)_{2}) \\ 0 & sonst \end{matrix}

(2) Man definiert folgende (primitiv) rekursive Funktionen:

τ′(m) := \{ \begin{matrix}⟨ (m)_{0}, τ((m)_{1}) ⟩ & falls m = ⟨ (m)_{0}, (m)_{1} ⟩ & VAR^{∗}((m)_{0}) \\ ⟨ ⟨ (m)_{0}, ⌜ ∗ ⌝ ⟩, ⟨^{∗}((m)_{0}), τ((m)_{1}) ⟩ ⟩ \\ falls m = ⟨ (m)_{0}, (m)_{1} ⟩ & VAR^{□}((m)_{0}) \\ 0 & sonst \end{matrix}

τ′′(m) := \{ \begin{matrix}τ′(m) & falls lh(m) = 1 \\ τ′(x) ∗ τ′′(y) & falls lh(m) > 1 & ∃x, y < m(lh(x) = 1 & m = x ∗ y) \\ 0 & sonst \end{matrix}
τ′′′(m) := γ_{0} ∗ τ′′(m)

4.3.3.12 Bemerkung Seien A, B ∈ T & x ∈ V^{∗} ∪ V^{□} und Γ eine Pseudokontext.

(1) τ(⌜Πx : A.B⌝) = ⌜Πx : ∗.τ(A) → τ(B)⌝ , falls ♯(A) ≠ 1 ist. Man achte darauf, daß z ∈ V^{∗} mit ⌜z⌝ = var^{∗}(⌜Πx:A.B⌝) = ⟨ 5, 0, 0, ⌜Πx:A.B⌝ ⟩ nicht frei in τ(A) oder τ(B) auftreten kann.

(2) Indizes werden weggelassen. 4.3.3.13 Lemma

(1) HA ⊢ ∀x, y, z[ (TERM(x) ∧ ord(x) > 0 ∧ ord(z) = ord(x)) → [ (VAR^{∗}(z) → τ(sub(y, z, x)) = τ(y)) ∧ (VAR^{□}(z) → τ(sub(y, z, x)) = sub(τ(y), z, τ(x))) ] ] .

(2) HA ⊢ ∀x, y [ (LEGAL_{λP2}(x) ∧ ord(x) > 0 ∧ KONTR(x, y)) → τ(x) = τ(y) ] .

(3) HA ⊢ ∀x, y [ (LEGAL_{λP2}(x) ∧ LEGAL_{λP2}(y) ∧ ord(x) > 0 ∧ KONGR(x, y)) → τ(x) = τ(y) ] . 4.3.3.14 Lemma HA ⊢ ∀x, y, z[ ((x = ⌜ □ ⌝ ∨ ∃v(HER_{λP2}(v) ∧ (v)_{0} = ⟨ y, x, \underline{⌜ □ ⌝} ⟩))

∧ ∃v(HER_{λP2}(v) ∧ (v)_{0} = ⟨ y, z, x ⟩)) → ∃w(HER_{λP2}(w) ∧ (w)_{0} = ⟨ τ(y), τ(z), \underline{⌜ ∗ ⌝} ⟩) ] .

4.3.3.15 Definition Folgende Funktion [[−]] ist (primitiv) rekursiv.

[[m]] := \{ \begin{matrix}c^{B}(0) & falls m = ⌜ ∗ ⌝ \\ m & falls VAR^{∗}(m) \\ ^{∗}(m) & falls VAR^{□}(m) \\ app(app(c^{B}(⌜o → o → o⌝), [[y]]), sub([[z]], x, c^{B}(τ(y)))) \\ falls ∃x, y, z < m(m = prod^{∗}(x, y, z) ∧ ord(y) = 1) \\ app(app(c^{B}(⌜o → o → o⌝), [[y]]), sub(app([[z]], x, c^{B}(⌜ ∗ ⌝)),^{∗}(x), c^{B}(τ(y)))) \\ falls ∃x, y, z < m(m = prod^{□}(x, y, z) ∧ ord(y) = 2) \\ app(abst^{□}(var^{□}(m), ⌜0⌝, abst^{∗}(x, τ(y), [[z]])), [[y]]) \\ falls ∃x, y, z < m(m = abst^{∗}(x, y, z) ∧ ord(y) = 1) \\ app(abst^{□}(var^{□}(m), ⌜0⌝, abst^{□}(x, ⌜ ∗ ⌝, abst^{∗}(^{∗}(x), τ(y), [[z]]))), [[y]]) \\ falls ∃x, y, z < m(m = abst^{□}(x, y, z) ∧ ord(y) = 2) \\ app((m)_{1}, (m)_{2}) & falls m = app((m)_{1}, (m)_{2}) ∧ ord((m)_{2}) = 0 \\ app(app((m)_{1}, τ((m)_{2})), (m)_{2}) \\ falls m = app((m)_{1}, (m)_{2}) & ord((m)_{2}) ≠ 0 \\ 0 & sonst \end{matrix}

4.3.3.16 Satz

HA ⊢ ∀x, y, z [ ∃v(HER_{λP2}(v) ∧ (v)_{0} = ⟨ x, y, z ⟩) → ∃w(HER_{λ2}(w) ∧ (w)_{0} = ⟨ τ(x), [[y]], τ(z) ⟩) ] 4.3.3.17 Lemma

(1) ∀x, y, z [ (TERM(x) ∧ TERM(y) ∧ TERM(z) ∧ ord(x) = ord(z) ∧ VAR^{∗}(x) ∧ ¬Bild^{∗}(x) ∧ x ≠ \underline{⌜c⌝}) → [[sub(y, x, z)]] = sub([[y]], x, [[z]]) ] .

(2) ∀x, y, z [ (TERM(x) ∧ TERM(y) ∧ TERM(z) ∧ ord(x) = ord(z) ∧ VAR^{□}(x) ∧ x ≠ \underline{⌜0⌝}) → [[sub(y, x, z)]] = sub(sub([[y]], x, τ(z)),^{∗}(x), [[z]]) ] .

4.3.3.18 Lemma

HA ⊢ ∀x, y [ (TERM(x) ∧ ord(x) ∈ {0, 1, 2} ∧ LEGAL_{λP2}(x) ∧ KONTR(x, y)) → RED^{+}([[x]], [[y]]) ] . 4.3.3.19 Satz HA ⊢ ∀x(LEGAL_{λ2}(x) → SN(x)) → ∀y(LEGAL_{λP2}(y) → SN(y)) .

HAH ⊢ (λ2 ⊧ SN_{β})

4.3.3.20 Bemerkung HA ⊢ ∀x(TERM(x) ∧ LEGAL_{λ2}(x) ∧ ord(x) ≠ 0) → SN(x) . Beweis. Vgl. Korollar 3.3.1.10 und Lemma 3.3.1.23. □ Notation

(1) Seien φ(x⃗, y) und ψ(x⃗, y) mit F V (φ ∧ ψ) ⊆ {x⃗, y} Formeln in HAH. Man definiert folgende

Notation.

\begin{aligned}φ(x⃗) ⊆ ψ(x⃗) & :⟺ & ∀y(φ(x⃗, y) → ψ(x⃗, y)) \\ φ(x⃗) = ψ(x⃗) & :⟺ & φ(x⃗) ⊆ ψ(x⃗) & ψ(x⃗) ⊆ φ(x⃗) \end{aligned}

(2) Sei M ∈ L^{σ_{1}→...→σ_{n}→σ} & ∀i ∈ {1, …, n} [ t_{i} ∈ L^{σ_{i}} ] . Man definiert M(t_{1}, …, t_{n}) := Mt_{1} ⋯ t_{n} .

4.3.3.21 Definition Man definiert in HA bzw. HAS folgende Formeln.

(1) SN^{u}(x) := ∃y ∀z(RED^{u}(z) ∧ (z)_{0} = x → lh(z) < y) .

(2) FnRaum(X, Y, f) := ∀x(X(x) → Y (app^{u}(f, x))) .

(3) SAT(X) := ∀x, y, z, v [ (TERM^{u}(y) ∧ TERM^{u}(z) ∧ VAR^{u}(x) ∧ ∀i < lh(v)(SN^{u}((v)_{i}))) → (X ⊆ SN^{u} ∧ X(s-app(x, v)) ∧ (X(s-app(sub(y, x, z), v)) → X(s-app(app(abst^{u}(x, y), z), v)))) ]

4.3.3.22 Lemma

(1) HA ⊢ SAT(SN^{u}) .

(2) HAS ⊢ ∀X, Y (SAT(X) ∧ SAT(Y) → SAT(FnRaum(X, Y))) .

(3) HAH ⊢ ∀Θ^{(o→prop)→prop} [ ∀X(Θ(X) → SAT(X)) → ∀Y (∀x(Y (x) ↔ ∀X(Θ(X) → X(x))) → SAT(Y)) ] 4.3.3.23 Bemerkung

(1) Die Formel SAT(SN^{u}) geht aus SAT(X) hervor, indem man alle Auftreten von X(t) durch SN(t) ersetzt. Obwohl die Formel SAT(X) zweitstufig ist, ist die Formel SAT(SN^{u}) erststufig.

(2) Θ^{(o→prop)→prop} ist eine drittstufige Variable und steht für Mengen von Teilmengen von ℕ . 4.3.3.24 Definition

(1) Sei ρ ∈ L^{o→o} . Man definiert

Belegung^{0}(ρ) := ∀x(TERM^{u}(ρ(x))) .

(2) Sei ρ ∈ L^{o→o} und gelte HAH ⊢ Belegung^{0}(ρ) . Man definiert [[v]]_{ρ}^{0} wie folgt rekursiv:

[[v]]_{ρ}^{0} := \{ \begin{matrix}ρ(v) & falls VAR^{∗}(v) \\ [[z]]_{ρ}^{0} & falls ∃x, y, z < v(v = prod^{∗}(x, y, z) ∨ v = prod^{□}(x, y, z)) \\ abst^{u}(x, [[z]]_{ρ [x:=x]}^{0}) & falls ∃x, y, z < v(v = abst^{∗}(x, y, z) ∧ ord(y) = S0) \\ [[z]]_{ρ}^{0} & falls ∃x, y, z < v(v = abst^{□}(x, y, z) ∧ ord(y) ≠ S0) \\ app^{u}([[x]]_{ρ}^{0}, [[y]]_{ρ}^{0}) & falls ∃x, y < v(v = app(x, y) ∧ ord(x) = 0) \\ [[x]]_{ρ}^{0} & falls ∃x, y < v(v = app(x, y) ∧ ord(x) ≠ 0) \\ 0 & sonst \end{matrix}

(3) Sei η ∈ L^{o→o→prop} . Man definiert

Belegung^{1}(η) := ∀x(SAT(η(x))) .

(4) Sei η ∈ L^{o→o→prop} und gelte HAH ⊢ Belegung^{1}(η) . Man definiert [[v]]_{η}^{1} wie folgt:

[[v]]_{η}^{1}(w) := ∀Θ^{o→(o→o→prop)→o→prop}[ [ ∀x(VAR^{□}(x) → η(x) ⊆ Θ(x, η)) ∧ ∀x, y, z (TERM(y) ∧ TERM(z) ∧ ord(y) = S0 → FnRaum(Θ(y, η), Θ(z, η)) ⊆ Θ(prod^{∗}(x, y, z), η)) ∧ ∀x, y, z (TERM(y) ∧ TERM(z) ∧ ord(y) ≠ S0 → ∀m(∀X(SAT(X) → Θ(z, η [x := X], m)) → Θ(prod^{□}(x, y, z), η, m))) ∧ ∀x, y, z(TERM(y) ∧ TERM(z) ∧ ord(y) = S0 → Θ(z, η) ⊆ Θ(abst^{∗}(x, y, z), η)) ∧ ∀x, y, z(TERM(y) ∧ TERM(z) ∧ ord(y) ≠ S0 → Θ(z, η) ⊆ Θ(abst^{□}(x, y, z), η)) ∧ ∀x, y(TERM(x) ∧ TERM(y) → Θ(x, η) ⊆ Θ(app(x, y), η)) ] → Θ(v, η, w) ]

(5) Sei ρ ∈ L^{o→o} , η ∈ L^{o→o→prop} , x, y, z ∈ L^{o} mit

HA ⊢ TERM(x) ∧ TERM(y) ∧ ord(x) = 0 ∧ ord(y) = S0

∧ KONTEXT(z) ∧ Belegung^{0}(ρ) ∧ Belegung^{1}(η) .

(a) ρ, η ⊧ x : y :≡ [[y]]_{η}^{1}([[x]]_{ρ}^{0}) .

(b) ρ, η ⊧ z :≡ ∀v, w((VAR^{∗}(v) ∧ ord(w) = S0 ∧ ∃i((z)_{i} = ⟨ v, w ⟩)) → ρ, η ⊧ v : w) .

(c) z ⊧ x : y :≡ ∀ρ^{o→o} ∀η^{o→o→prop}((Belegung^{0}(ρ) ∧ Belegung^{1}(η) ∧ ρ, η ⊧ z) → ρ, η ⊧ x : y) .

4.3.3.25 Bemerkung

(1) Weil man [[v]]_{ρ}^{0} rekursiv definiert hat, ist es leicht, formal in HAH zu argumentieren.

(2) [[v]]_{η}^{1} ist nur in HAH definierbar. Man könnte CON ⊩_{λP2} [[¬Bew_{λP2}( \underline{⌜⊥⌝})]] zeigen, falls [[v]]_{η}^{1} in HAS definierbar wäre, s. Korollar 4.3.4.16.

4.3.3.26 Lemma

(1) HAH ⊢ ∀η^{o→o→prop}∀x, y, z[ (Belegung^{1}(η) ∧ TERM(y) ∧ TERM(z)) → ((VAR^{□}(x) → [[x]]_{η}^{1} = η(x)) ∧ (ord(y) = S0 → [[prod^{∗}(x, y, z)]]_{η}^{1} = FnRaum([[y]]_{η}^{1}, [[z]]_{η}^{1})) ∧ (ord(y) ≠ S0 → ∀m(∀X(SAT(x) → [[z]]_{η [x:=X]}^{1}(m)) ↔ [[prod^{□}(x, y, z)]]_{η}^{1}(m))) ∧ (ord(y) = S0 → [[abst^{∗}(x, y, z)]]_{η}^{1} = [[z]]_{η}^{1}) ∧ (ord(y) ≠ S0 → [[abst^{□}(x, y, z)]]_{η}^{1} = [[z]]_{η}^{1}) ∧ [[app(y, z)]]_{η}^{1} = [[y]]_{η}^{1}) ] .

(2) HAH ⊢ ∀η^{o→o→prop}∀x((TERM(x) ∧ ord(x) = S0 ∧ Belegung^{1}(η)) → SAT([[x]]_{η}^{1})) . 4.3.3.27 Definition Man definiert | − | ∈ L^{o→o} wie folgt:

|x| := \{ \begin{matrix}⟨ 0, 0, 0, (x)_{3} ⟩ & falls VAR^{∗}(x) \\ |v| & falls ∃y, z, v < x(x = prod^{∗}(y, z, v) ∨ x = prod^{□}(y, z, v)) \\ abst^{u}(|y|, |v|) & falls ∃y, z, v < x(x = abst^{∗}(y, z, v) ∧ ord(z) = S0) \\ |v| & falls ∃y, z, v < x(x = abst^{□}(y, z, v) ∧ ord(z) ≠ S0) \\ app^{u}(|y|, |z|) & falls ∃y, z < x(x = app(y, z) ∧ ord(z) = 0) \\ |y| & falls ∃y, z < x(x = app(y, z) ∧ ord(z) ≠ 0) \\ 0 & sonst \end{matrix}

4.3.3.28 Lemma

(1) HAH ⊢ ∀x, y, z(TERM(y) ∧ TERM(z) ∧ ord(y) = 0 ∧ ord(x) = ord(z)

→ (VAR^{∗}(x) → |sub(y, x, z)| = sub(|y|, x, |z|))) .

(2) HAH ⊢ ∀x, y, z(TERM(y) ∧ TERM(z) ∧ ord(y) = 0 ∧ ord(x) = ord(z)

→ (VAR^{□}(x) → |sub(y, x, z)| = |y|) .

4.3.3.29 Lemma

(1) HAH ⊢ ∀ρ^{o→o} ∀x, y(Belegung^{0}(ρ) ∧ TERM(x) ∧ ord(x) = 0 ∧ ∀i < lh(y)(FV(x, (y)_{i}))

∧ ∀z(FV(x, z) → ∃i < lh(y)(z = (y)_{i})) → [[x]]_{ρ}^{0} = sub′(|x|, y, ρ′(y))) ,

wobei sub′ und ρ′ rekursive Funktionen mit folgenden Eigenschaften sind:

\begin{aligned}sub′(⌜M⌝, ⟨ ⌜x_{1}⌝, …, ⌜x_{n}⌝ ⟩, ⟨ ⌜N_{1}⌝, …, ⌜N_{n}⌝ ⟩) & = & ⌜M [x_{1} := N_{1}] ⋯ [x_{n} := N_{n}]⌝ , \\ ρ′(⟨ m_{1}, …, m_{n} ⟩) & = & ⟨ ρ(m_{1}), …, ρ(m_{n}) ⟩ \end{aligned}

(2) (a) HAH ⊢ ∀η^{o→o→prop}∀x, y, z[ TERM(y) ∧ TERM(z) ∧ Belegung^{1}(η)

→ (VAR^{□}(x) ∧ ord(z) = 1 → [[sub(y, x, z)]]_{η}^{1} = [[y]]_{η [x:=[[z]]_{η}^{1}]}^{1}) ] .

4.3. Nichtkonservativität von λPω über λP2 115

(b) HAH ⊢ ∀η^{o→o→prop}∀x, y, z[ TERM(y) ∧ TERM(z) ∧ Belegung^{1}(η)

→ (VAR^{∗}(x) ∧ ord(z) = 0 → [[sub(y, x, z)]]_{η}^{1} = [[y]]_{η}^{1}) ] .

Beweis. Die genaue Definition von sub′ und ρ′ wird weggelassen. □ 4.3.3.30 Satz HAH ⊢ ∀x, y, z(∃v(HER_{λ2}(v) ∧ (v)_{0} = ⟨ x, y, z ⟩) ∧ ord(y) = 0 → x ⊧ y : z) . 4.3.3.31 Lemma HAH ⊢ ∀x, y, z(∃v(HER_{λ2}(v) ∧ (v)_{0} = ⟨ x, y, z ⟩) ∧ ord(y) = 0 → SN^{u}(|y|)) . 4.3.3.32 Definition Man definiert folgende (primitiv) rekursive Funktionen und Prädikate.

(1) 0-REDEX(m) ⟺ ∃x, y, z, v < m(VAR^{∗}(x) ∧ ord(y) = S0 ∧ m = app(abst^{∗}(x, y, z), v)) .

(2) 2-REDEX(m) ⟺ ∃x, y, z, v < m(VAR^{□}(x) ∧ ord(y) = S(S0) ∧ m = app(abst^{□}(x, y, z), v)) .

(3) (a) KONTR^{0}(m, n) ⟺ TERM(m) ∧ TERM(n) ∧ [ \begin{matrix}((m)_{0} = \underline{11} ∧ (m)_{1,0} = \underline{9} ∧ n = sub((m)_{1,1}, (m)_{1,3}, (m)_{2})) \\ △ \begin{matrix}((m)_{0} ∉ \{ \underline{3} , \underline{4} , \underline{5} , \underline{6} \} ∧ (m)_{0} = (n)_{0} ∧ (m)_{2} = (n)_{2} \\ (m)_{3} = (n)_{3} ∧ KONTR^{0}((m)_{1}, (n)_{1})) \end{matrix} \\ △ \begin{matrix}((m)_{0} ∉ \{ \underline{3} , \underline{4} , \underline{5} , \underline{6} \} ∧ (m)_{0} = (n)_{0} ∧ (m)_{1} = (n)_{1} \\ (m)_{3} = (n)_{3} ∧ KONTR^{0}((m)_{2}, (n)_{2})) \end{matrix} \end{matrix}

(b) KONTR^{2}(m, n) ⟺ TERM(m) ∧ TERM(n) ∧ [ \begin{matrix}((m)_{0} = \underline{11} ∧ (m)_{1,0} = \underline{10} ∧ n = sub((m)_{1,1}, (m)_{1,3}, (m)_{2})) \\ △ \begin{matrix}((m)_{0} ∉ \{ \underline{3} , \underline{4} , \underline{5} , \underline{6} \} ∧ (m)_{0} = (n)_{0} ∧ (m)_{2} = (n)_{2} \\ (m)_{3} = (n)_{3} ∧ KONTR^{2}((m)_{1}, (n)_{1})) \end{matrix} \\ △ \begin{matrix}((m)_{0} ∉ \{ \underline{3} , \underline{4} , \underline{5} , \underline{6} \} ∧ (m)_{0} = (n)_{0} ∧ (m)_{1} = (n)_{1} \\ (m)_{3} = (n)_{3} ∧ KONTR^{2}((m)_{2}, (n)_{2})) \end{matrix} \end{matrix}

(c) RED^{0}(m) ⟺ Seq(m) ∧ TERM((m)_{0}) ∧ ∀i < (lh(m) − · 1)(KONTR^{0}((m)_{i}, (m)_{i+1})) .

(d) RED^{2}(m) ⟺ Seq(m) ∧ TERM((m)_{0}) ∧ ∀i < (lh(m) − · 1)(KONTR^{2}((m)_{i}, (m)_{i+1})) .

(4) Aufzählungsfunktion von 2-Abstraktionen

Anzahl^{2}(m) := \{ \begin{matrix}0 & falls (m)_{0} ∈ \{3, 4, 5, 6\} \\ Anzahl^{2}((m)_{1}) + Anzahl^{2}((m)_{2}) + 1 & falls 2-REDEX(m) \\ Anzahl^{2}((m)_{1}) + Anzahl^{2}((m)_{2}) & sonst \end{matrix}

4.3.3.33 Lemma

(1) HA ⊢ ∀x, y((LEGAL_{λ2}(x) ∧ LEGAL_{λ2}(y) ∧ ord(x) = 0 ∧ ord(y) = 0 ∧ KONTR^{2}(x, y)) → Anzahl^{2}(x) > Anzahl^{2}(y)) .

(2) HA ⊢ ∀x, y((LEGAL_{λ2}(x) ∧ LEGAL_{λ2}(y) ∧ ord(x) = 0 ∧ ord(y) = 0 ∧ KONTR^{2}(x, y)) → |x| = |y|) .

(3) HA ⊢ ∀x, y((LEGAL_{λ2}(x) ∧ LEGAL_{λ2}(y) ∧ ord(x) = 0 ∧ ord(y) = 0 ∧ KONTR^{0}(x, y)) → KONTR(|x|, |y|)) .

4.3.3.34 Lemma HAH ⊢ ∀x(LEGAL_{λ2}(x) ∧ ord(x) = 0 → SN(x)) . 4.3.3.35 Satz HAH ⊢ ∀x(LEGAL_{λ2}(x) → SN(x)) .

HAH ⊢ ¬Bew_{λP2}( \underline{⌜⊥⌝})

Im folgenden wird der Beweis von CON ⊮_{λP2} ⊥ formalisiert. 4.3.3.36 Lemma

(1) HA ⊢ ∀x, y, z[ (∃v(HER_{λP2}(v) ∧ (v)_{0} = ⟨ x, y, z ⟩) ∧ InNF(y))

→ ∃l, m, n, p, q(φ(l, m, n, p, q) ∧ y = AbstProd(l, m, n, s-abst(p, q))) ]

wobei φ die Formel ist, die die Existenz von Termen in Lemma 4.3.3.1.(1) beinhaltet, und AbstProd sich wie folgt definieren läßt:

AbstProd(m, n, p, q) := \{ \begin{matrix}AbstProd(m_{1}, n_{1}, p_{1}, ⟨ m_{2}, q, p_{2}, n_{2} ⟩) \\ falls ∃m_{1}, m_{2} < m ∃n_{1}, n_{2} < n ∃p_{1}, p_{2} < p \\ (m = m_{1} ∗ ⟨ m_{2} ⟩ ∧ n = n_{1} ∗ ⟨ n_{2} ⟩ ∧ p = p_{1} ∗ ⟨ p_{2} ⟩) \\ q & falls lh(m) = 0 ∨ lh(n) = 0 ∨ lh(p) = 0 \\ 0 & sonst \end{matrix}

(2) HA ⊢ ∀x, y, z[ (∃v(HER_{λP2}(v) ∧ (v)_{0} = ⟨ \underline{⌜CON⌝} , x, app(app( \underline{⌜A_{=}⌝} , y), z) ⟩) ∧ TERM(x) ∧ TERM(y) ∧ InNF(z)) → KONGR(y, z) ] .

Beweis. Wie man die Formel φ definieren soll, ist offenbar. □ 4.3.3.37 Lemma HA ⊢ ∀x(LEGAL_{λP2}(x) → SN(x)) → ¬Bew( \underline{⌜⊥⌝}) . 4.3.3.38 Satz HAH ⊢ ¬Bew( \underline{⌜⊥⌝}) .

4.3.4 Zweiter Gödelscher Unvollständigkeitssatz in λP2 + CON

Nachdem man gezeigt hat, daß HAH die Konsistenz von λP2 + CON beweist, bleibt zu zeigen, daß man in HAS nicht das gleiche erzielen kann. Dies wird dadurch gezeigt, daß das System λP2 + CON selbst seine Konsistenz nicht beweist:

CON ⊮_{λP2} ¬[[Bew( \underline{⌜⊥⌝})]] ,

wobei ¬[[Bew( \underline{⌜⊥⌝})]] :≡ [[Bew( \underline{⌜⊥⌝})]] → ⊥ ist. Nach Satz 4.3.1.19 ist dann klar, daß

HAS ⊬ ¬Bew( \underline{⌜⊥⌝})

gilt.

Die Vorgehensweise ist nicht anders als der Beweis des zweiten Gödelschen Unvollständigkeitssatzes, s. [12, 5]. Es wird ein Term definiert, der die Beweisbarkeit darstellt: 4.3.4.1 Definition Bew :≡ λn:N .[[Bew(n)]] Zu zeigen sind folgende vier Sätze. Sei A, B ∈ T . (D1) CON ⊩_{λP2} A ⟹ CON ⊩_{λP2} Bew[[ \underline{⌜A⌝}]] . (D2) CON ⊩_{λP2} Bew[[ \underline{⌜A⌝}]] → Bew[[ \underline{⌜Bew[[ \underline{⌜A⌝}]]⌝}]] . (D3) CON ⊩_{λP2} Bew[[ \underline{⌜A → B⌝}]] → Bew[[ \underline{⌜A⌝}]] → Bew[[ \underline{⌜B⌝}]] .

(Löb) Gelte CON ⊢_{λP2} A : ∗ . Dann gilt:

CON ⊩_{λP2} Bew[[ \underline{⌜A⌝}]] → A ⟺ CON ⊩_{λP2} A

Der Satz von Löb impliziert den zweiten Gödelschen Unvollständigkeitssatz. 4.3.4.2 Satz (Gödel) Ist λP2 + CON konsistent, dann gilt CON ⊮_{λP2} ¬Bew[[ \underline{⌜⊥⌝}]] . Beweis. Nach Satz von Löb gilt CON ⊩_{λP2} Bew[[ \underline{⌜⊥⌝}]] → ⊥ ⟺ CON ⊩_{λP2} ⊥ . Daher ist λP2 + CON genau dann konsistent, wenn CON ⊮_{λP2} ¬Bew[[ \underline{⌜⊥⌝}]] gilt. □ Um den Satz von Löb zu zeigen, muß man (D1), (D2) und (D3) zeigen. Wie bekannt, sollte man etwas allgemeiner vorgehen. Man definiert sog. Gödelisierungen von Termen, so daß freie Variablen erhalten bleiben. 4.3.4.3 Lemma Sei m, m_{0}, …, m_{k} ∈ ℕ für k ∈ ℕ.

(1) Folgende Funktion ist (primitiv) rekursiv.

s(n) := m-app(⌜S⌝, n, ⌜ \underline{0} ⌝) ,

wobei \underline{0} = λα:∗.λx:α.λf:α → α.x ist.

(2) CON_{m_{1},... ,m_{k}} := CON, x_{m_{1}} :N , i_{m_{1}} :Ind x_{m_{1}}, …, x_{m_{k}}:N , i_{m_{k}}:Ind x_{m_{k}} .

(3) Man definiert die Abbildung {−}_{m_{1},... ,m_{k}} : T ⟶ L wie folgt. Sei A ∈ T .

\{A\}_{m_{1},... ,m_{k}} := \{ \begin{matrix}sub(\{A\}_{m_{1},... ,m_{k−1}}, var^{∗}( \underline{m_{k}}), s(x_{m_{k}})) & falls k > 0 \\ \underline{⌜A⌝} & sonst \end{matrix}

4.3.4.4 Bemerkung

(1) Durch Induktion nach n ∈ ℕ zeigt man s(n) = ⌜[[ \underline{n}]]⌝ , wobei \underline{n} für Numerale in HA steht, die in Definition 4.3.2.1 definiert sind.

(2) Man setze folgende Konvention voraus:

x_{m_{i}} ∈ V^{∗} & ⌜x_{m_{i}}⌝ = var^{∗}(m_{i})

Und x_{m_{i}} und i_{m_{i}} seien paarweise verschieden.

(3) Man stelle sich eine bijektive Funktion zwischen V^{o} und V^{∗} vor. \{A\}_{m_{1},... ,m_{k}} kann als \underline{⌜A⌝} gesehen werden, wobei x_{m_{1}}, …, x_{m_{k}} ∈ V^{o} frei auftreten.

(4) Wenn keine Verwechslung entsteht, schreibt man CON’ für CON_{m_{1},... ,m_{k}} und {A} für {A}_{m_{1},... ,m_{k}} . O.B.d.A. ist r = 1 angenommen und man schreibt k für m_{1} .

4.3.4.5 Lemma

(1) HA ⊢ ∀x ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , s(x), \underline{⌜N ⌝} ⟩) .

(2) HA ⊢ ∀x_{k} ∃y(Thm_{λP2}(y, {Ind x_{k}}_{k})) .

118 Kapitel 4. Repräsentierbarkeit im λ-Würfel

(3) Sei r, k ∈ ℕ, r ≠ k, A, B ∈ T , s ∈ \{∗, □\} . Dann gilt HA ⊢ prod^{s}( \underline{r} , \{A\}_{k}, \{B\}_{k}) = \{Πx_{r}:A.B\}_{k} .

(4) Sei A ∈ T & x_{k} ∉ F V (A) . Dann gilt HA ⊢ \{A\}_{k} = \underline{⌜A⌝} . Beweis.

(1) Man weiß, daß es eine Herleitung H von CON ⊢_{λP2} \underline{0} : N gibt. Nach Satz 4.3.2.13 gilt

HA ⊢ ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , \underline{⌜ \underline{0} ⌝} , \underline{⌜N ⌝} ⟩) .

Analog hat man für CON ⊢_{λP2} S : N → N

HA ⊢ ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , \underline{⌜S⌝} , \underline{⌜N → N ⌝} ⟩) .

Nach Definition gilt ferner HA ⊢ APP(⟨ \underline{⌜CON⌝} , app( \underline{⌜S⌝} , s(x)), \underline{⌜N ⌝} ⟩, ⟨ \underline{⌜CON⌝} , \underline{⌜S⌝} , \underline{⌜N → N ⌝} ⟩, ⟨ \underline{⌜S⌝} , s(x), \underline{⌜N ⌝} ⟩) , woraus HA ⊢ ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , s(x), \underline{⌜N ⌝} ⟩)

→ ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , s(Sx), \underline{⌜N ⌝} ⟩)

folgt, da HA ⊢ app( \underline{⌜S⌝} , s(x)) = s(Ss) gilt. Gemäß Induktion folgt dann die Behauptung.

(2) Nach Lemma 4.3.1.13.(2) und Satz 4.3.2.13 gilt

HA ⊢ ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜⟨ ⟩⌝} , (y)_{0,1}, \underline{⌜Πx:N .(Ind x → Ind(S x))⌝} ⟩) .

Nach (1) und der Eigenschaft von APP folgt

HA ⊢ ∃y(HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , (y)_{0,1}, \{Ind x → Ind(S x)\} ⟩) .

Wieder mit APP und Definition von Thm_{λP2} und S gilt

HA ⊢ ∃y(Thm_{λP2}(y, {Ind x_{k}})) → ∃y(Thm_{λP2}(y, {Ind(S x_{k})})) .

Andererseits gilt nach Lemma 4.3.1.13.(1) ⊩_{λP2} Ind \underline{0} , woraus HA ⊢ ∃y(Thm_{λP2}(y, \{Ind \underline{0} \})) folgt. Durch Induktion folgt die Behauptung.

(3) Da r ≠ k ist, gilt nach Definition von sub für s ∈ {∗, □}

sub(prod^{s}(r, ⌜A⌝, ⌜B⌝), var^{∗}(k), x_{k}) = prod^{s}(r, sub(⌜A⌝, var^{∗}(k), x_{k}), sub(⌜B⌝, var^{∗}(k), x_{k})) , woraus die Behauptung folgt.

(4) Nach Definition von sub für beliebiges l ∈ ℕ gilt sub(⌜A⌝, var^{∗}(k), l) = ⌜A⌝ , falls x_{k} ∉ F V (A) . □

4.3.4.6 Satz (D1) Sei A ∈ T . Dann gilt:

CON ⊩_{λP2} A ⟹ CON ⊩_{λP2} Bew[[ \underline{⌜A⌝}]]

Beweis. Gilt CON ⊩_{λP2} A , dann folgt mit Satz 4.3.2.13.(2) HA ⊢ Bew( \underline{⌜A⌝}) . Nach Satz 4.3.1.19 folgt die Behauptung. □

4.3.4.7 Lemma (D1’) Sei A ∈ T . Dann gilt:

CON’ ⊩_{λP2} A ⟹ CON’ ⊩_{λP2} Bew[[{A}]]

Beweis. Gilt CON’ ⊩_{λP2} A , dann folgt mit der Regel (λ) CON ⊩_{λP2} ∀x_{k}: N .A . Nach (D1) gilt ferner CON ⊩_{λP2} Bew[[ \underline{⌜∀x_{k}:N .A⌝}]] . Es genügt,

CON ⊩_{λP2} Bew[[ \underline{⌜∀x_{k}:N .A⌝}]] → ∀x_{k}:N .Bew[[\{A\}]]

zu zeigen. Man beachte HA ⊢ APP(⟨ \underline{⌜CON⌝} , app(n, s(x_{k})), sub( \underline{⌜Ind x_{k} → A⌝} , var^{∗}( \underline{k}), s(x_{k})) ⟩,

⟨ \underline{⌜CON⌝} , n, prod( \underline{k} , \underline{⌜N ⌝} , \underline{⌜Ind x_{k} → A⌝}) ⟩, ⟨ \underline{⌜CON⌝} , s(x_{k}), \underline{⌜N ⌝} ⟩) ,

woraus mit Lemma 4.3.4.5.(1)

HA ⊢ ∃y(Thm_{λP2}(y, \underline{⌜∀x_{k}:N .A⌝})) → ∃y(Thm_{λP2}(y, \{Ind x_{k} → A\}))

folgt. Weiter weiß man HA ⊢ APP(⟨ \underline{⌜CON⌝} , app(n, l), sub(\{A\}, var^{∗}( \underline{p}), l) ⟩,

⟨ \underline{⌜CON⌝} , n, prod( \underline{p} , \{Ind x_{k}\}, \{A\}) ⟩, ⟨ \underline{⌜CON⌝} , l, \{Ind x_{k}\} ⟩) ,

wobei p = \underline{⌜Ind x_{k}⌝} ≠ k ist. Nach Lemma 4.3.4.5.(3)-(4) gilt ferner

HA ⊢ prod^{∗}( \underline{p} , \{Ind x_{k}\}, \{A\}) = \{Ind x_{k} → A\}

⟹ HA ⊢ sub(\{A\}, var^{∗}( \underline{p}), l) = \{A\}
⟹ HA ⊢ APP(⟨ \underline{⌜CON⌝} , app(n, l), \{A\} ⟩, ⟨ \underline{⌜CON⌝} , n, \{Ind x_{k} → A\} ⟩, ⟨ \underline{⌜CON⌝} , l, \{Ind x_{k}\} ⟩)

Nach Lemma 4.3.4.5.(2) gilt

HA ⊢ ∃y(Thm_{λP2}(y, {Ind x_{k} → A})) → ∃y(Thm_{λP2}(y, {A}))

⟹ HA ⊢ Bew( \underline{⌜∀x_{k}:N .A⌝}) → ∀x_{k}(Bew(\{A\}))
⟹ CON ⊩_{λP2} Bew[[ \underline{⌜∀x_{k}:N .A⌝}]] → ∀x_{k}:N .Bew[[\{A\}]]

Dies war zu zeigen. □ 4.3.4.8 Lemma (D3’) Sei A, B ∈ T und gelte CON’ ⊢_{λP2} A : ∗ & CON’ ⊢_{λP2} B : ∗ . Dann gilt:

CON’ ⊩_{λP2} Bew[[{A → B}]] → Bew[[{A}]] → Bew[[{B}]]

Beweis. Sei p = \underline{⌜A → B⌝} . Dann gilt x_{p} ∈ F V (A → B) und p ≠ k . Nach Lemma 4.3.4.5.(3)-(4) folgt

HA ⊢ APP(⟨ \underline{⌜CON⌝} , app(n, l), \{B\} ⟩, ⟨ \underline{⌜CON⌝} , n, \{A → B\} ⟩, ⟨ \underline{⌜CON⌝} , l, \{A\} ⟩)

⟹ HA ⊢ (HER_{λP2}(y) ∧ (y)_{0} = ⟨ \underline{⌜CON⌝} , n, \{A → B\} ⟩) → (HER_{λP2}(z) ∧ (z)_{0} = ⟨ \underline{⌜CON⌝} , l, \{A\} ⟩ → (HER_{λP2}(⟨ ⟨ \underline{⌜CON⌝} , app(n, l), \{B\} ⟩, y, z ⟩)
⟹ HA ⊢ Thm_{λP2}(y, {A → B}) → Thm_{λP2}(z, {A}) → ∃v(Thm_{λP2}(v, {B}))
⟹ HA ⊢ Bew({A → B}) → Bew({A}) → Bew({B})
⟹ CON’ ⊩_{λP2} Bew[[{A → B}]] → Bew[[{A}]] → Bew[[{B}]]

Die Behauptung ist gezeigt worden. □ 4.3.4.9 Satz (D3) Sei A, B ∈ T & CON ⊢_{λP2} A : ∗ & CON ⊢_{λP2} B : ∗ . Dann gilt:

CON ⊩_{λP2} Bew[[ \underline{⌜A → B⌝}]] → Bew[[ \underline{⌜A⌝}]] → Bew[[ \underline{⌜B⌝}]] 120 Kapitel 4. Repräsentierbarkeit im λ-Würfel 4.3.4.10 Lemma Sei h(x) eine rekursive Funktion. Dann gilt:

CON’ ⊩_{λP2} [[h(x) = y]] → Bew[[{[[h(x) = y]]}]]

Beweis. Das Lemma wird durch Induktion nach Definition von h gezeigt. (D1’) und (D3’) werden hin und wieder verwendet.

• h(x) = Suc(x) = x + 1 .

⟹ HA ⊢ h(x) = S x
⟹ HA ⊢ h(x) = y ↔ y = S x
⟹ CON’ ⊩_{λP2} [[y = S x]] ↔ [[h(x) = y]] Lemma 4.3.1.19
⟹ CON’ ⊩_{λP2} Bew[[{[[y = S x]]}]] → Bew[[{[[h(x) = y]]}]]^{(∗)}

Andererseits gilt:

CON’ ⊩_{λP2} [[y = y]]

⟹ CON’ ⊩_{λP2} Bew[[{[[y = y]]}]]
⟹ CON’ ⊩_{λP2} Bew[[app(app( \underline{⌜A_{=}⌝} , s(y)), s(y))]]
⟹ CON’ ⊩_{λP2} [[S x = y]] → Bew[[app(app( \underline{⌜A_{=}⌝} , s(S x)), s(y))]]
⟹ CON’ ⊩_{λP2} [[S x = y]] → Bew[[app(app( \underline{⌜A_{=}⌝} , app( \underline{⌜S⌝} , s(x)), msfs(y)))]]
⟹ CON’ ⊩_{λP2} [[S x = y]] → Bew[[{[[S x = y]]}]]
⟹ CON’ ⊩_{λP2} [[h(x) = y]] → Bew[[{[[S x = y]]}]]
⟹ CON’ ⊩_{λP2} [[h(x) = y]] → Bew[[{[[h(x) = y]]}]] nach (∗)

• h = U_{i}^{n}, 1 ≤ i ≤ n .

⟹ HA ⊢ h(x⃗) = x_{i}
⟹ HA ⊢ h(x⃗) = y ↔ y = x_{i}
⟹ CON’ ⊩_{λP2} [[y = x_{i}]] ↔ [[h(x⃗) = y]]
⟹ CON’ ⊩_{λP2} Bew[[{[[y = x_{i}]]}]] → Bew[[{h(x⃗) = y}]]

Andererseits gilt:

CON’ ⊩_{λP2} [[y = y]]

⟹ CON’ ⊩_{λP2} Bew[[{[[y = y]]}]]
⟹ CON’ ⊩_{λP2} Bew[[app(app( \underline{⌜A_{=}⌝} , s(y)), s(y))]]
⟹ CON’ ⊩_{λP2} [[y = x_{i}]] → Bew[[app(app( \underline{⌜A_{=}⌝} , s(y)), s(x_{i}))]]
⟹ CON’ ⊩_{λP2} [[y = x_{i}]] → Bew[[{[[y = x_{i}]]}]]
⟹ CON’ ⊩_{λP2} [[h(x⃗) = y]] → Bew[[{[[y = x_{i}]]}]]
⟹ CON’ ⊩_{λP2} [[h(x⃗) = y]] → Bew[[{[[h(x⃗) = y]]}]]

• h = C_{k}^{n}, n, k ∈ ℕ . Man betrachtet nur den Fall n = 1 & k = 0 .

⟹ HA ⊢ h(x) = 0
⟹ HA ⊢ h(x) = y ↔ y = 0
⟹ CON’ ⊩_{λP2} [[y = 0]] ↔ [[h(x) = y]]^{(∗)}
⟹ CON’ ⊩_{λP2} Bew[[{[[y = 0]]}]] → Bew[[{[[h(x) = y]]}]]^{(∗∗)}

Andererseits gilt:

CON ⊩_{λP2} [[0 = 0]]
⟹ CON ⊩_{λP2} Bew[[ \underline{⌜[[0 = 0]]⌝}]] nach (D1)
⟹ CON ⊩_{λP2} Bew[[app(app( \underline{⌜A_{=}⌝} , \underline{⌜ \underline{0} ⌝}), \underline{⌜ \underline{0} ⌝})]]
⟹ CON ⊩_{λP2} Bew[[app(app( \underline{⌜A_{=}⌝} , s(0)), \underline{⌜ \underline{0} ⌝})]]
⟹ CON’ ⊩_{λP2} [[y = 0]] → Bew[[app(app( \underline{⌜A_{=}⌝} , s(y)), \underline{⌜ \underline{0} ⌝})]]
⟹ CON’ ⊩_{λP2} [[y = 0]] → Bew[[{[[y = 0]]}]]
⟹ CON’ ⊩_{λP2} [[h(x) = y]] → Bew[[{[[y = 0]]}]] nach (∗)
⟹ CON’ ⊩_{λP2} [[h(x) = y]] → Bew[[{[[h(x) = y]]}]] nach (∗∗)

• h = f ∘ (g_{1}, …, g_{n}), n ≥ 1 . Sei o.E. n = 1 .

⟹ HA ⊢ h(x) = f(g(x))^{(∗)}
⟹ HA ⊢ g(x) = z → h(x) = y → f(z) = y
⟹ CON’ ⊩_{λP2} [[g(x) = z]] → [[h(x) = y]] → [[f(z) = y]]
⟹^{IV} CON’ ⊩_{λP2} [[g(x) = z]] → [[h(x) = y]] → Bew[[{[[f(z) = y]]}]]^{(∗∗)}

Andererseits folgt aus (∗)

HA ⊢ g(x) = z → f(z) = y → h(x) = y
⟹ CON’ ⊩_{λP2} [[g(x) = z]] → [[f(z) = y]] → [[h(x) = y]]
⟹ CON’ ⊩_{λP2} Bew[[{[[g(x) = z]]}]] → Bew[[{[[f(z) = y]]}]] → Bew[[{[[h(x) = y]]}]]
⟹^{IV} CON’ ⊩_{λP2} [[g(x) = z]] → Bew[[{[[f(z) = y]]}]] → Bew[[{[[h(x) = y]]}]]
⟹ CON’ ⊩_{λP2} [[g(x) = z]] → [[f(z) = y]] → Bew[[{[[h(x) = y]]}]] nach (∗∗)
⟹ CON’ ⊩_{λP2} [[h(x) = y]] → Bew[[{[[h(x) = y]]}]]

• h = Rec fg . Sei o.E. h : ℕ^{2} → ℕ .

⟹ HA ⊢ h(x, 0) = f(x)
⟹ HA ⊢ h(x, 0) = y ↔ y = f(x)
⟹ CON’ ⊩_{λP2} [[f(x) = y]] → [[h(x, 0) = y]]
⟹ CON’ ⊩_{λP2} Bew[[{[[f(x) = y]]}]] → Bew[[{[[h(x, 0) = y]]}]]
⟹^{IV} CON’ ⊩_{λP2} [[f(x) = y]] → Bew[[{[[h(x, 0) = y]]}]]
⟹ CON’ ⊩_{λP2} [[h(x, 0) = y]] → Bew[[{[[h(x, 0) = y]]}]]^{(∗)}

Andererseits gilt:

HA ⊢ h(x, S n) = g(x, n, h(x, n))
⟹ HA ⊢ h(x, n) = y → (h(x, S n) = z ↔ g(x, n, y) = z)
⟹ CON’ ⊩_{λP2} [[h(x, n) = y]] → ([[h(x, S n) = z]] ↔ [[g(x, n, y) = z]])^{(∗∗)}
⟹^{IV} CON’ ⊩_{λP2} [[h(x, n) = y]] → [[h(x, S n) = z]] ↔ Bew[[{[[g(x, n, y) = z]]}]]

Man hat noch nach (∗∗), (D1’) und (D3’):

CON’ ⊩_{λP2} Bew[[{[[h(x, n) = y]]}]] → Bew[[{[[g(x, n, y) = z]]}]] → Bew[[{h(x, S n) = z}]]

⟹ CON’ ⊩_{λP2} [[h(x, n) = y]] → ∀y:N .([[h(x, n) = y]] → Bew[[{[[h(x, n) = y]]}]])
→ [[h(x, S n) = z]] → Bew[[{[[h(x, S n) = z]]}]]
⟹ CON’ ⊩_{λP2} ∀y:N .([[h(x, n) = y]] → Bew[[{[[h(x, n) = y]]}]])

→ ∀y:N .([[h(x, S n) = y]] → Bew[[{[[h(x, S n) = y]]}]])

⟹ CON’ ⊩_{λP2} [[h(x, n) = y]] → Bew[[{[[h(x, n) = y]]}]] nach (∗) & ind_{φ}

• h(x_{1}, …, x_{n}) = μy.(f(x⃗, y) = 0) . Wir zeigen nur den Fall n = 0 . Die Behauptung wird in drei Schritten gezeigt.

(1) CON’ ⊩_{λP2} [[¬(f(x) = 0)]] → Bew[[{[[¬(f(x) = 0)]]}]] .

(2) CON’ ⊩_{λP2} [[∀i < y(¬f(i) = 0)]] → Bew[[{[[∀i < y(¬f(i) = 0)]]}]] .

(3) CON’ ⊩_{λP2} [[h() = z]] → Bew[[{[[h() = z]]}]] .

(1)

HA ⊢ S y = z → z = fx → ¬f(x) = 0 nach (Z_{1})
⟹ CON’ ⊩_{λP2} [[S y = z]] → [[fx = z]] → [[¬f(x) = 0]]
⟹ CON’ ⊩_{λP2} Bew[[{[[S y = z]]}]] → Bew[[{[[f(x) = z]]}]] → Bew[[{[[¬f(x) = 0]]}]]
⟹^{IV} CON’ ⊩_{λP2} [[S y = z]] → [[f(x) = z]] → Bew[[{[[¬f(x) = 0]]}]]

nach dem Fall von h(x) =Suc(x)

⟹ CON’ ⊩_{λP2} [[S y = f(x)]] → Bew[[{[[¬f(x) = 0]]}]]
⟹ CON’ ⊩_{λP2} [[∃y(S y = f(x))]] → Bew[[{[[¬f(x) = 0]]}]]^{(∗)}

Andererseits gilt mit (Z_{1}) und Ind_{φ}:

HA ⊢ ∀x(¬x = 0 → ∃y(S y = x))

⟹ CON’ ⊩_{λP2} [[¬(f(x) = 0)]] → [[∃y(S y(S y = f(x)))]]
⟹ CON’ ⊩_{λP2} [[¬(f(x) = 0)]] → Bew[[{[[¬(f(x) = 0)]]}]]^{(∗∗)} nach (∗)

(2) Definiere ψ(y) :≡ ∀i < y(¬f(i) = 0) . Da HA ⊢ ∀x(¬x < 0) gilt, hat man

CON ⊩_{λP2} [[ψ(0)]]

⟹ CON ⊩_{λP2} Bew[[{[[ψ(0)]]}]]
⟹ CON ⊩_{λP2} [[ψ(0)]] → Bew[[{[[ψ(0)]]}]]^{(†)}

Da HA ⊢ ∀x, y(x < S y ↔ (x < y ∨ x = y)) gilt, hat man:

HA ⊢ ψ(S y) ↔ (ψ(y) ∧ ¬f(x) = 0)

⟹ CON’ ⊩_{λP2} [[ψ(y)]] → [[¬f(x) = 0]] → [[ψ(S y)]]
⟹ CON’ ⊩_{λP2} Bew[[{[[ψ(y)]]}]] → Bew[[{[[¬f(x) = 0]]}]] → Bew[[{[[ψ(S y)]]}]]^{(††)}

Andererseits gilt:

CON’ ⊩_{λP2} [[ψ(S y)]] → [[ψ(y) & ¬f(y) = 0]]

⟹ CON’ ⊩_{λP2} [[ψ(S y)]] → ([[ψ(y)]] → Bew[[{[[ψ(y)]]}]])
→ (Bew[[{[[ψ(y)]]}]] & Bew[[{[[¬f(y) = 0]]}]]) nach (∗∗)
⟹ CON’ ⊩_{λP2} ([[ψ(y)]] → Bew[[{[[ψ(y)]]}]]) → ([[ψ(S y)]] → Bew[[{[[ψ(S y)]]}]]) nach (††)
⟹ CON’ ⊩_{λP2} [[ψ(y)]] → Bew[[{[[ψ(y)]]}]] (†††) nach (†) & (Ind_{φ})

(3) HA ⊢ (ψ(y) & f(y) = 0) ↔ h() = y

⟹ CON’ ⊩_{λP2} [[h() = y]] → ([[ψ(y)]] & [[f(y) = 0]])
⟹ CON’ ⊩_{λP2} [[h() = y]] → (Bew[[{[[ψ(y)]]}]] & Bew[[{[[f(y) = 0]]}]]) nach (†††) & I.V.

Andererseits gilt:

CON’ ⊩_{λP2} [[ψ(y)]] → [[f(y) = 0]] → [[h() = y]]

⟹ CON’ ⊩_{λP2} Bew[[{[[ψ(y)]]}]] → Bew[[{[[f(y) = 0]]}]] → Bew[[{[[h() = y]]}]]
⟹ CON’ ⊩_{λP2} [[h() = y]] → Bew[[{[[h() = y]]}]]

Das Lemma ist bewiesen worden. □

4.3.4.11 Satz (D2) Sei A ∈ T und gelte CON ⊢_{λP2} A : ∗ . Dann gilt

CON ⊩_{λP2} Bew[[ \underline{⌜A⌝}]] → Bew[[ \underline{⌜Bew[[ \underline{⌜A⌝}]]⌝}]] .

Beweis. Sei f(x) eine rekursive Funktion. Dann gilt

CON’ ⊩_{λP2} [[f(x) = 0]] → [[∃x(f(x) = 0)]]
⟹ CON’ ⊩_{λP2} Bew[[{[[f(x) = 0]] → [[∃x(f(x) = 0)]]}]]  nach (D1’)
⟹ CON’ ⊩_{λP2} Bew[[{[[f(x) = 0]]}]] → Bew[[{[[∃x(f(x) = 0)]]}]] nach (D3’)
⟹ CON’ ⊩_{λP2} [[f(x) = 0]] → Bew[[{[[∃x(f(x) = 0)]]}]]  nach Lemma 4.3.4.10
⟹ CON ⊩_{λP2} [[∃x(f(x) = 0)]] → Bew[[ \underline{⌜[[∃x(f(x) = 0)]]⌝}]]

Da Thm_{λP2}(x, ⌜A⌝) eine rekursive Relation ist, kann man f(x) = 0 durch Thm_{λP2}(x, ⌜A⌝) ersetzen. Dann gilt

CON ⊩_{λP2} [[∃x(Thm_{λP2}(x, \underline{⌜A⌝}))]] → Bew[[ \underline{⌜[[∃x(Thm_{λP2}(x, \underline{⌜A⌝}))]]⌝}]] . (∗)

Weiter gilt nach der Regel (=_{β}) CON ⊩_{λP2} [[∃x(Thm_{λP2}(x, \underline{⌜A⌝}))]] ↔ Bew[[ \underline{⌜A⌝}]] , woraus mit (D1) und (D2) CON ⊩_{λP2} Bew[[ \underline{⌜[[∃x(Thm_{λP2}(x, \underline{⌜A⌝}))]]⌝}]] → Bew[[ \underline{⌜Bew[[ \underline{⌜A⌝}]]⌝}]] folgt. Die Behauptung folgt nun mit (∗). □

4.3.4.12 Lemma (Diagonalisierung) Es existiert ein (primitiv) rekursive Funktion Diag : ℕ → ℕ , so daß für jedes A ∈ T gilt:

Diag(⌜A⌝) = ⌜(A[[ \underline{⌜A⌝}]])⌝

Beweis. Definiere Diag(n) := app(n, s(n)) . □

Da Diag rekursiv ist, gibt es ein δ_{D} ∈ L, so daß für jedes A ∈ T gilt

CON ⊩_{λP2} ∀y:N .([[δ_{D}]][[ \underline{⌜A⌝}]]y ↔ A_{=}y[[ \underline{⌜(A[[ \underline{⌜A⌝}]])⌝}]]) ,

da CON ⊩_{λP2} [[Diag( \underline{⌜A⌝}) = \underline{⌜(A[[ \underline{⌜A⌝}]])⌝}]] gilt.

4.3.4.13 Lemma (Fixpunktsatz) Gelte CON ⊢_{λP2} A : N → ∗ . Dann existiert ein B ∈ T mit CON ⊩_{λP2} A[[ \underline{⌜B⌝}]] ↔ B .

Beweis. Definiere

\begin{matrix}M :≡ λx:N .∀y:N .([[δ_{D}]]xy → Ay) , \\ B :≡ M[[ \underline{⌜M⌝}]] . \end{matrix}

Dann gilt:

CON ⊩_{λP2} A[[ \underline{⌜B⌝}]] ↔ A[[ \underline{⌜B⌝}]]
⟹ CON ⊩_{λP2} A[[ \underline{⌜B⌝}]] ↔ ∀y:N .(A_{=}y[[ \underline{⌜B⌝}]] → Ay)
⟹ CON ⊩_{λP2} A[[ \underline{⌜B⌝}]] ↔ ∀a:N .([[δ_{D}]][[ \underline{⌜M⌝}]]y → Ay)
⟹ CON ⊩_{λP2} A[[ \underline{⌜B⌝}]] ↔ M[[ \underline{⌜M⌝}]]
⟹ CON ⊩_{λP2} A[[ \underline{⌜B⌝}]] ↔ B

Das Lemma ist bewiesen. □

4.3.4.14 Satz (Löb) Sei A ∈ T und gelte CON ⊢_{λP2} A : ∗ . Dann gilt:

CON ⊩_{λP2} Bew[[ \underline{⌜A⌝}]] → A ⟺ CON ⊩_{λP2} A

Beweis. Die Richtung von rechts nach links ist trivial. Man definiert B :≡ λn: N .Bew n → A und sei C ein Fixpunkt von B. Dann gilt CON ⊩_{λP2} C ↔ B[[ \underline{⌜C⌝}]] . Weiter gilt:

CON ⊩_{λP2} C ↔ (Bew[[ \underline{⌜C⌝}]] → A)  (∗)  nach (=_{β})
⟹ CON ⊩_{λP2} Bew[[ \underline{⌜(C → Bew[[ \underline{⌜C⌝}]] → A)⌝}]]  nach (D1)
⟹ CON ⊩_{λP2} Bew[[ \underline{⌜C⌝}]] → Bew[[ \underline{⌜Bew[[ \underline{⌜C⌝}]]⌝}]] → Bew[[ \underline{⌜A⌝}]] nach (D3)

Andererseits gilt nach (D2) CON ⊩_{λP2} Bew[[ \underline{⌜C⌝}]] → Bew[[ \underline{⌜Bew[[ \underline{⌜C⌝}]]⌝}]] . Daher gilt CON ⊩_{λP2} Bew[[ \underline{⌜C⌝}]] → Bew[[ \underline{⌜A⌝}]] . Wenn man die Voraussetzung anwendet, bekommt man nach (∗) CON ⊩_{λP2} C . Ferner gilt nach (D1) CON ⊩_{λP2} Bew[[ \underline{⌜C⌝}]] , woraus mit der Voraussetzung die Behauptung folgt. □

4.3.4.15 Satz (Gödel) Ist λP2 + CON konsistent, dann gilt CON ⊮_{λP2} ¬Bew[[ \underline{⌜⊥⌝}]] .

4.3.4.16 Korollar CON ⊮_{λP2} ¬Bew[[ \underline{⌜⊥⌝}]] .

4.3.4.17 Korollar HAS ⊬ ¬Bew( \underline{⌜⊥⌝}) .

4.3.4.18 Satz λPω ist nicht konservativ über λP2 .

Beweis. Nach Satz 4.3.3.38 gilt HAH ⊢ ¬Bew( \underline{⌜⊥⌝}) . Nach Satz 4.3.1.19 gilt CON ⊩_{λPω} ¬Bew[[ \underline{⌜⊥⌝}]] , woraus mit (λ) ⊩_{λPω} [[¬(0 = S0)]] → ¬Bew[[ \underline{⌜⊥⌝}]] . Wenn λPω konservativ über λP2 wäre, dann gälte ⊩_{λP2} [[¬(0 = S0)]] → ¬Bew[[ \underline{⌜⊥⌝}]] . Ferner gälte mit Stripping CON ⊩_{λP2} ¬Bew[[ \underline{⌜⊥⌝}]] . Dies würde nach Satz 4.3.4.15 bedeuten, daß λP2 + CON nicht konsistent wäre. Ein Widerspruch! □

4.4 Charakterisierung von repräsentierbaren Funktionen

Wie zu Beginn des Kapitels erwähnt wurde, wird hier gezeigt, daß sich die Repräsentierbarkeit einer arithmetischen Funktion f : ℕ^{n} ⟶ ℕ wie folgt charakterisieren läßt.

4.4.1 Satz

(1) f ist genau dann in λ→, λ\underline{ω} , λP oder λP\underline{ω} repräsentierbar, wenn f aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert ist.

(2) f ist genau dann in λ2 oder λP2 repräsentierbar, wenn f in HAS beweisbar total ist.

(3) f ist genau dann in λω oder λPω repräsentierbar, wenn f in HAH beweisbar total ist.

Die Äquivalenz mit der Beweisbarkeit in HAS bzw. HAH ist schon in [21, 22, Girard] bewiesen worden. Aus diesem Grund werden wir uns nur mit dem λ-Würfel befassen.

Als erstes muß man folgende Frage stellen, die einmal in Lemma 1.3.2 gestellt wurde.

Was garantiert, daß der Typ N ≡ Πα : ∗.α → (α → α) → α die Menge der natürlichen Zahlen repräseniert?

Das folgende Lemma antwortet auf diese Frage.

4.4.2 Lemma Sei M ∈ T in β-nf. Dann gilt:

⊢_{λω} M : N ⟹ ∃n ∈ ℕ [ M ≡ \underline{n} ]

Beweis. Gemäß Bemerkung 4.3.3.2 hat M die Gestalt Ξ_{1}x_{1} :A_{1}. · · · .Ξx_{n}:A_{n}.γ_{n}M_{1} ⋯ M_{n} , wobei A⃗, M⃗ in β-nf sind. Man definiere Γ := ⟨ u: ∗, v: x, w: x → x ⟩ . Nach Korollar 2.3.10 gilt dann Γ ⊢_{λω} M : N . Durch Induktion nach dem Termaufbau von M wird die Behauptung gezeigt. Die Vorgehensweise ist völlig analog zum Beweis von Lemma 4.3.3.1.(2). Daher wird in den meisten Fällen nur erwähnt, wie das geht. Daß der Fall n ∈ {0, 1, 2} nicht auftritt, kann man wie im Beweis von Lemma 4.3.3.1.(2) zeigen. Da gemäß Stripping n ≤ 3 sein soll, betrachten wir den Fall n = 3 . Wiederum nach Stripping gilt Ξ_{1} ≡ Ξ_{2} ≡ Ξ_{3} ≡ λ & Γ, α : ∗, x : α, f : α → α ⊢_{λω} γM⃗ : α . Nach Lemma 2.3.3 gilt ferner Γ ⊢_{λω} (γM⃗) [α := u] [x := v] [f := w] : u . Wenn man wie im Fall von n = 0 augumentiert, gibt es nur zwei mögliche Fälle:

• γ [α := u] [x := v] [f := w] ≡ v . Dann gilt m = 0 & M ≡ \underline{0} .

• γ [α := u] [x := v] [f := w] ≡ f . Nach Stripping gilt m = 1 und Γ ⊢_{λω} M_{1} [α := u] [x := v] [f := w] : u . Mit der Regel (λ) folgt ferner ⊢_{λω} λα: ∗.λx: α.λf: α → α.M_{1} : N . Die I.V. liefert nun ein n ∈ ℕ mit λα:∗.λx:α.λf:α → α.M_{1} ≡ \underline{n} , woraus M ≡ \underline{n + 1} folgt. □

4.4.3 Bemerkung Man kann analog

CON ⊢_{λω} M : N ⟹ ∃n ∈ ℕ [ M ≡ \underline{n} ]

zeigen, falls M in β-nf ist.

Mit Lemma 4.4.2 weiß man, daß jeder Term M mit ⊢_{λω} M : N^{n} → N eine rekursive Funktion von ℕ^{n} nach ℕ repräsentiert. Wir können nun mit dem Beweis von Satz 4.4.1 beginnen.

In Paragraph 1.3 wurde gezeigt, daß genau diejenigen arithmetischen Funktionen in λ → repraäsentierbar sind, die aus Polynomen durch Fallunterscheidung nach Verschwinden oder Nichtverschwinden von Argumenten definiert sind. Dies ist für λ\underline{ω}, λP und λP\underline{ω} auch der Fall.

4.4.4 Lemma Im Hinblick auf die Repraäsentierbarkeit sind die Systeme λ→, λ\underline{ω} , λP und λP\underline{ω} zueinander äquivalent.

Beweis. Die Behauptung ist eine direkt Folgerung von Korollar 4.2.3. Man achte nur darauf, daß M und nf(M) dieselbe Funktion repräsentiert, falls ⊢_{ζ} M : N^{n} → N gilt. Dabei ist N := o → (o → o) → o . □

4.4.5 Lemma Auf die Repraäsentierbarkeit hin ist λ2 (bzw. λω) äquivalent zu λP2 (bzw. λPω).

Beweis. Seien ζ_{2} ∈ {λP2, λPω} und ζ_{1} das benachbarte System, das in der linken Seite des λ-Würfels steht. Gilt ⊢_{ζ_{2}} M : N^{n} → N , dann folgt nach Satz 4.2.10 ⊢_{ζ_{1}} [M] : N^{n} → N . Es bleibt nun zu zeigen, daß M und [M] dieselbe Funktion repräsentieren. Sei n ∈ ℕ . Dann gilt für k ∈ ℕ mit M \underline{n} ↠_{β} \underline{k} :

[M] \underline{n} ≡ [M][ \underline{n}]
≡ [M \underline{n}]
↠_{β} [ \underline{k}]  nach Lemma 4.2.8
≡ \underline{k}

Denn die Terme \underline{n} , \underline{k} und M \underline{n} sind nicht durch (∗, □) gebildet worden. □

Hiermit ist de Satz 4.4.1 vollständig bewiesen worden. Zum Schluß wird gezeigt, daß λω auch auf die Repräsentierbarkeit hin stärker ist als λ2 .

4.4.6 Satz Es gibt in λω repräsentierbare Funktionen, die nicht in λ2 repräsentierbar sind.

Beweis. Nach Satz 4.3.3.35 weiß man, daß die Funktion, die das Supremum aller Reduktionsketten, die mit einem in λ2 typbaren Term anfangen, ausrechnet, in HAH beweisbar total ist. Andererseits ist dies nach Lemma 4.3.3.37 und Korollar 4.3.4.17 nicht der Fall. Nach Girard’s Arbeit ist nun klar, daß sich diese Funktion in λω, aber nicht in λ2 repräsentieren läßt. □

Nach Satz 4.3 und Bemerkung 4.4.(2) weiß man noch, daß die Normalformfunktion N, die Normalformen aller in λ2 typbaren Terme ausrechnet, nicht in λ2 selbst repräsentierbar ist. Andererseits kann man mit Hilfe von Satz 4.3.3.35

HAH ⊢ ∀x ∃y(LEGAL_{λ2}(x) → (RED(y) ∧ (y)_{0} = x ∧ InNF((y)_{lh(y)− · 1})))

zeigen. Dies impliziert, daß die Nomalformfunktion N in HAH beweisbar total ist, also ist N in λω repräsentierbar.

Literaturverzeichnis

[1] H.P. Barendregt, The Lambda Calculus: Its Syntax and Semantics, North-Holland, 1984

[2] H.P. Barendregt, Introduction to Generalized Type Systems, J. of Func. Programming 1(2), 1991 [3] H.P. Barendregt, Lambda Calculus with Types, in: Handbook of Logic in Computer Science, Vol.2,

Background: Computational Structures, S. Abramsky, D. M. Gabbay und T.S.E. Maibaum (Hrsg.), Clarendon Press, Oxford, 1992

[4] S. Berardi, Type Dependence and Constructive Mathematics, Dissertation, Universita di Torino, Italien, 1990

[5] G. Boolos, The Logic of Provability, Cambridge University Press, 1993

[6] A. Church, A Formulation of the Simple Theory of Types, JSL 5, 1940

[7] Th. Coquand und G. Huet, The Calculus of Constructions, Info. and Comp. 76, 1988

[8] H.B. Curry, Functionality in Combinatory Logic, Proc. Nat. Acad. Sci. U.S.A. 20, 1934

[9] H.B. Curry, Modified Basic Functionality in Combinatory Logic, Dialectica 23,1969

[10] H.B. Curry und R. Feys, Combinatory Logic, Bd. I, North-Holland, 1958

[11] H.B. Curry, J.R. Hindley und J.P. Seldin, Combinatory Logic, Bd. II, Studies in Logic and the Foundation of Mathematics, North-Holland, 1972

[12] J. Diller, Rekursionstheorie, Vorlesungsskriptum, Universität Münster, 1988

[13] G. Dowek, Lambda-Calculus, Combinators and the Comprehension Scheme, LNCS 902, 1995

[14] M. Dummett, Elements of Intuitionism, Clarendon Press, Oxford, 1977

[15] S. Fortune, D. Leivant und M. O’Donnell, The Expressiveness of Simple and Second-Order Type Structures, J. of Assoc. for Comp. Math. 30(1), 1983

[16] J.H. Gallier, On Girard’s “Candidats de Reductibilité”, in: Logic and Computer Science, P. Odifreddi (Hrsg.), The APIC Series 31, Academic Press, 1990

[17] J.H. Gallier, Proving Properties of Typed λ-Terms using Realizability, Covers, and Sheaves, Theo. Comp. Sci. 142, 1995

[18] J.H. Geuvers, Conservativity between Logics and Typed λ Calculi, LNCS 806, 1991 [19] J.H. Geuvers, Logics and Type Systems, Dissertation, De Katholieke Universiteit Nijmegen, Nieder-

lande, 1993

[20] J.H. Geuvers und M.-J. Nederhof, Modular Proof of Strong Normalization for the Calculus of Construction, J. of Func. Programming 1(2), 1991

[21] J.-Y. Girard, Une Extension de l’Interprétation de Gödel à l’Analyse, et son Application à l’Elimination des Coupures dans lÁnalyse et la Théorie des Types, in: Proceedings of the Scandinavian Logic Symposium, J.E. Fenstad (Hrsg.), North-Holland, 1971

[22] J.-Y. Girard, Interprétation Fonctionell et Élimination des Coures dans l’Arithmétique d’Ordre Supérieur, Dissertation, Université Paris VII, Frankreich, 1972

[23] J.-Y. Girard, The System F of Variable Types, Fifteen Years Later, Theo. Comp. Sci. 45, 1986 [24] J.-Y. Girard, Y. Lafont und P. Taylor, Proofs and Types, Cambridge University Press, 1989

[25] M.J. Gordon, R. Milner und C. Wadsworth, Edinbourgh LCF. A Mechanical Logic of Computation, LNCS 78, 1979

[26] W.A. Howard, The Formulae-as-Types of Construction, in: To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Hrsg.: J.P. Seldin und H.R. Hindley, Academic Press, 1980

[27] R. Milner, A Theory of Type Polymorphism in Programming, J. Comp. System Sci. 17, 1978

[28] Ch. Paulin-Mohring, Extraction des Programmes dans le Calcul des Constructions, Dissertation, Université Paris VII, Frankreich, 1989

[29] W. Pohlers, Mathematische Grundlagen der Informatik, Handbuch der Informatik, Oldenburg, 1993 [30] D. Prawitz, Natural Deduction, A Proof-Theoretical Study, Almquist and Wiksell, Stockholm, 1965 [31] M.P.J. Ruys, λPω is not conservative over λP2, Diplomarbeit, de Katholieke Universiteit Nijmegen,

Niederlande, 1991

[32] H. Schwichtenberg, Definierbare Funktionen im λ-Kalkül mit Typen, Arch. math. Logik 17, 1976 [33] J.R. Shoenfield, Mathematical Logic, Addison-Wesley, 1967

[34] R. Statman, Number Theoretic Functions Computable by Polymorphic Programs, Symp. Foundations of Computer, Proc. 22, 1981

[35] W.W. Tait, Infinitely Long Term of Transfinite Type, in: Formal Systems and Recursive Functions, Hrsg.: J.N. Crossley und M.A.E. Dummett, North-Holland, 1965

[36] M. Takahashi, Parallel Reductions in λ-Calculus, Info. and Comp. 118, 1995

[37] A.S. Troelstra und D. van Dalen, Constructivism in Mathematics, An Introduction, Bd. I, II, North-Holland, 1988

[38] L.S. van Benthem Jutting, Typing in Pure Type Systems, Info. and Comp. 105, 1993

Zusammenfassung

Diese Arbeit besteht aus vier Kapiteln. Es handelt sich um die Repräsentierbarkeit von arithmetischen Funktionen in jedem System aus dem λ-Würfel. Konkrete Inhalte werden im folgenden dargestellt.

1. Einführung. Die Systeme λ→-Curry und λ→-Church werden vorgestellt. Grundeigenschaften werden nur erwähnt, weil man in den kommenden Kapiteln allgemeiner argumentiert. Was man unter Repräsentierbarkeit versteht, wird definiert, und es wird gezeigt, welche arithmetischen Funktionen sich in λ→-Church repräsentieren lassen. Alle diese Funktionen sind polynomial beschränkt. Man zeigt sogar, daß nicht einmal die Vorgängerfunktion repräsentierbar ist.

2. PTSs und λ-Würfel. Der Begripff PTS ist eine Verallgemeinerung des λ-Würfels. Und der λ-Würfel selber ist eine Vervollständigung von bestimmten getypten λ-Kalkülsystemen. Er besteht aus acht Teilsystemen von Calculus of Constructions von Th. Coquand und G. Huet und enthält die äquivalente Versionen von λ→-Church und den beiden Systemen Girard’s F und Fω . Diese dreidimensionale Darstellung der acht Systemen beinhaltet sowohl die Teilsystemrelation als auch Unterschiede, die durch Hinzufügung von neuen Axiomen entstehen, zwischen je zwei Systemen. In Kapiteln 3 und 4 wird klar, was die Hinzufügung eines Axioms mit sich bringt.

3. Der Curry-Howard-Isomorphismus und CC. Hier wird der sog. Logikwürfel eingeführt. Die Beziehung zwischen ihm und dem λ-Würfel ist die Idee des Curry-Howard-Isomorphismus. Andererseits ist es ein möglicher Zugang zum Verständnis von CC. Die starke Normalisierbarkeit wird für λP2 bewiesen. Eine direkte Verallgemeinerung auf CC kann durchgeführt werden. Der Beweis für λP2 wird so geführt, daß er in der höherstufigen Heyting-Arithmetik HAH formalisiert werden kann.

4. Repräsentierbarkeit im λ-Würfel. Funktionen, die sich im λ-Würfel repräsentieren lassen, werden charakterisiert. Es gibt drei Klassen, und es wird auch gezeigt, daß alle Klassen verschieden sind. Zunächst zeigt man, daß sich die Ackermann-Pértersche Funktion in λ2 repräsentieren läßt. Ferner zeigt man, daß der in Kapitel 3 geführte Beweis der starken Normalisierbarkeit von λP2 in HAH, aber nicht in HAS formalisieren läßt. Um die Nichtkonservativität von CC über λP2 zu zeigen, führt man in CC mit Hilfe der Idee des Curry-Howard-Isomorphismus einen detaillierten Beweis des zweiten Gödelschen Unvollständigkeitssatzes durch. Dieser Prozess ist nichts anderes als eine Übersetzung des bekannten Beweises in CC. Parallel wird bewiesen, daß HAH nicht Π_{2}^{0}-konservativ über der zweitstufigen Heyting-Arithmetik HAS ist. Am Ende werden zwei arithmetische Funktionen angegeben, die in λω , aber nicht in λ2 repräsentierbar sind.