Comment prouver qu'une formule ne peut pas être exprimée en LTL, mais peut l'être dans les automates Buchi?

11

Je recherche une technique générale qui peut m'aider à prouver non seulement que les automates Buchi sont un modèle plus expressif que LTL, mais que la formule spécifique peut / ne peut pas être exprimée en LTL.

Par exemple, " se produit au moins sur des positions paires" peut être décrit par les automates Buchi suivants: où et .( q 0 , q 1 , Σ , δ , q 0 , { q 0 } ) δ ( q 1 , ) = q 0 δ ( q 0 , p ) = q 1p(q0,q1,Σ,δ,q0,{q0})δ(q1,)=q0δ(q0,p)=q1

J'ai lu que ces automates ne peuvent pas être exprimés en LTL, mais je ne comprends pas comment le prouver formellement.

Merci.

Daniil
la source
Marrant. Je regardais également ces diapositives aujourd'hui.
Dave Clarke

Réponses:

9

Vous devez d'abord savoir ce que vous voulez exprimer et comment vous allez l'exprimer. Par exemple, vous pouvez représenter une propriété comme un ensemble de traces infinies.

Les propriétés définissables par les automates Buechi sont les langages réguliers. Les propriétés définissables par les formules LTL sont les langages réguliers sans étoiles. Les langues sans étoiles sont un sous-ensemble strict des langues régulières.ωωω

La section 5.1 des principes de vérification des modèles par Baier et Katoen est un bon point de départ élémentaire. Si vous voulez des techniques de preuve générales, il existe différentes façons de procéder. Une technique générale qui me plaît est d'utiliser des jeux. Le premier joueur essaie de montrer que deux structures peuvent être distinguées avec une formule LTL. La seconde montre qu'ils sont les mêmes. Deux structures sont équivalentes au LTL si le deuxième joueur a une stratégie gagnante. Donc, si vous prenez deux structures qui ne sont pas isomorphes mais que le deuxième joueur a une stratégie gagnante, alors il n'y a pas de formule LTL pour distinguer les deux.

Une hiérarchie jusqu'à et d'autres applications d'un jeu Ehrenfeucht-Fraisse pour la logique temporelle , K. Etessami et Th. Wilke.

Il existe des algorithmes pour vérifier si un langage régulier donné est sans étoile. Malheureusement, ceux-ci sont généralement contenus dans les preuves des théorèmes.ω

Définissabilité logique sur des traces infinies , Werner Ebinger et Anca Muscholl

Je vais creuser un peu plus et essayer de trouver une présentation plus algorithmique.

Vijay D
la source
Je suis désolé si je n'ai pas été assez clair. J'ai parcouru 5.1 des principes de vérification des modèles et je n'ai trouvé aucune nouvelle information. Je sais ce qu'est le LTL et comment exprimer ses propriétés avec. Je sais également qu'il existe certaines propriétés que vous ne pouvez pas exprimer en LTL (par exemple, les langages réguliers sont plus expressifs). Je sais que la formule LTL peut être convertie en automates Buchi. Cependant, je ne sais pas comment prouver qu'un automate Buchi spécifique ne peut PAS être converti en LTL. ω
Daniil
Donc, si je prouve qu'une propriété spécifique ne peut être exprimée qu'en langage régulier sans étoile, il s'ensuit que la propriété ne peut pas être exprimée en LTL. Je recherche donc des techniques pour le prouver pour des propriétés spécifiques.
Daniil
Le problème de décider si un langage régulier est sans étoile est décidable. L'algorithme compte comme une technique de preuve générale. J'essaie de trouver une référence qui répond précisément à votre question. Les références que j'ai incluses ci-dessus ne sont pas exactes, mais j'espère qu'elles sont perspicaces. ω
Vijay D
J'ai une petite réserve à utiliser les jeux EF à cet effet, car si l'on veut réellement rédiger une preuve détaillée couvrant tous les cas, ils deviennent rapidement difficiles à gérer. D'où l'intérêt des méthodes algébriques sur les -words. (Ils sont cependant bons pour se convaincre qu'une propriété particulière n'est pas exprimable en LTL, et dans des preuves plus abstraites.)ω
Sylvain
Personnellement, je préfère les techniques algébriques. Mon intuition est terrible en général et j'ai trouvé que les techniques algébriques me conduisaient à moins de harengs rouges et à des preuves plus courtes. Cependant, d'après les refus et les présentations, j'ai l'impression que la majorité des informaticiens préfèrent les jeux ou les techniques de preuve relationnelle (bisimulation, etc.).
Vijay D
7

Je suggérerais d'utiliser la caractérisation des langues du premier ordre par des automates Büchi sans contre-coup: voir par exemple V. Diekert et P. Gastin, Langues définissables du premier ordre . Dans Logic and Automata: History and Perspectives, Textes in Logic and Games 2, pages 261-306. Amsterdam University Press, 2008. http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-WT08.pdf

PS: sur les mots finis, cette colonne BEATCS est également très utile: J.-E. Pin, Logic on Words , http://hal.archives-ouvertes.fr/hal-00020073 .

Sylvain
la source
4

ω

ω

ωxSnxn=xn+1

Cela vous donne un algorithme de définissabilité LTL.

Denis
la source