Lemme d'échange
Modèle:Confusion En informatique théorique, le lemme d'échange, en anglais Modèle:Citation étrangère est un résultat de théorie des langages utilisé principalement pour démontrer que certains langages ne sont pas algébriques. Il est nommé interchange lemma par ses auteurs William F. Ogden, Rockford J. Ross et Karl Winklmann, des informaticiens théoriciens qui l’ont publié en 1985[1].
Le lemme d'échange fait partie de la famille des propriétés nécessaires d'un langage algébrique. Contrairement aux lemmes d'itérations pour les langages algébriques comme le lemme de Bar-Hillel, Perles et Shamir, le lemme d'itération d'Ogden ou le lemme d'itération de Bader et Moura, le lemme d'échange montre que, dans certaines conditions, des groupes entiers de mots d'un langage algébrique peuvent être modifiés en échangeant des facteurs particuliers. Ainsi, le lemme d’échange impose une contrainte d’une autre nature aux langages algébriques : à la place d’une itération, la propriété qu’un langage algébrique doit satisfaire concerne la possibilité d’échanger des facteurs de mots dans certaines positions sans sortir du langage. Un aspect intéressant de ce lemme est qu’il est valable pour des langages qui ont « beaucoup » des mots, des langages qui justement se soustraient aux lemmes d’itération usuels[2].
Le lemme d'échange a notamment été utilisé — par ses inventeurs — pour démontrer que le langage complémentaire du langage des mots sans carré n'est pas algébrique. Une variante plus forte a été décrite pour démontrer, mais sans succès, que le langage des mots primitifs n'est pas algébrique.
Le lemme d'échange, comme les autres lemmes, formule une condition nécessaire, mais pas suffisante, pour l'algébricité d'un langage[3].
Description formelle
Un ensemble de mots de longueur d'un langage est un ensemble d’échange pour s’il existe des entiers tels que pour tous mots
avec , on a
- .
L’entier est la largeur de . L’énoncé est le suivant[2] :
Pour que l’ensemble d’échange ne soit pas vide, doit avoir plus de éléments ; en pratique, cela signifie que le nombre de mots de doit croitre au moins comme .
Une variante de ce lemme est appelée Modèle:Citation étrangère par Dömösi et Ito[4]. Elle apporte une amélioration sur la constante . En revanche, la contrainte sur la largeur n'y figure plus. Avec les notations ci-dessus, elle s'énonce comme suit :
Exemple d'application
L'exemple d'application qui suit est historiquement le premier ; c'est lui qui a motivé les auteurs, et c'est lui aussi qui a longtemps résisté aux tentatives d'appliquer des résultats plus classiques : Modèle:Théorème Autant il est évident que l’ensemble des mots sans carrés n'est pas algébrique, puisque l'itération d'un facteur produit des puissances arbitrairement grandes, autant ceci n'apporte pas d'information concernant le même énoncé sur le complémentaire du langage.
La démonstration ci-dessous[2]Modèle:,[5] est en deux parties : la première explique comment se contenter d'un alphabet à 6 lettres, et la deuxième, plus longue, utilise le lemme d'échange.
Modèle:Démonstration/début On sait qu'il existe une infinité de mots sans carré sur un alphabet à 3 lettres. Pour démontrer que l'ensemble des mots sur 3 lettres contenant un carré n'est pas algébrique, on montre, dans la deuxième partie ci-dessous, que l'ensemble des mots sur 6 lettres contenant un carré n'est pas algébrique. Pour conclure, on utilise un morphisme sans carré (c'est-à-dire un morphisme qui préserve les mots sans carré) d'un alphabet à 3 lettres sur un alphabet à 6 lettres. Un tel morphisme envoie l'ensemble sur l'ensemble . Si l'ensemble était algébrique, il en serait de même de puisqu'un morphisme préserve le caractère algébrique des langages. Modèle:Démonstration/fin
Modèle:Démonstration/début On démontre que l’ensemble des mots
contenant un carré sur un alphabet à 6 lettres n’est pas algébrique. Pour cela, on choisit un entier assez grand et on considère un mot sans carré fixe de longueur , soit
sur l’alphabet , avec . On considère l’ensemble
- .
Chaque mot de est un carré, et ne contient aucun autre carré. On pose . Un mot de est de longueur , et il y a mots dans .
On applique le lemme d’échange pour les paramètres et . Il existe un ensemble d’échange de taille
où est une constante. De plus, la largeur de vérifie .
On considère des mots
avec , et on a donc . Les facteurs centraux et ont les mêmes lettres dans aux mêmes positions. Mais comme le mot est sans carré, les deux mots et contiennent tous deux un carré seulement si . Ceci montre que si et s’échangent, alors . Il en résulte que le nombre d’éléments de est majoré par
puisque . Mais alors l’encadrement de devient
ce qui est une inégalité impossible si est assez grand. Modèle:Démonstration/fin
D'autres exemples d'application, très proches, sont donnés en exercices dans le livre de Shallit : Les langages suivants ne sont pas algébriques : (a) le langage des mots contenant un chevauchement ; (b) le langage des mots contenant un cube ; (c) le langage des mots contenant un carré abélien (un carré abélien est un mot de la forme xy, où y est une anagramme de x).
D'autres exemples sont donnés par Joaquim Gabarró[6], et par Michael Main[7]. Une étude comparative est faite par Boonyavatana et Slutzki[8]
Notes
Références
- Modèle:Article
- Modèle:Chapitre
- Modèle:Ouvrage — Section 4.5: The interchange lamma
- Modèle:Ouvrage
Articles liés
- ↑ Modèle:Harvsp.
- ↑ 2,0 2,1 et 2,2 Modèle:Harvsp.
- ↑ Par exemple Modèle:Article donne un certain nombre d'exemples.
- ↑ Modèle:Harvsp.
- ↑ Modèle:Harvsp.
- ↑ Modèle:Article.
- ↑ Modèle:Article.
- ↑ Modèle:Article.