Eu faço o fechamento em operações booleanas com a caracterização MyHill-Nerode. Nunca vi isso assim. Uma congruência correta∼ satura um idioma eu E se
u ∼ v ⇒ ( u ∈ L ↔ v ∈ L )
ou equivalentemente se eué uma união de classes de congruência. Nós usamos:
Teorema: (MyHill-Nerode) Uma linguagem é regular se e somente se houver uma congruência correta de índice finito que saturaeu.
Agora, suponha que tenhamos idiomas regulares eu1 1,eu2⊆X∗e denotar ∼eu1 1,∼eu2algumas congruências corretas de índice finito saturando-as. Então
u ∼ v : ⇔ u∼eu1 1v ∧ u∼eu2v
é uma congruência correta (a interseção de ambos) e refina os dois. Além disso, temos
[ u]∼= [ u]∼eu1 1∩ [ u]∼eu2.
Portanto, temos um número finito de classes de equivalência. Isso também indica que a interseção de classes de equivalência[u]∼eu1 1 e [ v]∼eu2 está vazio ou tem um elemento comum W e, portanto, é igual à classe de equivalência [ w]∼. Isso dá queeu1 1∩eu2 está vazio ou pode ser escrito como a união da classe de equivalência para ∼. Pelo teorema acimaeu1 1∩eu2 é regular.
Para eu1 1∪eu2 é uma união de classes de equivalência para ∼1 1 e ∼2, que são as doze uniões de classes de equivalência para ∼, portanto, também é regular. E, para complementação, segue como a partição de classes de equivalênciaX∗, portanto, uma congruência correta trabalhando para eu1 1 trabalha também para X∗∖eu1 1. □
Comentários adicionais: Na sua pergunta, você também mencionou a congruência correta de Nerode canônica
u≡Lv:⇔(∀w∈X∗:uw∈L↔vw∈L)
com L⊆X∗. Esta é a mais grossa congruência direita saturandoL. Agora talvez seja natural perguntar se podemos construir a congruência correta de Nerode deL1∩L2 ou L1∪L2 facilmente fora daqueles para L1,L2, ou se a congruência resultante da interseção surgir como alguma congruência correta de Nerode. Talvez possamos encontrar fórmulas simples como
u≡L1∩L2v⇔u≡L1v∧u≡L2v.
Mas o acima não se aplica. E que eu saiba, não existe nenhuma relação simples. Por exemplo, considereL1=(aa)∗ e L2=a(aa)+, então nós temos
L1∩L2=∅,L1∪L2=X∗∖{a}.
Agora ≡L1∩≡L2 possui pelo menos quatro classes de congruência, pois refina ≡L2que tem exatamente quatro classes de congruência. Mas∅ tem precisamente uma classe e X∗∖{a} possui três (todos podem ser vistos facilmente usando o mínimo de autômatos completos).
EDIT (2019.08.18).
A operação de espelho e sufixo está relacionada à congruência esquerda
u≡Lv⇔∀w∈X∗:wu∈L↔wv∈L.
E se ≡L tem índice finito, semelhante ao da operação de prefixo e congruência correta, ≡suffix(L)tem índice finito. E
u≡Lv iff mirror(u)≡mirror(L)mirror(v); e como a operação de espelho é uma bijeção emX∗ a última equação dá isso ≡mirror(L) tem índice finito iff ≡L tem índice finito (observe que a congruência esquerda tem o mesmo índice que a congruência correta para as palavras espelhadas, mas, em geral, uma congruência correta para mirror(L) pode ter muito mais classes exponenciais, como é mostrado por controles padrão da teoria dos autômatos).
Portanto, essas operações são tratadas se pudermos mostrar que ambas as congruências têm índice finito ao mesmo tempo ou não. Para isso, vamos olhar para a congruência sintática
u≡S(L)v⇔∀x,y∈X∗:xuy∈L⇔xvy∈L.
Essa congruência refina as duas congruências acima, portanto, se é finita, ambas as congruências acima também são finitas. Isto éu≡S(L)v iff para todos w∈X∗ temos [wu]≡L=[wv]≡L, portanto, temos um mapa bem definido e injetivo do ≡S(L)classes de equivalência às transformações em {[w]≡L:w∈X∗}, e se o último for um conjunto finito, o conjunto dessas transformações também será finito, o que implica que ≡S(L)é de índice finito. Então, no total, temos isso≡L tem índice finito se ≡L tem índice finito, o inverso é implícito similar.