Le théorème du sous-mot
Référence : Bruno Petazzoni , 16 problèmes d’informatique 2011-2012
On définit la relation<sur les mots par : siu=u1. . . unetv=v1. . . vm, on au < vsi et seulement siil existe une application strictement croissantef de[1, n]sur[1, m]telle que ui=vf(i).
Pour un motwet un langageL, on noteraLwl’ensemble des sur-mots de w, i.e Lw={v∈Σ∗ |w < v}.
Pour un langageL, on notera ˆLl’ensemble des sur-mots des mots deL, etSM(L) l’ensemble des sous-mots des mots de L.
Enfin, on appelleraantichaînesur Σ un langageLdont les mots ne sont pas comparables deux à deux pour<.
Théorème 1 : du sous-mot
SiL∈p(Σ∗), alorsSM(L)est rationnel.
Démonstration. La démonstration repose sur le :
Lemme 2 : de Higman
Toute antichaîne surΣpour<est finie.
On se fixe un langageLquelconque.
Lemme 3 Lˆ est rationnel.
Démonstration. On considèreL↓ l’ensemble des mots deLminimaux pour<. Alors nécessairement,L↓ est une antichaîne, donc est finie.
Pour tout motude ˆL, il existe un motw∈L↓tel que w < u, et donc finalement : Lˆ = [
w∈L↓
Lw.
Chaque Lw est rationnel (Lw = Σ∗w1Σ∗· · ·Σ∗wnΣ∗), et donc par stabilité des langages rationnels par union
finie, on a ˆLrationnel. ♦
Maintenant, considéronsK= Σ∗\SM(L). On va montrer queK= ˆK, et on aura alors la rationnalité deK, et donc deSM(L) par clotûre des langages rationnels par complémentarisation.
1
L’inclusionK⊆Kˆ est triviale.
Soit doncx∈K. Il existeˆ w∈Ktel quew < x. Alors six∈SM(L), alorswaussi, ce qui est une contradiction.
D’où le résultat.
Montrons le lemme de Higman :
Démonstration. On suppose queAest une antichaîne infinie sur Σ. On note alors q=|Σ etn= min
u∈A|u|.
On suppose de plus queqet nsont minimaux : les antichaînes sur un alphabet plus petit que Σ sont finies, et celles dont le mot de longueur minimale est plus court quenaussi.
1. On remarque queq >1 etn >1
Démonstration. Si q= 1, alors toute antichaîne ne contient qu’un élément.
Si n= 1, alorsude longueur 1 est une lettre, et doncA\{u} antichaîne infinie sur Σ\{u}de tailleq−1 ←
contradiction avec la minimalité deq. ♦
2. On fixeude longueurn. On définitA′ comme l’ensemble des mots deA qui sont sur-mots deu[1, n−1].
On a alorsA\A′ fini, doncA′ infini.
Démonstration. Le langage (A\A′)∪ {u[1, n−1]}est une antichaîne sur Σ, avec un mot minimal de longueur
n−1. Par minimalité de n, cette antichaîne est finie. ♦
3. On énumèreA′ :A′={v1, v2, . . . , vi. . .}, et on écrit chaquevicomme vi=zi,1u1zi,2u2· · ·zi,n−1un−1zi,n, où pourj6n−1,zi,j∈(Σ\{uj})∗.
Alorszi,n∈(Σ\{un})∗.
Démonstration. Sinon, on retrouveudansvi, et doncu < vice qui est impossible par définition d’antichaîne.
♦ 4. On définit Zj={zi,j | i∈N}.
AlorsZj a un nombre fini d’éléments minimaux pour <.
Démonstration. L’ensemble des éléments minimaux de Zj est une antichaîne, sur un alphabet de cardinale
plus petit strictement queq, donc est fini. ♦
5. SiZj est infini, alors à extraction près, on a pour toutj : zi,j < zi+1,j.
Démonstration. Soit s(1) le plus petit indice tel qu’il n’y ait plus d’éléments minimaux : zs(1),j n’est pas minimal, et donc∃s(2)> s(1) tel quezs(1),j< zs(2),j.
En itérant le procédé, on construit la fonctionssurN. ♦
2
6. L’un au moins desZj est infini.
Démonstration. On a A′=Z1u1Z2u2· · ·Zn−1un−1Zn, etA′ infini. ♦ 7. En applicant les extractions correspondant auxZjinfinis, on va se retrouver avec des mots tous comparables
entre eux. D’où une contradiction avec le fait queA′ est une antichaîne. D’où le résultat.
3