Vous êtes sur la page 1sur 6

Université de Carthage Série 2

Ecole Nationale d’Ingénieurs de Carthage 2020-2021

CORRECTION SERIE 2

Cours : Vérification formelle


Filière/Classe : 3ème ING

Exercice 1 :
Ecrire les formules suivantes en utilisant uniquement les opérateurs basiques, soient , , EX,
EG, EU :
1. AG(AF p AF q)
2. AF(p AG q)

Correction :
1. AG(AF p  AF q) = EF (AF p  AF q) = EF (AF p  AF q) =
EF(AF p  AF q) =EF(EGp  EGq) =E true U(EGp  EGq) =

2. AF(p  AG q) = EG (p  AG q)= EG(p  AG q)= EG(p  EFq)=


(EG(p  E true U q))

Exercice 2 :
Dire si les équivalences suivantes sont valides. Pour une réponse positive justifier votre réponse
et pour une réponse négative donner un contre-exemple.
1. EF(pq)=EF p  EF q
2. EF(pq)=EF p  EF q

Correction :
1. EF(pq) = EF p  EF q :
Vrai et voici la preuve :
Supposons que K ⊨ EF(pq), alors il existe une exécution s0s1 … tel qu’il existe i 0
avec si⊨pq, ceci veut dire que soit si⊨p ou si⊨q ou les deux. Donc il existe une
exécution t0t1 … tel que ti⊨p ou il existe une exécution t0t1 … tel que ti⊨q, donc K ⊨
EF p  EF q.
2. EF(pq)=EF p  EF q
Faux. Voici un contre exemple où nous avons K ⊨EFp et K ⊨EFq mais K ⊨EF pq:

1
©Myriam Fourati Cherif
Université de Carthage Série 2
Ecole Nationale d’Ingénieurs de Carthage 2020-2021

Exercice 3 :
Dire pour chacune des propositions suivantes si elle est vraie ou fausse :
1. Fp est-il vrai si p vrai tout de suite dans l'état courant ?
2. Gp est-il vrai si p faux dans l'état courant et vrai partout ailleurs ?
3. pUq est-il vrai si p faux et q vrai dans l’état courant ?
4. pUq est-il vrai si q est toujours faux, et p toujours vrai ?

Correction :
1. Fp est-il vrai si p vrai tout de suite dans l'état courant ?

𝜎, 𝑖 ⊨ 𝐹𝑝 𝑠𝑠𝑖 ∃𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| 𝑒𝑡 𝜎, 𝑗 ⊨ 𝑝

Vrai. Comme p est vrai à l’état courant donc vous n’avez qu’à prendre i=j.

2. Gp est-il vrai si p faux dans l'état courant et vrai partout ailleurs ?

𝜎, 𝑖 ⊨ 𝐺𝑝 𝑠𝑠𝑖 ∀𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| 𝑜𝑛 𝑎 𝜎, 𝑗 ⊨ 𝑝

Faux. Nous avons p est vrai à l’état courant mais faux dans tous les autres états, donc
∃𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| 𝑒𝑡 𝜎, ⊭ 𝑝, vous pouvez prendre n’importe quel j >0 .

3. pUq est-il vrai si p faux et q vrai dans l’état courant ?

𝜎, 𝑖 ⊨ 𝑝𝐔𝑞 𝑠𝑠𝑖 ∃𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| ∶ 𝜎, 𝑗 ⊨ 𝑞 𝑒𝑡 ∀𝑘|𝑖 ≤ 𝑘 < 𝑗 𝑜𝑛 𝑎 𝜎, 𝑘 ⊨ 𝑝

Vrai. Puisque q est vrai à l’état courant, donc on peut prendre j=i et on aura 𝜎, 𝑗 ⊨ 𝑞 et
ceci vérifie aussi ∀𝑘|𝑖 ≤ 𝑘 < 𝑗 = 𝑖 𝑜𝑛 𝑎 𝜎, 𝑘 ⊨ 𝑝 puisque le domaine est vide (𝑖 ≤ 𝑘 <
𝑖).

4. pUq est-il vrai si q est toujours faux, et p toujours vrai ?

𝜎, 𝑖 ⊨ 𝑝𝐔𝑞 𝑠𝑠𝑖 ∃𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| ∶ 𝜎, 𝑗 ⊨ 𝑞 𝑒𝑡 ∀𝑘|𝑖 ≤ 𝑘 < 𝑗 𝑜𝑛 𝑎 𝜎, 𝑘 ⊨ 𝑝

Faux. Puisque ∄𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| ∶ 𝜎, 𝑗 ⊨ 𝑞.

Exercice 4 :
Exprimer les propriétés suivantes en CTL :
1. Tous les états satisfont p.
2. On peut atteindre p par un chemin où q est toujours vrai.
3. Quel que soit l'état, on finit par aller à un état où p vrai.
4. Quel que soit l'état, on peut aller à un état où p vrai.
5. Absence de deadlock.

2
©Myriam Fourati Cherif
Université de Carthage Série 2
Ecole Nationale d’Ingénieurs de Carthage 2020-2021

Correction :
1. Tous les états satisfont p.
AGp

2. On peut atteindre p par un chemin où q est toujours vrai.


qEUp.
On peut aussi penser à la formule CTL* E(FpGq), il est à noter que qEUp signifie
qu’il existe un chemin dans lequel p est vrai et ce jusqu’à ce que q soit vrai, alors que
E(FpGq) signifie qu’il existe un chemin, dans lequel q est toujours vrai, et p est
atteignable.

3. Quel que soit l'état, on finit par aller à un état où p vrai.


AGAFp : on finit nécessairement par atteindre p à partir de tout état. Il est à noter que
AFp ne veut pas dire la même chose, qui exprime le fait que p est atteignable à partir de
l’état initial et ce dans toutes les exécutions.

4. Quel que soit l'état, on peut aller à un état où p vrai.


AGEFp

5. Absence de deadlock.
AGEXvrai : chaque état a un successeur

Exercice 5 :
Exprimer en LTL les propriétés suivantes :
1. Il est possible d’atteindre un état à partir duquel p1 sera toujours fausse.
2. Si p1 est infiniment souvent vrai, alors p2 reste toujours faux.
3. p1 doit être fausse et ce jusqu’à ce que p2 devienne vraie, mais si cette dernière ne
devienne pas vraie, p1 doit rester fausse.

Correction :

1. Il est possible d’atteindre un état à partir duquel p1 sera toujours fausse.


FGp1. (Dans toutes les exécutions)
2. Si p1 est infiniment souvent vrai, alors p2 reste toujours faux.
GFp1  Gp2.
3. p1 doit être fausse et ce jusqu’à ce que p2 devienne vraie, mais si cette dernière ne
devienne pas vraie, p1 doit rester fausse.
p1GWp2 (pGWq  (pUq)  Gp)

Exercice 6 :
On va voir que certains connecteurs sont redondants.
1. Exprimer Gp avec les connecteurs : , F et p.
2. Exprimer Fp grâce au connecteur U.
3. Peut-on exprimer X en fonction des autres connecteurs ?
4. Peut-on exprimer U en fonction des autres connecteurs ?

3
©Myriam Fourati Cherif
Université de Carthage Série 2
Ecole Nationale d’Ingénieurs de Carthage 2020-2021

Correction :
1. Exprimer Gp avec les connecteurs : , F et p.
𝐆𝑝 ≡ ¬𝐅¬𝑝

2. Exprimer Fp grâce au connecteur U.


𝐅𝑝 ≡ 𝑡𝑟𝑢𝑒𝐔𝑝

3. Peut-on exprimer X en fonction des autres connecteurs ?

Non. X est le seul opérateur qui impose fortement quand va avoir l’observation
(prochain coup), ce qui ne peut être fait par les autres opérateurs.

4. Peut-on exprimer U en fonction des autres connecteurs ?


Non. L’opérateur U est binaires, alors que X, F et G sont unaires.

Exercice 7 :
1. Nous allons définir quelques connecteurs utiles en donnant la sémantique formelle (⊨)
a. pWq (weak until) : signifie que p est vrai jusqu'à ce que q soit vrai, mais q n'est
pas forcément vrai à un moment. Dans ce cas, p reste vrai tout le long du chemin.
b. GFp ou 𝑭∞ 𝑝 (infiniment souvent) : p est infiniment vrai au long de l'exécution.
c. FGp ou 𝑮∞ 𝑝 (presque toujours) : àpartir d'un moment donné, p est toujours vrai.
d. pRq (release) : q est vraie jusqu'à (et inclus) le premier état où p est vraie, et p
n'est pas forcément vraie un jour.

Correction :
1.
a. pWq (weak until) : signifie que p est vrai jusqu'à ce que q soit vrai, mais q n'est
pas forcément vrai à un moment. Dans ce cas, p reste vrai tout le long du chemin.

𝜎, 𝑖 ⊨ 𝑝𝐖𝑞 𝑠𝑠𝑖 (∀𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| ∶ 𝜎, 𝑗 ⊨ 𝑝)


∨ (∃𝑡|𝑖 ≤ 𝑡 ≤ |𝜎| ∶ 𝜎, 𝑡 ⊨ 𝑞 𝑒𝑡 ∀𝑘|𝑖 ≤ 𝑘 < 𝑡 ∶ 𝑘 ⊨ 𝑝)

Comme pGWq  (Gp  (pUq)), la première partie de la disjonction exprime la


sémantique de Gp et la deuxième définit la sémantique de pUq.

b. GFp ou 𝐅 ∞ 𝑝 (infiniment souvent) : p est infiniment vrai au long de l'exécution.

𝜎, 𝑖 ⊨ 𝐆𝐅𝑝 𝑠𝑠𝑖 (∀𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| ∶ (∃𝑘 | 𝑗 ≤ 𝑘 ≤ |𝜎| ∶ 𝜎, 𝑘 ⊨ 𝑝))

c. FGp ou 𝐆∞ 𝑝 (presque toujours) : àpartir d'un moment donné, p est toujours vrai.

𝜎, 𝑖 ⊨ 𝐅𝐆𝑝 𝑠𝑠𝑖 (∃𝑗|𝑖 ≤ 𝑗 ≤ |𝜎| ∶ (∀𝑘 | 𝑗 ≤ 𝑘 ≤ |𝜎| ∶ 𝜎, 𝑘 ⊨ 𝑝))

d. pRq (release) : q est vraie jusqu'à (et inclus) le premier état où p est vraie, et p
n'est pas forcément vraie un jour.

4
©Myriam Fourati Cherif
Université de Carthage Série 2
Ecole Nationale d’Ingénieurs de Carthage 2020-2021

𝜎, 𝑖 ⊨ 𝑝𝐑𝑞 𝑠𝑠𝑖 (∀𝑗 |𝑖 ≤ 𝑗 ≤ |𝜎| ∶ 𝜎, 𝑗 ⊨ 𝑞) ∨ [(∃𝑘|𝑖 ≤ 𝑘 ≤ |𝜎| ∶ 𝜎, 𝑘


⊨ 𝑝 ∧ 𝑞 𝑒𝑡 ∀𝑡: 𝑖 ≤ 𝑡 ≤ 𝑘 ∶ 𝜎, 𝑡 ⊨ 𝑞)]

En effet, pRq  Gq  (qU(pq)).

Exercice 8 :

Soit le modèle M donné par la figure 1

1. Représentez l'arbre d'exécution de M (dépliage) à partir de l’état initial, on donnera les


4 premiers niveaux.
2. Donnez les exécutions de cet automate.
3. Pour chacune de ces formules dites si la formules est satisfaite et trouvez un chemin à
partir de q3 qui satisfait la formule, et un chemin qui ne la satisfait pas, quand c’est
possible :
a. Ga.
b. aUb.
c. aUX(a  b).
d. Xb  G(a  b)
e. X(a  b)  F(a  b)

Correction :
1. Représentez l'arbre d'exécution de M (dépliage) à partir de l’état initial, on donnera les
4 premiers niveaux.

a,b
q3
 a,b  a,b
q1 q2 q4 a,b

 a,b
 a,b q2 q2 q3 a,  b

 a,b q2 q2 q1 q2 q4 a,b
 a,b
a, b  a,b

5
©Myriam Fourati Cherif
Université de Carthage Série 2
Ecole Nationale d’Ingénieurs de Carthage 2020-2021

2. Donnez les exécutions de cet automate.


𝜎1 = 𝑞3 𝑞1 𝑞2 𝑞2 𝑞2 …
𝜎2 = 𝑞3 𝑞2 𝑞2 𝑞2 …
𝜎3 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 …
𝜎4 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 …
𝜎5 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞1 𝑞2 𝑞2 𝑞2 …
𝜎6 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞2 𝑞2 𝑞2 …

3. Pour chacune de ces formules trouvez un chemin à partir de q3 qui satisfait chacune des
formules, sinon donnez un chemin qui ne la satisfait pas :
a. Ga.
𝑀 ⊭ 𝐆𝑎
𝑀, 𝜎1 = 𝑞3 𝑞1 𝑞2 𝑞2 𝑞2 … ⊭ 𝐆𝑎
𝑀, 𝜎3 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 … ⊨ 𝐆𝑎

b. 𝑀 ⊭ 𝑎𝐔𝑏.
𝑀, 𝜎1 = 𝑞3 𝑞1 𝑞2 𝑞2 𝑞2 … ⊭ 𝑎𝐔𝑏
𝑀, 𝜎3 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 … ⊨ 𝑎𝐔𝑏

c. 𝑀 ⊭ 𝑎𝐔𝐗(𝑎 ∧ ¬𝑏).
𝑀, 𝜎1 = 𝑞3 𝑞1 𝑞2 𝑞2 𝑞2 … ⊭ 𝑎𝐔𝐗(𝑎 ∧ ¬𝑏)
𝑀, 𝜎3 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 … ⊨ 𝑎𝐔𝐗(𝑎 ∧ ¬𝑏)

d. 𝑀 ⊭ 𝐗¬𝑏 ∧ 𝐆(¬𝑎 ∨ ¬𝑏).


𝑀, 𝜎2 = 𝑞3 𝑞2 𝑞2 𝑞2 … ⊭ 𝐗¬𝑏 ∧ 𝐆(¬𝑎 ∨ ¬𝑏)
𝑀, 𝜎3 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 … ⊨ 𝐗¬𝑏 ∧ 𝐆(¬𝑎 ∨ ¬𝑏)

e. 𝑀 ⊭ 𝐗(𝑎 ∧ 𝑏) ∧ 𝐅(¬𝑎 ∧ ¬𝑏).


𝑀, 𝜎1 = 𝑞3 𝑞1 𝑞2 𝑞2 𝑞2 … ⊭ 𝐗(𝑎 ∧ 𝑏) ∧ 𝐅(¬𝑎 ∧ ¬𝑏)
𝑀, 𝜎3 = 𝑞3 𝑞4 𝑞3 𝑞4 𝑞3 𝑞4 … ⊭ 𝐗(𝑎 ∧ 𝑏) ∧ 𝐅(¬𝑎 ∧ ¬𝑏)
Aucune exécution ne satisfait le modèle.

6
©Myriam Fourati Cherif

Vous aimerez peut-être aussi