Une structure de Kripke est un modèle de calcul, proche d'un automate fini non déterministe, inventé par Saul Kripke. Elle est utilisée par exemple dans le model checking pour représenter le comportement d'un système. C'est un graphe orienté dont les nœuds représentent les états accessibles du système et dont les arcs représentent les transitions entre les états. Une fonction d'étiquetage fait correspondre à chaque état un ensemble de propositions logiques vraies dans cet état. Les logiques temporelles sont généralement interprétées dans des structures de Kripke. L'existence de certains chemins dans le graphe est alors considérée comme une éventualité de réalisation de formules.

Définition formelle

Soit A P {\displaystyle AP} un ensemble de propositions atomiques, c'est-à-dire des expressions booléennes portant sur des variables, des constantes et des prédicats. On note 2 A P {\displaystyle 2^{AP}} l'ensemble des parties de A P {\displaystyle AP} .

Une structure de Kripke, est un 4-uplet M = ( S , I , R , L ) {\displaystyle M=(S,I,R,L)} où :

  • S {\displaystyle S} est un ensemble fini d'états ;
  • I S {\displaystyle I\subseteq S} est un ensemble d'états initiaux ;
  • R S × S {\displaystyle R\subseteq S\times S} est une relation de transition qui vérifie : pour tout s S {\displaystyle s\in S} , il existe s S {\displaystyle s'\in S} tel que ( s , s ) R {\displaystyle (s,s')\in R}  ;
  • L : S 2 A P {\displaystyle L:S\rightarrow 2^{AP}} est une fonction d'étiquetage ou d'interprétation.

La condition associée à la relation de transition R {\displaystyle R} spécifie que chaque état doit avoir un successeur dans R {\displaystyle R} , ce qui implique que l'on peut toujours construire un chemin infini dans la structure de Kripke. Cette propriété est importante lorsque l'on traite des systèmes réactifs. Pour modéliser un interblocage dans une structure de Kripke, il suffit de faire boucler l'état d'interblocage sur lui-même.

La fonction d'étiquetage L {\displaystyle L} définit pour chaque état s S {\displaystyle s\in S} l'ensemble L ( s ) {\displaystyle L(s)} de toutes les propositions atomiques qui sont valides dans cet état.

Un chemin dans la structure M {\displaystyle M} est une suite c = s 1 , s 2 , s 3 , {\displaystyle c=s_{1},s_{2},s_{3},\ldots } d'états tels que ( s i , s i 1 ) R {\displaystyle (s_{i},s_{i 1})\in R} pour tout i {\displaystyle i} . L'étiquette du chemin est la suite d'ensembles w = L ( s 1 ) , L ( s 2 ) , L ( s 3 ) , {\displaystyle w=L(s_{1}),L(s_{2}),L(s_{3}),\ldots } qui peut être vu comme un mot infini sur l'alphabet 2 A P {\displaystyle 2^{AP}} .

Avec cette définition, une structure de Kripke peut être vue comme un automate de Moore avec un alphabet réduit à un singleton, et dont la fonction de sortie est la fonction d'étiquetage.

Exemple

Dans l'exemple ci-contre, l'ensemble de propositions atomiques est A P = { p , q } {\displaystyle AP=\{p,q\}} . Ici p {\displaystyle p} et q {\displaystyle q} sont des propriétés booléennes quelconques. L'état 1 contient les deux propositions, les états 2 et 3 respectivement q {\displaystyle q} et p {\displaystyle p} . L'automate admet le chemin c = 1 , 2 , 1 , 2 , 3 , 3 , 3 , {\displaystyle c=1,2,1,2,3,3,3,\ldots } , et le mot w = { p , q } , q , { p , q } , q , p , p , p , {\displaystyle w=\{p,q\},q,\{p,q\},q,p,p,p,\ldots } est la suite des étiquettes associées. Les suites d'étiquettes acceptées sont décrites par l'expression rationnelle :

{ p , q } ω ( { p , q } q ) ω ( { p , q } q ) p ω {\displaystyle \{p,q\}^{\omega }\cup (\{p,q\}^{*}q)^{\omega }\cup (\{p,q\}^{*}q)^{*}p^{\omega }}

Lien avec d'autres notions

Une structure de Kripke peut être vue comme un système de transition d'états où les arcs ne sont pas étiquetés, et où en revanche les états le sont. Chez certains auteurs, les transitions des structures de Kripke sont étiquetées par des actions prises dans un ensemble fini usuellement noté Act. Lorsque cette définition est retenue, la structure sous-jacente, obtenue en omettant les actions, est appelée state graph.

Au contraire, Clarke et al. redéfinissent une structure de Kripke comme un ensemble de relations de transitions (et non plus une seule), chacune correspondant à une des étiquettes de transitions, ceci dans le cadre de la définition de la sémantique du μ-calcul modal .

Notes et références

Notes

Bibliographie

  • Saul A. Kripke, « Semantical analysis of modal logic. I. Normal modal propositional calculi », Zeitschrift für Mathematische Logik und Grundlagen der Mathematik, vol. 9,‎ , p. 67–96
  • Saul A. Kripke, « Semantical considerations on modal logic », Acta Philosophica Fennica Fasc., vol. 16,‎ , p. 83–94
  • (en) Christel Baier et Joost-Pieter Katoen, Principles of model checking, The MIT Press, , 975 p. (ISBN 978-0-262-02649-9)
  • (en) Klaus Schneider, Verification of Reactive Systems : Formal Methods and Algorithms, Springer-Verlag, coll. « Texts in Theoretical Computer Science. An EATCS Series », , xiv 600 (ISBN 978-3-540-00296-3, présentation en ligne)
  • (en) Edmund M. Clarke, Orna Grumberg et Doron A. Peled, Model Checking, Cambridge, MIT Press, , 314 p. (ISBN 978-0-262-03270-4, présentation en ligne)

Articles connexes

  • Logique temporelle
  • Logique modale
  • Calculabilité
  • Théorie des automates
  • Machine de Turing non déterministe
  • Sémantique de Kripke
  • Saul Kripke

Notes de cours

Il existe de nombreuses notes de cours, en français, sur les structures de Kripke dans le cadre de la logique ou de la vérification de programmes.

  • « Logiques temporelles et vérification de programmes » (consulté le )
  • Béatrice Berard, « Vérification formelle de systèmes répartis » (consulté le )
  • Portail de l'informatique théorique

Diese SerienFiguren hasst jede*r The Big Bang Theory Barry Kripke

Kripke structure that simulates a door lock Download Scientific Diagram

Kripke structure of an industrial oven Download Scientific Diagram

An example of Kripke structure. Download Scientific Diagram

The Kripke structure K (all states are initial). Download Scientific