La langue: {(a n b m ) r | n, m, r≥0} n'est pas régulier, car alors que l'automate / machine lit la première séquence de lettres «a» puis les lettres «b», il doit compter le nombre de fois qu'il a lu la lettre «a» et le nombre de fois où il a lu la lettre «b» dans la première séquence pour connaître la valeur de n et m .
Si r> 1, alors une autre même séquence de lettres «a» et de lettres «b» est attendue.
Si l'automate / machine ne sait pas combien de lettres 'a' et de lettres 'b' il a lues dans la première séquence, il ne connaît pas non plus la valeur de n et m et donc il ne peut pas dire si les autres séquences de l'avant-dernière au dernier sont des mots égaux à la première séquence.
Mais il est connu que seule la machine Turing peut compter et connaître les valeurs de n et m et reconnaître le langage ci-dessus, donc non seulement que le langage ci-dessus n'est pas régulier, mais même qu'il n'est pas dépourvu de contexte, c'est-à-dire aussi n'existe pas d' automate pushdown pour reconnaître cette langue et n'existe pas de grammaire sans contexte que chaque mot dérivé de cette grammaire sans contexte soit dans la langue ci-dessus.
Parce que le fait que l'automate fini déterministe et l'automate fini pushdown ne peuvent pas compter et connaître les valeurs de n et m , contrairement à la machine Turing, ils ne peuvent pas reconnaître la langue ci-dessus et donc la langue ci-dessus n'est pas sans contexte et n'est pas régulier.
Contre-exemple de l'hypothèse que la langue ci-dessus est régulière:
Pour n = 3 ∧ m = 5 ∧ r = 2 , le mot suivant est dans la langue ci-dessus:
aaabbbbbaaabbbbb
Mais le mot suivant n'est pas dans la langue:
aaabbbbbaaaaabbb, parce que ne pas exister n, m et r si:
(a n b m ) r = aaabbbbbaaaaabbb, car pour satisfaire la première séquence de lettres 'a' puis les lettres 'b', il faut être vrai que n = 3 ∧ m = 5 , et parce que l'on voit 2 séquences de lettres ' a 'puis les lettres' b ', alors r = 2 , mais si n = 3 ∧ m = 5 ∧ r = 2 alors (a n b m ) r = (a 3 b 5 ) 2 = (aaabbbbb) 2 = aaabbbbbaaabbbbbb ≠ aaabbbbbaaaaabbb, car leurs suffixes sont différents, c'est-à-dire aaabbbbb ≠ aaaaabbb, bien que leurs préfixes soient égaux à aaabbbbb pour r = 1.
Le "meilleur" automate fini déterministe qui peut être construit pour ce langage est l'automate fini déterministe qui reconnaît l'expression régulière (a * b *) *, mais il ne reconnaît pas le langage ci-dessus, car il indique que les deux mots aaabbbbbaaabbbbb et aaabbbbbaaaaabbb sont dans la langue et ce n'est pas vrai, car aaabbbbbaaabbbbb est dans la langue, mais aaabbbbbaaaaabbb n'est pas dans la langue.
Même l'automate fini pushdown ne peut pas dire si les deux mots sont dans la langue ou non, donc seule la machine de Turing le peut.
Dans la deuxième séquence, la machine de Turing a trouvé que n = 5 ∧ m = 3 et cela contredit que dans la première séquence, elle a trouvé que n = 3 ∧ m = 5 , donc elle indique que le deuxième mot n'est pas dans la langue , mais aucune contradiction ne se trouve dans le premier mot.
Les deux séquences satisfont que n = 3 ∧ m = 5 , donc la machine de Turing dit que le premier mot est dans la langue.
Seule la machine Turing peut, si elle compte et se souvient des valeurs de n et m, en écrivant leur valeur sur sa bande et en les lisant plus tard.