Todo idioma comum é aceito por algum DFA mínimo. Para um idioma regular infinito , vamos chamar de DFA . Considere qualquer estado que podem ser visitados mais de uma vez durante o processamento de uma string em . Se puder ser visitado mais de uma vez, segue-se que ele pode ser visitado inúmeras vezes. Defina e
Este é um DFA, portanto, há apenas um caminho. Qualquer string emLMLqLq
L1={w∈L∣q is visited an odd number of times}
L0={w∈L∣q is visited an even number of times}
Lé aceito pelo DFA e deve visitar o estado várias vezes (talvez zero). O estado pode ser visitado um número ilimitado de vezes; portanto, sabemos que existem infinitas sequências de caracteres em (já que existem palavras que fazem com que o estado seja visitado 1 vez, 3 vezes etc.) e que existem infinitas sequências de caracteres em (pois existem palavras que causam o estado a ser visitado 0 vezes, 2 vezes, etc.). Qualquer sequência especificada está em ou e não pode estar em ambas, portanto . No entanto, qualquer palavra em é garantido para ser em um destes dois conjuntos, de modo .
L1L0L1L0L0∩L1=∅LL0∪L1=L