Mu-calcul

En logique mathématique et en informatique théorique, le mu-calcul (ou logique du mu-calcul modal) est l'extension de la logique modale classique avec des opérateurs de points fixes. Selon Bradfield et Walukiewicz[1], le mu-calcul est une des logiques les plus importantes pour la vérification de modèles ; elle est expressive tout en ayant de bonnes propriétés algorithmiques.

Le mu-calcul (propositionnel et modal) a d'abord été introduit par Dana Scott et Jaco de Bakker puis a été étendu dans sa version moderne par Dexter Kozen. Cette logique permet de décrire les propriétés des systèmes de transition d'états et de les vérifier. De nombreuses logiques temporelles (telles que CTL* ou ses fragments très usités comme CTL (en) ou LTL) sont des fragments du mu-calcul.

Une manière algébrique de voir le mu-calcul est de le considérer comme une algèbre de fonctions monotones sur un treillis complet, les opérateurs étant une composition fonctionnelle plus des points fixes ; de ce point de vue, le mu-calcul agit sur le treillis de l'algèbre des ensembles[2]. La sémantique des jeux du mu-calcul est lié aux jeux à deux joueurs à information parfaite, notamment les jeux de parité[3].

Syntaxe

Soient deux ensembles de symbole P (les propositions) et A (les actions) et V un ensemble énumérable infini de variables. L'ensemble des formules du mu-calcul (propositionnel et modal) est défini inductivement de la façon suivante :

  • chaque proposition est une formule ;
  • chaque variable est une formule ;
  • si et sont des formules, alors est une formule ;
  • si est une formule, alors est une formule ;
  • si est une formule et est une action, alors est une formule (c'est la formule : « après , nécessairement  ») ;
  • si est une formule et une variable, alors est une formule à supposer que chaque occurrence de dans apparaît positivement, c'est-à-dire qu'elle est niée un nombre pair de fois.

Les notions de variables liées ou libres sont définies comme d'ordinaire avec qui est le seul opérateur liant une variable.

Avec les définitions ci-dessus, on peut rajouter comme sucre syntaxique :

  • signifiant  ;
  • signifiant (après il est possible que ) ;
  • signifiant , où signifie qu'on remplace par pour chaque occurrence libre de dans .

Les deux premières formules sont familières du calcul des propositions et de la logique multimodale K.

La notation (et respectivement son dual ) est inspirée du lambda-calcul ; l'objectif est de noter le plus petit (respectivement le plus grand) point fixe en la variable Z de l'expression tout comme en lambda-calcul est une fonction de la formule en la variable liée Z[4] ; voir la sémantique dénotationnelle plus bas pour plus de détails.

Sémantique dénotationnelle

Les modèles d'une formule mu-calcul (propositionnelle, modale) sont donnés comme des systèmes de transition d'états  :

  • est un ensemble d'états ;
  • associe à chaque label une relation binaire sur  ;
  • associe à chaque proposition l'ensemble des états où la proposition est vraie.

Étant donné un système de transition , une interprétation associe à toute variable un sous-ensemble d'états . On définit le sous-ensemble d'états par induction structurelle sur la formule  :

  •  ;
  •  ;
  •  ;
  • ;
  •  ;
  • , où associe à tout en préservant les associations de partout ailleurs.

Par dualité, l'interprétation des autres formules basiques est :

  •  ;
  •  ;
  • .

De manière informelle, pour un système de transition  :

  • est vraie pour les états  ;
  • est vraie si et sont vraies ;
  • est vraie si n'est pas vraie ;
  • est vraie dans l'état si toutes les transitions sortants de mènent à un état où est vraie ;
  • est vraie dans un état s'il existe au moins une transition sortant de qui mène à un état où est vraie ;
  • est vraie dans n'importe quel état de n'importe quel ensemble tel que, si la variable est remplacée par , alors est vraie pour tout (du théorème de Knaster-Tarski, on déduit que est le plus grand point fixe de , et en est le plus petit).

L'interprétation de et est l'interprétation « classique » de la logique dynamique. De surcroît, peut être vu comme une propriété de vivacité quelque chose de bon intervient à un moment ») tandis que est vu comme une propriété de sûreté quelque chose de mauvais n'arrive jamais ») dans la classification informelle de Leslie Lamport[5].

Exemples

  • est interprétée comme «  est vraie pour chaque chemin de a »[5].
  • est interprétée comme l'existence d'un chemin de transitions a vers un état dans lequel est vraie[6].
  • La propriété d'un système d'être non bloquant, c'est-à-dire que de tout état accessible, il existe une transition sortante, peut être exprimée par la formule [6].
  •  : tout chemin composé de a-transitions est fini[7].
  •  : il existe un chemin infini composé de a-transitions[7].
  •  : il existe un chemin infini composé de a-transitions le long duquel est vraie tout le temps[7].

Alternation

L'alternation de plus petits et plus grands points fixes s'appelle la profondeur d'alternation. On peut compter le nombre d'alternations mais généralement, on utilise une définition plus sophistiquée introduite par Damian Niwiński[8] qui regarde aussi l'utilisation des variables. La hiérarchie d'alternation est stricte[9].

Problèmes algorithmiques

Le problème de model checking du mu-calcul est dans NP inter co-NP[1] et est P-dur. Un algorithme pour le model checking du mu-calcul est le suivant :

  • Construire un jeu de parité à partir du système de transitions et de la formule du mu-calcul à vérifier ;
  • Résoudre le jeu de parité.

Le problème de satisfiabilité du mu-calcul est EXPTIME-complet[10].

Comme pour la logique temporelle linéaire (LTL)[11], le problème de la vérification de modèles, de la satisfiabilité et de la validité du mu-calcul linéaire est PSPACE-complet[12].

Discussions

La syntaxe originale du mu-calcul était vectorielle. L'avantage de cette notation est qu'elle permet de partager les variables sur plusieurs sous-formules[13]. Il existe une version linéaire (non branchée) du mu-calcul[14],[12].

Bibliographie

  • (en) Edmund M. Clarke, Jr., Orna Grumberg et Doron A. Peled, Model Checking, Cambridge, Massachusetts, USA, MIT press, (ISBN 0-262-03270-8), chapter 7, Model checking for the μ-calculus, pp. 97–108
  • (en) Colin Stirling, Modal and Temporal Properties of Processes, New York, Berlin, Heidelberg, Springer Verlag, , 191 p. (ISBN 0-387-98717-7, lire en ligne), chapter 5, Modal μ-calculus, pp. 103–128
  • (en) André Arnold et Damian Niwiński, Rudiments of μ-Calculus, Elsevier, , 277 p. (ISBN 978-0-444-50620-7), chapter 6, The μ-calculus over powerset algebras, pp. 141–153 concerne le μ-calcul.
  • Yde Venema (2008) Lectures on the Modal μ-calculus; a été présenté à la 18th European Summer School in Logic, Language and Information.
  • (en) Julian Bradfield et Colin Stirling, The Handbook of Modal Logic, Elsevier, , 721–756 p. (lire en ligne), « Modal mu-calculi »
  • (en) E. Allen Emerson (1996). « Model Checking and the Mu-calculus » Descriptive Complexity and Finite Models: 185–214 p., American Mathematical Society.
  • (en) Kozen, Dexter, « Results on the Propositional μ-Calculus », Theoretical Computer Science, vol. 27, no 3, , p. 333–354 (DOI 10.1016/0304-3975(82)90125-6)

Liens externes

Notes et références

  1. (en) Julian Bradfield et Igor Walukiewicz, « The mu-calculus and Model Checking », dans Handbook of Model Checking, Springer International Publishing, (ISBN 9783319105741, DOI 10.1007/978-3-319-10575-8_26, lire en ligne), p. 871–919
  2. André Arnold et Damian Niwiński, Rudiments of μ-Calculus, pp. viii-x et chapitre 6.
  3. André Arnold et Damian Niwiński, Rudiments of μ-Calculus, pp. viii-x et chapitre 4.
  4. André Arnold et Damian Niwiński, Rudiments of μ-Calculus, p. 14.
  5. Julian Bradfield et Colin Stirling, The Handbook of Modal Logic, p. 731.
  6. (en) Erich Grädel, Phokion G. Kolaitis, Leonid Libkin, Maarten Marx, Joel Spencer, Moshe Y. Vardi, Yde Venema et Scott Weinstein, Finite Model Theory and Its Applications, Springer, , 437 p. (ISBN 978-3-540-00428-8, lire en ligne), p. 159.
  7. « Cours sur le mu calcul au Labri ».
  8. (en) Damian Niwiński, « On fixed-point clones », Automata, Languages and Programming, Springer, Berlin, Heidelberg, lecture Notes in Computer Science, , p. 464–473 (ISBN 3540167617, DOI 10.1007/3-540-16761-7_96, lire en ligne, consulté le )
  9. (en) J. C. Bradfield, « The modal mu-calculus alternation hierarchy is strict », CONCUR '96: Concurrency Theory, Springer, Berlin, Heidelberg, lecture Notes in Computer Science, , p. 233–246 (ISBN 3540616047, DOI 10.1007/3-540-61604-7_58, lire en ligne, consulté le )
  10. (en) Klaus Schneider, Verification of reactive systems : formal methods and algorithms, Springer, , 602 p. (ISBN 978-3-540-00296-3, lire en ligne), p. 521.
  11. (en) A. P. Sistla et E. M. Clarke, « The Complexity of Propositional Linear Temporal Logics », J. ACM, vol. 32, no 3, , p. 733–749 (ISSN 0004-5411, DOI 10.1145/3828.3837, lire en ligne).
  12. (en) M. Y. Vardi, « A Temporal Fixpoint Calculus », ACM, New York, NY, USA, , p. 250–259 (ISBN 0897912527, DOI 10.1145/73560.73582, lire en ligne).
  13. Julian Bradfield et Igor Walukiewicz, The mu-calculus and model-checking (lire en ligne)
  14. Howard Barringer, Ruurd Kuiper et Amir Pnueli, « A really abstract concurrent model and its temporal logic », POPL 'x86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, ACM, , p. 173–183 (DOI 10.1145/512644.512660, lire en ligne, consulté le )
  • Portail de l'informatique théorique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.