Unterteilen Sie eine unendliche reguläre Sprache in zwei disjunkte unendliche reguläre Sprachen

9

Wie kann ich bei einer unendlichen regulären Sprache L beweisen, dass L in zwei disjunkte unendliche reguläre Sprachen L1,L2 ? Das heißt: L1L2=L , L1L2= und undL1L2 sind beide unendlich und regelmäßig.

Bisher dachte ich an:

  1. unter Verwendung des Pump-Lemmas, so dass

    L1={xynzn is even}L2={xymzm is odd}
    , konnte aber nicht beweisen, dass sie dijunkt sind oderLvollständigbedecken.
  2. Mit den regulären Sprach Partitionen Σ in dijoint Äquivalenzklassen, aber ich habe nicht herausgefunden, wie zu bestimmen , ob eine Äquivalenzklasse regelmäßig oder unendlich ist.

Tom
quelle

Antworten:

4

Sei . Der Satz von Parikh zeigt, dass S eine eventuell periodische Menge ist. Die eventuelle Periode sei . Da L unendlich ist, gibt es einen Versatz a, so dass a + k S für alle k 0 ist . Somit ist die Sprache ist unendlich (es enthält alle Wörter der Länge für einigeS={|w|:wL}SLaa+kSk0a + 2 k k 0 L 2 = L L 1 a + ( 2 k + 1 ) k 0 L 1 , L 2L1={wL:|w|a(mod2)}a+2kk0), und die Sprache ist ebenfalls unendlich (sie enthält alle Wörter der Länge für einige sowie möglicherweise andere Wörter). Ich werde Sie zeigen lassen, dass beide regulär sind.L2=LL1a+(2k+1)k0L1,L2

Yuval Filmus
quelle
Dies funktioniert sogar für kontextfreie Sprachen.
Yuval Filmus
8

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={wL.q wird ungerade oft besucht}}
L.0={wL.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 0L 1 = L.L.1L.0L.1L.0L.0L.1=. Es ist jedoch garantiert, dass sich jedes Wort in in einer dieser beiden Mengen befindet, sodass L 0L 1 = L ist .L.L.0L.1=L.
Patrick87
quelle
Ich muss OP noch davon überzeugen, dass die Subsprachen regelmäßig sind ...
vonbrand