• Aucun résultat trouvé

(

∀i ∈Jn + 1, bvK Cv,ω,i< 0 ∀i ∈J0, n − 1K Cv,ω,i> 0

Le second schéma d'axiomes impose que les célérités d'une entité v entre deux états voi-sins font tendre le système vers le même état d'équilibre lorsque ces célérités ont les mêmes ressources, c'est-à-dire que les entités sont sous l'inuence des mêmes prédécesseurs actifs, voir gure 3.5 page 51.

Le troisième schéma d'axiomes contraint le signe des célérités d'une entité v lorsque ces célérités ont les mêmes ressources et que le système tend vers un état d'équilibre où la célérité vaut 0.

Les règles de quanticateurs existentiel ou universel, d'aectation, d'itération et de boucle while (présentes dans la logique de Hoare génétiquement modiée) ne sont pas dénies pour ce formalisme puisque les données d'entrée correspondent à un comportement biologique observé expérimentalement : à partir d'une trace, il est dicile d'extrapoler la trace pour en extraire un chemin contenant un while. A l'opposé, il se peut qu'à la suite d'un ensemble d'expériences, on souhaite exprimer l'existence d'un chemin permettant d'atteindre un état nal ou même dire que quelque soit le chemin parmi un ensemble, le système aboutira à un état satisfaisant une certaine propriété. Dans la pratique, la trace observée ne comporte ni de quanticateur ni de boucle while.

Maintenant que les règles d'inférence ont été dénies, nous allons montrer que cette logique est correcte (tout triplet de Hoare pour lequel il existe un arbre de preuve avec les règles d'inférence est correct sémantiquement) et complète sémantiquement (le calcul de la plus faible précondition calcule bien la plus faible précondition).

Théorème 1. La logique de Hoare hybride est correcte.

4.4 Preuve de correction

La preuve de correction de la logique de Hoare hybride consiste à prouver que s'il existe une preuve d'un triplet de Hoare (hybride) en utilisant des règles d'inférence (` {Pre} p {Post}), alors il est sémantiquement correct. Autrement dit, pour tout état η satisfaisant Pre, il existe un état η0 tel que η → ηp 0 et η0 |= Post. Nous allons décomposer la preuve de correction en faisant une preuve pour chaque règle d'inférence et pour chaque symbole d'assertion du langage d'assertion LA. Nous présentons uniquement la preuve de correction de la règle d'incrémentation puisque la preuve de correction de la décrémentation est similaire, et que celle de la règle de composition séquentielle est classique. Dans cette preuve, nous considérons un état hybride h ainsi que la règle d'incrémentation dénie en sous-section 4.3.5 page ci-contre. Au préalable, nous dénissons deux lemmes qui seront utilisés dans la preuve de correction.

Chapitre 4 : Construction des contraintes sur les paramètres

4.4.1 Deux lemmes

Le lemme 1 arme que les délais de contact des entités dans rst correspondent au temps passé dans l'état ∆t.

Lemme 1 (Temps passé dans un état qualitatif). Soit h un état hybride. Si h |= (D1, H1) et H1 ⇒ Φ+

v(∆t) ∧ F (∆t) (resp. H1 ⇒ Φv(∆t) ∧ F (∆t)), alors : δfirst

h = δh(v) = ∆t. Preuve. Considérons H1 ⇒ Φ+

v(∆t)∧F (∆t), et h = (η, π) un état hybride tel que h |= (D1, H1). A partir de la sous-propriété Φ+

v(∆t)de la sous-section 4.3.4 page 76 l'entité v atteint son bord supérieur (π0

v = 1) et sa célérité est positive (Cv,ω,n> 0).

Soit h0 = (η, π0) l'état hybride où v est la première entité à atteindre son bord. Le temps passé dans l'état qualitatif courant η correspond au temps nécessaire pour atteindre le bord où v change son niveau qualitatif. En eet, à partir de Φ+

v(∆t), on peut déduire que : πv = πv0 − Cv,ω,n· ∆t = 1 − Cv,ω,n· ∆t et ainsi ∆t = 1−πv

Cv,ω,n.

La dénition 3.4 page 51 du délai de contact nous permet de dire que ∆t = δh(v).

Finalement, la sous-propriété F(∆t) de la sous-section 4.3.4 page 78 indique que si une entité u diérente de v atteint son bord avant v, alors u fait face à un mur interne ou externe. Ainsi, puisque δh(v) = ∆t, et d'après la dénition 3.6 page 53, on peut déduire que δfirst

h = δh(v) = ∆t. La preuve dans le cas où H1 ⇒ Φ

v(∆t) ∧ F (∆t) est similaire

Le lemme 2 porte sur la préservation de l'évaluation des formules du calcul de plus faible précondition le long d'une transition continue. Autrement dit, entre deux états hybrides h = (η, π)et h0 = (η, π0) tels que h −→ h0, il n'y a pas de perte d'informations.

Lemme 2 (Préservation de l'évaluation des formules le long d'une transition continue). Consi-dérons un triplet de Hoare {(Di,f, Hi,f)} p {(Df, Hf)} obtenu par le calcul de plus faible pré-condition, un état hybride h = (η, πi), et l'unique transition continue h → h0 démarrant de h. Si h |= (Di,f, Hi,f), alors h0|= (Di,f, Hi,f).

Preuve.

 Puisque h et h0 appartiennent au même état qualitatif, les niveaux qualitatifs de toutes les entités sont les mêmes. L'évaluation de Di,f dans h0 est alors identique à l'évaluation de Di,f dans h.

 Les termes de Hi,f sont construits sur des célérités ou sur des coordonnées discrètes (η) ou continues (π) des diérents points de la trajectoire (points d'entrée et de sortie dans les diérents états qualitatifs). Ces points correspondent aux points h ou h0, ou bien sont à l'extérieur de l'état qualitatif courant.

De plus, les célérités sont constantes, les points de la trajectoire qui n'appartiennent pas à l'état qualitatif courant ne changent pas, ainsi que les points h et h0.

Section 4.4, Preuve de correction L'interprétation de (Di,f, Hi,f) est donc la même dans h et dans h0.

4.4.2 Preuve de la correction par induction

La preuve de la correction de chacune des règles d'inférence de la logique de Hoare hybride est faite, pour tous les symboles d'assertion, en trois étapes :

α) la transition continue existe, β) la transition discrète existe,

γ) la postcondition est satisfaite après le chemin élémentaire. Nous considérons donc un chemin élémentaire

∆t a v+



, une postcondition (Df, Hf)et la plus faible précondition (Di,f, Hi,f) calculée par la règle d'inférence d'incrémentation.

Premier cas : a = >

α) D'après la sous-propriété Φ+

v(∆t), π0

v = 1(atteinte du bord supérieur de v), Cv,ω,n> 0 et π0

v= πv+ Cv,ω,n× ∆t(le temps passé dans l'état courant est ∆t) si les ressources de v sont ω et le niveau qualitatif de v est n, autrement dit si Φω

v et ηv = nsont satisfaites.

Considérons l'unique état hybride h0 = (η, π0) tel que la transition continue h → h0 existe. Ainsi, d'après le lemme 1 page précédente et la sémantique du couple d'assertion (dénition 4.4 page 73), (h, h0) |= (∆t, >).

β) En simpliant la sous-propriété ¬W+

v ≡ ¬EW+v ∧ ¬IW+v satisfaite en h0, nous obtenons : ¬EW+ v ≡ ¬hv = bv | {z } ) ∧^ ω⊂R(v)ωv ⇒ Cv,ω,bv > 0)i≡ >

qui est évaluée à vrai puisque v augmente son niveau qualitatif (v+ est le dpa du chemin élémentaire) et ainsi n'est pas situé sur son niveau qualitatif maximal bv. On obtient donc ¬W+ v ≡ ¬IW+v : ¬Wv+≡ ¬      (ηv < bv) ∧^ n∈J0,bvK ω,ω0⊂R−(v)      (ηv = n)∧ (m = n + 1)∧ Φω v ∧ Φω0 v+     ⇒     Cv,ω,n> 0 ∧ Cv,ω0,m< 0           ≡ ¬(ηv < bv) | {z } ⊥ puisque ηv< bv_ n∈J0,bvK ω,ω0⊂R−(v) ¬     (ηv = n)∧ (m = n + 1)∧ Φωv ∧ Φω0 v+     ⇒     Cv,ω,n> 0 ∧ Cv,ω0,m< 0     

Chapitre 4 : Construction des contraintes sur les paramètres

Parmi toutes les prémisses des disjonctions restantes, seulement une est satisfaite car l'état qualitatif courant et l'état suivant ont chacun un unique état qualitatif (ηv = n et m = n + 1) et un unique ensemble de ressources (ω et ω0). En nommant le prochain état qualitatif η00 et en remplaçant ω et ω0 par les ressources des états correspondant ρ(η, v) et ρ(η00, v), on en déduit :

¬W+ v ≡ ¬ ¬     (ηv = n) ∧ (m = n + 1) ∧ Φρ(η,v)v ∧Φρ(ηv+00,v)     | {z } ∨     Cv,ρ(η,v),ηv > 0 ∧ Cv,ρ(η00,v),η00 v < 0     ! ≡     Cv,ρ(η,v),ηv≤ 0 ∨ Cv,ρ(η00,v),η00 v≥ 0     Cependant, puisque Φ+

v(∆t) est vrai en h0, nous obtenons Cv,ρ(η,v),ηv > 0. Ainsi, ¬W+ v est équivalent à Cv,ρ(η00,v),η00

v ≥ 0 et l'inégalité précédente est vraie puisque ¬W+

v est satisfaite en h0. L'entité v atteint donc son bord en ∆t unités de temps (Φ+

v(∆t)) et le franchit (¬W+ v ), autorisant une transition discrète h0 → h00 augmentant le niveau qualitatif de v car les signes des célérités de v en h0 et en h00 sont les mêmes.

γ) Nous avons prouvé précédemment qu'il existe une unique transition continue h → h0 et une transition discrète h0 → h00. Puisque h |= (Dfvv+1], Hi,f), on déduit d'après le lemme 2 page 84 : h0 |= (Dfvv+ 1], Hi,f). La transition discrète augmente le niveau qualitatif de v (η00

v = ηv+ 1), ce qui nous permet d'en déduire :

h00|= (Dfvv+1][ηvv−1], Hi,fvv−1]), et ainsi h00 |= (Df, Hi,fvv−1]) La condition hybride H00≡ Hi,fvv− 1]est satisfaite en h00 :

H00Hfvv+1] ∧ Φv+(∆t) ∧ F (∆t) ∧ ¬Wv+∧ A(∆t, a) ∧ Jvvv−1] ≡ HfΦ+v(∆t) ∧ F (∆t) ∧ ¬Wv+∧ A(∆t, a) ∧ Jvvv− 1]

Pour rappel, les points d'entrée et de sortie ne sont pas "mis à jour" ici.

En conclusion de cette preuve, les conditions discrète et hybride Df et Hf sont satisfaites en h00 et la postcondition est vériée.

Deuxième cas : a = slide+(u) ou a = slide(u) avec u 6= v

Nous ne traitons que avec le cas slide+, le cas slide étant similaire.

α) Similairement au premier cas, nous considérons l'unique état hybride h0 = (η, π0)tel que la transition continue h → h0 existe. Le temps passé dans l'état qualitatif courant est aussi ∆t

Section 4.4, Preuve de correction (sous-propriété Φ+

v(∆t)). Puisque a 6= >, la sous-propriété A(∆t, a) joue un rôle important :

A(∆t, a) ≡^ k ∈J1, nK ωk∈ R−(vk) nk∈J0, bvkK        ^ l ∈J1, nK  (ηvl = nl) ∧ Φωl vl  ⇒ a        Cvl\Cvll,nl slide(vl)\Svll,nl(∆t) slide+(vl)\Sv+ll,nl(∆t) slide(vl)\Sv l,ωl,nl(∆t)              

Parmi toutes les prémisses de ces conjonctions, seulement une est satisfaite car l'état qualitatif courant a un unique niveau qualitatif pour chaque entité vlvl = nl) et un unique ensemble de ressources pour chaque vlωl

vl). Nous pouvons alors remplacer slide+(u)par la sous-formule S+ :

Su,ω,n+ (∆t) ≡ (πu0 = 1) ∧ (πu> πu0− Cu,ω,n· ∆t)

où ω correspond à l'ensemble des ressources de u et n à son niveau qualitatif courant. Cette sous-formule signie que la position de sortie de l'état qualitatif courant est sur le bord supérieur de u. Nous pouvons alors déduire :

Cu,ω,n· ∆t > 1 − πu ∆t > 1 − πu

Cu,ω,n = δh0(u) car Cu,ω,n > 0

D'après le lemme 1 page 84, nous avons δh0(v) = δfirsth0 = ∆tet donc δh0(v) > δh0(u). En d'autres termes, u atteint son bord supérieur avant que v atteigne le sien. Ainsi, la transition continue h → h0 est telle que (h, h0) |= (∆t, a)d'après la dénition 4.4 page 73.

Les étapes β) et γ) sont identiques au cas a ≡ >. Troisième cas : a = noslide+(u) ou a = noslide(u)

α) Similairement au deuxième cas, nous considérons l'unique état hybride h0= (η, π0)tel que la transition continue h → h0 existe. Le temps passé dans l'état qualitatif courant est aussi ∆t (sous-propriété Φ+

v(∆t)). Enn, de la même manière que dans le deuxième cas, seule une prémisse des conjonctions de la sous-propriété A(∆t, a) est satisfaite. On peut alors remplacer a = noslide+(u)par noS+ :

noSu,ω,n+ (∆t) ≡ (πu0 < 1) ∧ (Cu,ω,n> 0 ⇒ ∆t ≤ π

0 u− πu Cu,ω,n )

où ω correspond à l'ensemble des ressources de u et n à son niveau qualitatif courant. Cette sous-formule indique que la position de sortie de l'état qualitatif courant ne peut pas être sur

Chapitre 4 : Construction des contraintes sur les paramètres le bord supérieur de l'entité u. On en déduit :

Cu,ω,n > 0 ⇒ ∆t ≤ π

0 u− πu

Cu,ω,n = δh(u) D'après le lemme 1 page 84, δv

h = ∆tdonc Cu,ω,n> 0 ⇒ δhv ≤ δh(u): la transition continue h → h0 est telle que (h, h0) |= (∆t, a)d'après la dénition 4.4 page 73.

Les étapes β) et γ) sont identiques au cas a ≡ >.

Quatrième cas : a = Cu  c où c ∈ R et  est l'un des comparateurs habituels α) La sous-propriété A(∆t, a) permet de remplacer la célérité Cu dans l'assertion a par la célérité indicée par l'ensemble des ressources et le niveau qualitatif de l'état qualitatif courant. On en déduit Cu,ρ(η,u),ηu  c. A partir de la dénition 4.4 page 73, l'unique transition continue h → h0 où h0 = (η, π0) est telle que (h, h0) |= (∆t, a).

Les étapes β) et γ) sont identiques au cas a ≡ >. Cinquième cas : a = a1∧ a2

α) A partir des précédents cas, il est possible de construire deux états hybrides h1 et h2

tels que (h, h1) |= (∆t, a1)et (h, h2) |= (∆t, a2). Puisque la transition continue démarrant en h est unique, h1= h2. Ainsi, (h, h1) |= (∆t, a1∧ a2).

Cette preuve se généralise pour tous les connecteurs logiques et récursivement à toutes les assertions du langage LA.

Les étapes β) et γ) sont identiques au cas a ≡ >.

La généralisation du cinquième cas aux autres connecteurs logiques permet de faire la preuve de correction pour tout chemin élémentaire, quelque soit l'assertion qu'il contient. Par induction sur la structure d'un chemin, qui se décompose en chemins élémentaires, on prouve donc la correction de la logique de Hoare hybride.