Teorema di Myhill-Nerode
Nella teoria dei linguaggi formali il teorema di Myhill-Nerode fornisce una condizione necessaria e sufficiente per stabilire se un linguaggio sia regolare o meno.
Secondo il teorema di Myhill-Nerode, ogni linguaggio regolare sull'alfabeto consiste nell'unione di classe di equivalenza di una relazione invariante a destra di indice finito sulla chiusura di Kleene di .
Definizioni
modificaDato un automa a stati finiti deterministico si definisce la relazione di equivalenza
Tale relazione di equivalenza è invariante a destra se:
- supponendo .
Enunciato del teorema
modificaIl teorema di Myhill-Nerode afferma che sono equivalenti le affermazioni:
- è regolare
- è l'unione di alcune classi di equivalenza di una relazione di equivalenza di indice finito (ossia che individua un numero finito di classi di equivalenza) invariante a destra
- la relazione di equivalenza: è di indice finito.
Usi e conseguenze
modificaLa diretta conseguenza del teorema di Myhill-Nerode è che un linguaggio è regolare se e solo se il numero di classi di equivalenza della relazione è finito. Come corollario, un linguaggio che definisca un insieme infinito di classi di equivalenza non è regolare. Tale corollario può essere usato per dimostrare la non regolarità di un linguaggio.
Bibliografia
modifica- (EN) Anil Nerode, Linear Automaton Transformations (PDF), in Proceedings of the American Mathematical Society, vol. 9, n. 4, agosto 1958, pp. 541-544. URL consultato l'11 giugno 2011.
- (EN) Jan van Leeuwen, Lower bounds: formal language theory, in Handbook of Theoretical Computer Science, Vol. A: Algorithms and Complexity, The MIT Press, 4 gennaio 1994, ISBN 978-0-262-72014-4.
- (EN) Martin Davis, Ron Sigal; Elaine J. Weyuker, The Myhill-Nerode Theorem, in Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science, Morgan Kaufmann, 17 febbraio 1994, ISBN 978-0-12-206382-4.