2.4 Etat de l’art et conclusions
3.1.1 Bisimulation d’ordre sup´erieur
Comme pour HOπP, les observables d’un processus P sont les noms et co-noms γ
sur lesquels une communication ou une passivation est possible imm´ediatement (c’est-`
a-dire tels que P −→
γ). Nous proposons une bisimilarit´e d’ordre sup´erieur comme premi`ere
caract´erisation de la congruence barbue. En effet, comme soulign´e en section 2.3.2, la
passivation peut s´eparer message et continuation et les placer dans des contextes diff´erents.
En outre, ils ne peuvent plus partager de noms restreints en HOP ; nous pouvons donc
comparer s´epar´ement messages et continuations sans ˆetre trop discriminant comme en
HOπ (section 2.2.2).
D´efinition 3.1. Une relation R sur les processus clos est une simulation forte d’ordre
sup´erieure ssi P RQimplique :
– pour tout P −→
τP
′, il existeQ
′tel que Q−→
τQ
′et P
′RQ
′;
– pour tout P −→
aF, pour tour processus clos R, il existe F
′tel que Q −→
aF
′et
Syntaxe :
P ::= 0 | X | P |P | !P | M
M ::= M +M | a(X)P | ahPiP
R`egles de la congruence structurelle
P |(Q|R)≡(P |Q)|R P |Q≡Q|P P |0≡P !P ≡P |!P
P+ (Q+R)≡(P+Q) +R P+Q≡Q+P
Extension des op´erateurs `a tous les agents
(X)Q|P = (
∆X)(Q|P)
P |(X)Q = (
∆X)(P |Q)
a[(X)Q] = (
∆X)a[P]
(hQiR)|P =
∆hQi(R|P)
P |(hQiR) =
∆hQi(P |R)
a[hQiR] =
∆hQia[R]
R`egles du syst`eme de transitions ´etiquet´ees
a(X)P −→
a(X)P In ahQiP −→ h
aQiP Out a[P]−→ h
aPi0 Passiv
P −→
αA
P |Q−→
αA|Q
Par P −→
αA
!P −→
αA|!P
Replic P −→
αA
a[P]−→
αa[A]
Loc
P −→
αA
P+Q−→
αA
Sum P −→
aF Q−→
aC
P |Q−→
τF •C
HO P −→
aF P −→
aC
!P −→
τF •C|!P
Replic-HO
3.1 Bisimulation normale pour HOP 27
– pour tout P −→ h
aRiS, il existehR
′iS
′tel queQ−→ h
aR
′iS
′,R RR
′etS RS
′.
La relationR est une bisimulation forte d’ordre sup´erieur ssi R et R
−1sont des
simula-tions fortes d’ordre sup´erieur. La bisimilarit´e forte d’ordre sup´erieure, not´ee∼, est la plus
.grande bisimulation forte d’ordre sup´erieure.
Dans la suite, nous utilisons ´egalement la variante tardive de la bisimilarit´e, not´ee∼
.l,
qui est obtenue en rempla¸cant la clause sur la r´eception par :
– pour toutP −→
aF, il existe F
′tel que Q −→
aF
′et pour tout processus clos R, on a
F ◦RRF
′◦R.
Nous prouvons plus tard que les versions pr´ecoce et tardive de la bisimilarit´e co¨ıncident
(comme pour HOπ). La bisimilarit´e forte d’ordre sup´erieur est une caract´erisation de la
congruence barbue forte :
Th´eor`eme 3.1. Nous avons P ∼
.Q ssi P ∼
bQ.
La preuve de correction, donn´ee en appendice B.1, repose sur lam´ethode de Howe, une
m´ethode de preuve syst´ematique pour d´emontrer la congruence de bisimulations, ´etudi´ee
en d´etail dans le chapitre 4. La preuve de compl´etude est la mˆeme que celle de HOπ
(th´eor`eme 2.2).
Nous donnons maintenant les d´efinitions dans le cas faible.
D´efinition 3.2. Une relation R sur les processus clos est une simulation faible d’ordre
sup´erieure ssi P RQimplique :
– pour tout P −→
τP
′, il existeQ
′tel que Q=⇒
τQ
′et P
′RQ
′;
– pour tout P −→
aF, pour tour processus clos R, il existe F
′, Q
′tels que Q =⇒
aF
′,
F
′◦R=⇒
τQ
′et F ◦RRQ
′;
– pour tout P −→ h
aRiS, il existehR
′iS
′′, S
′tels que Q=⇒ h
aR
′iS
′′, S
′′=⇒
τS
′, RRR
′et
SRS
′.
La relation R est une bisimulation faible d’ordre sup´erieur ssi R et R
−1sont des
simu-lations faibles d’ordre sup´erieur. La bisimilarit´e faible d’ordre sup´erieure, not´ee≈, est la
.plus grande bisimulation faible d’ordre sup´erieure.
La bisimilarit´e d’ordre sup´erieur faible tardive, not´ee ≈
.l, et obtenue en rempla¸cant la
clause de r´eception par :
– pour toutP −→
aF, il existeF
′tel queQ=⇒
aF
′et pour tour processus closR, il existe
Q
′tel queF
′◦R=⇒
τQ
′etF ◦RRQ
′.
Comme dans le cas fort, nous prouvons la correction de≈
.grˆace `a la m´ethode de Howe.
Th´eor`eme 3.2. Si P ≈
.Q, alors on a P ≈
bQ.
La compl´etude est prouv´ee sur les processus `a image finie, en utilisant la mˆeme preuve
que pour HOπ (th´eor`eme 2.4).
D´efinition 3.3. Un processus P de HOP est `a image finie ssi
– l’ensemble {P
′, P ⇒P
′};
– pour tout R, l’ensemble {P
′,∃F, P =⇒
aF∧F ◦R⇒P
′} est fini ;
– l’ensemble {(R, P
′),∃S, P =⇒ h
aRiS∧S ⇒P
′} est fini.
Th´eor`eme 3.3. Pour tout processus P, Q `a image finie, si P ≈
bQ, alors on aP ≈
.Q.
Il faut remarquer que les bisimulations d’ordre sup´erieur pour HOP sont plus faciles
`
a utiliser que les bisimulations contextuelles : il n’y a pas de quantification universelle
dans la clause d’´emission de message. Dans la section suivante, nous montrons que la
quantification sur les messagesR dans la clause de r´eception est superflue.
3.1.2 Bisimilarit´e normale
Nous montrons dans cette section qu’il est possible de d´efinir une bisimilarit´e correcte et
compl`ete pour HOP sans quantification universelle dans le cas de la r´eception, semblable
`
a la bisimulation normale pour HOπ (d´efinition 2.14). Nous rappelons qu’en HOπ, les
fonctions sont compar´ees en les appliquant au processus m.0. Ce test n’est pas suffisant
pour garantir la bisimilarit´es des fonctions en HOP. En effet, on consid`ere les processus
suivants :
P
1= !
∆a[X]|!a[0] Q
1=
∆X|P
1Nous d´efinissonsP
m ∆=P
1{m.0/X},Q
m ∆=Q
1{m.0/X},P
m,n ∆=P
1{m.n.0/X}etQ
m,n ∆=
Q
1{m.n.0/X}, o`um, n n’apparaissent pas dans P
1,Q
1.
Nous montrons d’abord pourquoi nous avonsP
m∼
.lQ
m. La correspondance entre les
transitions deP
met Q
mest facile, sauf pour la transition
Q
m m−→0|P
mLe processusP
mne peut r´epondre que par une transition
P
m−→
ma[0]|P
mprovenant d’une localit´e r´epliqu´ee. La diff´erence entre 0 | P
met a[0] | P
mest masqu´ee
par le processus r´epliqu´e !a[0] dans P
m. Nous avons donc 0 | P
m.
∼
la[0] | P
m, et plus
g´en´eralementP
m.
∼
lQ
m.
En revanche, nous avons P
m,n6∼
.lQ
m,n. En effet, la transition
Q
m,n−→
mn.0|P
m,n ∆=Q
′m,nne peut ˆetre imit´ee que par une transition
P
m,n−→
ma[n.0]|P
m,n=
∆P
m,n′Les processus P
m,n′et Q
′m,nne sont pas bisimilaires ; en d´eclenchant la passivation dans
P
m,n′, on obtient
P
m,n′−→ h
an.0iP
m,nLes seuls messages qui peuvent ˆetre ´emis parQ
′m,nsontm.n.0et0, qui ne sont pas
bisim-ilaires `a n.0. Nous avons donc P
m,n′6∼
.lQ
′m,net doncP
m,n6∼
.lQ
m,n.
On peut penser que le d´eclencheurm.0ne suffit pas `a distinguer les fonctions parce que
les localit´es sont compl`etement transparentes, et donc on ne peut observer la provenance
d’un message. Cependant, l’existence de localit´es englobant une ´emission de message a des
effets indirects qui peuvent ˆetre observ´es. En effet, la passivation transforme un contexte
d’´evaluation (une localit´e) en un message qui peut ˆetre d´etruit. Un d´eclencheur de la forme
m.n.0permet de d´etecter un contexte d’´evaluation (il y a une ´emission surm) qui disparaˆıt
(il n’y a pas d’´emission ensuite surn), et donc la pr´esence de localit´es englobantes.
Nous pouvons g´en´eraliser cette id´ee et montrer qu’il est possible de situer
l’occur-rence d’une variableX dans l’arbre des localit´es. SoientP etQtels que P{m.n.0/X}∼
.lQ{m.n.0/X}, avec m, n frais. On suppose que P est capable de faire une transition
P −→
mP
′, et que Q r´epond par Q −→
mQ
′. Comme m et n sont frais pour P et Q, ces
transitions proviennent de copies dem.n.0 qui sont en contextes d’´evaluation dans P et
Q. Les processusP
′etQ
′peuvent alors d´eclencher exactement une transition−→
nprovenant
d’un processus n.0. On suppose d´esormais que ce processus n.0 est dans une localit´e a
dansP
′. Par passivation de a, on a la transitionP
′−→ h
aRiS, avec R−→
n. Le processusQ
′3.1 Bisimulation normale pour HOP 29
avoirR
′−→
n, c’est-`a-dire que le processus uniquen.0qui ´etait en contexte d’´evaluation dans
Q
′est d´esormais dans un message sur a, ce qui est possible si et seulement si n.0 ´etait
dans une localit´ea dans Q
′. En raisonnant de la mˆeme mani`ere sur R et R
′, on prouve
que la hi´erarchie de localit´es englobantn.0 est la mˆeme dansP
′etQ
′. Cette observation
est formalis´ee par le lemme suivant.
Lemme 3.1. Soient P, Q tels que fv(P, Q) ⊆ {X} et m, n qui n’apparaissent pas dans
P, Q. Supposons P{m.n.0/X} ∼
.lQ{m.n.0/X} et que la transition P{m.n.0/X} −→
mP
′{m.n.0/X}{n.0/Y}=
∆P
nest imit´ee parQ{m.n.0/X}−→
mQ
′{m.n.0/X}{n.0/Y}=
∆Q
navec P
n .∼
lQ
n. Nous avons deux possibilit´es :
– soit il existe P
1∼
.lQ
1tels queP
n≡n.0|P
1, Q
n≡n.0|Q
1et P
1∼
.lQ
1;
– ou alors il existe k >0,a
1. . . a
k, P
1. . . P
k+1,Q
1. . . Q
k+1tels que
P
n≡ a
1[. . . a
k−1[a
k[n.0|P
k+1]|P
k]|P
k−1. . .]|P
1Q
n≡ a
1[. . . a
k−1[a
k[n.0|Q
k+1]|Q
k]|Q
k−1. . .]|Q
1et pour tout 1≤j≤k+ 1, on a P
j .∼
lQ
j.
Ce lemme nous permet de d´ecomposer P
n′,Q
′nen processus deux-`a-deux bisimilaires.
Par exemple, si nous avons P
n≡a[b[n.0 |P
3]|P
2]|P
1with P
n.
∼
lQ
n, alors nous avons
Q
n≡a[b[n.0 |Q
3]|Q
2]|Q
1avec P
1∼
.lQ
1,P
2∼
.lQ
2etP
3∼
.lQ
3. La preuve est donn´ee
en appendice B.2. Remarquez que nous ne d´ecomposons pas les processus initiaux P et
Q, mais ce r´esultat nous suffit pour prouver le th´eor`eme suivant :
Th´eor`eme 3.4. SoientP, Qdeux processus tels que fv(P, Q)⊆ {X}etm, ndeux noms qui
n’apparaissent pas dansP, Q. Si P{m.n.0/X}∼
.lQ{m.n.0/X}, alors pour tout processus
closR, on aP{R/X}∼
.lQ{R/X}
Nous esquissons la preuve de ce th´eor`eme pour expliquer comment nous utilisons le
lemme 3.1 ; la preuve compl`ete se trouve en appendice 2.4.
Esquisse. Nous montrons que la relation
R=
∆{(P{R/X}, Q{R/X})|P{m.n.0/X}∼
.lQ{m.n.0/X}, m, n frais}
est une bisimulation d’ordre sup´erieure tardive. Nous proc´edons par analyse de cas sur la
transition effectu´ee parP{R/X}. Nous traitons ici seulement le cas
P{R/X}−→
τP
′{R
′/X
i}{R/X}
o`u une copie de R `a la position X
ieffectue une action interne R −→
τR
′. La copieX
iest
donc dans un contexte d’´evaluation ; on en d´eduit que
P{m.n.0/X}−→
mP
′{n.0/X
i}{m.n.0/X}=
∆P
n′Cette transition est imit´ee par
Q{m.n.0/X}−→
mQ
′{n.0/X
j}{m.n.0/X}=
∆Q
′navecP
n′∼
.lQ
′n. CommeX
jest ´egalement dans un contexte d’´evaluation, on a
Q{R/X}−→
τQ
′{R
′/X
j}{R/X}
Nous devons maintenant prouver que
P
′{R
′/X
i}{m.n.0/X}∼
.lQ
′{R
′/X
j}{m.n.0/X}
Par le lemme 3.1 nous pouvons d´ecomposerP
n′, Q
′nen
P
n′≡ a
1[. . . a
k[n.0|P
k+1]|P
k. . .]|P
1Q
′n≡ a
1[. . . a
k[n.0|Q
k+1]|Q
k. . .]|Q
1o`u (P
r),(Q
r) sont des familles de processus deux `a deux bisimilaires pourr∈ {1. . . k+ 1}.
CommeP
k+1∼
.lQ
k+1et∼
.lest une congruence, on a
a
k[R
′|P
k+1]∼
.la
k[R
′|Q
k+1]
Par induction surr ∈ {k . . .1}, on montre que
a
r[. . . a
k[R
′|P
k+1]|P
k. . .]|P
j .∼
la
r[. . . a
k[R
′|Q
k+1]|Q
k. . .]|Q
jPourr = 1, on obtient
P
′{R
′/X
i}{m.n.0/X}∼
.lQ
′{R
′/X
j}{m.n.0/X}
comme souhait´e.
En utilisant ce r´esultat, nous pouvons d´efinir une bisimulation normale pour HOP.
D´efinition 3.4. Une relation R sur les processus clos est une simulation normale forte
ssi P RQimplique :
– pour tout P −→
τP
′, il existeQ
′tel que Q−→
τQ
′et P
′RQ
′;
– pour tout P −→
aF, il existe F
′tel que Q−→
aF
′et pour un couple de noms m, n qui
n’apparaissent pas dansP, Q, nous avonsF ◦m.n.0RF
′◦m.n.0;
– pour tout P −→ h
aRiS, il existeR
′, S
′tels que Q−→ h
aR
′iS
′, RRR
′et SRS
′.
Une relation R est une bisimulation normale forte ssi R et R
−1sont des simulations
normales fortes. La bisimilarit´e normale forte∼
.nest la plus grande bisimulation normale
forte.
Comme cons´equence du th´eor`eme 3.4, nous avons le r´esultat suivant :
Corollaire 3.1. Nous avons ∼
.l=∼
.n=∼.
.Par d´efinition, nous avons ∼
.l⊆∼⊆
.∼
.n. L’inclusion ∼
.n⊆∼
.lest une cons´equence du
Th´eor`eme 3.4.
Nous pouvons ´egalement d´efinir une bisimilarit´e normale faible qui co¨ıncide avec la
bisimilarit´e d’ordre sup´erieur faible.
D´efinition 3.5. Une relation R sur les processus clos est une simulation normale faible
ssi P RQimplique :
– pour tout P −→
τP
′, il existeQ
′tel que Q=⇒
τQ
′et P
′RQ
′;
– pour tout P −→
aF, il existe F
′tel que Q=⇒
aF
′et pour un couple de noms m, n qui
n’apparaissent pas dans P, Q, il existeQ
′tel que F
′◦m.n.0 =⇒
τQ
′et F ◦ m.n.0R
Q
′;
– pour tout P −→ h
aRiS, il existe R
′, S
′′, S
′tels que Q−→ h
aR
′iS
′′, S
′′=⇒
τS
′, RRR
′et
SRS
′.
Une relation R est une bisimulation normale faible ssi R et R
−1sont des simulations
normales faibles. La bisimilarit´e normale faible≈
.nest la plus grande bisimulation normale
faible.
3.2 ´Equivalence de fonctions pour HOπP 31
La technique de preuve est la mˆeme, en utilisant des variantes faibles du lemme 3.1 et
du th´eor`eme 3.4. Dans un calcul avec passivation et sans restriction, nous pouvons donc
d´efinir dans les cas fort et faible une bisimilarit´e correcte et compl`ete et dont les clauses
ne comporte pas de quantification universelle.
Pour l’´equivalence de fonctions dans HOπ, il suffit d’observer combien de fois et `a quel
moment le message re¸cu est activ´e, ce qui peut se faire en utilisant un processus m.0
(section 2.2.4). Dans HOP, nous devons en plus observer `a quel endroit dans la hi´erarchie
de localit´e le processus est activ´e, pour prendre en compte les effets de la passivation. Nous
pouvons observer la passivation en HOP grˆace `a un processusm.n.0(la transition−→
mn’est
pas suivie de la transition −→
n), et donc la pr´esence de localit´es. Il n’est en revanche pas
possible d’observer la hi´erarchie de localit´es autour d’une variable en HOπP : la restriction
permet de masquer certaines localit´es. Nous allons voir dans la prochaine section que les
r´esultats obtenus pour HOP ne sont plus valables pour HOπP.
Dans le document
Bisimulations dans les calculs avec passivation
(Page 34-40)