3.2 Un prédicat pour l’addition
3.2.3 Commutativité
On peut alors réaliser une formule exprimant que l’addition induite par la conjonction A des relations A⊑et A⊒sur les modèles génériques quotientés est
commutative à l’aide des deux lemmes suivants. Lemme 3.2.12.
La formule ∀x′∀x′′∀x(A⊑x′, x′′, x → A⊑x′′, x′, x) est réalisée par la quasi-preuve suivante :
(Y)λrλuλv(u)λaλb((v)λd(b)λe(d)(r)e)λd(a)λe(d)(r)e.
On trouvera la preuve suivante présentée en séquents dans l’annexeA(voir page165).
Démonstration. Soit θ le terme considéré. On va montrer par induction sur p,
que quels que soient les entiers m et n, le terme u réalisant A⊑m, n, p, l’ensemble
de piles Φ, le terme v réalisant ∀x ∀z(A⊑x, m, z→sz6= p) →sx6=n ,∀y ∀z(A⊑n, y, z→sz6=p) →sy6=m →Φ,
et la pile π ∈ Φ, le processus θ⋆u·v·π est dans ⊥⊥. Celui-ci se réduisant en
u⋆λaλb((v)λd(b)λe(d)(r)e)λd(a)λe(d)(θ)e·π, il suffit (considérant la formule
réalisée par u) de démontrer que λaλb((v)λd(b)λe(d)(θ)e)λd(a)λe(d)(θ)e réa- lise ∀x ∀z(A⊑x, n, z→sz6=p) →sx6=m ,∀y ∀z(A⊑m, y, z→sz6= p) →sy6=n → {π}.
Soient donc a et b deux termes réalisant (respectivement) les formules
∀x(∀z(A⊑x, n, z→sz 6= p) →sx6= m) et ∀y(∀z(A⊑m, y, z→sz 6= p) →sy6= n).
On doit montrer que le processus v⋆λd(b)λe(d)(θ)e·λd(a)λe(d)(θ)e·π est
dans⊥⊥. Il suffit pour cela, considérant la formule réalisée par v, de montrer λd(b)λe(d)(θ)e ∀x(∀z(A⊑x, m, z→sz 6= p) →sx 6=n),
et λd(a)λe(d)(θ)e ∀y(∀z(A⊑n, y, z→sz 6= p) →sy 6=m).
On va prouver la première assertion, la seconde se démontrant de manière ana- logue. Si n=0, il n’y a rien à démontrer. Sinon, on doit montrer que si d réalise ∀z(A⊑(n−1, m, z) →sz 6= p) et ρ ∈ Π, alors le processus λd(b)λe(d)(θ)e⋆d·ρ
76 Les entiers comme classes d’équivalences est dans ⊥⊥. Mais celui-ci se réduit en b⋆λe(d)(θ)e ·ρ, avec b qui réalise ∀z(A⊑(m, n−1, z) → sz 6= p) → ⊥. Il suffit donc de montrer que λe(d)(θ)e
réalise ∀z(A⊑(m, n−1, z) → sz 6= p). Encore une fois il n’y a rien à démon-
trer si p = 0, et sinon il suffit de démontrer d⋆(θ)e·ρ′ ∈ ⊥⊥ pour e réalisant
A⊑(m, n−1, p−1) et ρ′ ∈ Π. Puisque d A⊑(n−1, m, p−1) → ⊥, le résultat
découle de l’hypothèse d’induction. Lemme 3.2.13.
La formule ∀x′∀x′′∀x(A⊒x′, x′′, x → A⊒x′′, x′, x) est réalisée par la quasi-preuve suivante :
(Y)λrλuλaλb((u)λc(b)λd(c)λe(d)(r)e)λc(a)λd(c)λe(d)(r)e.
La preuve qui suit est présentée en séquents dans l’annexe A (voir page 168).
Démonstration. On appelle θ la quasi-preuve considérée. On va prouver par
induction sur p que quels que soient les entiers m et n, le terme u réali- sant A⊒m, n, p, l’ensemble Φ de piles, π ∈ Φ, les termes a et b réalisant
respectivement les formules ∀z(∀x(A⊒x, m, z→sx 6=n) → sz 6= p) → Φ et
∀z(∀y(A⊒n, y, z→sy 6= m) → sz 6= p) → Φ, le processus θ⋆u·a·b·πest dans ⊥⊥. Celui-ci se réduisant en u⋆λc(b)λd(c)λe(d)(θ)e·λc(a)λd(c)λe(d)(θ)e·π, il
suffit de prouver que :
λc(b)λd(c)λe(d)(θ)e ∀z(∀x(A⊒x, n, z→sx6= m) → sz 6= p) → {π},
et λc(a)λd(c)λe(d)(θ)e ∀z(∀y(A⊒m, y, z→ sy6= n) → sz 6= p) → {π}.
Nous allons prouver la première assertion, la seconde se dé-
montrant de manière analogue. Soit donc c un terme réalisant
∀z(∀x(A⊒x, n, z→sx 6=m) →sz 6= p), montrons b ⋆ λd(c)λe(d)(θ)e· π ∈ ⊥⊥.
Considérant la formule réalisée par b, il suffit de prouver que λd(c)λe(d)(θ)e réalise∀z(∀y(A⊒n, y, z→sy 6=m) → sz 6= p).
Si p = 0, il n’y a rien à démontrer. Sinon, on doit prouver que si d réalise
∀y(A⊒(n, y, p−1) → sy 6= m) et ρ ∈ Π, alors le processus c⋆λe(d)(θ)e·ρ est
dans ⊥⊥. Mais comme c réalise ∀x(A⊒x, n, p−1 → sx 6= m) → ⊥, il suffit de
prouver λe(d)(θ)e ∀x(A⊒x, n, p−1→sx6= m). Si m=0 le résultat est trivial,
3.2 Un prédicat pour l’addition 77 Théorème 3.2.14.
Soit θ un terme réalisant∀x′∀x′′∀x(A⊒x′, x′′, x → A⊒x′′, x′, x), et θ′un terme réali- sant∀x′∀x′′∀x(A⊑x′, x′′, x → A⊑x′′, x′, x).
Alors la formule ∀x∀x′∀x′′∀z(A⊑x′, x′′, x , A⊒x′′, x′, z → z ⊑ x) est réalisée par chacune des deux quasi-preuves suivantes :
i) (Y)λrλaλbλc (θ)bλx(x)λy((a)˙1)λz(c)(r)zy λx(x)λy((a)˙0)λz(c)(r)zy ii) (Y)λrλaλbλc (b)λx(x)λy((θ′)a ˙1)λz(c)(r)zy λx(x)λy((θ′)a ˙0)λz(c)(r)zy.
Démonstration. La preuve est analogue à celle du théorème 3.2.10, et utilise les
lemmes3.2.12et3.2.13.
On en déduit une quasi-preuve réalisant le théorème exprimant la commu- tativité de l’addition définie sur l’espace quotient :
∀x∀x′∀x′′∀z(A(x′, x′′, x) , A(x′′, x′, z) → z≡x),
en utilisant deux fois le résultat ci-dessus.
La formule ∀x∀y(x+y = y+x) est réalisée par λx x, et sa spécification indique que toute quasi-preuve la réalisant se comporte comme ce terme. La méthode développée dans ce chapitre est une manière d’associer un contenu opérationnel non-trivial aux théorèmes de cette forme.
On peut maintenant donner la spécification associée au théorème3.2.14, qui est analogue à celle du théorème3.2.10.
Théorème 3.2.15.
Soit θ réalisant la formule∀x∀x′∀x′′∀z(A⊑(x′, x′′, x), A⊒(x′′, x′, z) → z⊑ x) Alors, pour toute pile π, l’exécution de θ⋆αk,l·βk′,l′·γn·π se termine sur un processus
de la forme :
– βτ0,0⋆t·ρ avec τ égal à 0 ou 1, si k′ 6l, l′6k et k′+l′ 6n,
– α0k,0⋆t·ρ si k′ >l et l6n,
– α10,¯l⋆t·ρ si k′ 6l, l′ >k et k′+k6n, où ¯l est compris entre l−k′ et l,
– γ0⋆t·ρ sinon.
Démonstration. Analogue à celle du théorème3.2.10.
Une méthode alternative
On peut à l’aide des lemmes 3.2.12 et 3.2.13 réaliser une autre formule expri- mant elle aussi la commutativité de l’addition induite :
∀x′∀x′′∀x(Ax′, x′′, x→ Ax′′, x′, x)
La spécification de celle-ci s’obtient aisément à partir de celles des théorèmes réalisés aux lemmes3.2.12et 3.2.13.
78 Les entiers comme classes d’équivalences On donne ci-dessous la spécification associée au lemme 3.2.13. On utilise pour cela la suite de processus α, mais afin d’obtenir le résultat le plus clair possible on ajoute des nouvelles instructions α−1,˜let α˜k,−1 quels que soient les entiers ˜k et ˜l, ainsi que les règles d’exécution suivante :
α10,˜l⋆t·π ≻t⋆α
−1,˜l·π α0˜k,0⋆t·π ≻t⋆α˜k,
−1·π
Lemme 3.2.16.
Soit p ∈ Λc ⋆Π et ⊥⊥ =< p >. Avec les hypothèses supplémentaires ci-dessus, si
p>k+l, on a :
1. α1k,l ∀z(∀x(A⊒x, l, z→sx6= k) → sz 6= p) → ⊥ 2. α0k,l ∀z(∀y(A⊒k, y, z→sy 6=l) → sz 6= p) → ⊥
Démonstration. On va montrer le résultat suivant par récurrence dite « descen-
dante » sur ˜k+˜l :
Quels que soient ˜l et ˜k entiers tels que 06 ˜l6l et 06 ˜k6k on a : α1
k−˜k,l−˜l ∀z(∀x(A⊒(x, l−˜l, z) → sx6= k−˜k) →sz 6= p−˜k−˜l) → ⊥
et α0
k−˜k,l−˜l ∀z(∀y(A⊒(k−˜k, y, z) → sy6= l−˜l) → sz6= (p−˜k−˜l)) → ⊥.
Si ˜k+˜l=k+l: on doit montrer que α10,0et α00,0réalisent (⊤ → ⊥) → ⊥, ce qui
découle de l’ajout d’instructions supplémentaires. Si ˜k+˜l<k+l :
1. Montrons α1
k−˜k,l−˜l⋆t·π ∈ ⊥⊥ si π est une pile et t un terme réalisant
∀z(∀x(A⊒(x, l−˜l, z) →sx 6= k−˜k) → sz 6= (p−˜k−˜l)). Ce processus se
réduit en t⋆α
k−˜k−1,l−˜l·π. Il suffit donc de montrer que αk−˜k−1,l−˜l réalise
∀x(A⊒(x, l−˜l, p−˜k−˜l−1) →sx 6=k−˜k). Si ˜k= k, il n’y a rien à montrer.
Sinon, on prend une pile ρ, un terme t′ réalisant A
⊒(k−˜k, l−˜l, p−˜k−˜l−1)
et il suffit de montrer que αk−˜k−1,l−˜l⋆t′·ρ est dans ⊥⊥. Ce processus se
réduisant en t′⋆α1
k−˜k−1,l−˜l·αk0−˜k−1,l−˜l·ρ, il suffit de prouver que α 1
k−˜k−1,l−˜l
et α0
k−˜k−1,l−˜l réalisent respectivement les formules suivantes :
∀z(∀x(A⊒(x, l−˜l, z) → sx6= (k−˜k−1) → sz 6= (p−˜k−˜l−1)) → ⊥
et ∀z(∀y(A⊒(k−˜k−1, y, z) →sy 6= (l−˜l) →sz 6= (p−˜k−˜l−1)) → ⊥, ce qui
est vrai par hypothèse de récurrence.
3.2 Un prédicat pour l’addition 79 On peut enfin donner la spécification associée au lemme 3.2.13.
Théorème 3.2.17.
Soit θ un terme réalisant le théorème∀x′∀x′′∀x(A⊒x′, x′′, x→ A⊒x′′, x′, x). Alors quelle que soit la pile π, l’exécution de θ⋆βk′,l′·α1k,l·α0
k,l·π se termine sur un
processus de la forme :
– βτ0,0⋆t·ρ si k′ 6l et l′6k, avec τ égal à 0 ou à 1,
– α˜k,−1⋆t·ρ avec 06˜k 6k, si k′ >l,
– α−1,˜l⋆t·ρ avec 06 ˜l6l sinon, c’est-à-dire si k′ 6l et l′ >k.
Interprétation : Cette spécification est la même que la proposition3.2.11, à ceci près que les termes obtenus ici ne permettent pas d’intégrer une contrainte temporelle. Démonstration. Soit π ∈ Πet ⊥⊥ =< θ⋆βk′,l′·α1k,l·α0k,l·π >. 1er cas : si k′ 6l et l′ 6k.on a θ A⊒(l, k, k+l+1) →A⊒(k, l,k+l+1). Le lemme 3.2.16assure que : α1k,l ∀z(∀x(A⊒(x, l, z) → sx6=k) → sz6= (k+l+1)) → ⊥ et α0k,l ∀z(∀y(A⊒(k, y, z) → sy 6= l) → sz 6= (k+l+1)) → ⊥. On en déduit βk′,l′ 1 A⊒(l, k, k+l+1). C’est-à-dire qu’il existe une pile ρ, deux termes t1 et t0
réalisant respectivement
∀z(∀x(A⊒(x, k, z) → sx6= l) →sz 6= (k+l+1)) → ⊥
et ∀z(∀y(A⊒(l, y, z) → sy 6=k) → sz6= (k+l+1)) → ⊥tels que βk′,l′⋆t1·t0·ρapparaisse dans le fil considéré.
– Si k′ = l′ = 0 : ce processus se réduit par exemple en t
1⋆ β1
0,0·ρ (on
traiterait l’autre cas de la même façon), ce qui assure que β1
0,0 ne réalise
pas ∀z(∀x(A⊒(x, k, z) → sx 6= l) → sz 6= (k+l+1)). On en déduit qu’il
existe un terme t réalisant ∀x(A⊒(x, k, k+l) → sx 6= l) et une pile ρ′ tels
que le processus β10,0⋆t·ρ′ apparaisse dans le fil considéré, ce qui est le
résultat.
– Si k′ = 0 et l′ 6= 0 : ce processus se réduit en t 0⋆β0
0,l′ ·ρ, ce qui assure
β00,l′ 1 ∀z(∀y(A⊒(l, y, z) → sy 6= k) → sz 6= (k+l+1)), et l’on en déduit
qu’il existe t réalisant ∀y(A⊒(l, y, k+l) → sy 6= k) et une pile ρ′ tels que
le processus β0
0,l′⋆t·ρ′ apparaisse dans le fil considéré. Ce processus se
réduit en t⋆β0,l′−1·ρ′, ce qui assure β0,l′−1 1 A⊒(l, k−1, k+l) : on se
ramène au cas précédent en raisonnant par induction sur l′.
– Si k′ 6= 0 : ce processus se réduit en t 1⋆β1
k′,l′ ·ρ, ce qui donne
β1k′,l′ 1 ∀z(∀x(A⊒(x, k, z) → sx 6= l) → sz 6= (k+l+1)), et l’on en déduit
qu’il existe un terme t réalisant ∀x(A⊒(x, k, k+l) → sx 6= l) et une pile ρ′ tels que le processus β1k′,l′ ⋆t·ρ′ apparaisse dans le fil considéré. Ce
processus se réduit en t⋆βk′−1,l′·ρ′, et donc βk′−1,l′ 1 A⊒(l−1, k, k+l); on
80 Les entiers comme classes d’équivalences 2ièmecas : si k′ >l.On a θ A⊒(l+1, 0, l+1) → A⊒(0, l+1, l+1). Mais le lemme
3.2.6donne βk′,l′ A⊒(l+1, 0, l+1), c’est donc que :
– soit α1k,l 1 ∀z(∀x(A⊒(x, l+1, z) →sx 6=0) → sz 6= (l+1)) → ⊥,
– soit α0
k,l 1 ∀z(∀y(A⊒(0, y, z) →sy 6= (l+1)) → sz 6= (l+1)) → ⊥.
Montrons déjà que la première proposition ne peut être vraie : sinon, il existe- rait un terme t réalisant∀z(∀x(A⊒(x, l+1, z) →sx6= 0) →sz6= l+1) et une pile ρ tels que α1k,l ⋆t·ρ′ apparaisse dans le fil considéré. Ce processus se réduisant
en t⋆αk−1,l·ρ, on en déduirait αk−1,l 1 ∀x(A⊒(x, l+1, l → sx 6= 0), ce qui est
absurde.
Montrons alors par induction sur l que la seconde proposition permet de con- clure. Il existe t réalisant ∀z(∀y(A⊒(0, y, z) → sy 6= l+1) → sz 6= l+1) et une
pile ρ tels que α0k,l⋆t·ρ′appartienne au fil considéré. Ce processus se réduisant
en t⋆αk,l−1·ρ, on en déduit αk,l−1 1 A⊒0, l, l → ⊥. Il existe donc un terme
t′ réalisant A⊒(0, l, l) et une pile ρ′ tels que αk,l−1⋆t′·ρ′ apparaisse dans le fil
considéré.
Si l =0, ceci est le résultat.
Sinon, ce processus se réduit en t′⋆α1
k,l−1·α0k,l−1·ρ′, c’est-à-dire que : α1k,l−1 1∀z(∀x(A⊒(x, l, z) → sx6=0) → sz 6=l) → ⊥
ou α0
k,l−1 1 ∀z(∀y(A⊒(0, y, z) → sy 6= l) → sz 6= l) → ⊥. La première proposi-
tion étant absurde, on peut alors conclure grâce à l’hypothèse d’induction. 3ièmecas : si k′6l et l′ >k.On considère que θ A⊒(k′, l′, k′+l′)→A⊒(l′, k′, k′+l′).
Le lemme3.2.6assurant que βk′,l′ A⊒(k′, l′, k′+l′), c’est donc que :
– soit α1
k,l 1 ∀z(∀x(A⊒(x, k′, z) → sx6= l′) →sz 6= (k′+l′)) → ⊥,
– soit α0k,l 1 ∀z(∀y(A⊒(l′, y, z) →sy 6= k′) → sz 6= (k′+l′)) → ⊥.
Supposons être dans le premier cas, il existe alors un terme t réalisant
∀z(∀x(A⊒(x, k′, z) → sx 6= l′) → sz 6= (k′+l′)) et une pile ρ tels que α1k,l ⋆t·ρ
apparaisse dans le fil considéré. Ce processus se réduisant en t⋆αk−1,l·ρ, on
en déduit αk−1,l 1 A⊒(l′−1, k′, k′+l′−1) → ⊥. Il existe donc un terme t′ réali-
sant A⊒(l′−1, k′, k′+l′−1) et une pile ρ′ tels que αk−1,l⋆t′·ρ′ apparaisse dans
le fil considéré. Si k = 0 on a là le résultat. Sinon, ce processus se réduit en t′⋆α1
k−1,l·α0k−1,l·ρ′, c’est-à-dire que
α1k−1,l 1∀z(∀x(A⊒(x, k′, z) → sx6= (l′−1)) → sz 6= (k′+l′−1)) → ⊥
ou α0k−1,l 1 ∀z(∀y(A⊒(l′−1, y, z) → sy 6= k′) →sz 6= (k′+l′−1)) → ⊥. On est
donc ramené à l’alternative précédente où l’on a décrémenté les entiers k et l′.
Supposons maintenant être dans le second cas, il existe alors un terme t réali- sant∀z(∀y(A⊒(l′, y, z) →sy 6= k′) → sz 6= (k′+l′))et une pile ρ tels que
α0k,l⋆t·ρapparaisse dans le fil considéré. Ce processus se réduisant en
t⋆αk,l−1·ρ, il vient αk,l−11 ∀y(A⊒(l′, y, k′+l′−1)→sy6=k′). Ceci assure que
k′ 6= 0, et il existe alors une pile ρ′ et t′ réalisant A
⊒(l′, k′−1, k′+l′−1) tels
que αk,l−1⋆t′·ρ′ apparaisse dans le fil considéré. Or on a l > k′ > 0, donc ce
processus se réduit en t′⋆α1
3.2 Un prédicat pour l’addition 81 α1k,l−1 1∀z(∀x(A⊒(x, k′−1, z) → sx6= l′) →sz 6= (k′+l′−1)) → ⊥ou
α0k,l−1 1∀z(∀y(A⊒(l′, y, z→sy 6= (k′−1)) → sz 6= (k′+l′−1)) → ⊥.
On est donc encore une fois ramené à l’alternative précédente, où l’on a décré- menté les entiers k′ et l.
Considérant qu’on avait au départ k′ 6 l et l′ > k, on finit en itérant ce rai-
sonnement par se ramener à l’une des deux situations suivantes (on regarde le premier instant où l’un des deux entiers k′, k s’annule) :
i) α1 k−˜k,l−k′ 1 ∀z(∀x(A⊒(x, 0, z) → sx6= l ′−˜k) →sz 6=l′−˜k) → ⊥ ou α0 k−˜k,l−k′ 1 ∀z(∀y(A⊒(l′−˜k, y, z) → sy 6= 0) → sz 6= l′−˜k) → ⊥, avec 06˜k <k. ii) α10,l−˜l 1 ∀z(∀x(A⊒(x, k′−˜l, z) →sx 6= l′−k) →sz 6= k′+l′−k−˜l) → ⊥ ou α00,l−˜l1 ∀z(∀y(A⊒(l′−k, y, z) →sy 6= k′−˜l) → sz 6=k′+l′−k−˜l)→ ⊥, avec 06 ˜l<k′.
Voyons alors comment conclure dans chacun des cas :
i) Montrons d’abord que la deuxième proposition est absurde. Si-
non, il existerait une pile ρ2 et un terme t2 réalisant la formule
∀z(∀y(A⊒(l′−˜k, y, z) →sy 6=0) → sz6= l′−˜k)tels que α0k−˜k,l−k′⋆t2·ρ2soit
dans le fil considéré. Ce processus se réduisant en t2⋆α
k−˜k,l−k′−1·ρ2, ceci
assurerait que αk−˜k,l−k′−1ne réalise pas∀y(A⊒(l′−˜k, y, l′−˜k−1) →sy 6=0),
car l′−˜k > 0. Cette dernière assertion étant absurde, on en déduit que
l’on se trouve fatalement dans le premier cas. Montrons maintenant que la proposition α1
k−˜k,l−k′ 1 ∀z(∀x(A⊒(x, 0, z) → sx 6= l
′−˜k) →sz 6= l′−˜k) → ⊥ permet de
conclure, en raisonnant par induction sur k−˜k. Il existe donc t2 réalisant
∀z(∀x(A⊒(x, 0, z) → sx 6= l′−˜k) → sz 6= l′−˜k) et une pile ρ2 tels que α1k−˜k,l−k′ ⋆t2·ρ2 soit dans le fil considéré. Ce processus se réduit en
t2⋆α
k−˜k−1,l−k′·ρ2, ce qui assure que αk−˜k−1,l−k′ ne réalise pas la formule
∀x(A⊒(x, 0, l′−˜k−1) → sx6= l′−˜k), puisque l′ >k> ˜k. On en déduit qu’il
existe une pile ρ3 ainsi qu’un terme t3 réalisant A⊒(l′−˜k−1, 0, l′−˜k−1)
tels que αk−˜k−1,l−k′ ⋆t3·ρ3apparaisse dans le fil considéré.
Si k−˜k =0, on a là le résultat.
Sinon, ce processus se réduisant en t3 ⋆ α1
k−˜k−1,l−k′ · α0k−˜k−1,l−k′ ·
ρ3, on en déduit que α1k−˜k−1,l−k′ ne réalise pas la formule
∀z(∀x(A⊒(x, 0, z) → sx 6=l′−˜k−1) → sz 6=l′−˜k−1) → ⊥, ce qui permet
de conclure en utilisant l’hypothèse d’induction.
ii) Supposons que la première proposition soit vraie. Il existe alors t2 réali-
sant∀z(∀x(A⊒(x, k′−˜l, z) →sx6=l′−k) →sz 6=k′+l′−k−˜l) et une pile ρ2
tels que α1
0,l−˜l⋆t2·ρ2 soit dans le fil considéré. Ce processus se réduisant
en t2⋆α
82 Les entiers comme classes d’équivalences
∀x(A⊒(x, k′−˜l, k′+l′−k−˜l−1) →sx 6= l′−k), car ˜l<k′ et l′ >k. Il existe
alors t3 réalisant A⊒(l′−k−1, k′−˜l, k′+l′−k−˜l−1) → ⊥et une pile ρ3 tels
que α−1,l−˜l⋆t3·ρ3 apparaisse dans le fil considéré, ce qui est le résultat.
Si la seconde proposition est vraie, il existerait un terme t2 réalisant
∀z(∀y(A⊒(l′−k, y, z) →sy 6= k′−˜l) → sz 6= (k′+l′−k−˜l)) et une pile ρ2
tels que α0
0,l−˜l⋆t2·ρ2 soit dans le fil considéré. Ce processus se réduit en t2⋆α0,l
−˜l−1·ρ2, ce qui assure que α0,l−˜l−1 ne réalise pas
∀y(A⊒(l′−k, y, k′+l′−k−˜l−1) → sy 6= k′−˜l), car ˜l<k′ et l′ >k. Il existe
alors t3 réalisant A⊒(l′−k, k′−˜l−1, k′+l′−k−˜l−1) → ⊥ et une pile ρ3 tels
que α0,l−˜l−1⋆t3·ρ3apparaisse dans le fil considéré. On se ramène alors à
l’alternative suivante, avec 06 ˜l<k′ :
j) α10,l−˜l−1ne réalise pas
∀z(∀x(A⊒(x, k′−˜l−1, z) →sx 6=l′−k) →sz 6= (k′+l′−k−˜l−1)) → ⊥
ou
jj) α00,l−˜l−1ne réalise pas
∀z(∀y(A⊒(l′−k, y, z) →sy 6= (k′−˜l−1)) →sz 6= (k′+l′−k−˜l−1)) → ⊥
On va démontrer par induction sur k′−˜l−1 que cette assertion permet
de conclure.
Si k′−˜l−1 = 0, montrons que la seconde proposition ne peut être vé-
rifiée, ce qui permet alors de conclure en raisonnant comme ci-dessus. Sinon, puisque l′ > k, il existerait une pile ρ
4 et un terme t4 réalisant
∀y(A⊒(l′−k, y, l′−k−1) →sy 6=0) → ⊥tels que t4⋆α0
0,l−˜l−1·ρ4soit dans
le fil considéré. Ceci impliquerait que α00,l−˜l−1 ne réalise pas la formule
∀y(A⊒(l′−k, y, l′−k−1) →sy 6=0), ce qui est absurde.
Supposons maintenant k′ − ˜l − 1 > 0. Encore une fois, si la
première proposition est vraie, on démontre facilement le ré-
sultat. Sinon, il existe une pile ρ4 et un terme t4 réalisant
∀y(A⊒(l′−k, y, k′+l′−k−˜l−2) →sy 6= (k′−˜l−1)) → ⊥ tels que le proces-
sus t4⋆α0
0,l−˜l−1·ρ4 soit dans le fil considéré. On en déduit que α00,l−˜l−1 ne
réalise pas∀y(A⊒(l′−k, y, k′+l′−k−˜l−2) → sy 6= (k′−˜l−1)). C’est-à-dire
qu’il existe t5 réalisant A⊒(l′−k, k′−˜l−2, k′+l′−k−˜l−2)et une pile ρ5tels
que α0
0,l−˜l−1⋆t5·ρ5. Ce processus se réduisant en t5⋆α0,l−˜l−2·ρ5, on est
donc dans l’alternative suivante : k) α10,l−˜l−2 ne réalise pas
∀z(∀x(A⊒(x, k′−˜l−2, z) →sx 6= (l′−k)) →sz 6= (k′+l′−k−˜l−2)) → ⊥
ou
kk) α00,l−˜l−2ne réalise pas
∀z(∀y(A⊒(l′−k, y, z) →sy6= (k′−˜l−2)) →sz 6= (k′+l′−k−˜l−2)) → ⊥
Chapitre
4
Jeux et spécification de protocoles
réseaux
Nous allons dans ce chapitre développer une correspondance introduite dans [28] entre d’une part des jeux définis sur les formules du premier ordre, et d’autre part la spécification des protocoles de la couche transport des réseaux. Celle-ci donne un éclairage nouveau sur ces protocoles, et permet d’en donner une spécification, ce qui était difficilement réalisable avec leur description par des automates. Par ailleurs, on verra que la robustesse d’un protocole corres- pond à la validité de la formule associée, ce qui permet d’espérer pouvoir écrire de nouveaux protocoles grâce à cette méthode.
4.1 Notions de protocole de transport
Nous allons dans cette partie décrire brièvement le protocole TCP (pour
Transmission Control Protocol), tel qu’il est détaillé dans [32]. Il s’agit de l’un des
principaux protocoles de la couche transport du modèle TCP/IP, dont le rôle est de permettre aux applications de communiquer de manière sûre, en inté- grant un contrôle de livraison. TCP permet donc aux routeurs de s’affranchir de ce problème et de ne s’occuper que de l’acheminement des données à travers le réseau. Pour assurer cette fiabilité, il faut ajouter aux paquets de données un en-tête qui va permettre de synchroniser les transmissions et d’assurer leur réception.