Lemme d'itération de Bader et Moura

En informatique théorique, et notamment en théorie des langages, le lemme d'itération de Bader et Moura est un lemme d'itération pour les langages algébriques qui généralise le lemme d'itération d'Ogden. L'extension consiste à introduire, en plus de la notion de position distinguée, la notion de position exclue. La contrainte sur la présence de positions distinguées dans un mot s'enrichit d'une contrainte sur l'absence de positions exclues dans les facteurs itérés. Le lemme a été établi en 1982 par Christopher Bader et Arnaldo Moura[1]. Le lemme n'a pas eu autant de retentissement que le lemme d'Ogden par exemple[2].

Formulation

modifier

Comme pour le lemme d'Ogden, on utilise la notion de position. Étant donné un mot  , où les   sont des lettres, on appelle position dans   tout entier de l'ensemble  . Un choix de positions distinguées ou positions marquées dans   (ceci est la terminologie traditionnelle) est simplement un sous-ensemble   de positions contenant   éléments. De même, un choix de positions exclues est un autre sous-ensemble de  . Avec ces définitions, le lemme s'énonce comme suit[3] :

Lemme de Bader et Moura — Soit   un langage algébrique. Il existe un entier   tel que pour tout mot   de  , et pour tout choix de   positions distinguées et de e position exclues dans   avec  , il existe une factorisation   telle que :

  1. (  et   et  ) ou (  et   et  ) contiennent au moins une position distinguée ;
  2. le mot   ne contient pas de position exclue :
  3. si   contient   position distingues et   positions exclues, alors   ;
  4.   pour tout  .

Pour mémoire et comparaison, voici l'énoncé du lemme d'Ogden :

Lemme d'Ogden — Soit   un langage algébrique. Il existe un entier   tel que pour tout mot   de   de longueur  , et pour tout choix de   positions distinguées dans  , il existe une factorisation   telle que :

  1. (  et   et  ) ou (  et   et  ) contiennent au moins une position distinguée ;
  2.   contient au plus   positions distinguées ;
  3.   pour tout  .

Exemple d'application

modifier

Voici un exemple de langage où le lemme peut servir. Sur l’alphabet  , soit

 , où   est l'ensemble des nombres premiers.

Pour le lemme de Bader et Moura, on exclut la première position d’un mot   de   et on distingue les autres. Le facteur   est alors formé uniquement de lettres  .

Le langage des mots primitifs

modifier

Dans leur tentative de démontrer que le langage des mots primitifs n'est pas algébriques, Dömösi et Ito[4] constatent que ce langage vérifie les hypothèses du lemme de Bader et Moura pour la constante N=5, et donc qu'il n'aide pas dans leur tentative.

Notes et références

modifier
  1. Bader et Moura 1982.
  2. Berstel et Boasson 1990.
  3. Cet énoncé, tel que donné dans Berstel et Boasson 1990, est légèrement plus précis que l'énoncé original. Il est qualifié de « version forte » dans le livre de Dömösi et Ito 2014.
  4. Pál Dömösi et Masami Ito, Context-free languages and primitive words, World Scientific Publishing, , 520 p. (ISBN 978-981-4271-66-0, OCLC 897020798, présentation en ligne)

Bibliographie

modifier
  • Jean Berstel et Luc Boasson, « Context-Free Languages », dans G. Rozenberg, A. Salomaa (éditeurs), Handbook of Theoretical Computer Science, vol. B : Formal Models and Sematics, Elsevier et MIT Press, (ISBN 0-444-88074-7), p. 59-102
  • (en) Christopher Bader et Arnaldo Moura, « A Generalization of Ogden's Lemma », Journal of the ACM, vol. 29, no 2,‎ , p. 404–407 (DOI 10.1145/322307.322315)

Articles connexes

modifier