Vous êtes sur la page 1sur 41

Master RSD - USTHB -

Cours de vérification formelle

Sommaire
• Introduction

• Les automates
o Système de transitions
o Structure de Kripke
o Séquence d’exécution infinie et trace
o Arbre d’exécution
o Produit d’automate libre et synchrone

• Logique temporelle
o Logique temporelle CTL
o Logique temporelle LTL

• Exercices

www.jmct.123.fr
Pour les étudiants de l’USTHB
1
Master RSD - USTHB -

Introduction
Les méthodes de vérification sont :
- Simulation.
- Tests.
- Vérification formelle.

Simulation : La simulation se fait sur un modèle théorique dont le comportement est semblable au
système qu’on veut concevoir. Elle se fait avant la construction du système en question (avant la
mise en œuvre). L’inconvénient est que la simulation est parfois très couteuse et on n’est pas certain
d’avoir envisagé tous les cas d’étude.

Tests : Le test se fait sur le produit lui-même (donc après la mise en œuvre). Il est parfois très
couteux de corriger les erreurs (par exemple tester un avion) et ça implique des fois de
recommencer.

Avec la simulation et les tests on n’est jamais sûr d’avoir envisagé tout les cas de figure, les tests ne
peuvent pas être effectués de manière exhaustive.

Vérification formelle : La vérification formelle se base sur des modèles formels. Elle consiste à
explorer tout les états du système.

Vérification formelle

Méthodes basées sur des Méthodes basées sur le modèle


preuves de théorèmes

Basées sur la bi-simulation Model Checking

www.jmct.123.fr
Pour les étudiants de l’USTHB
2
Master RSD - USTHB -

Dans la suite de ce cours nous allons principalement nous intéresser à la branche « Model
Checking ».

- Construire un modèle M qui décrit le comportement du système qu’on veut vérifier, dans un
formalisme (par exemple les automates, c’est ce qu’on va utiliser dans ce cours).

- Expression final des propriétés ф qu’on souhaite vérifier, dans un formalisme (logique
temporelle, par exemple CTL, LTL …).

Ensuite la vérification grâce au Model Checking consiste à voir si M satisfait ф

Modèle comportementale Spécification (propriété) ф


(opérationnel) M

Modèle Checking

M ф ?
(On lit : est ce que M satisfait ф ?)

La limitation théorique de Model Checking c’est que ça nécessite que le système de transitions
(automate) doit être fini (ce n’est pas toujours le cas en pratique même si c’est souvent fini); et la
limitation pratique c’est la grand taille des systèmes de transitions due à l’explosion combinatoire du
nombre d’états du système.

www.jmct.123.fr
Pour les étudiants de l’USTHB
3
Master RSD - USTHB -

Les automates
Le terme automate est générique et désigne :
- Système de transitions (étiquetées).
- Structures de Kripke (étiquetées).

Système de transitions

Un système de transition A est un quadruplet A = <S, S0, E, R> où


S est l’ensemble fini d’état
S0 est l’ensemble des états initiales (S0<=S)
E est l’ensemble fini d’étiquettes (Alphabet, Action ou événement)
R est l’ensemble fini de transition

R est inclus dans S*E*S

Exemple :
Pour un digicode qui permet l’ouverture de la porte dés qu’une séquence « 36A35 » est saisie.
L’alphabet est {0, 1,2,…, A, B}
I<>3, 6

3
I<>3 3 6
3 6 A
S1 S2 3
S3
I<>3 3 S4
S5 5

I<>3, A
I<>3

S6

A= <S, S0, E, R>

S = {S1, S2, S3, S4, S5, S6}


S0 = {S1}
E = {0, 1, 2, … 9, A, B}
R = {S1  S2, S2  S1, … }
3 ≠3
Structure de Kripke

Soit π un ensemble fini de proposition atomique et E un ensemble fini d’étiquettes. Une structure de
Kripke est un système de transition enrichie ou les états comportent des sous ensemble de
proposition atomique.

Une structure de Kripke K est un quadruplet K= <S, S0, E, R, λ> où S, S0, E, R sont les même que dans
les systèmes de transitions, λ est une application:
λ : S  2π où 2π est l’ensemble des sous ensembles de π.

www.jmct.123.fr
Pour les étudiants de l’USTHB
4
Master RSD - USTHB -

Exemple :
Sur une table ronde, on a 5 philosophes chinois avec leur assiette de spaghetti (une pour chacun), sur
la table on a cinq fourchettes chinoises, une entre chaque assiette, le philosophe ne doit manger si
les deux fourchettes (celle de l’adroite et celle de la gauche) sont disponibles sinon il réfléchi.

Pour un philosophe donnée, on a par exemple la structure de Kripke suivante :

Réfléchir, 7GL, 7DL

S1
Réfléchir, GL, 7DL

S2 S4
Manger, 7GL, 7DL

S3
Réfléchir, GL, DL

Séquence d’exécution infinie

Une séquence infinie σ = S0S1S2S3 …


Soit le système de transition étiquetée :
a b

S0 S1
c

σ = S0S1S1S1….. S0S1S1S1….. S1S0S1S1 …


 σ = S0 (S1)w S0 (S1)w S0 (S1)w …
σ= (S0(S1)w)w Séquence Infinie (w détermine une variable indéfinie).

Un STE permet de représenter une infinité d’exécution infinie alors que l’automate est finie.

Définition d’une trace :


Le terme trace correspond à une séquence d’exécution d’étiquettes.

a b
T = abwcabwcabwc…
S0 S1

Arbre d’exécution

Exemple 1 :
a b

S0 S1
c

www.jmct.123.fr
Pour les étudiants de l’USTHB
5
Master RSD - USTHB -

S0
a

S1
b
c

S1 S0

b c a

S1 S0
S1

 l’arbre est infini.

Exemple 2 :
a b
S0 S1 S2
c a

b
S0
a b

S1 S2

c b a
b

S0 S2 S1
S1

Dans la représentation de l’arbre, on a représenté toutes les séquences possibles et on a précisé le


moment du choix alors que dans une séquence infinie on n’a pas montré ça (dans l’arbre on voit le
moment ou on a fait notre choix).

www.jmct.123.fr
Pour les étudiants de l’USTHB
6
Master RSD - USTHB -

S0 S0

a a
a

S0 S0
S0

b c
b c

S0 S0 S0 S0

Ces deux arbres donnent la même séquence de mot donc ils sont équivalents en terme de choix mais
non équivalents en terme de branchement (c.à.d. le moment de choix de ces deux arbres n’est pas le
même).

Produit d’automate

Le produit d’automate est une modélisation des systèmes constituées de sous système.
On utilise le produit (resp le produit synchrone) lors de la vérification de propriétés exprimées en LTL
(Logique Temporelle Linéaire).

Produit libre (asynchrone) :

Soit K1=<S1, S01, E1, R1, λ1 > et K2=<S2, S02, E2, R2, λ2 > Deux structures de Kripke
K1 K2 donne une autre structure de Kripke K telque :
K=<S, S0, E, R, λ > avec:
S = S1 X S2 = { (s1, s2) / s1 ∈ S1, s2 ∈ S2 }
S0 = S01 X S02
Soit s1 s’1 et s2=s’2
E= E1U E2
R= (s1, s2) e (s’1, s’2)  e
Soit s2 s’2 et s1=s’1

λ: s ∈ S: s= (s1, s2)
λ(s)= λ (s1) U λ (s2)

Exemple :
c
a a
P qr q
b
d c

q p

www.jmct.123.fr
Pour les étudiants de l’USTHB
7
Master RSD - USTHB -

pq p
a e
b a
d b

qr pqr
a e a
c d c

q pq
e
Produit synchrone :
Soient K1=<S1, S01, E1, R1, λ1 > et K2=<S2, S02, E2, R2, λ2 > Deux structures de Kripke étiquetées.
Le produit synchrone K1 K2 sur un ensemble d’étiquettes {sync}
K=<S, S0, E, R, λ > avec

S= S1 X S2 = {( s1 ,s2 ) / s1∈ S1, s2 ∈S2}


S0= S01 S02 e
Soit e∈ E1 s1 s’1 et s2=s’2
E= E1U E2
e ee
R= (s1 ,s2) (s’1 ,s’2)  Soit e∈ E2 s2 s’2 et s1=s’1

e e
Soit e∈ Sync s1 s’1 et s2 s’2

λ: s1 ∈ S1, s2 ∈ S2 : λ (s1, s2) = λ1 (s1) U λ2 (s2)

Exemple de l’horloge digital:

Minute:
Mn Mn

00 01 02 59 60 états

h
Heures : h h

00 01 02 23

K=K1 X K2 {h} (la synchronisation se fait avec les heures)

Le produit donne :

www.jmct.123.fr
Pour les étudiants de l’USTHB
8
Master RSD - USTHB -

Mn Mn
00 :00 00 :01 00 :02 00 :59
Mn h

01 :01 01 :00
01 :59
h

h 02 :00

Mn

23 :01 23 :00
23 :59

Logique temporelle
Les logiques temporelles sont utilisées pour décrire des propriétés, c’est donc un langage de
description.
Les propriétés décrites en logique temporelle sont vérifiés sur un modèle (automate, SI, SK…). Le
temps n’est pas exprimé de manière explicite, mais on a la probabilité de formuler qu’une propriété
sera toujours vérifiée ou ne sera jamais vérifiée éventuellement (le terme éventuellement ici prend
le sens d’eventually en anglais).
Les propriétés telles que : jamais, éventuellement, toujours … sont exprimées à l’aide d’opération
temporelle de la logique temporelle qui peuvent être qui peuvent être combinées à l’aide des
opérateurs logiques : ∧ (et), ∨ (ou), 7 (non), => (implique) ... et de quantificateurs : ∀, ∃.

Il y a deux types de logiques :


• CTL : Logique temporelle arborescente (Computational Tree Logic).
• LTL : Logique temporelle linéaire (Linear Temporal Logic).

Selon la manière avec laquelle sont considérés les branchements lors de l’exécution. En effet, CTL est
dite arborescente car les opérations temporelles sont évalués sur une exécution partent de
n’importe quel état contrairement à une logique linéaire LTL dont l’évolution se fait pour une
exécution à partir de l’état initial.

Si on prend un exemple de feu rouge (tricolore), pour chaque couleur, R J V, on associe une
variable logique ; on aura donc les situations suivantes :
R ∧ 7J ∧ 7V
7R ∧ J ∧ 7V
7R ∧ 7J ∧ V
La question qui se pose : comment peut-on exprimer les propriétés suivantes :
Le jaune est toujours suivi immédiatement par le rouge.
Le système passe infiniment souvent par le feu vert …

Nous allons voir ceci grâce à la logique temporelle.

www.jmct.123.fr
Pour les étudiants de l’USTHB
9
Master RSD - USTHB -

Logique temporelle CTL

Une formule de la logique temporelle CTL peut être donnée par les règles suivantes :
1. Si p est une proposition atomique alors p est une formule d’état.
(Si on veut vérifier si p est vrai on ne peut la vérifier que sur un état précis)
2. Si ϕ est ψ sont des formules d’état alors ϕ∧ψ et 7ϕ ϕ sont des formules d’états.
3. Si ϕ et ψ sont des formules d’état alors ×ϕ et ϕ∪ψ (∪ veux dire until) sont des formules de
chemin.
4. Si ϕ est une formule de chemin alors Aϕ ϕ et Eϕϕ sont des formules d’états. (A et E veulent dire
∀ et ∃ en quelque sorte).

Les deux dernières règles peuvent être remplacé par la règle : si ϕ et ψ sont des formules
d’états alors E×ϕ, Eϕ∪ψ, et Aϕ∪ψ sont des formules d’états.

Exemple :
• E×p (dans les états successeurs il y a au moins un état qui est vrai)

• A×p (toutes les états successeurs sont vrai)


• Ep∪q (Il existe une exécution sur laquelle p est vrai jusqu’à ce que q le soit)

p
p

• Ap∪q (dans toutes les exécutions p est vrai jusqu'à ce que q le soit)
p
p p
q
p p
q
p
q q q

q q q

Remarque : Les opérateurs temporelles × et ∪ sont toujours dans le champ unimediat des
quantificateurs E et A. Par exemple :
A (p ∧× q) est incorrecte.

www.jmct.123.fr
Pour les étudiants de l’USTHB
10
Master RSD - USTHB -

A ×(p∧q) est correcte.


Transformations :
• EFϕ ≡ E true ∪ ϕ
• AFϕ ≡ A true ∪ ϕ
• EGϕ ≡ 7(A true ∪ 7ϕ)
• AGϕ ≡ 7(E true ∪ 7ϕ)
(F désigne Future et G désigne Globalement).

Exemples:
 EFp ≡ E true ∪ p (=> p sera vrai dans le future, il existe dans le future un p vrai au
moins)
 AFp ≡ A true ∪ p (=> dans toutes les exécutions il y a toujours un p vrai dans le
future)
 EGp ≡ 7(A true ∪ 7p) (=> il existe un chemin ou p est toujours vrai)
 AGp ≡ 7(E true ∪ 7p) (=> tous les chemins vérifient que p est toujours vrai)

Soit M une SK et soit σ=s0s1s2…… une séquence infinie.


On note par σi la séquence sisi+1……
On note par σ(i)= si
Supposons que l’état initial est s0
On écrit M, s╞ φ pour exprimer que ϕ est vérifié à l’état s dans le modèle M.
Remarque :
On note par M ╞ ϕ (ϕ est vérifié dans le modèle M) si et seulement si M, s0 ╞ ϕ, la propriété ϕ est
vérifiée dans le modèle M si cette propriété est vérifiée dans s0.

On définie alors la relation ╞ par induction (récursivité).


Soient P une proposition atomique, ϕ1, ϕ2, ϕ des formules CTL.
• s╞ p ; ssi p∈ λ(s).
• s╞ 7ϕ ; ssi 7(s╞ ϕ)
• s╞ ϕ1 ∧ ϕ2 ; ssi s╞ ϕ1 ∧ ϕ2
• s╞ E X ϕ ; ssi ∃ s’∈ succ(s) / s’╞ ϕ
• s╞ A X ϕ ; ssi ∀ s’∈ succ(s) / s’╞ ϕ
• s╞ E ϕ1∪ ϕ2 ; ssi ∃une séquence σ=s0s1s2……
ou ∃ j≥1 telque σ(j)╞ ϕ2
et ∀ 1≤i ≤ j σ( i )╞ ϕ1
• s╞ A ϕ1∪ ϕ2 ; ssi ∀ la séquence σ=s0s1s2……
ou ∃ j≥1 telque σ( j)╞ ϕ2
et ∀ 1≤i < j σ( i )╞ ϕ1

www.jmct.123.fr
Pour les étudiants de l’USTHB
11
Master RSD - USTHB -

Model Checking CTL :

Soit M une SK étiquetée.


On procède par étiquette des états par des sous formules de la formule à vérifier.
En respectant l’ordre de priorité 7, ∧ ou tout autre opérateur logique ensuite X, ∪ sauf s’il y a des
parenthèses.
On peut construire un arbre syntaxique pour la formule à vérifier.

Exemple :
E (a ∧ b ∪ E X 7c)

E (a ∧ b ∪ E X 7c)

E X 7c

a∧b
7c

a b c

L’algorithme passe par plusieurs itérations et à chaque itération une sous formule est traité.
Ainsi il est suffisant de considérer les six formes suivantes :
7ϕ1 , ϕ1∧ϕ2 (resp ϕ1∨ϕ2) , E X ϕ, E ϕ1 ∪ ϕ2 ,E G ϕ
Ou d’une proposition atomique, dans ce dernier cas les états sont déjà étiquetés.
• On utilise l’ensemble d’étiquettes label(s) associé à l’état s.
• On ajoute 7ϕ a label(s) ssi ϕ∉état label(s), on suppose que ϕ est déjà traité.

♦ ϕ1 ∧ ϕ2 : on rajoute l’étiquette ϕ1 ∧ ϕ2 a l’état s telque ϕ1∈ label(s) et ϕ2 ∈label(s)


Label(s) = label(s) ∪ {ϕ1 ∧ ϕ2} // ∪ : union.
♦ EXϕ : seront étiquetés par EXϕ, les états s ayant au moins un successeur s’ telque ϕ∈
label(s’).
♦ E ϕ1 ∪ ϕ2 : seront étiquetés par E ϕ1 ∪ ϕ2 d’abord les états ayant ϕ2 parmi leur étiquettes,
chaque état s ayant comme étiquettes ϕ1 sera aussi étiqueté par E ϕ1 ∪ ϕ2 .

Algorithme
Procédure cherche-EU (ϕ1, ϕ2)
T ={s / ϕ2 ∈ label(s)}
Pour tout s ∈ T faire
Label(s) = label(s) ∪ {E ϕ1 ∪ ϕ2} /* le 1er ∪ c’est union */
Tantque T≠Φ faire
Choisir s∈ T;
Pour tout t telque R(t,s) faire

www.jmct.123.fr
Pour les étudiants de l’USTHB
12
Master RSD - USTHB -

Si ((ϕ1 ∈label(t)) et (E ϕ1 ∪ ϕ2 ∈label(s)) alors


Label(t)=label(t) ∪ {E ϕ1 ∪ ϕ2}
T= T∪ {t}
Fsi ;
Fait ;
Fait ;
Fin ;

Formule propositionnelle :
• E ϕ ∪ ψ ou EXϕ.
On doit avoir aussi :
• A φ ∪ ψ ou EGp.

 Cas A φ ∪ ψ ou EGp :

Aφ∪ψ
On met l’étiquette A φ ∪ ψ sur tous les états déjà étiquetés par ψ.
Tous les états étiquetés par φ et ayant tous leurs successeurs étiquetés par A φ∪ψ sont aussi
étiquetés par A φ∪ψ.

∪ψ
A φ∪
ϕ

A φ∪ψ A φ∪ψ A φ∪ψ

EGϕ
Pour vérifier la formule EGϕ sachant que les états vérifiant ϕ sont étiquetés par ϕ :
1- On construit le sous graphe engendré par les sommets étiquetés par ϕ.
2- On détermine les composants fortement connexes du sous graphe qui ne sont pas triviales.
• Une composante fortement connexe est non triviale si et seulement si elle est constituée de
plus d’un somment ou comporte une boucle
Dans l’exemple C1, C2, C3 sont non triviale

C1

C4
C3
C2

www.jmct.123.fr
Pour les étudiants de l’USTHB
13
Master RSD - USTHB -

3- Étiqueter tous les sommets des composants frottements connexes non triviale par EGϕ.
Étiqueté tous sommet x tel qu’il existe un chemin de x vers une composant fortement connexe
non triviale par EGϕ.

Algorithme check EGϕ ;


Debut
S’={s / ϕ∈ label(s)}
Scc={c / c est un cfc non triviale}
T= Uc∈succ {s/ s∈c}
Pour tout s∈ T faire label(s)= label(s)∪{ EGϕ }
Tantque ( T≠Φ ) faire
Choisir s∈T
T= T- {s}
Pour tout t / t∈S’ et R(t ,s) faire
Si (EGϕ ∉ label(t)) alors
Label(t) =label(t) ∪ {EGϕ}
T= T∪{t}
Fsi ;
Fait ;

Fait ;
Fin.

En gros ce qu’il faut retenir c’est qu’on peut étiqueter un état "S" avec la formule "H" dans les cas
suivants :

1) Pour H = 7a
Quand l’état en question n’est pas étiqueté avec a (on peut donc l’étiqueter avec 7a).

2) Pour H = a ∧ b
Quand l’état en question est étiqueté avec a et aussi avec b

3) Pour H = a V b
Quand l’état est étiqueté avec soit a, soit b, soit les deux.

4) H = E (a U b)
• Quand l’état est étiqueté avec b (on peut donc directement l’étiqueter avec E (a U b)).
• Ou bien quand cet état "S" est étiqueté avec a et ce même état "S" a comme successeur un
autre état S` déjà étiqueté avec E (a U b). (c'est-à-dire un chemin de S vers S`).

5) H = E Ga
On cherche le sous graphe engendré par les états qui sont étiquetés avec a, et dans ce sous graphe
on cherche les composantes fortement connexes non triviales (triviale = un sommet seul sans boucle)

www.jmct.123.fr
Pour les étudiants de l’USTHB
14
Master RSD - USTHB -

et on les étiquète avec E Ga. Puis on étiquète aussi avec E Ga tout les états du sous graphe qui ont
comme successeur les états qu’on a déjà étiqueté avec E Ga.

6) H = E xa
Quand l’état S a un successeur (suivant immédiat) qui est étiqueté avec a.

Si dans notre formule on a des cas qui ne figurent pas parmi ces 6 règles, on peut appliquer les
transformations suivantes sur la formule :
• EFa ≡ E (true ∪ a)
• AFa ≡ A (true ∪ a)
• EGa ≡ 7(A (true ∪ 7a))
• AGa ≡ 7(E (true ∪ 7a))
• A(a U b) ≡ 7E(a U 7b) ∧ 7Ega
• A X a ≡ 7EX 7a

Exemple 1:

Soit la la propriété représenté par la formule ϕ= AX (7p), et le système représenté par l’automate M
suivant :
S0 S2

p,q r

S1 S3 q,r
q,r

On veut vérifier si la propriété ϕ est vérifié dans M à l’état S0, c'est-à-dire on va voir si M, s0╞ AX
(7p) est vrai ou pas.

On a :
ϕ = A X (7p) ≡ 7E X 7(7p) ≡ 7E X p

On construit l’arbre syntaxique de ϕ = 7E X p qui est assai simple :

7E X p

EXp

www.jmct.123.fr
Pour les étudiants de l’USTHB
15
Master RSD - USTHB -

Et on commence à étiqueter les états de notre automate M avec les propositions qu’on a dans l’arbre
(en commençant par le bas de l’arbre) :
• S0 est étiqueté par p.
• S1 a un successeur immédiat qui est étiqueté par p (c’est S0), donc S1 est étiqueté par EXp.
• Tout les état qui ne sont pas étiqueté par EXp sont étiqueté par 7 EXp, donc S0, S2 et S3 sont
étiqueté par 7 EXp.
Donc M, s0╞ AX (7p) est VRAIE (parce que S0 est étiqueté avec 7EXp).

Exemple 2 :
Avec le même modèle M, on va maintenant vérifier M,s0 ╞ 7EG (q)

L’arbre correspondant à 7EG q est assai S2


simple: S0
7EGq p,q r

EGq
S1 S3 q,r
q,r

On commence par chercher le sous graphe engendré par les sommets étiqueté par q :
S0
p,q

S1 S3 q,r
q,r

Et dans ce sous graphe on cherche les composantes fortement connexe non triviales. Ici on a deux
composantes fortement connexes non triviales, la 1ere est celle de gauche contenant les états S0 et
S1 et la 2eme est celle de droite contenant l’état S3.
Donc on étiquète avec EGq tout les états de ces composantes fortement connexes non triviales. Donc
S0 et S1 et S3 sont étiqueté avec EGq.
Et on étiquète avec EGq tout les états dans ce sous graphe qui ont comme successeur un état qu’on a
déjà étiqueté avec EGq (ici il n y a pas dans cet exemple).

Les états qui ne sont pas étiqueté avec EGq sont étiquetés avec 7EGq, donc il y a S2 seulement qui est
étiqueté avec 7EGq.

Donc M, S0╞ 7EGq est FAUSSE.

www.jmct.123.fr
Pour les étudiants de l’USTHB
16
Master RSD - USTHB -

Logique temporelle LTL

En CTL les propriétés d’équités « Fairness » ne peuvent être exprimées.


On a étendu CTL à Fair CTL (qui permet d’exprimer Fairness).
• Dans LTL (Logique Temporelle Linéaire) on s’intéresse à la séquence d’exécution (non aux
arbres  l’histoire donc du moment du choix n’est pas exigée).

Définition :
Les formules LTL sont de manière inductive comme suit :
Si p, q ∈AP (tel que AP : ensemble des propriétés atomiques)
• p∈ AP est une formule LTL.
• Si ϕ et ψ sont des formules LTL alors :
• 7ϕ est une formule LTL.
• ϕ∧ψ est une formule LTL.
• Xϕ est une formule LTL.
• ϕ ∪ ψ est une formule LTL.

Sémantique de LTL :
Soit σ= s0s1s2……...si…… une séquence infinie.
σ(i)= si
σi = sisi+1………. Est aussi une séquence infinie.

• σ╞ p p ∈AF p∈L (s0)


• σ╞ ϕ∨ψ ssi σ╞ϕ ou σ╞ψ
• σ╞ 7ϕ ssi σ╞ ϕ
• σ╞ Xϕ ssi σ1╞ ϕ
Tel que : σ= s0s1s2……...
σ╞ Xϕ (σ vérifie le next de s0)
σ= s1s2…….si……...
σ1╞ ϕ
• σ╞ ϕ∪ψ ssi ∃ k ≥ 0 / σk ╞ ψ et ∀ j < k σj ╞ ϕ

Abréviation :
• Fatalement ϕ Fϕ ≡ true ∪ ϕ
σ ╞ Fϕ
(Dans une séquence il existe au moins un état ou ϕ devient vrai)

ϕ ………
• Toujours (Globally) ϕ Gϕ ≡ 7F 7ϕ
(Il n’existe pas de séquence ou ϕ n’est pas vrai)

www.jmct.123.fr
Pour les étudiants de l’USTHB
17
Master RSD - USTHB -

ϕ ϕ ϕ ϕ
……….
• Infiniment souvent GFϕ (on arrêtera jamais de rencontrer ϕ ; ϕ existe toujours)

ϕ ϕ ϕ ϕ

• Presque partout FGϕ (à partir d’un état, ϕ devient partout et pour toujours)

ϕ ϕ ϕ ϕ

Équité en LTL : Équité faible : FG req  GF resp


Équité forte : FG req  FG resp

Automate de Bûchi:
Définition:
Un automate de Buchi est définie par le triplet A= (∑, Q,, s0, F) tel que :
∑ : Ensemble fini de l’alphabet.
Q : Ensemble fini d’état.
 ⊂ Q X ∑ X Q ensemble fini de transition.
s0 : L’état initial.
F : L’ensemble des états d’acceptation F⊂ Q.
a a
b
S0 S1

b
Si f = {s1}
(an, bn) k
(an, b∞)
a∞

a a
b
S0 S1

Automate simple. F={s0}


L’ensemble d’acceptation doit contenir une boucle infinie.

• Une séquence ou exécution est dite admissible (acceptable) ssi elle passe infiniment souvent
par un état de F.

www.jmct.123.fr
Pour les étudiants de l’USTHB
18
Master RSD - USTHB -

Automate du bûchi généralisé


Un triplet B =<∑, Q,, I, F> ou F= {F1, F2, F3, ……….. FN} une famille d’ensemble d’états
d’acceptation.
L’exécution est dite admissible ssi elle passe infiniment par un état de chaque Fi.

L (B)= {w, w acceptée par B (admissible)}


En termes de vérification :
• Soit S et A deux automates de bûchi.
• A est une description de système (à vérifié).
• S est une spécification (propriété à vérifié)

 Dire que la propriété S est vérifié dans A ou en d’autre terme, le système A vérifie
la propriété S(le langage généré par A est dans le langage définie par S)
Si L(A)⊆ L(S) ……………. (*)
Càd : tout comportement du système appartient au « comportement » qui est permis.
• On peut écrire (*) comme suit :
L(A) ∩ L(S)=∅
(Il n’existe pas de comportement non permis qui appartient à L(A))
Donc : si l’intersection n’est pas vide alors tout comportement ∈ L(A) ∩ L(S) correspond à un
contre exemple.
Les automates de bûchi sont fermés pour l’intersection et la comportementarité càd qu’il
existe un automate de bûchi qui accepte l’intersection des langages de deux automates de
bûchi et un automate qui accepte le comportement du langage d’un automate donné
(l’intersection de deux automates  produit synchrone)

Pour vérifier une propriété donnée on procède par la méthode du modèle checking (en
LTL) suivant :
• Déterminé l’automate S qui correspond au comportement de S qui reconnait le
langage L(S)= L(S)
• Construire l’automate qui accepte l’intersection des deux langages L(A) et L(S)
• Si l’intersection est vide cela signifie que S est vérifié dans A. (l’automate de bûchi
n’accepte aucun langage donc s’il n’existe pas d’état admissible donc l’automate
admet un langage vide)
• Autrement on peut exhiber un contre exemple.

État admissible

S0 S1

L’état admissible doit passer infiniment de fois par l’état final dans notre exemple n’est
pas le cas.

www.jmct.123.fr
Pour les étudiants de l’USTHB
19
Master RSD - USTHB -

Construction de l’automate de l’intersection

Soit B1= (∑, Q1, 1, I1, F1) et B2= (∑, Q2, 2, I2, F2)
On peut construire un automate qui accepte L(B1) ∩ L(B2) comme suit

B1 ∩ B2 =(∑ , Q1 X Q2 X {0,1,2}, , I1 X I2 X{0}, F1 X F2 X{2})

On a (ri, qj, x) a (rm, qn, y) ∈ ssi :

• ri a rm ∈ 1 et qi a qn ∈ 2

• La 3eme composante est affectée selon les conditions suivantes :

i- Si x=0 et rm∈F1 alors y=1

ii- Si x=1 et qn ∈F2 alors y=2

iii- Si x=2 alors y=0 sinon y=x

Exemple :
B1 B2
a b
a b b
b
R2 Q1 Q2
R1
a
a

R1 q1 0
a
b

a b
a
R1 q2 1 R2 q1 0
(i)

a
b b b

R2 q1 2 R1 q2 0
(ii)
a

L’automate qui correspond a B1∪ B2

www.jmct.123.fr
Pour les étudiants de l’USTHB
20
Master RSD - USTHB -

Transformation d’une formule LTL en un automate de Bûchi :


Vérification d’une formule LTL :
• Transformer la formule à un automate.
• Faire le produit synchrone.
• Faire le test du vide.

• Méthode des tableaux :


(C’est le même principe utilisé dans la méthode d’arbre en logique, lors de la vérification
si une formule est juste ou non)
formule 1er fils 2ème fils
77f f
7true false
7false true
f∧g {f, g}
f∨g {f} {g}
7(f ∨ g) {7g, 7g}
7(f ∧ g) {7f} {7g}
7X f X7f
f∪g {g} {f, X (f ∪ g)}
7(f ∪ g) {7f, 7g} {7g, X7 (f ∪ g)}
Xf f

• Pour (f ∪ g) : f est vrai jusqu’à ce que g le soit, donc : si f est vrai, on vérifie dans le
prochain si (f ∪ g) est vrai…. Jusqu’à ce qu’on arrive à g.

Exemple :
Xa ∧ (b ∪ 7a)
(a est vrai au prochain état et b reste vrai jusqu’à ce que a ne le soit plu) :

www.jmct.123.fr
Pour les étudiants de l’USTHB
21
Master RSD - USTHB -

Xa ∧ (b ∪ 7a)

Xa, (b ∪ 7a)

Xa, 7a Xa,b,X(b ∪ 7a)

a a, b ∪ 7a

Φ a ,7a a,b,X(b ∪ 7a)

Contradiction
b ∪ 7a

7a b, X (b ∪ 7a)

Donc à partir de l’arbre si dessous on peut déduire l’automate de Bûchi où les états sont étiquetés
par les propositions atomiques :

7a b

a a, b

7a b

Ensemble vide

www.jmct.123.fr
Pour les étudiants de l’USTHB
22
Master RSD - USTHB -

Binary Decision Diagram (représentation compactes)

Les BDD (Binary Decision Diagram) sont utilisés si on souhaite représenter une fonction
booléenne.
Exemple :
Comparateur de 2 bits :
a0 a1 1 si a0=b0 et a1=b1
=
b0 b1 0 sinon

f(a0 a1 b0b1)= ( a0  b0) ∧ (a1  b1)


(a0  b0) ≡ a0 ∧ b0 ∨ a0 ∧ b0
Représentation graphique:

a0
0 1

a1 a1

0 1 0 1

b0 b0
b0 b0

0 1 0 1 0 1 1

b1 b1 b1 b1 b1 b1 b1 b1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

www.jmct.123.fr
Pour les étudiants de l’USTHB
23
Master RSD - USTHB -

Représentation BDD
a0
0 1

a1 a1
0 1 0 1

b0 b0 b0 b0
0
0 1 0 0
1 1 1

b1 b1
0 0
1 1

0 1
Exemple :
F(0010)=0
F(0110)=0

Ordre d’apparition des variables :


Si on choisit l’ordre a0b0a1b1 au lieu de a0a1b0b1 on obtient le diagramme suivant :

a0
1 1

a0
a0
1
1 1
1

a0
1
1

a0 a0
1 1
1 1

0 1

www.jmct.123.fr
Pour les étudiants de l’USTHB
24
Master RSD - USTHB -

L’ordre est donc important dans le gain en espace pour la représentation à l’aide des BDD
des formules de la logique propositionnelle.
Les BDD sont un outil pour représenter les automates.

Cas d’une structure de Kripke :


Exemple :
S0 S1
a,b a,7b

1er cas : représenter seulement les états (les valeurs de vérité dans les états) par exemple on
peut représenter (a∧b)∨(a∧7b)par un OBDD ( Order BDD)

2ème cas : représenter la transition (a∧b∧a’∧ 7b’) ∨ (a ∧7b ∧a’∧b’) ∨ (a∧7b∧a’∧7b’)


(disjonction de conjonction) (on prend 4 bits au lieu de 2 ; aba’b’)
• e0e1e2e3…. Les états d’une exécution
Si ei comporte p alors il existe j<i qui comporte q
 7G (7q7Fp)
(Si on a un p  on avait q avant)
• 7(a∪b) ≡ Ga ∨ (a∪7b)
formule Fils gauche Fils droit
7(a∪b) {7a, 7b} {7b, X7(a∪b)}

S0 S1

a a a a 7b a a b
e0 e1 e2 e3 …. ei ei+1 …. ej ej+1 ….

7(a∪b)

{7a, 7b} {7b, X7(a∪b)}

Fin.
www.jmct.123.fr
Pour les étudiants de l’USTHB
25
Master RSD - USTHB -

TD N°1
Exercice 1:
Soit le jeu de boolling ou deux joueurs font tomber 01 ou 02 quilles à tours de rôle, celui qui
fait tomber la dernière quille perd.

Supposons qu’on a 05 quilles,

1- Modéliser se problème à l’aide d’un automate.


2- Vérifier s’il existe des stratégies ou le joueur 01 gagne toujours.

Solution
1- Soit un état (j , n) telque :
• j est le joueur dont le tour est arrivé.
• N le nombre de quilles restant.

1,5 2
1

2,4 2 2 2,3
1 2

1,3 1,2 1,1


2 2
1
1 1

2,2 2,1 2,0

1 1 J1 perd

1,1 1,0

J2 perd
1

2,0

J1 perd

2- Pour que le joueur 01 gagne toujours ; il faut qu’il fasse tomber une quille le premier,
puis :
• Si le joueur 02 fait tomber une quille, le joueur 01 doit faire tomber deux quilles.
• Si le joueur 02 fait tomber deux quilles, le joueur 01 doit faire tomber une quille.

www.jmct.123.fr
Pour les étudiants de l’USTHB
26
Master RSD - USTHB -

Exercice 2 : Problème d’exclusion mutuelle.


On a deux processus qui demandent une ressource critique, chaque processus peut
demander, avoir, ou libérer la ressource critique. La ressource, elle soit est libre ou affectée
à l’un des processus.
• Modéliser ce problème à l’aide d’automate en considérons chaque entité à part.
• Puis construire le modèle globale.
1- P1 P2

S01 D Syn S02


D
S0
L
S11 O’ L S12
L’

O S1 O

S21 S22

(P1 ×P1×RC) Syn = {(O, O’), (L, L’)}

2- Produit synchrone :

S01, S02, S0
LL’ D D
LL’

S11, S02, S0 S01, S12, S0


OO’ OO’
D
D LL’
S21, S02, S1 LL’ S11, S12, S1
S11, S12, S0

D
OO’ OO’

S21, S12, S0 S11, S22, S1

www.jmct.123.fr
Pour les étudiants de l’USTHB
27
Master RSD - USTHB -

TD N° 2

Exercice :

Exprimer les propriétés suivantes par des formules de CTL.

• La propriété p arrive dans le futur ( ∀ l’exécution on rencontre p)  Afp

• La propriété p est toujours vraie  AGp

• La propriété p est stable (si elle arrive, elle demeure)  AG (p⇒ AGp)

• Exclusion mutuelle : p et q n’arrivent jamais en même temps  7EF (p∧q)

• Tout p est suivi immédiatement après par un p ou un q  AG (p⇒ AX (p∨q)

• Vivacité : la propriété p est répétée infiniment souvent  AG (AFp) (dans toutes les
exécutions on rencontre tout le temps AFp)

• Toute demande de ressource est acquittée plus tard (s’il y a une demande, elle sera
suivie obligatoirement d’un acquittement  AG (d⇒ AX (AFa))

• Toute demande de ressource est acquittée plus tard, et aucune autre demande
supplémentaire n’arrive avant l’acquittement  AG (d⇒AX (A (7d∪a)))

• L’alarme reste active, tant qu’on aura pas appuyé sur stop  A (a∪s) ∧ s⇒7a

www.jmct.123.fr
Pour les étudiants de l’USTHB
28
Master RSD - USTHB -

TD N° 3
Exercice1 :
Ecrire l’arbre syntaxique des formules suivantes :

1) A (p∪ 7q) ∨ AF (7EGr)

On a :
A (p∪ 7q) ∨ AF (7EGr) = [7E (p∪q) ∧ 7EGp] ∨ 7EG ( EGr) = [7E (p∪q) ∧ 7 EGp] ∨ 7EGr

[7E (p∪q) ∧ 7 EGp] ∨ 7EGr

7E (p∪q) ∧ 7 EGp

7 EGp 7FGr
7E (p∪q)
EGp EGr

p q p r

2) EF( EGp) E(p∪q)


On sais que AB ≡ 7A ∨ B donc:
EF( EGp) E(p∪q) ≡ 7( EF( EGp)) ∨ E( p∪ q) ≡ 7(E (true ∪ (EGp))) ∨ E( p∪q)

7(E (true ∪ (EGp))) ∨ E( p∪q)

7(E (true ∪ (EGp)))

E(p∪q)
E (true ∪ (EGp))

EGp
true p p q

www.jmct.123.fr
Pour les étudiants de l’USTHB
29
Master RSD - USTHB -

Exercice 2:

1) M, s0╞ EX EG(r)
EXEGr S0 p,q r S2

EGr
S1 q,r S3 q,r

On prend le sous graphe engendré par les états qui sont étiqueté par r
S2 r
EGr

S3 q,r
S1 q,r
EGr
S3 est étiqueté par EGr puisque c’est une composante fortement connexe non triviale, et S2
est étiqueté par EGr car dans ce sous graphe elle a comme successeur S3 (qui est déjà
étiqueté par EGr).

S0 a comme successeur immédiat S2 qui est étiqueté par EGr, donc on étiquète S0 par EX EGr.
 Donc M, s0╞ EX EGr est VRAIE.

2) M, s1╞ AG (q∨r)
AG (q∨r) ≡ 7EF 7(q∨r) ≡ 7E (true ∪ 7(q∨r))

7E (true ∪ 7(q∨r)) 7E (true ∪ 7(q∨r)) 7E (true ∪ 7(q∨r))


q∨r q∨r
S2
S0
p,q r
E (true ∪ 7(q∨r))

true 7(q∨r) S1 S3 q,r


q,r

7E (true ∪ 7(q∨r)) 7E (true ∪ 7(q∨r))


q∨r q∨r
q∨r

 Donc M, s1╞ AG (q∨r) est vérifiée.

www.jmct.123.fr
Pour les étudiants de l’USTHB
30
Master RSD - USTHB -

3) M, s2╞ E (r ∪ q)
E (r ∪ q) E (r ∪ q)
S0 r S2
p,q

S1 S3 q,r
q,r

E (r ∪ q) E (r ∪ q)

 M, s2╞ E (r ∪ q) est vraie.

4) M, s1╞ A [q ∪ AGr]
A [q ∪ AGr] ≡ 7E [q ∪ 7AGr] ∧ 7EGq
≡ 7E [q ∪ EF7r] ∧ 7EGq
≡ 7E [q ∪ E(true U 7r)] ∧ 7EGq

7E [q ∪ E(true U 7r)] ∧ 7EGq

7E [q ∪ E (true ∪ 7r)] 7EGq

E [q ∪ E (true ∪ 7r)] EGq

E [q ∪ E (true ∪ 7r)]
E (true ∪7r)
q E( true ∪ 7r) q 7r 7E [q ∪ E (true ∪ 7r)]
EGq 7EGq
7r
S0 r S2
p,q
true 7r

S1 S3 q,r
r q,r

EGq EGq
E (true ∪7r) 7E [q ∪ E (true ∪ 7r)]
E [q ∪ E (true ∪ 7r)]

Donc M, s1╞ A [q ∪ AGr] est FAUSSE.

www.jmct.123.fr
Pour les étudiants de l’USTHB
31
Master RSD - USTHB -

5) M, s1╞ E [q ∪ AGr ]
E [q ∪ AGr] ≡ E [q ∪ 7E (true ∪ 7r)]

E [q ∪ 7E (true ∪ 7r)]

q 7E (true ∪ 7r)

E (true ∪ 7r)

true 7r

E [q ∪ 7E (true ∪ 7r)]
E [q ∪ 7E (true ∪ 7r)]
E (true ∪7r)
7E (true ∪ 7r)
S0 r S2
p,q

7r

S1 S3 q,r
q,r
E (true ∪7r) 7E (true ∪ 7r)
E [q ∪ 7E (true ∪ 7r)] E [q ∪ E (true ∪ 7r)]

Donc M, s1╞ E [q ∪ AGr ] est VRAIE

6) M, s1 ╞ EF AG (q)

EF AG (q) ≡ E (true ∪ AG (q))


EF AG (q) ≡ E (true ∪ 7EF(7q))
EF AG (q) ≡ E (true ∪ 7E (true ∪ 7q))

www.jmct.123.fr
Pour les étudiants de l’USTHB
32
Master RSD - USTHB -

E (true ∪ 7E (true ∪ 7q))

true 7E (true ∪ 7q)

E (true ∪ 7q)

true 7q

E (true ∪ 7E (true ∪ 7q)) E (true ∪ 7E (true ∪ 7q))

E(true ∪ 7q) E (true ∪ 7q)


7q
S0 r
p,q S2

S1 S3 q,r
q,r
E (true ∪ 7q) 7E (true ∪ 7q)
E (true ∪ 7E (true ∪ 7q))
E (true ∪ 7E (true ∪ 7q))

 Donc M, s1 ╞ EF AG (q) est VRAIE.

Exercice 3 :
Vérifiez si les formules sont valides sur l’automate suivant : a

a, b

c B, c c

www.jmct.123.fr
Pour les étudiants de l’USTHB
33
Master RSD - USTHB -

• ϕ1= EF AG c

EF AGc ≡ E (true ∪ AG c)
EF AGc ≡ E (true ∪ 7EF (7c))
EF AGc ≡ E (true ∪ 7E (true ∪ 7c))

E (true ∪ 7E (true ∪ 7c))

true 7E (true ∪ 7c)

E (true ∪ 7c)

true 7c

E (true ∪ 7E (true ∪ 7c))


E (true ∪ 7c)
7c
a

E (true ∪ 7E (true ∪ 7c))


a, b E (true ∪ 7c)
E (true ∪ 7E (true ∪ 7c))
7c
7 E (true ∪ 7c)

E (true ∪ 7E (true ∪ 7c))


c b, c c 7 E (true ∪ 7c)

E (true ∪ 7E (true ∪ 7c))


7 E (true ∪ 7c)

Donc ϕ1= EF AG c est VRAIE

www.jmct.123.fr
Pour les étudiants de l’USTHB
34
Master RSD - USTHB -

• ϕ2 = A (a ∪ AFc)
= 7E (a ∪ 7AFc) ∧ 7EGa

7 E ( a ∪ EG 7c) ∧ 7EGa

7 E( a ∪ EG 7c) 7EGa

E( a ∪ EG 7c) EGa

a EG 7c a

7c

7 E (a ∪ EG 7c) ∧ 7EGa
7c
7 E (a ∪ EG 7c)
7EGa

7 E (a ∪ EG 7c) ∧ 7EGa
7c
a, b 7 E (a ∪ EG 7c)
7EGa
7 E (a ∪ EG 7c)

c b, c c

7 E (a ∪ EG 7c) 7 E (a ∪ EG 7c)

www.jmct.123.fr
Pour les étudiants de l’USTHB
35
Master RSD - USTHB -

TD 5
Série N°2:

Exprimer les propriétés suivantes par des formules de LTL.

• La propriété p arrive dans le futur  Fp


• La propriété p est toujours vraie  Gp
• La propriété p est stable (si elle arrive, elle demeure)  G (p⇒ Xp)
• Exclusion mutuelle : p et q n’arrivent jamais en même temps  7F (p∧q), G7
(p∧q)
• Tout p est suivi immédiatement après par un p ou un q  G (p⇒ X (p∨q)
• Vivacité : la propriété p est répétée infiniment souvent  G (Fp)
• Toute demande de ressource est acquittée plus tard (s’il y a une demande, elle sera
suivie obligatoirement d’un acquittement  G (d⇒ X (Fa))
• Toute demande de ressource est acquittée plus tard, et aucune autre demande
supplémentaire n’arrive avant l’acquittement  G (d⇒ (7d∪a))
• L’alarme reste active, tant qu’on aura pas appuyé sur stop  (a∪s) ∨ G(a∧7s)

www.jmct.123.fr
Pour les étudiants de l’USTHB
36
Master RSD - USTHB -

Série N°4 : Automate de bûchi

Exercice :
Construire l’automate de bûchi sur l’alphabet {a, b} et accepte un ensemble de mots tel que :
1- Les mots comportant au moins un « a ».
2- Les mots comportant exactement un « a ».
3- Les mots dans lesquels les lettres « a » et « b » sont vérifiés infiniment souvent.
4- Acceptant la formule 7(a∪b)
Solution : b a b
1- SS11
S0
b

2-
b a b
S0 SS11

3-
b
b
S0 S1

a a

b b

SS12

Remarque : l’exécution doit passer une infinité de fois par l’état d’acceptation dans un
automate de bûchi avant sa terminaison.
4- 7(a ∪ b) = (a ∪ 7b) ∨ Ga

a 7 true
SS10 SS11

www.jmct.123.fr
Pour les étudiants de l’USTHB
37
Master RSD - USTHB -

Exercice 2 :

Construire l’automate de bûchi correspondant aux formules:

a- a∪(b∪c)
b- (a∪b)∪c
c- G(r  X(7r∪g))

a- a∪(b∪c)
a∪(b∪c)

{b∪c} {a, Xa∪ (b∪c)}

{c} {b,X(b∪c)}

a c true

b
a
b
b c
S0 S1 S2

c true
Automate de bûchi

www.jmct.123.fr
Pour les étudiants de l’USTHB
38
Master RSD - USTHB -

(a∪b)∪c
b-

{c} {(a∪b), X[(a∪b)∪c]}

{a, X(a∪b), X[(a∪b)∪c]} { b, X[(a∪b)∪c]}

{(a∪b), X[(a∪b)∪c]}

{b, (a∪b)∪c} {a, X(a∪b), (a∪b)∪c}

{a, X(a∪b), c}
{ b, c} {b, (a∪b), X[(a∪b)∪c]}

c- G(r  X(7r∪g))

 G(7r ∨ X(7r∪g)) ≡ 7F 7(7r ∨ X(7r∪g))


≡ 7(true ∪ (r ∧ 7X(7r∪g))
ϕ=7(true ∪ (r ∧ X 7 (7r∪g))

7(true ∪ (r ∧ X 7 (7r∪g))

{7true , 7 (r ∧ X 7 (7r∪g)} {7(r ∧ X 7 (7r∪g)),Xϕ}

Contradiction
{X (7r∪g), Xϕ} {7r, Xϕ}

{7r∪g , ϕ}

{g , ϕ} {7r , X(7r∪g), ϕ}

www.jmct.123.fr
Pour les étudiants de l’USTHB
39
Master RSD - USTHB -

Exercices non corrigés

Exercice 1 :

Exprimer les propositions suivantes en LTL puis en CTL avec AP = {pluie}

1- S’il ne pleut pas aujourd’hui, il pleuvra plus tard.


2- S’il ne pleut pas aujourd’hui, il pleuvra dans trois jours à venir.
3- S’il ne pleut pad aujourd’hui, il a plu dans les trois derniers jours.
4- Il pleut un jour sur deux.

Exercice 2 :

Donner pour chaque formule ci-dessous un exemple et un contre exemple

1- Xp
2- Ap Uq
3- Ap U (Eq Ur)
4- GEp

Exercice 3 :

Soit AP= {p, q}. Un front montant est un instant tel que p est vrai alors qu’elle était fausse à
l’instant précédent. Exprimer par une propriété de LTL que q indique les fronts montants sur
p.

Exercice 4 :

Exprimer en LTL puis en CTL les propriétés suivantes avec AP={r∈q, ack}

1- Si on a infiniment souvent r∈q ; alors on a infiniment souvent ack


2- Si on a continuellement r∈q, alors on a inévitablement ack
3- Tout r∈q est suivi (immédiatement ou non) d’un ack

www.jmct.123.fr
Pour les étudiants de l’USTHB
40
Master RSD - USTHB -

Exercice 5 :

Indiquer quelles formules ci-dessous sont satisfaites par la structure de Kripke suivante :

1- Xp
2- p∪q
3- EX (Ep ∪ q)
4- EX (p∧ AFq)

www.jmct.123.fr
Pour les étudiants de l’USTHB
41

Vous aimerez peut-être aussi