2.2 Quelques résultats fondamentaux
3.1.2 Transitivité
On commence par s’intéresser au théorème exprimant la transitivité de la relation binaire induite par le prédicat⊑ dans un modèle générique. Donnons
déjà un réalisateur de cette formule. Théorème 3.1.11.
La formule∀x∀y∀z(x⊑y, y⊑z→x ⊑z) est réalisé par la quasi-preuve suivante :
(Y)λrλuλvλw(u)λx(v)λy(w)(r)xy.
On donne deux démonstrations de ce résultat : la première présentée en séquents, qui souligne l’aspect logique du résultat en donnant la preuve dont est issu ce terme, et la seconde dans le formalisme de la réalisabilité, qui a le mérite d’être plus concise.
Première démonstration. On commence par considérer les deux règles de rem-
placement (Cf la section2.2) suivantes :
Γ⊢t:∀x′(∀y′(x′ ⊑y′→sy′ 6=y)→sx′ 6=x) Γ⊢t: x⊑y
Γ⊢t: x⊑y
Γ⊢t:∀x′(∀y′(x′ ⊑y′→sy′ 6=y)→sx′ 6=x)
Soit alors F(a) la formule suivante :
48 Les entiers comme classes d’équivalences Considérant le théorème2.2.18, il suffit de démontrer que le terme
λrλuλvλw(u)λx(v)λy(w)(r)xyréalise les formules ∀a(F(a) → F(sa)) et
⊤ → F(0).
Montrons déjà le premier point. On prend les notations suivantes : – R pour le contexte r : F(a), – X pour le contexte x : a⊑b′, – Y pour le contexte y : b′ ⊑c′ , – W pour le contexte w : ∀¯c(a ⊑ ¯c→s ¯c 6=c), – V pour le contexte v : b ⊑c, – U pour le contexte u : sa ⊑b.
On considère la dérivation suivante, qui est « découpée en morceaux » pour des raisons évidentes de mise en page.
R ⊢r : a ⊑b′, b′ ⊑c′ →a ⊑c′ X ⊢ x : a⊑b′ R, X ⊢ (r)x : b′ ⊑c′ →a ⊑c′ Y ⊢ y: b′ ⊑c′ R, X, Y ⊢ (r)xy: a ⊑c′ ... R, X, Y ⊢ (r)xy: a ⊑c′ W ⊢w : ∀¯c(a ⊑ ¯c→s ¯c 6=c) W ⊢w : a⊑c′ →sc′ 6= c R, X, Y, W ⊢ (w)(r)xy: sc′ 6=c R, X, W ⊢ λy(w)(r)xy: b′⊑c′ →sc′ 6= c R, X, W ⊢ λy(w)(r)xy: ∀c′(b′ ⊑c′ →sc′ 6=c)
Considérant par ailleurs la dérivation suivante
V ⊢ v: b ⊑c
R V ⊢ v: ∀b′(∀c′(b′ ⊑c′ →sc′ 6= c) → sb′ 6= b)
V ⊢ v: ∀c′(b′ ⊑c′ →sc′ 6=c) → sb′ 6=b
On en déduit que le séquent R, X, W, V ⊢ (v)λy(w)(r)xy: sb′ 6=b est dérivable. On peut alors conclure comme suit :
3.1 Une relation de préordre 49 ... R, X, W, V⊢ (v)λy(w)(r)xy: sb′6=b R, W, V⊢λx(v)λy(w)(r)xy: a ⊑b′→sb′6=b R, W, V⊢λx(v)λy(w)(r)xy:∀b′(a ⊑b′→ sb′6=b) R, W, V⊢λx(v)λy(w)(r)xy:∀b′(a ⊑b′→ sb′6=b) U⊢sa⊑b U⊢u:∀b′(a ⊑b′→sb′ 6=b)→ sa6=sa R, W, V, U ⊢ (u)λx(v)λy(w)(r)xy: sa6=sa R, V, U ⊢ λw(u)λx(v)λy(w)(r)xy: ∀c′(a⊑c′ →sc′ 6=c) → sa6=sa R R, V, U⊢ λw(u)λx(v)λy(w)(r)xy: ∀a′(∀c′(a′ ⊑c′ →sc′ 6=c) → sa′ 6=sa) R R, V, U ⊢ λw(u)λx(v)λy(w)(r)xy: sa⊑c R, U ⊢λvλw(u)λx(v)λy(w)(r)xy: b ⊑c →sa⊑c R⊢ λuλvλw(u)λx(v)λy(w)(r)xy: sa⊑b, b⊑c →sa⊑c R⊢ λuλvλw(u)λx(v)λy(w)(r)xy: ∀c(sa⊑b, b ⊑c→sa ⊑c) R⊢ λuλvλw(u)λx(v)λy(w)(r)xy: F(sa) ⊢ λrλuλvλw(u)λx(v)λy(w)(r)xy: F(a) → F(sa) ⊢ λrλuλvλw(u)λx(v)λy(w)(r)xy: ∀a(F(a) → F(sa))
Pour le second point, on prend les notations suivantes : – R pour le contexte r : ⊤,
– W pour le contexte w : ∀¯c(a′ ⊑ ¯c→s ¯c 6=c), – V pour le contexte v : b ⊑c,
– U pour le contexte u : 0⊑b.
La dérivation suivante donne alors le résultat.
R, W, V, U ⊢ (u)λx(v)λy(w)(r)xy: ⊤ R R, W, V, U ⊢ (u)λx(v)λy(w)(r)xy: sa′ 6=0 R, V, U ⊢ λw(u)λx(v)λy(w)(r)xy: ∀c′(a′ ⊑c′ →sc′ 6= c) →sa′ 6= 0 R R, V, U ⊢ λw(u)λx(v)λy(w)(r)xy: ∀a′(∀c′(a′ ⊑c′ → sc′ 6=c) → sa′ 6=0) R R, V, U ⊢λw(u)λx(v)λy(w)(r)xy: 0⊑c R, U ⊢ λvλw(u)λx(v)λy(w)(r)xy: b ⊑c →0⊑c R⊢ λuλvλw(u)λx(v)λy(w)(r)xy: 0⊑b, b⊑c →0⊑c R ⊢ λuλvλw(u)λx(v)λy(w)(r)xy: F(0) ⊢ λrλuλvλw(u)λx(v)λy(w)(r)xy:⊤ → F(0)
Deuxième démonstration. On note θ le terme considéré. On va prouver par ré-
currence sur m que quels que soient les entiers n et p ainsi que la pile π dans
||m ⊑n, n⊑ p→ m⊑ p||, le processus θ⋆π est dans ⊥⊥.
Si m=0, le résultat est trivial car||m⊑n, n ⊑p →m⊑ p|| = ⊤.
Sinon, π est de la forme u·v·w·ρavec u m⊑n, v n⊑ p et
w ∀y(m−1 ⊑ y → sy 6= p). Le processus considéré se réduit alors en u⋆λx(v)λy(w)(θ)xy·ρ. Puisque u ∀y(m−1⊑y →sy 6= n) → ⊥, il suffit de
50 Les entiers comme classes d’équivalences sinon, on considère un terme u′réalisant m−1⊑n−1, et on est ramené à mon-
trer λx(v)λy(w)(θ)xy⋆u′·ρ′ ∈ ⊥⊥, pour toute pile ρ′. Or ce processus se réduit
en v⋆λy(w)(θ)u′y·ρ′, et puisque v réalise∀y(n−1⊑y →sy 6= p) → ⊥, il nous
suffit de démontrer que λy(w)(θ)u′y réalise ∀y(n−1 ⊑ y → sy 6= p). On peut encore supposer p6=0, et on s’est ramené à démontrer que si v′ n−1⊑ p−1
et ρ′′ ∈ Π, alors λy(w)(θ)u′y⋆v′ ·ρ′′ ∈ ⊥⊥. Mais ce processus se réduit en w⋆(θ)u′v′·ρ′′, et comme w m−1 ⊑→ p−1 → ⊥, il suffit de prouver que (θ)u′v′ réalise m−1⊑ p−1, ce qui est vrai par hypothèse de récurrence.
Soit θ la quasi-preuve donnée dans le théorème précédent. On considère trois termes u, v, w quelconques, une pile π et l’on observe la suite des réductions de θ⋆u·v·w·π. Il se réduit en (u) ⋆λx(v)λy(w)((Y)θ)xy·π La suite dépend
évidemment du terme u, mais si l’on suppose que celui-ci finit au bout d’un certain nombre d’étapes de réduction par « rendre la main », c’est-à-dire par mettre son argument en tête et par lui donner un terme u′, on obtient :
θ⋆u·v·w·π ≻ (v) ⋆λy(w)((Y)θ)u′y·π
Encore une fois, si l’on suppose que v (resp. w) finit lui aussi par mettre son argument en tête et lui donner un terme v′ (resp. w′), on obtient la suite de
réductions suivantes :
θ⋆u·v·w·π ≻ (u) ⋆λx(v)λy(w)((Y)θ)xy·π ≻ (v) ⋆λy(w)((Y)θ)u′y·π
≻ w⋆((Y)θ)u′v′·π ≻ θ⋆u′·v′·w′·π
Une première interprétation : On remarque que l’utilisation du combinateur de point fixe Y permet d’écrire un terme dont l’exécution est récursive. L’emploi de Y pour la construction d’un terme correspond donc à celui d’une « boucle while » dans l’écriture d’un programme. Alors que la réalisation de formules restreintes aux entiers correspond à la programmation itérative (utilisant des « boucles for »), la réalisation de formules dans le modèle quotienté (qui est un modèle élémentairement équivalent au premier modèle de l’arithmétique de Peano) correspond elle au paradigme de la programmation récursive. Il y a donc une correspondance entre paradigmes de raisonnement et paradigmes de programmation.
3.1 Une relation de préordre 51 On peut se demander pourquoi cette stratégie permet de prouver le théo- rème. Le mécanisme qu’effectue un réalisateur de ce théorème doit permettre, étant donné trois suites de négations de longueur paire dont l’une au moins mène au type⊤ → ⊥, d’extraire un terme réalisant ⊤ → ⊥.
En effet dire que θ réalise le théorème considéré implique que, quels que soient les entiers n, m, p non nuls, θ réalise la formule :
¬2Min(n,m)M(n, m), ¬2Min(m,p)M(m, p), ¬2Min(n,p)−1M(n, p) → ⊥,
où M(a, b)dénote la formule⊤si a6b, et la formule⊤ → ⊥si a>b. Le terme
que nous avons trouvé va intuitivement remonter ces trois suites de négation l’une après l’autre, en retirant deux négations à chaque fois, et en suivant l’ordre dans lequel elles lui sont données. Il ne réussira donc à aboutir au type⊤ → ⊥
que si celui-ci se trouve dans la première des trois dont la taille est minimale. En effet, si θ met en tête au cours de son exécution (dans un contexte donné) un terme ne réalisant a priori que ⊤ (c’est-à-dire un terme quelconque), alors rien ne dit que celui-ci finira par mettre son argument en tête, c’est-à-dire par rendre la main à θ. Au contraire, un terme réalisant une formule de la forme
(F → ⊥) → ⊥ finira toujours par mettre son argument en tête en lui donnant à son tour un argument. Et le fait que le type ⊤ → ⊥ se trouve au bout de la suite de négation la plus courte des trois se prouve via le résultat élémentaire d’arithmétique suivant :
∀i∀j∀k[Min(i, j) <Min(i, k) → i> j]
Celui-ci permet d’assurer que :
1. si la première suite de négation est de longueur plus courte que la troi- sième, alors elle pointe sur⊤ → ⊥.
2. si la seconde suite de négation est de longueur strictement plus petite que la première, alors elle pointe sur⊤ → ⊥.
3. si la troisième suite de négation est de longueur strictement plus courte que la première et la seconde, alors elle pointe sur⊤ → ⊥.
Donc dans tous les cas la première suite de négation à être de taille minimale pointe sur le type⊤ → ⊥.
Spécification du théorème de transitivité
Commençons par énoncer la spécification de la formule (⊤ → ⊥) → ⊥. Théorème 3.1.12.
Soit u réalisant la formule(⊤ → ⊥) → ⊥. Alors quel que soient le terme t et la pile
π, on a
u⋆t·π ≻t⋆ρ,
52 Les entiers comme classes d’équivalences La formule (⊤ → ⊥) → ⊥ spécifie donc les termes qui « utilisent leur argument », au sens où ils finissent par le faire apparaître en tête d’une pile non vide. On démontre aisément que la réciproque est vraie.
Démonstration du théorème3.1.12. Soit⊥⊥ =<u⋆t·π >. Considérant que u réa-
lise(⊤ → ⊥) → ⊥ et que u⋆t·π ∈ ⊥/ ⊥, on en déduit t 1 ⊤ → ⊥. C’est-à-dire
qu’il existe ρ∈ ||⊤ → ⊥||tel que t⋆ρ ∈ ⊥/ ⊥; autrement dit le processus u⋆t·π
se réduit en t⋆ρ. Il reste à voir que||⊤ → ⊥||est égal à{v·π′; v ∈ Λc, π′ ∈ Π}
pour conclure.
Pour énoncer clairement la spécification des formules de la forme n⊑n+p, on se donne une suite d’instructions (γi1)i, possédant les règles d’exécutions suivantes :
γ1i+1⋆t·π ≻t⋆γ1
i ·π En particulier l’instruction γ1
0 ne possède pas de règle d’exécution, et si une
instruction γ1
i+1arrive en tête d’une pile vide, l’exécution s’arrête.
Bien évidemment, il n’est pas nécessaire de considérer ces nouvelles instru- ctions, puisque leur comportement peut être obtenu avec des λ-termes usuels. Cette manière de procéder permet cependant d’exprimer de manière plus claire les spécifications à venir. Par ailleurs, il est important de noter que l’on ne de- mande pas aux ensembles⊥⊥considérés d’être saturés pour leur règle d’exécu-
tion : ces instructions ne possèdent aucun contenu axiomatique, et ne servent en aucun cas à écrire des quasi-preuves. Le lemme2.2.2assure néanmoins que le complémentaire d’un fil est saturé pour chaque instruction γ1
i.
Lemme 3.1.13.
Soit p un processus, et ⊥⊥ =< p >. Alors γ1
n réalise la formule ¬2n⊤, quel que soit
l’entier n.
Démonstration. On prouve le résultat par induction sur n.
Si n=0, il n’y a rien à démontrer.
Si n > 0, on prend t ∈ |¬2(n−1)⊤ → ⊥|, π ∈ Π, et l’on doit montrer que le processus γ1n ⋆t·π est dans ⊥⊥. Celui-ci réduit en t⋆γ1
n−1·π, et puisque le
lemme 2.2.2assure que ⊥⊥ =< p > est saturé pour l’instruction γ1
n, il suffit de démontrer que ce dernier processus est dans ⊥⊥. On déduit alors le résultat de l’hypothèse d’induction.
Réciproquement, un terme réalisant la formule ¬2n⊤ a un comportement analogue à celui de l’instruction γ1n. Montrons déjà le lemme suivant, qui sera souvent utilisé dans la suite.
Lemme 3.1.14.
Soit p un processus, et⊥⊥ =< p >. Si γ1
3.1 Une relation de préordre 53
Démonstration. Nous allons prouver la formule contraposée par récurrence sur
n. Si n = 0 il n’y a rien à démontrer. Sinon, on considère un terme t réalisant
¬2n⊤ et une pile π. On doit montrer que le processus γ1
n⋆t·π est dans ⊥⊥. Celui-ci se réduit en t⋆γ1
n−1·π, et considérant le lemme 2.2.2, il suffit de dé-
montrer que ce dernier processus est dans ⊥⊥. Mais l’hypothèse de récurrence assure que γ1
n−1 ¬2(n−1)⊤ → ⊥, ce qui termine la démonstration.
Théorème 3.1.15.
Soit n>0 et θ réalisant n⊑n+p pour tout⊥⊥. Alors pour k6n−1, l’exécution du
processus θ⋆γ1
k·π se termine sur un processus de la forme γ10⋆t·ρ, quelle que soit
la pile π.
Un tel résultat est évidemment inutile du point de vue de la programmation, puisque rien ne garantit que l’exécution s’arrête dans le cas où k>n−1.
Démonstration. Soit ⊥⊥ =< θ ⋆ γ1
n−1 · π >. Puisque θ réalise la formule
(n−1⊑n+p−1→ ⊥) → ⊥ et que θ⋆γ1
n−1·π ∈ ⊥/ ⊥, on en déduit que γ1n−1
ne réalise pas n−1 ⊑ n+p−1 → ⊥ pour ce ⊥⊥. Le lemme 3.1.14 assure alors
γ10 1 ⊤ → ⊥, c’est-à-dire qu’il existe une pile ρ et un terme t tels que γ1 0⋆t·ρ
apparaisse dans le fil considéré, ce qui termine la démonstration. On raisonne- rait de même avec k<n−1.
Remarque : La suite d’instructions γ permet d’énoncer la spécification des for- mules de la forme ¬2n⊤. On peut la voir comme étant un programme écrit spécialement pour vérifier le comportement d’un autre programme θ. En effet, γ1n se contente de donner à θ ce qu’il lui faut pour poursuivre son exécution lorsqu’elle est appelée en tête ; en modifiant la valeur de l’entier n on peut in- terrompre l’exécution du processus à tout moment, et vérifier ainsi que tout se déroule comme prévu.
Afin d’énoncer la spécification de la formule exprimant la transitivité de la relation ⊑, on se donne trois suites d’instructions (γij)i pour 1 6 j 6 3,
possédant des règles d’exécution identiques, à savoir : γij+1⋆t·π ≻t⋆γj
i·π
On peut noter que le comportement de l’instruction γnj est celui partagé par tous les termes réalisant une formule de la forme¬2nF(la preuve est analogue à celle du théorème3.1.15). Il s’agit donc de la spécification des formules formant les hypothèses du théorème de transitivité. C’est-à-dire que pour expliciter le comportement des termes réalisant une formule de la forme A1, . . . , An →B, on lui donnera en argument des termes u1, . . . , un ayant respectivement les com- portements typiques de termes réalisant les formules A1, . . . , An; il s’agit intui- tivement des « arguments naturels » du terme considéré.
54 Les entiers comme classes d’équivalences Théorème 3.1.16.
Soit θ réalisant∀x∀y∀z(x ⊑y, y ⊑z →x ⊑z)Alors pour toute pile π, l’exécution
de θ⋆γ1
n1 ·γ2n2·γ3n3·π se termine sur un processus de la forme :
– γ10⋆t·ρ si n1 6n2et n16n3,
– γ20⋆t·ρ si n2 <n1 et n26n3,
– γ30⋆t·ρ si n3 <n1 et n3 <n2.
Interprétation : On peut considérer que chaque instruction γnj code l’entier
n. Cette spécification est alors celle des termes qui, étant donné trois entiers, calculent le premier des trois à être minimal parmi eux.
Démonstration. Soit⊥⊥ =< θ⋆γ1
n1 ·γ
2
n2 ·γ3n3·π >, pour une pile π quelconque.
1. Si n1 6 n2 et n1 6 n3. On considère que θ réalise la formule n1+1⊑n1, n1 ⊑n1 →n1+1⊑n1. Du lemme 3.1.13 on déduit que γ2n2
réalise n1 ⊑n1 et γ3n3 ¬2n1⊤. Il en résulte γn11 1 (n1+1) ⊑ n1, puisque
le processus considéré n’est pas dans ⊥⊥. Le lemme 3.1.14 donne alors γ10 1 ⊤ → ⊥, c’est-à-dire qu’il existe un terme t et une pile ρ tels que γ10⋆t· ·ρ apparaisse dans le fil considéré, ce qui termine la démonstra-
tion.
2. Si n2 < n1 et n2 6 n3. On raisonne de la même manière, en considérant
que θ n2+1⊑n2+2, n2+2⊑n2 →n2+1⊑n2.
3. Si n3 < n1 et n3 < n1. On considère dans ce cas que θ réalise
n3+1⊑n3+1, n3+1⊑n3+1→n3+1⊑n3+1.
Remarque : Lorsqu’on observe l’exécution du processus θ⋆γ1
n1·γ2n2·γ3n3·π,
on observe qu’apparaissent en tête et dans cet ordre les instructions suivantes : γ1n1, γn22, γ3n3, γ1n1−1, γ2n2−1, γn33−1... Ceci n’est pas vrai en général : toutes ces instructions apparaissent bien en tête de pile, mais l’ordre peut être différent. Dans le cas où l’on restreint les instructions disponibles à la seule instruction cc, on peut néanmoins démontrer ce résultat, ce qui permet d’interpréter cette spécification comme étant celle de l’ordonnanceur le plus simple qui soit : le
tourniquet.
Pour n > 2, on peut à l’aide d’une preuve identique à celle du théorème
3.1.11obtenir une quasi-preuve réalisant la formule
∀x1. . .∀xn+1(x1 ⊑x2, . . . , xn ⊑xn+1→ x1 ⊑xn+1).
On obtient alors une spécification analogue à la précédente. Théorème 3.1.17.
Soit p > 2. La formule ∀x1. . .∀xp+1(x1 ⊑ x2, . . . , xp ⊑ xp+1 → x1 ⊑ xp+1) est réalisé par la quasi-preuve
3.1 Une relation de préordre 55
Démonstration. Soit θ le terme considéré. Montrons par induction sur l’entier
n1 que le processus θ ⋆π est dans ⊥⊥ quels que soient n2, . . . , np+1 et π dans ||n1⊑n2, . . . , np ⊑np+1 →n1 ⊑np+1||.
Si n1 =0, il n’existe aucune pile dans cet ensemble, ce qui prouve le résultat.
Sinon, considérons une telle pile π. Celle-ci est alors de la forme t1·. . .·tp·u·ρ avec ti ni ⊑ ni+1 et u ∀y(n1−1 ⊑y → sy 6= np+1). Le processus considéré
se réduit alors en t1⋆λx1(t2)λx2. . .(tp)λxp(u)(θ)x1. . . xp·ρ. Comme n1 6= 0,
on a t1 ∀y(n1−1 ⊑ y → sy 6= n2) → ⊥; il nous suffit donc de montrer λx1(t2)λx2. . .(tp)λxp(u)(θ)x1. . . xp ∀y(n1−1 ⊑y → sy 6= n2). Si n2 =0, on
à là le résultat. Sinon, on considère un terme t′
1 réalisant n1−1 ⊑ n2−1, et il
nous faut montrer que le processus λx1(t2)λx2. . .(tp)λxp(u)(θ)x1. . . xp⋆t′1·ρ
est dans⊥⊥. Mais il se réduit en t2⋆λx2(t3)λx2. . .(tp)λxp(u)(θ)t′
1x2. . . xp·ρ, et l’on est ramené à la même discussion : si n3est nul il n’y a plus rien à démontrer,
et sinon on doit considérer un terme t′
2réalisant n2−1 ⊑n3−1, et montrer que
le processus λx2(t3)λx3. . .(tp)λxp(u)(θ)t′1x2. . . xp⋆t′2·ρ est dans ⊥⊥. Donc en itérant ce raisonnement, on prouve le résultat si l’un des ni est nul, et sinon on se ramène à montrer qu’un processus de la forme u⋆(θ)t′1t′2. . . t′p·ρ est dans ⊥⊥, avec chacun des t′i qui réalise ni−1⊑ni+1−1. Mais comme np+1 6=0, on en
déduit que u réalise n1−1 ⊑ np+1−1 → ⊥. Si n1−1 = 0 il n’y a plus rien à
démontrer, et sinon il suffit de prouver que si u′ réalise
∀y(n1−2 ⊑ y → sy 6= np+1−1), alors le processus (θ)t′1t′2. . . t′p⋆u′·ρ est dans
⊥⊥, ce qui découle alors de l’hypothèse d’induction.
On se donne pour spécifier ce théorème une famille de suites d’instructions
(γij)i, pour j entre 1 et p+1.
Théorème 3.1.18.
Soit θ réalisant ∀x1. . .∀xp+1(x1 ⊑ x2, . . . , xp ⊑ xp+1 → x1 ⊑ xp+1). Alors pour
toute pile π, l’exécution de θ⋆γ1n
1 ·. . .·γ
p+1
np+1 ·π se termine sur un processus de la
forme γ0j ⋆t·ρ, où j est tel que nj est le premier des entiers n1, . . . , np+1à être minimal
parmi eux.
Interprétation : Cette spécification est celle des termes qui permettent de cal- culer le premier des entiers parmi p+1>3 à être le plus petit.
Démonstration. Soit π ∈ Π et ⊥⊥ =< θ⋆γ1n
1 ·. . .·γ
p+1
np+1 ·π >. On appelle ni le
premier parmi les entiers n1, . . . , np+1 à être minimal parmi eux ; c’est-à-dire
que l’on a ni <nk si k <i, et ni 6nk sinon. On considère alors que θ réalise la formule F1, . . . , Fp →ni+1⊑ni, où Fk = ni+1⊑ni+1 si k <i ni+1⊑ni si k =i ni ⊑ni si k >i
56 Les entiers comme classes d’équivalences Mais si k < i on a γk nk ¬ 2(ni+1)⊤, et donc γk nk ni+1 ⊑ ni+1. De même, si k > i on a γk nk ¬ 2ni⊤, et donc γk nk ni ⊑ ni. Enfin, on a γ p+1 np+1 ¬2ni⊤, et donc γnp+p+11 ∀y(ni+1⊑y →sy 6=ni).
Puisque le processus considéré n’est pas dans⊥⊥, on en déduit que γi
ni ne réalise
pas ni+1 ⊑ ni. Le lemme 3.1.14 assure alors γi0 1 ⊤ → ⊥, c’est-à-dire qu’il existe un terme t et une pile ρ tels que γi
0⋆t·ρapparaisse dans le fil considéré,
ce qui termine la démonstration.