Teorema di Myhill-Nerode

Da testwiki.
Vai alla navigazione Vai alla ricerca

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

Dato un automa a stati finiti deterministico M=(Q,Σ,δ,q0,F) si definisce la relazione di equivalenza

RM:xRMyδ^(q0,x)=δ^(q0,y)

Tale relazione di equivalenza è invariante a destra se:

δ^(q0,xz)=δ^(δ^(q0,x),z)=δ^(δ^(q0,y),z)=δ^(q0,yz) supponendo xRMy.

Enunciato del teorema

Il teorema di Myhill-Nerode afferma che sono equivalenti le affermazioni:

  1. LΣ* è regolare
  2. L è 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
  3. la relazione di equivalenza: x,yΣ*,xRLyzΣ*,xzLyzL è di indice finito.

Usi e conseguenze

La diretta conseguenza del teorema di Myhill-Nerode è che un linguaggio L è regolare se e solo se il numero di classi di equivalenza della relazione RL è 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

Voci correlate

Template:Portale