✖

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:

L1∖L2=L1∩L2′,

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