Differenz regulärer Sprachen
Seien L1, L2 zwei reguläre Sprachen. Wir beweisen, dass ihre Differenz L = L1 ∖ L2 ebenfalls eine reguläre Sprache ist.
Idee
Eigentlich gibt es nicht viel zu beweisen. Für die Differenz zweier Mengen gilt nämlich der folgende Zusammenhang:
wobei L2′ das Komplement der Sprache L2 ist. Aus den Kapiteln über den Schnitt regulärer Sprachen und das Komplement einer regulären Sprache wissen wir, dass reguläre Sprachen unter beiden Operationen abgeschlossen sind. Das bedeutet, dass wir einen Automaten konstruieren können, der den Schnitt von Sprachen akzeptiert, und einen, der das Komplement einer Sprache akzeptiert. Mit diesen Automaten können wir einen Automaten konstruieren, der die Sprache L1 ∩ L2′ akzeptiert, und das ist zugleich die Sprache L1 ∖ L2.
Beispiel
Gegeben sei dieser Automat A1, der alle Wörter akzeptiert, die eine gerade Anzahl von Einsen enthalten:
und der Automat A2, der Wörter mit einer ungeraden Anzahl von Nullen akzeptiert:
Wir konstruieren einen Automaten, der die Differenz dieser Sprachen akzeptiert. Dazu brauchen wir den Automaten A2′, der das Komplement zum Automaten A2 ist. Wir vertauschen einfach die Endzustände und die Nicht-Endzustände:
Jetzt konstruieren wir nur noch den Automaten A, der den Schnitt der Sprachen L(A1) und L(A2′) akzeptiert:
Quellen
Kapitel: Abgeschlossenheit regulärer Sprachen, Vereinigung regulärer Sprachen, Schnitt regulärer Sprachen, Differenz regulärer Sprachen, Komplement einer regulären Sprache, Konkatenation regulärer Sprachen, Kleene-Stern einer regulären Sprache