1
Chapitre 3
Spécification des propriétés
Logique temporelle
w3.uqo.ca/luigi/
2
Histoire: logique modale, logique temporelle, modè le
 Les concepts de logique modale, logique temporelle et modèle furent
développés par les philosophes Prior, Meredith et Kripke autour des années
1960
 Mais ils étaient déjà connus en philosophie avant ça
 La logique modale est un système logique où on utilise des opérateurs
additionnels pour spécifier des modalités
 P.ex. les opérateurs ‘nécessité’ et ‘possibilité’ en ajout aux opérateurs logiques
conventionnels
 ‘s’il est nécessaire qu’il pleuve, donc il est possible que je me mouille’
 Le même principe est utilisé pour définir autres types d’opérateurs modales:
 Logique déontique, dont les opérateurs modales sont obligatoire, défendu,
permis, etc.
 Logique temporelle, dont les opérateurs sont ‘désormais’, ‘finalement’
 La logique temporelle fut introduite en informatique par Amir Pnueli en 1977
3
Logique: Rappel de Notation
 Variables: x, y, z… Constantes: a, b, c…
 Opérateurs principaux:
 Logique propositionnelle:
 ∧ (et) (parfois aussi écrit &, &&..)
 ∨ (ou) (parfois aussi écrit ||)
 ¬ (négation) (parfois aussi écrit ~ ou !)
 → (implication), A → B est défini comme ¬A ∨ B
 ↔ (équivalence), A ↔ B est défini comme A → B ∧ B → A
 Logique des prédicats:
 P(x1, …, xn) (le tuple x1, …, xn a la propriété P)
 ∃x1,…,xn (il existe x1, …, xn )
 ∀x1,…,xn (pour tous les x1, …, xn )
 P.ex.
 ∀x,y ∃z =(x+y,z) ou ∀x,y ∃z (x+y=z)
 (∀x (P(x) →Q(x)) ∧ P(a) ) → Q(a)
 (∀x (P(x) → Q(x)) ∧ ∃ y(P(y))) → ∃z Q(z)
4
Dualité entre opé rateurs logiques
Lois de dualité (De Morgan):
 A ∨ B = ¬(¬A ∧ ¬B)
 A ∧ B = ¬ (¬A ∨ ¬B)
 ∃x P(x) = ¬∀x ¬P(x)
 ∀x P(x) = ¬ ∃x ¬P(x)
 Ces deux dernières se justifient par les deux premières et le
fait que
 ∃x P(x) = ( P(a) ∨ P(b) ∨ P(c)….)
 ∀x P(x) = (P(a) ∧ P(b) ∧ P(c)….)
 Si a, b, c… sont tous les éléments du domaine en considération
5
Logiques modales
Dans les logiques modales, on ajoute des opérateurs
pour exprimer certaines propriétés qui ne peuvent pas
être exprimées directement en logique pure
P.ex. nécessité et possibilité (logique modale usuelle)
Obligation et permission (logique déontique)
Les logiques modales sont caractérisées par le fait
qu’il y a dualité entre ces opérateurs:
 nécessaire (x) = impossible non x
 obligatoire (x) = non permis non x
6
Logique temporelle
Les modalités principales sont:
  dorénavant, désormais (aussi écrit G)
  finalement, enfin (aussi écrit F)
Dualité:
 p = ¬  ¬ p (s’il fera beau dorénavant, il est faux que finalement il pleuvra!)
  p = ¬  ¬p (si finalement je serai riche, il est faux que je serai toujours pauvre!)
Et donc aussi (par élimination des doubles négations)
 ¬ p =  ¬ p
 ¬  p =  ¬ p
10
Les opé rateurs temporels sont des
abré viations
Utilisons la notation σ ╞p pour dire:
 La chaîne σ satisfait la propriété p
 σ ╞vrai est toujours vrai, pour tout σ
 σ ╞faux n’est jamais vrai, pour tout σ
σ ╞p est une abréviation pour:
 pour tous les éléments de σ, p est vrai
 dorénavant, désormais
σ ╞p est une abréviation pour:
 Pour au moins un élément de σ, p est vrai
 finalement, enfin
11
Notation pour les chaî nes
σiest l’élément i de la chaîne σ
σ[i] est l’exécution qui commence à l’élément i
Donc récursivement:
 σ = σ1σ [2]
 σ = σ1σ2σ [3]
 Etc.
…… σ i
σ[i]
12
Notation pour les chaî nes
σi╞P veut dire que le i-ème élément de la
chaîne satisfait la propriété P
σ[i] ╞Q veut dire que la chaîne à partir du i-ème
élément satisfait la propriété Q
…… σ i
σ[i]
Deux opé rateurs jusqu’à: faible et fort
FAIBLE: Je serai pauvre jusqu’à ce que je serai riche:
 Définition:
 Ou bien je suis déjà riche
 Ou bien je serai pauvre jusqu’à ce que je serai riche
 L’événement attendu pourrait ne jamais se vérifier
FORT: Nous regarderons le spectacle jusqu’à la fin
 Définition:
 Nous regarderons le spectacle jusqu’à la fin
 Il y aura une fin
13
14
Dé finition formelle de jusqu’à faible U
σ[i] ╞ (p U q)
Définition:
 σi ╞ q ∨ (σi ╞ p ∧ σ [i+1] ╞ (p U q) )
σ à partir du ième élém. satisfait p U q
ou bien le i-ème élément de σ
satisfait déjà q,
ou le ième élément satisfait p
et le reste de la chaîne satisfait p U q
15
Dé finition formelle de doré navant 
σ ╞ p
Définition:
 σ ╞ (p U faux)
 σ 1 ╞ faux ∨ (σ 1 ╞ p ∧ σ[2] ╞ (p U faux))
Touj. faux Récursivement, p est vrai pour tous les σ[i]
16
Dé finition formelle de jusqu’à fort U
Le ‘jusqu’à fort’ garantit que q devient vrai
σ[i] ╞ (p U q)
Définition:
 σ[i] ╞ (p U q) ∧ ∃j, i≤j, σ j ╞ q
la chaîne satisfait p U q il y aura un σj futur qui satisfiera q
i≤j: i présent, j futur
Observez: pour définir U fort nous utilisons l’U faible
17
Dé finition formelle de finalement 
σ ╞q
Définition:
 σ ╞ (vrai U q)
 σ[1] ╞ (vrai U q) ∧ ∃j, 1≤j, σj ╞ q
 σ[1] ╞ (vrai U q) =
σ1 ╞ q ∨ (σ1 ╞ vrai ∧ σ[2] ╞ (vrai U q) ) =
σ1 ╞ q ∨ σ[2] ╞ (vrai U q) =
σ1 ╞ q ∨ (σ2 ╞ q ∧ σ[3] ╞ (vrai U q)) etc. jusqu’à ce que q sera satisfait
N’importe quelle chaîne satisfait vrai!
Importance de U, jusqu’à fort
Il est intéressant d’observer que U est l’opérateur
fondamental de la logique temporelle.
Il peut être défini sans utiliser les autres opérateurs,
mais les autres opérateurs peuvent être définis en
termes de lui.
18
Opé rateurs temporels
p
p
p U q
ti
tk
N
N
N
Proprié té s inté ressantes en logique
temporelle
Propriétés d’invariance
Propriété de précédence
Propriétés de vivacité
Exemple pour illustrer les proprié té s
Un ensemble de m processus Pi
Un système de gestion SG de la ressource R
Une ressource commune R
Deux variables booléennes utilisées par le protocole de
communication entre les processus Piet le gestionnaire SG :
 Une variable rigérée par le processus Pi : riest positionnée à
vrai lorsque le processus Pidemande la ressource R. Elle est
positionnée à faux lorsqu’il la libère.
 Une variable aigérée par le système SG : ai est positionnée à
vrai lorsque le système SG a accordé la ressource R au
Proprié té d’invariance (safety property)
Autre appellation : propriété de sûreté
Exprimée avec l’opérateur « toujours » 
Informellement,
- « les mauvaises choses ne peuvent (ne doivent pas) pas se produire »
- en terme de spécification « ce que le système ne doit pas faire »
Exemple de ce type de propriété : l’exclusion mutuelle
Prop1 : la ressource R est accordée a au plus un processus demandeur de cette
ressource
Formule en logique temporelle FProp1 de Prop1
FProp1:  / ¬(ai∧ aj)
i≠j
Proprié té de pré cé dence
Exprimée avec l’opérateur « jusqu’à » U
Informellement,
- introduction d’un ordre explicite entre les évènements
Exemples de ce type de propriété
Prop4 : la ressource R ne peut être accordée à Pique s’il en fait la
demande
Prop5 : SG accorde la ressource R selon l’ordre des demandes
Formule en logique temporelle FProp4 de Prop4
FProp4: (¬ai→ (ri U ai))
Formule en logique temporelle FProp5 de Prop5
FProp5 : ((ri∧ ¬rj∧ ¬aj)→ (¬ajU ai))
Proprié té de vivacité (liveness property)
 Exprimée avec l’opérateur « possible » ◊
 Informellement,
- « les bonnes choses vont effectivement se produire »
- en terme de spécification « le comportement effectif attendu »
 Exemples de ce type de propriété
Prop2 : si le processus Pidemande la ressource R alors il l’obtiendra
Prop3 : si le processus Piobtient la ressource R alors il la libèrera
 Formule en logique temporelle FProp2 de Prop2
FProp2: (ri → ◊ai)
 Formule en logique temporelle FProp3 de Prop3
FProp3: (ai → ◊¬ri)
28
Formules fré quemment utilisé es
p → q réponse, causalité
p → qUr p implique q jusqu’a r (précédence)
   p toujours finalement p (progrès vers p)
infiniment souvent p
il sera toujours vrai qu’il y aura des p dans le futur
   p finalement toujours p
nous allons vers une stabilité, ou non-progrès
  p →  q corrélation
   ¬p p finalement devient toujours faux
   ¬p p deviendra faux au moins une fois encore
il sera toujours vrai que p sera faux dans un futur
30
É quivalences utiles
Équivalent à
¬(p U q) (¬q) U (¬p ∧¬q)
¬(p U q) (¬q) U (¬p ∧¬q)
 (p ∧ q)  p ∧ q
(p ∨ q)  p ∨  q
p U (q ∨ r) (p U q) ∨ (p U r)
(p ∧ q) U r (p U r) ∧ (q U r)
p U (q ∨ r) ( p U q) ∨ (p U r)
(p ∧ q) U r (p U r) ∧ (q U r)
  (p ∨ q)   p ∨   p
  (p ∨ q)   p ∨   q
 p
p
p
p
Lois d’implication
http://www.pst.informatik.uni-muenchen.de/lehre/WS0304/tl/Vorlesung/46-1.pd
31
Lois de réflexivité
 p → p
p →  p
Implications entre opérateurs
p →  p
p →  p
Distributivité faible
 (p → q) → (p →  q)
p v q → (p v q)
( p →  q) →  (p → q)
(p ∧ q) → p ∧ q
32
Opé rateur ‘prochain é tat’  (aussi é crit X)
σ[i] ╞  p
Définition:
 σ[i+1]╞ p
p est vrai dans la séquence qui commence pae
le prochain état
…… σi σi+1
σ[i]
36
Logiques temporelles liné aires et à
branchements
La logique temporelle que nous venons d’étudier est dite
‘logique temporelle linéaire’
Car elle est basée sur l’hypothèse qu’il n’y a qu’un seul futur
On étudie aussi les logiques temporelles à branchements,
basées sur l’hypothèse qu’il y a plusieurs futurs
 CTL, Computational Tree Logic
 Nous avons des opérateurs pour exprimer:
 Dans tout futur possible, p sera vrai
 Il y a un futur dans lequel p sera vrai
Il y a aussi des logiques pour exprimer le passé:
 Si p a été vrai dans un passé, il devra être vrai dans un futur
 Temporal logic with past
37
Conclusion sur la logique temporelle
Elle est utile pour exprimer les propriétés de systèmes
qui évoluent dans le temps
 Comme tous les systèmes réels
Les vérificateurs de modèles temporels (temporal logic
model checkers) l’utilisent
 L’utilisation de ces concepts dépasse grandement
l’ingénierie des protocole
 Il y a par ex. des applics à la vérif des circuits etc.

Ch4

  • 1.
    1 Chapitre 3 Spécification despropriétés Logique temporelle w3.uqo.ca/luigi/
  • 2.
    2 Histoire: logique modale,logique temporelle, modè le  Les concepts de logique modale, logique temporelle et modèle furent développés par les philosophes Prior, Meredith et Kripke autour des années 1960  Mais ils étaient déjà connus en philosophie avant ça  La logique modale est un système logique où on utilise des opérateurs additionnels pour spécifier des modalités  P.ex. les opérateurs ‘nécessité’ et ‘possibilité’ en ajout aux opérateurs logiques conventionnels  ‘s’il est nécessaire qu’il pleuve, donc il est possible que je me mouille’  Le même principe est utilisé pour définir autres types d’opérateurs modales:  Logique déontique, dont les opérateurs modales sont obligatoire, défendu, permis, etc.  Logique temporelle, dont les opérateurs sont ‘désormais’, ‘finalement’  La logique temporelle fut introduite en informatique par Amir Pnueli en 1977
  • 3.
    3 Logique: Rappel deNotation  Variables: x, y, z… Constantes: a, b, c…  Opérateurs principaux:  Logique propositionnelle:  ∧ (et) (parfois aussi écrit &, &&..)  ∨ (ou) (parfois aussi écrit ||)  ¬ (négation) (parfois aussi écrit ~ ou !)  → (implication), A → B est défini comme ¬A ∨ B  ↔ (équivalence), A ↔ B est défini comme A → B ∧ B → A  Logique des prédicats:  P(x1, …, xn) (le tuple x1, …, xn a la propriété P)  ∃x1,…,xn (il existe x1, …, xn )  ∀x1,…,xn (pour tous les x1, …, xn )  P.ex.  ∀x,y ∃z =(x+y,z) ou ∀x,y ∃z (x+y=z)  (∀x (P(x) →Q(x)) ∧ P(a) ) → Q(a)  (∀x (P(x) → Q(x)) ∧ ∃ y(P(y))) → ∃z Q(z)
  • 4.
    4 Dualité entre opérateurs logiques Lois de dualité (De Morgan):  A ∨ B = ¬(¬A ∧ ¬B)  A ∧ B = ¬ (¬A ∨ ¬B)  ∃x P(x) = ¬∀x ¬P(x)  ∀x P(x) = ¬ ∃x ¬P(x)  Ces deux dernières se justifient par les deux premières et le fait que  ∃x P(x) = ( P(a) ∨ P(b) ∨ P(c)….)  ∀x P(x) = (P(a) ∧ P(b) ∧ P(c)….)  Si a, b, c… sont tous les éléments du domaine en considération
  • 5.
    5 Logiques modales Dans leslogiques modales, on ajoute des opérateurs pour exprimer certaines propriétés qui ne peuvent pas être exprimées directement en logique pure P.ex. nécessité et possibilité (logique modale usuelle) Obligation et permission (logique déontique) Les logiques modales sont caractérisées par le fait qu’il y a dualité entre ces opérateurs:  nécessaire (x) = impossible non x  obligatoire (x) = non permis non x
  • 6.
    6 Logique temporelle Les modalitésprincipales sont:   dorénavant, désormais (aussi écrit G)   finalement, enfin (aussi écrit F) Dualité:  p = ¬  ¬ p (s’il fera beau dorénavant, il est faux que finalement il pleuvra!)   p = ¬  ¬p (si finalement je serai riche, il est faux que je serai toujours pauvre!) Et donc aussi (par élimination des doubles négations)  ¬ p =  ¬ p  ¬  p =  ¬ p
  • 7.
    10 Les opé rateurstemporels sont des abré viations Utilisons la notation σ ╞p pour dire:  La chaîne σ satisfait la propriété p  σ ╞vrai est toujours vrai, pour tout σ  σ ╞faux n’est jamais vrai, pour tout σ σ ╞p est une abréviation pour:  pour tous les éléments de σ, p est vrai  dorénavant, désormais σ ╞p est une abréviation pour:  Pour au moins un élément de σ, p est vrai  finalement, enfin
  • 8.
    11 Notation pour leschaî nes σiest l’élément i de la chaîne σ σ[i] est l’exécution qui commence à l’élément i Donc récursivement:  σ = σ1σ [2]  σ = σ1σ2σ [3]  Etc. …… σ i σ[i]
  • 9.
    12 Notation pour leschaî nes σi╞P veut dire que le i-ème élément de la chaîne satisfait la propriété P σ[i] ╞Q veut dire que la chaîne à partir du i-ème élément satisfait la propriété Q …… σ i σ[i]
  • 10.
    Deux opé rateursjusqu’à: faible et fort FAIBLE: Je serai pauvre jusqu’à ce que je serai riche:  Définition:  Ou bien je suis déjà riche  Ou bien je serai pauvre jusqu’à ce que je serai riche  L’événement attendu pourrait ne jamais se vérifier FORT: Nous regarderons le spectacle jusqu’à la fin  Définition:  Nous regarderons le spectacle jusqu’à la fin  Il y aura une fin 13
  • 11.
    14 Dé finition formellede jusqu’à faible U σ[i] ╞ (p U q) Définition:  σi ╞ q ∨ (σi ╞ p ∧ σ [i+1] ╞ (p U q) ) σ à partir du ième élém. satisfait p U q ou bien le i-ème élément de σ satisfait déjà q, ou le ième élément satisfait p et le reste de la chaîne satisfait p U q
  • 12.
    15 Dé finition formellede doré navant  σ ╞ p Définition:  σ ╞ (p U faux)  σ 1 ╞ faux ∨ (σ 1 ╞ p ∧ σ[2] ╞ (p U faux)) Touj. faux Récursivement, p est vrai pour tous les σ[i]
  • 13.
    16 Dé finition formellede jusqu’à fort U Le ‘jusqu’à fort’ garantit que q devient vrai σ[i] ╞ (p U q) Définition:  σ[i] ╞ (p U q) ∧ ∃j, i≤j, σ j ╞ q la chaîne satisfait p U q il y aura un σj futur qui satisfiera q i≤j: i présent, j futur Observez: pour définir U fort nous utilisons l’U faible
  • 14.
    17 Dé finition formellede finalement  σ ╞q Définition:  σ ╞ (vrai U q)  σ[1] ╞ (vrai U q) ∧ ∃j, 1≤j, σj ╞ q  σ[1] ╞ (vrai U q) = σ1 ╞ q ∨ (σ1 ╞ vrai ∧ σ[2] ╞ (vrai U q) ) = σ1 ╞ q ∨ σ[2] ╞ (vrai U q) = σ1 ╞ q ∨ (σ2 ╞ q ∧ σ[3] ╞ (vrai U q)) etc. jusqu’à ce que q sera satisfait N’importe quelle chaîne satisfait vrai!
  • 15.
    Importance de U,jusqu’à fort Il est intéressant d’observer que U est l’opérateur fondamental de la logique temporelle. Il peut être défini sans utiliser les autres opérateurs, mais les autres opérateurs peuvent être définis en termes de lui. 18
  • 16.
  • 17.
    Proprié té sinté ressantes en logique temporelle Propriétés d’invariance Propriété de précédence Propriétés de vivacité
  • 18.
    Exemple pour illustrerles proprié té s Un ensemble de m processus Pi Un système de gestion SG de la ressource R Une ressource commune R Deux variables booléennes utilisées par le protocole de communication entre les processus Piet le gestionnaire SG :  Une variable rigérée par le processus Pi : riest positionnée à vrai lorsque le processus Pidemande la ressource R. Elle est positionnée à faux lorsqu’il la libère.  Une variable aigérée par le système SG : ai est positionnée à vrai lorsque le système SG a accordé la ressource R au
  • 19.
    Proprié té d’invariance(safety property) Autre appellation : propriété de sûreté Exprimée avec l’opérateur « toujours »  Informellement, - « les mauvaises choses ne peuvent (ne doivent pas) pas se produire » - en terme de spécification « ce que le système ne doit pas faire » Exemple de ce type de propriété : l’exclusion mutuelle Prop1 : la ressource R est accordée a au plus un processus demandeur de cette ressource Formule en logique temporelle FProp1 de Prop1 FProp1:  / ¬(ai∧ aj) i≠j
  • 20.
    Proprié té depré cé dence Exprimée avec l’opérateur « jusqu’à » U Informellement, - introduction d’un ordre explicite entre les évènements Exemples de ce type de propriété Prop4 : la ressource R ne peut être accordée à Pique s’il en fait la demande Prop5 : SG accorde la ressource R selon l’ordre des demandes Formule en logique temporelle FProp4 de Prop4 FProp4: (¬ai→ (ri U ai)) Formule en logique temporelle FProp5 de Prop5 FProp5 : ((ri∧ ¬rj∧ ¬aj)→ (¬ajU ai))
  • 21.
    Proprié té devivacité (liveness property)  Exprimée avec l’opérateur « possible » ◊  Informellement, - « les bonnes choses vont effectivement se produire » - en terme de spécification « le comportement effectif attendu »  Exemples de ce type de propriété Prop2 : si le processus Pidemande la ressource R alors il l’obtiendra Prop3 : si le processus Piobtient la ressource R alors il la libèrera  Formule en logique temporelle FProp2 de Prop2 FProp2: (ri → ◊ai)  Formule en logique temporelle FProp3 de Prop3 FProp3: (ai → ◊¬ri)
  • 22.
    28 Formules fré quemmentutilisé es p → q réponse, causalité p → qUr p implique q jusqu’a r (précédence)    p toujours finalement p (progrès vers p) infiniment souvent p il sera toujours vrai qu’il y aura des p dans le futur    p finalement toujours p nous allons vers une stabilité, ou non-progrès   p →  q corrélation    ¬p p finalement devient toujours faux    ¬p p deviendra faux au moins une fois encore il sera toujours vrai que p sera faux dans un futur
  • 23.
    30 É quivalences utiles Équivalentà ¬(p U q) (¬q) U (¬p ∧¬q) ¬(p U q) (¬q) U (¬p ∧¬q)  (p ∧ q)  p ∧ q (p ∨ q)  p ∨  q p U (q ∨ r) (p U q) ∨ (p U r) (p ∧ q) U r (p U r) ∧ (q U r) p U (q ∨ r) ( p U q) ∨ (p U r) (p ∧ q) U r (p U r) ∧ (q U r)   (p ∨ q)   p ∨   p   (p ∨ q)   p ∨   q  p p p p
  • 24.
    Lois d’implication http://www.pst.informatik.uni-muenchen.de/lehre/WS0304/tl/Vorlesung/46-1.pd 31 Lois deréflexivité  p → p p →  p Implications entre opérateurs p →  p p →  p Distributivité faible  (p → q) → (p →  q) p v q → (p v q) ( p →  q) →  (p → q) (p ∧ q) → p ∧ q
  • 25.
    32 Opé rateur ‘prochainé tat’  (aussi é crit X) σ[i] ╞  p Définition:  σ[i+1]╞ p p est vrai dans la séquence qui commence pae le prochain état …… σi σi+1 σ[i]
  • 26.
    36 Logiques temporelles linéaires et à branchements La logique temporelle que nous venons d’étudier est dite ‘logique temporelle linéaire’ Car elle est basée sur l’hypothèse qu’il n’y a qu’un seul futur On étudie aussi les logiques temporelles à branchements, basées sur l’hypothèse qu’il y a plusieurs futurs  CTL, Computational Tree Logic  Nous avons des opérateurs pour exprimer:  Dans tout futur possible, p sera vrai  Il y a un futur dans lequel p sera vrai Il y a aussi des logiques pour exprimer le passé:  Si p a été vrai dans un passé, il devra être vrai dans un futur  Temporal logic with past
  • 27.
    37 Conclusion sur lalogique temporelle Elle est utile pour exprimer les propriétés de systèmes qui évoluent dans le temps  Comme tous les systèmes réels Les vérificateurs de modèles temporels (temporal logic model checkers) l’utilisent  L’utilisation de ces concepts dépasse grandement l’ingénierie des protocole  Il y a par ex. des applics à la vérif des circuits etc.