Rozdíl regulárních jazyků
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:
kde L2′ je doplněk jazyka L2. Z kapitol o průniku regulárních jazyků a doplňku regulárního jazyka 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 jazyka. Tyto automaty tak můžeme použít k sestrojení automatu, který bude přijímat jazyk L1 ∩ L2′, 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řijímá slova obsahující lichý počet 0:
Sestrojíme automat, který bude přijímat rozdíl těchto jazyků. Potřebujeme tak automat A2′, 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(A2′):
Zdroje
Kapitoly: Uzavřenost regulárních jazyků, Sjednocení, Průnik, Rozdíl, Doplněk, Zřetězení, Uzávěr