On présente ici un critère de non régularité sur les langages. Autrement dit, on s’intéresse à une propriété sur les langages impliquant que ces derniers ne peuvent être reconnus par un automate fini. Cet exercice permet d’avoir une bonne introduction aux résiduels.
Exercice
Soit L un langage. Soit (ui)i∈N une suite infini de mots.
1) Montrer que si pour tout couple i,j il existe un mot m tel que uim soit dans L et ujm ne le soit pas, alors L n’est pas un langage régulier.
2) En déduire que L=anbn|n∈N n’est pas régulier.
Correction
1) Notre preuve se base sur l’idée suivante : on considère un automate déterministe A, un de ses état q et deux mots v et w tel que lire v ou w nous emmène dans l’état q. Pour tout mot x, on a vx et wx termine dans le même état de A. Autrement dit vx est reconnu par A si et seulement si wx est reconnu par A.
Ainsi, soit un automate A qui reconnaît notre langage L. Soit ui et uj deux mots de notre suite. Si on termine dans le même état après avoir lu ui ou uj, cela signifie que pour tout mot x on a uix appartient à L si et seulement si ujx appartient à L. Or on sait que ce n’est pas le cas. De ce fait, après lecture de chaque mot de (un)n∈N on arrive dans un état différent de A. Cela implique que A a une infinité d’état, ce qui est absurde.
Ainsi, L n’est pas un langage régulier.
2) On s’intéresse à la suite des (ui)i∈N où pour tout i, ui=ai. Pour tout i≠j on a aibi appartient à L mais ajbi n’appartient pas à L. Par notre proposition précédente, il en résulte que L n’est pas régulier.