Zwykły dodatek językowy

Kapitoly: Zamykanie języków regularnych, Unifikacja, Dostęp, Różnica, Uzupełnienie, Konkatenacja, Wnioski

Mamy język regularny L. Udowodnimy, że dopełnienie L jest również językiem regularnym.

Co to jest dopełnienie

Przez dopełnienie języka L rozumiemy wszystkie słowa, których nie ma w języku L. Dopełnienie oznaczamy przez L', tzn. dla alfabetu $\Sigma$ zachodzi następująca zależność:

$$ L' = \left\{w \in \Sigma^\ast,|, w \notin L\right\}. $$

Na przykład, dla języka słów zawierających co najmniej jeden symbol 1, dopełnieniem byłby język zawierający słowa, które nie zawierają nawet jednego symbolu 1.

Procedura

Procedura jest bardzo prosta. Mamy język regularny L i automat $A=\left<Q, \Sigma, \delta, q_0, F\right>$, który go łączy. Konstruujemy automat A', który akceptuje L' poprzez zamianę stanów terminalnych i nieterminalnych: $A'=\left<Q, \Sigma, \delta, q_0, Q\setminus F\right>$. To wszystko.

Przykład

Weźmy taki automat:

Automat przyjmujący dopełnienie języka wyglądałby następująco:

Zasoby