Jede reguläre Sprache wird von einem minimalen DFA akzeptiert. Für eine unendliche reguläre Sprache , nennen wir eine solche DFA M L . Betrachten Sie jeden Zustand q, der mehr als einmal besucht werden kann, während eine Zeichenfolge in L verarbeitet wird . Wenn q mehr als einmal besucht werden kann, kann es beliebig oft besucht werden. Definiere L 1 = { w ∈ L ∣ q wird ungerade oft besucht } und L 0 = { w ∈ L ∣ q wird gerade oft besucht }L.M.L.qL.q
L.1= { w ∈ L ∣ q wird ungerade oft besucht }
L.0= { w ∈ L ∣ q wird gerade oft besucht }
Dies ist ein DFA, es gibt also nur einen Pfad. Jede Zeichenfolge in
wird vom DFA akzeptiert und muss den Status einige Male besuchen (möglicherweise Null). Der Staat kann unbegrenzt oft besucht werden; Daher wissen wir, dass es in
L 1 unendlich viele Zeichenfolgen gibt (da es Wörter gibt, die bewirken, dass der Zustand 1 Mal, 3 Mal usw. besucht wird) und dass es in
L 0 unendlich viele Zeichenfolgen gibt (da es Wörter gibt, die veranlassen, dass der Zustand 0 Mal, 2 Mal usw. besucht wird). Jede gegebene Zeichenkette ist entweder in
L 1 oder
L 0 und kann nicht in beiden sein, also ist
L 0 ∩ L 1 = ∅L.L.1L.0L.1L.0L.0∩ L.1= ∅. Es ist jedoch garantiert, dass sich jedes Wort in
in einer dieser beiden Mengen befindet, sodass
L 0 ∪ L 1 = L ist .
L.L.0∪ L.1= L.