Rozdíl regulárních jazyků
Kapitoly: Uzavřenost regulárních jazyků, Sjednocení, Průnik, Rozdíl, Doplněk, Zřetězení, Uzávěr
Mějme dva regulární jazyky L1, L2. Dokážeme, že jejich rozdíl L = L1 ∖ L2 je také regulární jazyk.
Idea
Ve skutečnosti není moc co dokazovat. Pro rozdíl dvou množin totiž platí následující vztah:
$$ L_1 \setminus L_2 = L_1 \cap L_2^\prime, $$
kde $L_2^\prime$ je doplněk jazyka L2. Z kapitol o průniku regulárních jazyků a doplňku regulárních víme, že regulární jazyky jsou na obě tyto operace uzavřené. To znamená, že dokážeme sestrojit automat, který přijímá průnik jazyků a doplněk jazyku. Tyto automaty tak můžeme použít k sestrojení automatu, který bude přijímat jazyk $L_1 \cap L_2^\prime$, což je ale zároveň jazyk L1 ∖ L2.
Příklad
Mějme tento automat A1, který přijímá všechna slova, která obsahují sudý počet 1:
a automat A2, který příjmá slova obsahující lichý počet 0:
Sestrojíme automat, který bude přijímat rozdíl těchto jazyků. Potřebujeme tak automat $A_2^\prime$, který bude doplňkem k automatu A2. Jen prohodíme koncové a nekoncové stavy:
Teď už jen sestrojíme automat A, který bude přijímat průnik jazyků L(A1) a $L(A_2^\prime)$: