A.2 Normalisation forte (théorème 3.2)
A.2.2 Propriétés des ensembles réductibles
Nous établissons maintenant un ensemble de propriétés des ensembles ré- ductibles Rτ, que nous démontrons inductivement pour tout type τ . Outre les
propriétés (CR 1) à (CR 4) issues de la preuve de normalisation citée plus haut, nous montrons par (CR 5) et (CR 6) qu’un terme est réductible si et seulement si il est localement réductible (Rτ ⇔ Rτ ↓).
(CR 1) Rτ(M ) ⇒ FN(M ) : tout terme qui est réductible est également
fortement normalisant. (CR 2) Rτ(M ) ∧ M
∗
→ M0 ⇒ R
τ(M0) : la réductibilité d’un terme M est
préservée par réduction.
(CR 3) Nt(M ) ∧ (∀Mi ∈ S(M ).Mi → Mi0 ⇒ Rτ(Mi0)) ⇒ Rτ(M ) : si un
terme M est neutre, et que tout élément Mi de sa structure se contracte
en un terme Mi0 réductible de type τ , alors le terme d’origine (M ) est également réductible.
(CR 4) Nt(M ) ∧ (@M0.M → M0) ⇒ Rτ : tout terme M de type τ qui est
neutre et en forme normale est réductible.
(CR 5) Rτ(M ) ⇒ Rτ ↓(M ) : un terme réductible est localement réductible.
(CR 6) Rτ ↓(M ) ⇒ Rτ(M ) : un terme localement réductible est réductible.
La propriété (CR 4) est une conséquence immédiate de (CR 3) : le fait que M soit en forme normale (@M0.M → M0) satisfait trivialement la seconde
précondition de (CR 3). Nous démontrons pour tout terme M la validité des autres propriétés par induction sur le type τ de M .
Dans le cas où τ est un type atomique : (CR 1) est vraie par définition : Rτ(M )
def
⇔ FN(M ).
(CR 2) est immédiatement vérifiée par définition, toute réduction d’un terme de FN produisant un terme de FN.
(CR 3) se vérifie en prenant Mi = M : la deuxième précondition entraîne
alors que tout contractum de M est fortement normalisant, donc M ∈ FN également.
(CR 5) est vérifiée en constatant que toute séquence de réductions infinie dans un terme local Mi appartenant à S(M ) serait également valide
dans M , contredisant l’hypothèse Rτ(M ).
(CR 6) est par définition, l’énoncé du lemme A.1.
Nous étudions maintenant le cas inductif où τ = α → β : nous disposons des six hypothèses d’induction précédentes, appliquées aux types α et β. Rappelons que par définition, un terme M appartient à Rα→β si et seulement si pour tout
terme N réductible de type α, M N est un terme réductible (de type β) : (CR 1) Par définition, Rα→β(M ) entraîne que pour tout N réductible de
type α, M N ∈ Rβ. En particulier, M xα ∈ Rβ, puisque xα∈ Rα en vertu
de la propriété (CR 4) pour α (x est neutre et en forme normale). Par conséquent, M x ∈ FN, en raison de l’hypothèse d’induction (CR 1) pour β ; ce qui entraîne en particulier que M ∈ FN.
(CR 2) Là encore, tout N ∈ Rα vérifie M N ∈ Rβ; de plus, M N ∗
→ M0N . L’hypothèse d’induction (CR 2) sur β permet donc d’établir que M0N ∈ Rβ pour tout N ∈ Rα et donc, par définition, que M0 ∈ Rτ.
(CR 3) Posons Nt(M ) et H⇔ ∀Mdef i ∈ S(M ).Mi → Mi0 ⇒ Rτ(Mi0).
Nous souhaitons montrer que M ∈ Rτ, c’est-à-dire, par définition, que
pour tout N ∈ Rα, M N ∈ Rβ. Par induction, la propriété (CR 3) pour
le type β permet d’obtenir ce résultat en montrant que M N est neutre (ce qui est toujours vrai par définition de Nt), et que pour tout N , si un élément O de la structure de M N se contracte en P , alors P appartient à Rβ. Par définition, la structure de M N est simplement {M N } ; la condi-
tion précédente se réduit ainsi à M N → P ⇒ Rβ(P ). Nous démontrons
donc dans la suite, pour chaque cas, que ∀N ∈ Rα.M N → P ⇒ Rβ(P ),
et concluons que M ∈ Rτ de la manière décrite ci-dessus.
Tout terme réductible Nα est fortement normalisant, par (CR 1) sur α. Supposons que M N se contracte en P (dans le cas contraire, M N est neutre et normal, et nous pouvons conclure immédiatement par (CR 4)) ; six cas sont alors possibles. La contraction peut avoir lieu dans M ou N , auquel cas P = M0N avec M → M0 (cas 1), ou P = M N0 avec N → N0 (cas 2). Alternativement, lorsque M ou N est un ensemble ou une condition, soit P = φ −→ M0 ∧ M = φ −→ M0 (cas 3), soit
φ −→ N0 (cas 5), soit enfin P = {M N1. . . M Nn} ∧ N = {N1. . . Nn}
(cas 6). Observons que M étant neutre, M N ne peut pas constituer un β-redex.
Nous montrons maintenant que P ∈ Rβ par une induction complexe
sur M N : nous montrons que la propriété est vérifiée pour tout terme M0N0, dans lequel : soit |M0| < |M |, soit |N0| < |N | ou ν(N0) < ν(N )
(il est possible dans ce dernier cas que |N0| > |N |, mais l’inverse n’est pas vrai). La première condition de décroissance correspond aux cas 3 et 4 (induction sur la structure de M ), la seconde aux cas 5 et 6 (induction sur la structure de N ), et la dernière au cas 2 (en s’appuyant sur l’argument montrant que N ∈ FN) ; le cas 1 est démontré sans faire usage de l’hypothèse d’induction. Nous montrons dans chaque cas que P (le contractum de M N ) est réductible ; la réductibilité de M N (qui permet le passage à l’induction) est toujours une conséquence de celle de P , suivant le raisonnement décrit dans le premier paragraphe.
1. P = M0N (M → M0)
Considérons l’hypothèse H posée initialement, fournie par (CR 3), en prenant Mi ∈ S(M ) = M : elle établit que M0 ∈ Rτ. Donc, par
définition, M0N = P ∈ Rβ pour tout N ∈ Rα.
2. P = M N0 (N → N0)
Puisque N → N0, ν(N0) < ν(N ), et la propriété (CR 2) sur α permet d’établir que Rα(N0). Nous pouvons donc appliquer notre
hypothèse d’induction pour établir immédiatement que P = M N0 appartient à Rβ.
3. P = φ −→ M0N (M = φ −→ M0)
Dans ce cas, |M0| < |M |, donc par hypothèse d’induction, M0N
est réductible de type β. La propriété (CR 6) pour β permet donc immédiatement d’établir Rβ(P ).
4. P = {M1N . . . MnN } (M = {M1. . . Mn})
De manière similaire au cas précédent, pour tout i ∈ [n], |Mi| < |M |,
donc par hypothèse d’induction, MiN est réductible de type β, et
la propriété (CR 6) pour β permet alors d’établir Rβ(P ).
5. P = φ −→ M N0 (N = φ −→ N0)
Ici, |N0| < |N | ; en outre, la propriété (CR 5) montre Rα(N0). Nous
pouvons donc appliquer notre hypothèse d’induction pour établir Rβ(M N0), ce qui entraîne Rβ(P ) par la propriété (CR 6) de β.
6. P = {M N1. . . M Nn} (N = {N1. . . Nn})
Similairement au cas précédent, nous montrons que pour tout i ∈ [n], |Ni| < |N | et Rα(Ni) (par (CR 5)). Par conséquent, chaque M Ni
Nous avons donc établi que pour tout N ∈ Rα, dans tous les cas, si
M N → P alors P ∈ Rβ. Nous pouvons donc conclure systématique-
ment en suivant le raisonnement du premier paragraphe pour obtenir que M N ∈ Rβ par (CR 3) sur le type β (validant pour chaque cas
l’induction sur M , N et ν(N )), et par extension que M ∈ Rτ, vérifiant
ainsi la propriété (CR 3) pour τ .
(CR 5) Nous montrons la réductibilité locale par induction sur M . Si M n’est ni un ensemble ni une condition, la propriété est vraie par définition.
Si M est une condition φ −→ M0 réductible de type τ , alors (par défi-
nition) pour tout N ∈ Rα, Rβ((φ −→ M0)N ). Donc, par (CR 2) sur β,
Rβ(φ −→ M0N ) (en appliquant la règle app, g de →C), ce qui implique
à son tour par (CR 5) sur le type β que Rβ(M0N ) pour tout N ∈ Rα,
et donc, par définition, Rτ(M0).
Si M est un ensemble, la preuve suit le même schéma que dans le cas précédent, avec M = {M1. . . Mn} et en appliquant la règle app, g
de →E. Il en résulte que pour tout i ∈ [n], MiN ∈ Rβ pour tout N
réductible de type α, montrant que Mi ∈ Rτ.
(CR 6) Considérons le terme M : si M n’est pas un ensemble ou une condi- tion, la propriété est une tautologie. Nous supposons donc le contraire dans la suite, et montrons que M est réductible.
Par définition, M est réductible si, pour tout N ∈ Rα, Rβ(M N ). Nous
montrons ce dernier résultat en utilisant (CR 3) sur le type β, et en montrant que tout contractum du terme neutre M N est réductible, par une induction complexe sur M N .
Nous observons d’abord que la réductibilité locale de M entraîne par (CR 1) appliquée au type τ que M est localement fortement norma- lisant : en effet, tous les termes de S(M ) ont le type τ , et la propriété (CR 1) est établie pour τ . Par conséquent, d’après le lemme A.1, M est fortement normalisant, nous permettant de procéder par induction sur ν(M ).
Par hypothèse d’induction, nous supposons maintenant que Rβ(M0N0)
soit lorsque ν(M0) < ν(M ) ou, à défaut, |M0| < |M | (sans accroître ν(M0)), soit lorsque ν(N0) < ν(N ) ou |N0| < |N |. Nous considérons tous les termes P tels que M N → P et montrons que P appartient systématiquement à Rβ, établissant par (CR 3) que M N ∈ Rβ et pro-
pageant l’induction. (Le terme M N est forcément réductible, de par notre supposition initiale que M est soit un ensemble soit une condi- tion.)
Nous considérons d’abord les réductions qui sont dues au terme N , indépendamment de M . Remarquons que la réductibilité de N entraîne par (CR 2) sur le type α que tout N0 tel que N → N∗ 0 est réductible,
Trois cas sont à considérer :
— Soit P = M N0 avec N → N0. Dans ce cas, P est réductible par hypothèse d’induction, avec ν(N0) < ν(N ).
— Soit P = ψ → M N0 avec N = ψ −→ N0. Dans ce cas, M N0 est ré-
ductible par hypothèse d’induction, avec |N0| < |N | ; ce qui entraîne
que P est réductible par application de (CR 6) sur β.
— Soit P = {M N1. . . M Nn} avec N = {N1. . . Nn}. Dans ce cas,
chaque M Ni est réductible par hypothèse d’induction (avec |Ni| <
|N |) ; donc P est à nouveau réductible par (CR 6) sur β.
Nous considérons ensuite les réductions dues à M seulement. Ceci re- couvre tous les cas restants : M N ne peut être un β-redex, puisque nous avons écarté initialement les cas où M n’est ni une condition, ni un ensemble.
— Soit P = M0N avec M → M0. Dans ce cas, P est réductible par hypothèse d’induction, avec ν(M0) < ν(M ).
— Soit P = φ −→ M0N , avec M = φ −→ M0. Dans ce cas, M0N est
réductible par hypothèse d’induction, avec |M0| < |M | ; donc P est
réductible en appliquant la propriété (CR 6) sur le type β.
— Soit P = {M1N . . . MnN }, avec M = {M1. . . Mn}. Dans ce cas,
chaque MiN est réductible par hypothèse d’induction, avec |Mi| <
|M | ; donc, P est encore une fois réductible par (CR 6) sur β, concluant la démonstration.