Raisonnement sur mots et arbres avec données
Auteur / Autrice : | Diego Figueira |
Direction : | Stéphane P. Demri, Luc Segoufin |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 06/12/2010 |
Etablissement(s) : | Cachan, Ecole normale supérieure |
Ecole(s) doctorale(s) : | École doctorale Sciences pratiques (1998-2015 ; Cachan, Val-de-Marne) |
Jury : | Examinateurs / Examinatrices : Georg Gottlob, Thomas Schwentick, Leonid Libkin, Renko Lazic, Carsten Lutz |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Un mot de données (resp. un arbre de données) est un mot (resp. arbre) fini, dont chaque position est étiquetée avec une lettre d'un alphabet fini et une donnée d'un domaine infini. Dans cette thèse, nous étudions des automates et des logiques sur des mots et des arbres de données ayant des propriétés décidables: nous nous concentrons sur le problème du test du vide dans le cas des automates, et sur le problème de la satisfaisabilité dans le cas des logiques. Sur les mots de données, nous présentons une extension décidable du modèle d'automate alternant avec registre étudié par Demri et Lazic. En outre, nous montrons la décidabilité du problème de satisfaisabilité pour la logique du temps linéaire sur les mots de données LTL(X,F,U) (étudié par Demri et Lazic) étendue avec une quantification sur des données. Nous montrons aussi que la borne inférieure de non-récursivité primitive montré par Demri et Lazic pour LTL(X,F) est déjà valable pour LTL(F). Sur les arbres de données, nous considérons trois modèles décidables d'automates avec des caractéristiques différentes. Nous commençons par introduire l'automate avec donnée ``downward'' (automates DD). Son exécution consiste en une transduction ré-étiquetant la partie finie de l'étiquetage de l'arbre, et une vérification des propriétés des données de chaque sous-arbre de l'arbre résultant de la transduction. Ce modèle est clos par les opérations booléennes, mais les tests autorisés sur l'ordre des noeuds ayant le même père sont très limités. Son problème du vide est dans 2ExpTime. Au contraire, les deux autres modèles d'automates que nous introduisons ont un problème du vide avec une complexité non récursive primitive, et sont clos par intersection et union, mais par par complémentation. Ils ont tous les deux un contrôle alternant ainsi qu'un registre pour stocker et comparer les données. La classe des automates ATRA(guess,spread) généralise le modèle d'automate top-down ATRA de Jurdzinski et Lazic. Nous introduisons des extensions décidables similaires à celles que nous avons étudiées dans le cas de mots de données. Cette classe d'automates généralise la notion de langage rationnel d'arbre, ---contrairement aux automates DD. Enfin, nous considérons un modèle d'automate bottom-up avec un contrôle alternant et un registre (appelé BUDA). Bien que les BUDA soient bottom-up, ils peuvent tester des propriétés sur les données en navigant dans l'arbre dans les deux directions: vers le haut et vers le bas. Au contraire de ATRA(guess,spread), ce modèle d'automate ne peut pas tester de propriétés sur la séquence des noeuds ayant le même père (comme, par exemple, l'ordre dans lequel apparaissent leurs étiquettes). Ces trois modèles d'automates ont des liens avec la logique XPath---une logique conçue pour les documents XML, qui peuvent être vus comme des arbres de données. En utilisant les automates que nous avons mentionnés ci-dessus, nous montrons que la satisfaisabilité de trois fragments naturels de XPath sont décidables. Ces fragments sont: downward XPath, où la navigation ne peut se faire que via les axes child et descendant- forward XPath, où la navigation permet également les axes next sibling ainsi que sa clôture transitive, et vertical XPath, dont la navigation est limitée aux axes child, descendant, parent et ancestor. Alors que downward XPath est ExpTime-complet, les fragments forward et vertical de XPath ont une borne inférieure de non-récursivité primitive.