Usando expressões regulares, prove que se é uma linguagem regular, a \ emph {reversão} de L , L R = { w R : w ∈ L } também é regular. Em particular, dada uma expressão regular que descreve L , mostrar por indução como convertê-lo em uma expressão regular que descreve L R . Sua prova não deve recorrer aos NFAs. LLLR={wR:w∈L}LLR
Vamos supor que nos é dada uma expressão regular que descreve . Vamos primeiro olhar para o operador de concatinação ( ∘ ) e depois podemos passar para operadores mais avançados. Portanto, nossos casos de concatenação lidam com a duração do que está sendo concatenado. Então, primeiro, quebraremos todas as concatenações de a b para a ∘ b . Ao lidar com isso, quebre os componentes o máximo possível: ( a b ∪ a ) b → ( a b ∪ a ) ∘ bL∘aba∘b(ab∪a)b→(ab∪a)∘b, mas você não pode quebrar a ordem associativa entre diferentes compreensões, é claro.
Quando ∅R→∅
Quando , temos a string vazia que já está invertida, portanto o mecanismo não mudas=ϵ
Quando é apenas uma letra, como em s ∈ Σ , a reversão é apenas essa letra, sss∈Σs
Quando , temos um único constituinte, então apenas invertemos esse constituinte e, portanto, σ Rs=σσR
Quando , onde k é impar, que tem uma expressão regular que pode ser escrito como ( σ 0 ∘ σ 1 . . . Σ k - 1 ∘ σ k )s=(σ0σ1...σk−1σk)(σ0∘σ1...σk−1∘σk). A reversão dessas seqüências de comprimento par é simples. Simplesmente alterne o índice 0 com o índice k. Em seguida, alterne o índice 1 com o índice k-1. Continue até que cada elemento tenha sido trocado uma vez. Assim, o último elemento agora é o primeiro no reg ex, e o primeiro é o último. O penúltimo é o segundo e o segundo é o penúltimo. Assim, temos um reg ex invertido que aceita a string invertida (a primeira letra é a última etc.) E, é claro, invertemos cada constituinte. Assim que teríamos (σRkσRk−1...σR1σR0)
s=(σ0σ1...σk/2...σk−1σk)(σ0∘σ1...σk−1∘σk)(σRkσRk−1...σRk/2...σR1σR0)
∪s1,s2s1∪s2sR1∪sR2
s((sR)∗)
(((a∪b)∘(a))∗∪((a∪b)∘(b))∗)R((a∪b)∘(a))∗→(((a∪b)∘(a))R)∗((a∪b)∘(a))R((a)R∘(a∪b)R)(a)R→(a). Este processo descrito acima descreve uma descrição indutiva dessa alteração.