Cours 4: Normalisation du système F
Expression, dans Peano, du fait que $Red_ρ(A)$ est un candidat de réductibilité:
Lemme: Pour tout $A$ et $\vec{X} = fv(A)$
\[PA_2, CR(\vec{X}) ⊢ CR(ξ \Vdash A)\]
Preuve: Par induction sur $A$ (on pourrait faire toute la preuve en déduction naturelle).
On va appeler
\[Red_ρ(A) ≝ \lbrace M \mid M \Vdash A \text{ sous } ρ \rbrace\]où $ρ: Var_2 ⟶ Candidats$ et “sous $ρ$” veut dire que $M \Vdash A$ lorqu’on interprète les $fv(A)$ par $ρ$
- $A = X$ est immédiat, car $Red_ρ(X) = ρ(X)$
- $A = B ⟶ C$
CR1
\[CR_1: M ∈ Red_ρ(B → C) \text{ et } M' ⟶ M\]On veut démontrer que \(M' ∈ Red_ρ(B → C) = \lbrace P \mid ∀N ∈ Red_ρ(B), PN∈ Red_ρ(C) \rbrace\)
Soit $N ∈ Red_ρ(B)$. Il suffit de montrer que $M’N ∈ Red_ρ(C)$.
Or, $MN ∈ Red_ρ(C)$, et par hypothèse d’induction, $Red_ρ(C)$ est clos par extension: donc $Red_ρ(C) \ni M’N ⟶ MN$
CR2
\[CR2: \underbrace{NN}_{\text{non-rédex et non-abstractions}} ⊆ Red_ρ(B ⟶ C)\]Soit $M$ normal neutre. Il suffit de prendre $N ∈ Red_ρ(B)$, et montrer que $MN ∈ Red_ρ(C)$.
Par hypothèse d’induction, $N ∈ WN$, donc il existe $N_0$ normal tel que
\[N ⟶^\ast N_0\]Et donc
\[MN ⟶^\ast MN_0 ∈ NN\]Donc par hypothèse d’induction,
\[MN_0 ∈ Red_ρ(C)\]et comme, toujours par induction, $Red_ρ(C)$ est clos par extension:
\[MN ∈ Red_ρ(C)\]$Red_ρ(B → C) ⊆ WN$
Soit $M ∈ Red_ρ(B → C)$. On veut démontrer que $M$ est normalisable.
Par hyp d’induction, $x ∈ Red_ρ(B)$.
Donc par hypothèse :
\[Mx ∈ Red_ρ(C) ⊆ WN\]Lemme: Si $Mx$ est normalisable, alors $M$ est normalisable
Preuve: élémentaire.
Donc $M ∈ WN$.
Rappel:
\[M \Vdash ∀X. A ≝ ∀X. CR(X) ⟹ M \Vdash A\] \[Red_ρ(∀X. A) ≝ \lbrace M \mid ∀ C \text{ candidat}, \; M ∈ Red_{ρ[X ⟼ C](A)} \rbrace \\ = \bigcap_{C \text{ candidat}} Red_{ρ[X ⟼ C]}(A)\]On remarque que être CR est clos par intersection arbitraire (CR1: clôture par extension, CR2: $NN ⊆ \bullet ⊆ WN$), donc $Red_ρ(∀X. A)$ est un candidat.
Lemme d’adéquation: $\overbrace{x_1: C_1, ⋯, x_n: C_n}^{≝ \, Γ} ⊢ M: A$ dans le système $F$, avec $\vec{X} = fv(C_1, ⋯, C_n, A)$ implique
\[PA_2, CR(\vec{X}), N_1 \Vdash C_1, ⋯, N_n \Vdash C_n ⊢ M[\vec{N}/\vec{x}] \Vdash A\]
Preuve: par induction sur la dernière règle dans la dérivation $δ$ de $Γ ⊢ M:A$.
var
\[δ = \cfrac{}{Γ, x:A ⊢ x:A} (var)\\ ⟹ \text{ immédiat}\]lam
\[δ = \cfrac{Γ, x:\overset{⋮ δ'}{B} ⊢ M:C}{Γ ⊢ λx. M: B → C} (var)\]Posons $M’ ≝ M[\vec{N}/\vec{x}]$
Alors
\[PA_2, CR(\vec{X}), N \Vdash B ⊢ M'[N/x] \Vdash C\]Par le lemme CR1 (clôture par extension), on dérive donc:
\[PA_2, CR(\vec{X}), N \Vdash B ⊢ (λx.M')N \Vdash C\]Donc, par $(⟹ I)$:
\[PA_2, CR(\vec{X}) ⊢ N \Vdash B ⟹ (λx.M')N \Vdash C\]Et par définition des candidats $∀$:
\[PA_2, CR(\vec{X}) ⊢ \underbrace{(λx.M')}_{= (λx.M)[N/x]} \Vdash B → C\]app
\[δ = \cfrac{Γ ⊢ \overset{⋮ δ_1}{M: A → B} \qquad Γ ⊢ \overset{⋮ δ_2}{N: A}}{Γ ⊢ MN: B} (app)\]On procède de même, en utilisant la définition de $M’ \Vdash A → B$, puis $∀ Elim$, puis $⟹ Elim$.
Lam
\[δ = \cfrac{Γ ⊢ M:\overset{⋮ δ'}{A}}{Γ ⊢ λx. M: ∀X. A} (Lam) X ∉ fv(Γ)\]En notant toujours $M’$ le terme $M$ avec les substitutions, on a:
\[PA_2, CR(\vec{X}), CR(X), \vec{N} \Vdash Γ ⊢ M' \Vdash A\]Avec $(⟹ Intro)$:
\[PA_2, CR(\vec{X}), \vec{N} \Vdash Γ ⊢ CR(X) ⟹ M' \Vdash A\]Et par $∀Intro$:
\[PA_2, CR(\vec{X}), \vec{N} \Vdash Γ ⊢ M' \Vdash ∀X.A\]App
\[δ = \cfrac{Γ ⊢ M:\overset{⋮ δ'}{∀X.A}}{Γ ⊢ M: A[B/X]} (∀E)\] \[PA_2, CR(\vec{X}), CR(\vec{Y}), \vec{N} \Vdash Γ ⊢ \underbrace{M' \Vdash ∀X.A}_{= ∀X. CR(X) ⟹ M' \Vdash A}\]Lemme de substitution:
\[Red_ρ(A[B/X]) = Red_{ρ[X ⟼ Red_ρ(B)]}(A)\]
Preuve: élémentaire
Il vient qu’on peut dériver, avec $∀E$:
\[PA_2, CR(\vec{X}), CR(\vec{Y}), \vec{N} \Vdash Γ ⊢ CR(ξ \Vdash B) ⟹ (M' \Vdash A)\Big[(ξ \Vdash B)/X\Big]\]Puis, avec $⟹ E$ et le lemme disant que $PA_2, CR(\vec{X}) ⊢ CR(ξ \Vdash B)$ (i.e. $Red_ρ(A)$ est un candidat):
Enfin, d’après le lemme de substitution:
\[PA_2, CR(\vec{X}), CR(\vec{Y}), \vec{N} \Vdash Γ ⊢ \underbrace{(M' \Vdash A)\Big[(ξ \Vdash B)/X\Big]}_{= M' \Vdash A[B/X]}\]Prop: Si $⊢ M: Nat → Nat$, alors $M$ représente une fonction dont la totalité est prouvable dans $PA_2$
- Totalité:
-
i.e. ce sont des fonctions $f$ telles que
\[PA_2 ⊢ ∀x, ∃t, T_1(e, x, t)\]tel que
- $e$ est le code de $f$
- Prédicat de Kleene $T_1$: $e$ termine sur $x$, et $t$ est une preuve de terminaison de $e$ appliqué à $x$ (prédicat qu’on peut exprimer avec des quantificateurs bornés: $Δ_0^0$)
NB: D’après un théorème de Friedman, démontrer une formule $Π_0^2$ dans $PA_2$, c’est la même chose que la démontrer dans $HA_2$. Donc cela revient au même de demander $HA_2 ⊢ ∀x, ∃t, T_1(e, x, t)$ (le système F est d’ailleurs dans $HA_2$, mais pour la cohérence, c’est pareil de prouver les choses dans $PA_2$).
\[\cfrac{⊢ M: Nat → Nat \qquad ⊢ \underline{n}: Nat}{⊢ M \underline{n}: Nat}\]Donc
\[\cfrac{PA_2 ⊢ M \underline{n} \Vdash Nat}{PA_2 ⊢ Norm(M \underline{n})}\]NB: Pour chaque $n$, on a une preuve, mais on n’a pas une preuve générale pour tout $n$ (Gödel nous en empêche, d’ailleurs)
Leave a comment