• Aucun résultat trouvé

Bisimulations modulo

Dans le document Typage et contrôle de la mobilité (Page 94-96)

3.3 Équivalence d’un processus récursif et de son traduit

3.3.3 Bisimulations modulo

Les preuves de bisimilarité de deux configurations passent normalement par la création d’une relation qui contient les deux configurations et qui est incluse dans la bisimilarité. Naturellement, les relations choisies dans ce but sont souvent des bisimulations car elles sont toutes immédiatement incluses dans la bisimilarité. Cependant, les bisimulations peuvent s’avérer relativement complexes. Dans le cas qui nous occupe, la traduction implémente par une série d’étapes certaines opérations atomiques. Comme nous l’avons vu à la section 3.3.1, toute bisimulation qui contient à la fois un système et sa traduction doit contenir aussi toutes les étapes intermédiaires.

Or la sémantique du langage suppose que toutes les réductions sauf la communication ne peuvent échouer. Cela signifie intuitivement que si Ω M peut effectuer une transition Ω M −→ Ωτ  M0 et que la preuve de cette transition ne contient pas la règle (te-comm), les configurations Ω  M et Ω M0sont bisimilaires : les préfixes auxquels peut correspondre cette transition sont effectivement tous inobservables. Puisque ces transitions ne mettent en jeu qu’un seul processus, on parlera de β-réductions, en référence au λ-calcul.

Définition 3.4 (β-réduction). On dit que la configuration Ω M évolue vers

la configuration Ω M0 si la transition Ω M−→ Ωτ  M0 est prouvable et que

sa preuve n’utilise pas la règle (te-comm). On note alors Ω  M−→τ βΩ M0. Afin de réduire de façon drastique le nombre d’éléments dans une bisimulation, les travaux [JR04] et [CHR05] font remarquer que ces étapes ne pouvant échouer2 peuvent être ignorées. Une preuve de bisimilarité pourra alors se contenter d’exhiber une relation qui est une bisimulation modulo β-réductions.

Définition 3.5 (Bisimulation modulo). Soit S est une relation typée. On dit

que la relation typée R est une bisimulation modulo S si Ω M R N implique les deux propriétés suivantes :

– si Ω M −→ Ω après µµ  M0 alors il doit exister un système N0 tel que Ω N=⇒ Ω après µµˆ  N0 et Ω après µ M0S ◦ R ◦ S−1N0;

– symétriquement, si Ω N−→ Ω après µµ  N0 alors il doit exister un système M0 tel que Ω M=⇒ Ω après µµˆ  M0 et Ω après µ M0S ◦ R ◦ S−1 N0. Ce qui donne à la bisimulation modulo tout son intérêt est bien le fait qu’elle soit incluse dans la bisimilarité. Bien entendu, cette propriété dépend de la relation S considérée. Dans la suite, on appellera bisimulation modulo β la bisimulation modulo−→τ ∗

β. La preuve que les bisimulations modulo β sont incluses dans la bisimilarité reposera essentiellement sur la propriété suivante des β-réductions :

2Comme on l’a déjà fait remarquer, on suppose en particulier que les migrations ne peuvent

échouer. Cette hypothèse devrait être abandonnée dans un cadre où les systèmes peuvent tomber en panne.

Proposition 3.6 (Les β-réductions commutent avec les autres transitions). Si Ω  M µ  τ β// Ω  M ′′ Ω′M′ alors Ω  M µ  τ β// Ω  M ′′ µ = Ω′M′ τ = β// Ω ′M′′′

Démonstration. Si les deux transitions Ω M−→ Ωµ 0 M0et Ω M τ

−→βΩ M00 sont identiques, le résultat est immédiat. Sinon, par définition des β-réductions, on voit immédiatement que le préfixe réduit par la transition Ω M−→τ βΩ M00 ne peut être impliqué dans la transition Ω M−→ Ωµ 0 M0.

Supposons µ = (Φ)c!V et considérons la preuve de la transition Ω M−−−−→(Φ)c!V Ω0 M0. De l’axiome à la conclusion, cette dérivation doit être de la forme suivante :

– (te-w) ;

– un paquet de (te-ouv), (te-c-par) et (te-c-new) ;

– une application de (te-c-par) où le préfixe de la β-réduction est dans la branche non-modifiée de la composition parallèle ; appelons cette occurrence de (te-c-par) sép ;

– un dernier paquet de (te-ouv), (te-c-par) et (te-c-new).

La preuve de la transition Ω M −→τ βΩ M00, quant à elle, est uniquement constituée d’un axiome suivi de (te-c-par) et (te-c-new). Puisque le préfixe de cette transition est dans la branche non-modifiée de sép, cette preuve se récrit directement en une preuve de Ω0M0 τ−→βΩ0M000en supprimant les (te-c-new) correspondant aux (te-ouv) sous sép dans la preuve de Ω  M−−−−→ Ω(Φ)c!V 0 M0. On voit par ailleurs directement que la preuve de Ω M−−−−→ Ω(Φ)c!V 0 M0 peut se récrire en changeant la branche non-modifiée pour donner une dérivation Ω M00 (Φ)c!V−−−−→ Ω0 M0000. Qui plus est, M000= M0000car les mêmes portées de noms sont ouvertes et les mêmes deux préfixes sont réduits, quel que soit l’ordre.

Le même raisonnement peut être tenu pour les autres cas de transition Ω M−→ Ωµ 0 M0.

Comme nous l’avons aussi fait remarquer à la section 3.3.1, la traduction peut contenir des morceaux de processus morts, c’est-à-dire incapables de continuer à interagir avec leur environnement. Ainsi, le processus localisé lJstopK est un exemple caractéristique de processus mort. Pour pouvoir supprimer ces morceaux des systèmes, nous utiliserons la bisimilarité forte.

Définition 3.7 (Bisimulation forte). La relation typée R est une bisimulation

forte si Ω M R N implique les deux propriétés suivantes :

– si Ω M−→ Ω après µµ  M0 alors il doit exister un système N0 tel que Ω N−→ Ω après µµ  N0 et Ω après µ

 M0 R N0;

– symétriquement, si Ω N−→ Ω après µµ  N0 alors il doit exister un système M0 tel que Ω M −→ Ω après µµ  M0 et Ω après µ

 M0R N0.

Définition 3.8 (Bisimilarité forte). On appelle bisimilarité forte la plus grande

bisimulation forte. On la note ∼t.

Cette bisimilarité forte se distingue de la bisimilarité normale par le fait que chaque action de l’un des systèmes correspond exactement à une action de l’autre. Cela signifie en particulier que les systèmes totalement inactifs lJstopK

et 0 sont naturellement fortement bisimilaires. Par ailleurs, le lemme 2.38 permet de conclure immédiatement que la congruence structurelle est incluse dans la bisimilarité forte.

En combinant alors les β-réductions et la bisimilarité forte, on obtient la bisimulation modulo−→τ ∗

β∼

t. Prouvons alors que toute bisimulation modulo β et bisimilarité forte est effectivement incluse dans la bisimilarité.

Proposition 3.9 (Une bisimulation modulo β et bisimilarité forte est incluse

dans la bisimilarité). Si R est une bisimulation modulo−→τ ∗

β∼t, alors R ⊆ ≈t.

Démonstration. Prouvons donc que (−→τ ∗ β∼

t)◦ R ◦ (( τ −→∗

β∼

t))−1 est une bisi- mulation. Le fait que cette relation contienne R permettra alors de conclure. En notant S la relation (−→τ ∗ β∼ t)◦ R ◦ ((−→τ ∗ β∼ t))−1, la preuve se construit de la façon suivante : Ω  M µ  τ β // (1) µ =  τ β // µ =  ··· ··· µ =  ∼t (2) τ β // µ =  ··· ··· µ =  R µ =  µ =  ∼t (2) µ =  (3) τ β ∗oo µ =  ∼t µ =  ··· ··· Ω  N µ =  Ω′ M′ τ = β // τ = β // ··· ∼t τ = β // ··· S ∼t = ∼t ··· ′N′ où

(1) est prouvé par la proposition 3.6 car les commutations de transitions corres- pondent directement à des commutations d’actions ;

(2) est prouvé par la définition même de bisimulation forte ;

(3) découle directement du fait que les transitions faibles=⇒µ = peuvent contenir un nombre arbitraire de transitions−→, donc en particulierτ −→τ

β. Le diagramme utilise de plus le fait que=⇒µˆ = et=⇒µ = coïncident.

Cette propriété permet de vérifier rapidement une remarque initiale : les β-réductions sont incluses dans la bisimilarité.

Corollaire 3.10. Soit une transition Ω M−→τ βΩ M0. Alors Ω M ≈tM0.

Démonstration. Ce résultat est immédiat en constatant que la simple relation

typée {(Ω, M, M0)}= est une bisimulation modulo β-réductions, en utilisant des commutations entre les β-réductions et toute autre transition.

Dans le document Typage et contrôle de la mobilité (Page 94-96)