Linguagens Formais e Autômatos -...

18
Linguagens Formais e Autômatos Soluções para a Lista 2 – Universidade Federal do ABC Aritanan Gruber [email protected] http://professor.ufabc.edu.br/aritanan.gruber Os exercícios sinalizados por [?] deveriam ter sido entregues via Tidia-4 em 30/03/2018. 1. Mostre que para um dado alfabeto Σ, o conjunto de DFAs sobre Σ é infinito e contável (|L Σ DFA | = 0 ), ao passo que o conjunto de linguagens sobre Σ é infinito e incontável (|L Σ | =2 0 ). Isto é, existem tantos DFAs quanto números naturais, ao passo que existem tantas linguagens quanto números reais. Conclua que existem linguagens sobre Σ que não são regulares. Solução: Sejam Σ um alfabeto e ,<) uma ordem total estrita para Σ, isto é, para quaisquer a, b, c Σ, temos que a 6<a (irreflexividade), a<b ou b<a, mas não ambos (assimetria), e a<b e b<c implica em a<c (transitividade). Estendemos a ordem total ,<) para palavras w, z Σ * como w<z M ⇐⇒ ( |w| < |z| ou |w| = |z| e existe um 1 k ≤|w| tal que w i = z i para 1 i<k e w k <z k . Denotada por * ,<), esta estensão para palavras é conhecida como ordem lexicográfica. As ordens alfabética e numérica são casos particulares em que os alfabetos são os de letras e dígitos, respectiva- mente. Para L Σ * , defina como a função característica de L o mapeamento binário χ L * →{0, 1} tal que para toda palavra w Σ * , χ L (w)= ( 1 se w L, e 0 em caso contrário. Utilizando a ordem total definida acima sobre a função característica de L, obtemos o vetor caracterís- tico Ξ L ∈{0, 1} Σ * para L tal que Ξ L := ( χ L (w) ) wΣ * , cujas coordenadas são indexadas por palavras em Σ * e ordenadas de acordo com * ,<). Note que Ξ L é um vetor infinito e pode ser intrerpretado como uma palavra binária infinita. Seja L Σ := {L Σ * } a família de todas as linguagens sob Σ. Com o desenvolvimento feito acima, não é difícil perceber que podemos estender a ordem parcial para (L Σ ,<). De fato, para quaisquer L, R ∈L Σ , L<R M ⇐⇒ existe um 1 k< tal que L ) i = (Ξ R ) i para 1 i<k e L ) k < R ) k , com a ordem canônica 0 < 1 para o alfabeto binário. O fato de não precisarmos nos preocupar com k tomando valores transfinitos ficará claro em breve. Seja L Σ DFA ⊆L Σ a subfamília de todas as linguagens regulares. Defina uma matriz Δ ∈{0, 1} L Σ DFA ×Σ * cujas linhas são indexadas ordenadamente pelas linguagens regulares e cujas colunas são indexadas ordenadamente pelas palavras em Σ * , e tal que Δ L,w := (Ξ L ) w = χ L (w). Ou seja, cada linha de Δ é o vetor característico da linguagem que a indexa.

Transcript of Linguagens Formais e Autômatos -...

Page 1: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Linguagens Formais e AutômatosSoluções para a Lista 2 – Universidade Federal do ABC

Aritanan [email protected]

http://professor.ufabc.edu.br/∼aritanan.gruber

Os exercícios sinalizados por [?] deveriam ter sido entregues via Tidia-4 em 30/03/2018.

1. Mostre que para um dado alfabeto Σ, o conjunto de DFAs sobre Σ é infinito e contável (|LΣDFA| = ℵ0),

ao passo que o conjunto de linguagens sobre Σ é infinito e incontável (|LΣ| = 2ℵ0). Isto é, existemtantos DFAs quanto números naturais, ao passo que existem tantas linguagens quanto números reais.Conclua que existem linguagens sobre Σ que não são regulares.

Solução: Sejam Σ um alfabeto e (Σ, <) uma ordem total estrita para Σ, isto é, para quaisquera, b, c ∈ Σ, temos que a 6< a (irreflexividade), a < b ou b < a, mas não ambos (assimetria), e a < b eb < c implica em a < c (transitividade).

Estendemos a ordem total (Σ, <) para palavras w, z ∈ Σ∗ como

w < zM⇐⇒

{|w| < |z| ou|w| = |z| e existe um 1 ≤ k ≤ |w| tal que wi = zi para 1 ≤ i < k e wk < zk.

Denotada por (Σ∗, <), esta estensão para palavras é conhecida como ordem lexicográfica. As ordensalfabética e numérica são casos particulares em que os alfabetos são os de letras e dígitos, respectiva-mente.

Para L ⊆ Σ∗, defina como a função característica de L o mapeamento binário χL : Σ∗ → {0, 1} talque para toda palavra w ∈ Σ∗,

χL(w) =

{1 se w ∈ L, e0 em caso contrário.

Utilizando a ordem total definida acima sobre a função característica de L, obtemos o vetor caracterís-tico ΞL ∈ {0, 1}Σ

∗para L tal que ΞL :=

(χL(w)

)w∈Σ∗

, cujas coordenadas são indexadas por palavrasem Σ∗ e ordenadas de acordo com (Σ∗, <). Note que ΞL é um vetor infinito e pode ser intrerpretadocomo uma palavra binária infinita.

Seja LΣ := {L ⊆ Σ∗} a família de todas as linguagens sob Σ. Com o desenvolvimento feito acima,não é difícil perceber que podemos estender a ordem parcial para (LΣ, <). De fato, para quaisquerL,R ∈ LΣ,

L < RM⇐⇒ existe um 1 ≤ k <∞ tal que (ΞL)i = (ΞR)i para 1 ≤ i < k e (ΞL)k < (ΞR)k,

com a ordem canônica 0 < 1 para o alfabeto binário. O fato de não precisarmos nos preocupar com ktomando valores transfinitos ficará claro em breve.

Seja LΣDFA ⊆ LΣ a subfamília de todas as linguagens regulares. Defina uma matriz ∆ ∈ {0, 1}LΣ

DFA×Σ∗

cujas linhas são indexadas ordenadamente pelas linguagens regulares e cujas colunas são indexadasordenadamente pelas palavras em Σ∗, e tal que

∆L,w := (ΞL)w = χL(w).

Ou seja, cada linha de ∆ é o vetor característico da linguagem que a indexa.

Page 2: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Claramente, ∆ é uma matriz com infinitas linhas e infinitas colunas e, utilizando o princípio da boaordem, já conseguiríamos mostrar que existem menos linguagens regulares do que o total de linguagenssob Σ. No entanto, não conseguiríamos estimar as cardinalidades dos dois conjuntos. Para este fim,vamos mostrar que tanto Σ∗ quanto LΣ

DFA são contáveis e que ∆ é isomorfa a uma submatriz infinitade {0, 1}N×N. Alcançamos estes objetivos nos lemas abaixo.

Lema 1. Σ∗ é infinito e contável.

Demonstração. A infinitude de Σ∗ decorre imediatamente da definição de fecho transitivo-reflexivo.Mostramos então que Σ∗ é contável.

Como Σ é finito, não é difícil perceber que existe uma bijeção # : Σ→ {1, 2, . . . , n}, em que definimosn := |Σ|. Para cada palavra w = w1w2 · · ·w` ∈ Σ∗, defina o mapeamento 〈·〉 : Σ∗ → N como

〈w〉 :=∑̀i=1

#(wi)(n+ 1)`−i+1,

e com 〈λ〉 := 0. Claramente, temos que 〈w〉 < 〈z〉 quando w < z, implicando que o mapeamentoé injetor. Além disso, qualquer m ∈ N pode ser expresso unívocamente na base n com no máximok = dlognm+ 1e dígitos entre 0 e n − 1. Denote por (a1a2 · · · ak)n esta expressão e defina a palavrax = x1x2 · · ·xk com xi = #−1(ai + 1) — note que #−1 está bem definida pois # é bijetora. Comox ∈ Σ∗, o mapeamento 〈·〉 também é sobrejetor. Portanto, Σ∗ ' N e existem tantas palavras em Σ∗

quanto naturais em N, ou de outra forma, |Σ∗| = |N| =: ℵ0.

Lema 2. LΣDFA é infinita e contável.

Demonstração. Seja F := {L ⊆ Σ∗ : |L| < ∞} a família de linguagens finitas sob Σ. Como provadono Exercício 2, toda linguagem em F é regular. Logo, F ⊂ LΣ

DFA e portanto, |F| < |LΣDFA| — para

ver que a inclusão é estrita basta considerar a linguagem {w0 : w ∈ Σ∗}, que é regular e infinita.Como, pela definição de fecho transitivo-reflexivo, o número de palavras finitas sob Σ é infinito, F e,consequentemente, LΣ

DFA são infinitas.

O limitante inferior apresentado acima prova a infinitude de LΣDFA, mas não sua classificação com

contável. Para isso, utilizamos o fato de que todo número natural possui uma única representação embinário e construímos uma codificação para DFAs em dois passos. Começamos pelo primeiro.

Sejam L ∈ LΣDFA e DL = (Q,Σ, δ, s, F ) um DFA com o menor número de estados tal que L(DL) = L

— sabemos que DL existe e que é único a menos de isomorfismo. Considere o alfabeto Γ := {0, 1, $,@}e seja 〈·〉 : Υ→ Γ∗, com

Υ := N× Σ× (N× Σ× N)× N× 2N,

um mapeamento que leva DL a uma codificação de DL sob Γ, como definido abaixo.

Suponha sem perda de generalidade que os estados de DL são números naturais, isto é, que Q ⊂ N e queo estado inicial s é sempre igual a 0. Seja m := |Q| <∞ e sejam {f1, f2 . . . , fm} ⊆ Q, com 0 ≤ k ≤ n,os estados finais em F . Novamente sem perda de generalidade, suponha que f1 < f2 < · · · < fk. Definaa palavra x(DL) ∈ Γ∗ como

x(DL) := $$(n)2$$(f1)2@(f2)2@(fk)2$,

em que (`)2 é a representação em binário do natural `. Sejam n := |Σ| e # : Σ → {1, 2, . . . , n} umabijeção como na prova do Lema 1. Para cada p ∈ Q, a ∈ Σ e q = δ(p, a), com p2dlogn #(a)+1e + #(a)em ordem crescente, faça

x(DL) = x(DL) · $(p)2@(#(a))2@(q)2.

Finalmente, faça x(DL) = x(DL) · $$. O mapeamento 〈·〉 é então dado por DL 7→ x(DL) para todalinguagem L ∈ LΣ

DFA.

Page 3: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Para a segunda codificação, defina o homomorfismo h : Γ∗ → {0, 1}∗ tal que h(0) = 00, h(1) = 01,h(@) = 10 e h($) = 11, e defina 〈〈DL〉〉 = h(〈DL〉) para toda linguagem L ∈ LΣ

DFA. Não é difícilperceber que, por construção, 〈〈DL〉〉 6= 〈〈DR〉〉 sempre que L 6= R. Ou seja, o mapeamento 〈〈·〉〉 éinjetor. Além disso, 〈〈DL〉〉 é uma palavra binária e possui uma única representação como um númeronatural.

Reciprocamente, todo número natural possiu uma única representação como palavra binária. Entre-tanto, não é todo natural que representa um DFA funcional — ou mesmo um DFA — de acordo com omapeamento acima. Ou seja, 〈〈·〉〉 não é sobrejetor. Felizmente, isto não é um problema. Com efeito,associe a linguagem vazia, que é regular, a todo natural que não representa um DFA, funcional ou não.Esta medida estende de forma unívoca o mapeamento 〈〈·〉〉, que passa a ser bijetor entre LΣ

DFA e N.Portanto, existem tantas linguagens regulares quanto números naturais, e |LΣ

DFA| = |N| =: ℵ0.

A codificação apresentada não é a única possível e nem é a mais suscinta, mas é suficientemente simplespara os nossos propósitos.

Teorema 3. O número de linguagens regulares é ℵ0, enquanto o número de linguagens é 2ℵ0 .

Demonstração. A primeira afirmação decorre imediatemante de LΣDFA ' N (cf. Lema 2). Para a

segunda, observe que LΣ = 2Σ∗ e que, portanto, o Lema 1 implica que LΣ ' 2N.

O resultado acima conclui a questão, porém de uma forma não totalmente satisfatória: sabemos que

ℵ0 = |N| = |LΣDFA| < |LΣ| = 2|Σ

∗| = 2|N| = 2ℵ0 ,

e que portanto, LΣ \ LΣDFA 6= ∅; em outra palavras, existe uma linguagem que não é regular — na

verdade, existem várias, pois a grande maioria das linguagens sob Σ não é regular, e esta afirmaçãosegue diretamente da cadeia de igualdades acima. No entanto, não exibimos nenhuma linguagem nãoregular durante a solução. Vamos remediar isto abaixo, mostrando que uma linguagem não é regularvia técnica de diagonalização, uma técnica de prova importante com várias ramificações em teoriada computação, teoria dos conjuntos e lógica matemática. A técnica de diagonalização virá entãose juntar ao nosso arsenal de técnicas e resultados para mostrar que uma linguagem não é regular eque até o momento contém: lema da iteração (pumping lemma), lema forte da iteração, teorema deMyhill-Nerode, sequências fundamentalmente periódicas e axiomas da álgebras de Kleene.

Proposição 4. ∆ é isomorfa a uma submatriz infinita de {0, 1}N×N.

Demonstração. Os Lemas 1 e 2 estabelecem que Σ∗ ' N ' LΣDFA. Logo, toda matriz em {0, 1}LΣ

DFA×Σ∗

pode ser interpretada como uma matriz em {0, 1}N×N.

Ou seja, podemos indexar a matriz ∆ por pares de naturais i, j ≥ 1, e isto tráz uma certa conveniência.Considere a linguagem H, o complemento da diagonal principal de ∆, cujo vetor característico é dadopor (

ΞH)i

:= 1−∆i,i, para todo i ≥ 1.

Teorema 5. A linguagem H não é regular.

Demonstração. Temos que H ∈ LΣDFA se e somente se existe um i ≥ 1 tal que ∆i,∗ = ΞH . Isto é,

se o vetor característico de H é uma linha de ∆. Entretanto, para qualquer linha i ≥ 1, temos peladefinição de H que ∆i,i 6=

(ΞH)i. Em outras palavras, a pertinência da i-ésima palavra é diferente na

i-ésima linguagem regular e em H. Portanto, ΞH não é igual a nenhuma linha de ∆, implicando queH não é regular.

Page 4: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

2. Mostre que qualquer linguagem finita é regular.Solução: Utilizaremos expressões regulares. O resultado pode ainda ser provado via DFAs ou NFAs.

Demonstração. Seja L uma linguagem finita sob um alfabeto Σ, isto é, |L| <∞, e sejam w1, w2, . . . , wntodas as palavras de L. Considere a expressão regularW = w1 +w2 + · · ·+wn. Claramente, L = L(W )e, portanto, L é regular.

3. [?] Seja L uma linguagem qualquer sobre um alfabeto unitário (|Σ| = 1), não necessariamente regular.Mostre que L∗ é regular.Solução: Em vez de apresentar uma resposta específica a esta questão, vamos inicialmente provar umresultado mais geral sobre linguagens regulares. Feito isto, mostramos que a afirmação da questão éuma consequência simples de tal resultado.Começamos com algumas definições. Seja S ⊆ N um subconjunto de números naturais. Dizemos queS é fundamentalmente periódico se S é finito ou se existem n ≥ 0 e p > 0 tais que para todo m ≥ n,tem-se m ∈ S se e somente se m+ p ∈ S. Para S fundamentalmente periódico, seu período é igual a 0se finito, ou igual a p se infinito.O caso em que S é finito é definido para capturar linguagens finitas (cf. Exercício 2); logo, de menorinteresse. Quando S é infinito e fundamentalmente periódico, a definição acima equivale a dizer que,excetuando-se uma pequena cauda formada pelos números em S menores que n, todos os demaispertencem a alguma progressão aritmética de razão p e que portanto, imprime uma característicaperiódica a S — já que reconhecer palavras sobre um alfabeto unitário é equivalente a reconhecernúmeros em base unária.Observe que para S infinito e fundamentalmente periódico, os valores n e p podem não ser únicos.Como ficará claro abaixo, isto não causa nenhum aborrecimento.É ilustrativo fornecermos um exemplo. Se

S = {0, 1, 2, 5, 8, 13, 14, 20, 21, 27, 28, 34, 35, . . . , 13 + 7i, 14 + 7i . . .},

então n = 13 e p = 7 mostram que S é fundamentalmente periódico com período 7. Os cinco primeiroselementos {0, 1, 2, 4, 8} são a cauda de S e, à partir de 13, temos duas progressões aritméticas comrazão igual a 7: uma começando no próprio 13 e outra começando em 14.Conjuntos fundamentalmente periódicos e linguagens sobre alfabetos unários são intimamente relacio-nados, como mostra o teorema abaixo — cuja prova de necessidade remete à prova do lema de iteração(pumping lemma).

Teorema 6. Seja L ⊆ {a}∗ uma linguagem e defina len(L) := {|w| : w ∈ L} como o conjunto cujoselementos são comprimentos de palavras em L. Temos que L é regular se e somente se len(L) éfundamentalmente periódico.

Demonstração. Para necessidade, suponha L regular e seja D = (Q, {a}, δ, s, F ) um DFA para L comk estados. Mostramos que linguagens finitas (sobre qualquer alfabeto, inclusive unitários) são regularesno Exercício 2. Vamos então focar apenas no caso de linguagens infinitas sobre alfabetos unitários noque segue.Seja w ∈ L com |w| ≥ n := k + 1 e seja 〈s = q0, q1, . . . , qn ∈ F 〉 a sequência de estados visitados porD na aceitacão de w. Pelo princípio da casa do pombo que existem 0 ≤ i < j ≤ k tais que qi = qj .Em outras palavras, na aceitação de w, D visita um mesmo estado pelo menos duas vezes. Definap := j − i como o período do ciclo C = 〈qi, qi+1, . . . , qj = qi〉. Como o alfabeto é unitário, todas astransições em D são rotuladas por a e como D é determinístico, δ é uma função (r, a) 7→ t que paratodo r ∈ Q, associa um único estado t ∈ Q. Logo, toda vez que D estiver no estado qi e processar uma na entrada, ele irá para o estado qi+1, iniciando mais um percurso do ciclo C. Este fato possui duasconsequências:

Page 5: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

(i) todo estado final em F ocorre em C, pois a negação desta afirmação implicaria em D ser nãodeterminístico, uma contradição; em particular, qn ocorre em C, pois todos os estados qi, . . . , qnpertencem ao ciclo C;

(ii) a palavra z = wap ∈ L, pois o traço de z em D é 〈s = q0, . . . , qi, . . . , qj , . . . , qj+p, . . . , qn+p〉, comqi = qj = qj+p, qi+` = qj+` para 1 ≤ ` < p, e qj+p+t = qj+t para 1 ≤ t ≤ n− j, o que implica emδ̂(s, z) = qn+p ∈ F .

O argumento (ii) também garante que caso w ∈ {a}∗, |w| ≥ n, mas w 6∈ L, teremos que wap 6∈ L, jáque δ̂(s, wap) = δ̂(s, w) 6∈ F . Portanto w ∈ L se e somente se wap ∈ L sempre que m := |w| ≥ n, o queé o mesmo que dizer m ∈ len(L) se e somente se m + p ∈ len(L) para todo m ≥ n, com n e p comodefinidos acima. Isto é, len(L) é fundamentalmente periódico.

Para suficiência, seja S ⊆ N um conjunto fundamentalmente periódico com parâmetros n e p. SejaT := {s ∈ S : s < n} a parte finita de S. Pelo Exercício 2, existe um DFA DT com L(DT ) = {at : t ∈T}. Seja F := {m− n ∈ S : n ≤ m < n+ p} e defina o DFA DR := (Q = {0, 1, . . . , p− 1}, {a}, δ, 0, F )com δ(q, a) = (q+1) mod p. Uma simples indução no comprimento das palavras mostra que DR aceitatodas e somente todas as palavras com formato af+kp para f ∈ F e k ≥ 0 inteiro, e isso prova quelen(L(DR)) = S \ T . Como linguagens regulares são fechadas por união, L(DT ) ∪ L(DR) é regular e oresultado segue.

Podemos dizer então que toda linguagem regular sobre um alfabeto unitário é fundamentalmente pe-riódica. Observe que o teorema acima fornece uma decomposição canônica para linguagens fundamen-talmente periódicas: para L ⊆ {a}∗ e regular com n ≥ 0 e p > 0 como no enunciado,

L = T ∪̇S ∪̇A,

em que T := {w ∈ L : |w| < n}, S := {w ∈ L : n ≤ |w| < n+ p} e A := {w ∈ L : |w| = n+ jp, j ≥ 1}.Estamos agora em condições de provar o resultado desta questão.

Teorema 7. Para toda linguagem L ⊆ {a}∗, não necessariamente regular, temos que L∗ é regular.

Demonstração. Defina p := min{|w| : λ 6= w ∈ L∗} e observe que aip ∈ L∗ para todo i ≥ 0. Ou seja,(ap)∗ ⊆ L∗. Defina R := L \ (ap)∗ = {w ∈ L : |w| 6≡ 0 (mod p)}. Temos que para todo w ∈ R,|w| = jp+ r com 0 ≤ j e 0 < r < p e assim, que w = ar+jp. Isto implica em

L∗ 3 w∗ = (ar+jp)∗ = (ar)∗(ap)∗ = (a+ a2 + · · ·+ ap−1)(ap)∗,

pois r ≡ q (mod p) ⇐⇒ kr ≡ kq (mod p) com 0 ≤ q < p e 0 ≤ k. Ou seja, qualquer w∗, em quew ∈ L, é a união de uma palavra finita de comprimento menor que p com uma palavra de (ap)∗. Comocaso final, observe que para quaisquer v, w ∈ L com v 6= w, (vw)∗ = v∗w∗ = (a+a2 + · · ·+ap−1)(ap)∗,em que a igualdade final advém do argumento acima. Logo,

L∗ = {a` : 0 < ` < p} ∪ (ap)∗,

isto é, L∗ é fundamentalmente periódica e, portanto, regular.

4. Dada uma linguagem L, defina 12L como o conjunto de palavras que podem ocorrer como primeira

metade de palavras em L:

1

2L := {x : ∃ y tal que |x| = |y| e xy ∈ L}.

De outra forma, uma palavra x ∈ 12L é um prefixo de alguma palavra w ∈ L cuja relação 2|x| = |w| é

satisfeita. Prove que se L é regular, então 12L é regular.

Page 6: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Generalize o resultado para 13L, o conjunto de palavras que podem ocorrer como o terço do meio de

palavras em L:1

3L := {y : ∃x, z tal que |x| = |y| = |z| e xyz ∈ L}.

Solução: Apresentamos primeiro uma solução intuitiva. Seja D um DFA para L e suponha quetemos três pedras coloridas, uma verde, outra azul e outra cinza, para utilizarmos como marcadores.Inicialmente, dada uma palavra x na entrada, devemos advinhar um estado q em D tal que: (i) aleitura de x termine em q; (ii) e existe um caminho de comprimento |x| de p a um estado final de D,caminho este que representa y. Suponha que seja possivel advinhar um tal q.

Colocamos então a pedra azul no estado inicial de D e as demais pedras em q. A cada leitura de umsímbolo a da entrada, movemos a pedra azul para o estado resultante após a leitura de a e movemosa pedra verde uma posição adiante no caminho que advinhamos. Ao final da leitura de x, teremos apedra azul junto com a pedra cinza em q e a pedra verde estará num estado final de D. Este é o casoem que a palavra x pertence à linguagem 1

2L. Caso não seja possível advinhar um tal estado q ou astrês pedras terminem em uma configuração diferente, temos que x 6∈ 1

2L.

A esta altura, não é difícil perceber que utilizaremos não-determinismo para “advinhar” tanto o estadop quanto as movimentações da pedra verde. Passamos então a uma descrição formal da solução, seguidapor uma prova de sua correção.

Suponha L regular, seja D = (Q,Σ, δ, s, F ) um DFA para L e defina um NFA H = (Q′,Σ, τ, S′, F ′)em que Q′ := Q3, S′ :=

{[s, q, q] : q ∈ Q

}, F ′ :=

{[q, q, f ] : q ∈ Q, f ∈ F

}e τ : Q′ × Σ→ 2Q

′tal que

para cada a ∈ Σ e cada tripla [p, q, r] ∈ Q3,

τ([p, q, r], a

):={[δ(p, a), q, δ(r, b)

]: b ∈ Σ

}, (1)

com a extensão canônica para conjuntos de estados, τ : (Q′ ∪ 2Q′)× Σ→ 2Q

′, dada por

τ(P, a

)=

⋃[p,q,r]∈P

τ([p, q, r], a

),

para P ⊆ Q′.Note que S′ é um conjunto de estados iniciais e que o não determinismo de H acomoda esta situaçãonaturalmente. Esta opção simplifica a exposição. Poderíamos ter criado um novo estado inicial únicoe ligá-lo aos demais em S′ via λ-transições, mas teríamos que lidar com λ-Fechos nesta variação. Dadaa natureza da aplicação, λ-Fechos seriam um pequeno estorvo.

Para D e H como definidos como acima, lembre-se que para todo p ∈ Q, a ∈ Σ e x ∈ Σ∗, temos queδ̂ : Q× Σ∗ → 2Q com δ̂(p, λ) = λ e δ̂(p, xa) = δ(δ̂(p, x), a), e para P ⊆ Q′, τ̂ : (Q′ ∪ 2Q

′)× Σ∗ → 2Q

com

τ̂(P, λ

):= P,

τ̂(P, xa

):=

⋃[p,q,r]∈P

τ(τ̂([p, q, r], x

), a).

Vamos mostrar que a Equação (1), que relaciona τ a δ, pode ser extendida a τ̂ e δ̂.

Lema 8. Para todo x ∈ Σ∗,

τ̂(S′, x) ={

[δ̂(s, x), q, δ̂(q, y)] : q ∈ Q, y ∈ Σ|x|}.

Page 7: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Demonstração. A prova é por indução no comprimento de x ∈ Σ∗. Caso x = λ, temos que

τ̂(S′, λ) = S′

={

[s, q, q] : q ∈ Q}

={[δ̂(s, λ), q, δ̂(q, λ)

]: q ∈ Q

}={[δ̂(s, λ), q, δ̂(q, y)

]: q ∈ Q, y ∈ Σ0

}.

Considere então que |x| ≥ 1 e suponha que a relação é válida para todo prefixo próprio de x. Podemosescrever x = za para algum prefixo z ∈ Σ∗ e símbolo a ∈ Σ. Temos que

τ̂(S′, x) =⋃

[s,q,q]∈S′τ̂([s, q, q], x

)=

⋃[s,q,q]∈S′

τ(τ̂([s, q, q], z

), a)

=⋃

q∈Q,w∈Σ|z|

τ({

[δ̂(s, z), q, δ̂(q, w)]}, a)

=⋃

q∈Q,w∈Σ|z|

{[δ(δ̂(s, z), a), q, δ(δ̂(q, w), b)] : b ∈ Σ

}=

⋃q∈Q,w∈Σ|z|

{[δ̂(s, za), q, δ̂(q, wb)] : b ∈ Σ

}={

[δ̂(s, x), q, δ̂(q, y)] : q ∈ Q, y ∈ Σ|x|},

em que a segunda igualdade é pela definição de τ̂ , a terceira é por hipótese de indução, a quarta é pelaEquação (1), a quinta pela definição de δ̂ e a sexta é apenas uma reescrita da quinta.

Estamos agora prontos para provar o resultado principal da questão.

Teorema 9. L(H) = 12L.

Demonstração. Seja H como definido acima. Para todo x ∈ Σ∗, temos pelo Lema 8 que

x ∈ L(H) ⇐⇒ τ̂(S′, x) ∩ F ′ 6= ∅

⇐⇒{

[δ̂(s, x), q, δ̂(q, y)] : q ∈ Q, y ∈ Σ|x|}∩{

[q, q, f ] : q ∈ Q, f ∈ F}6= ∅

⇐⇒ ∃y ∈ Σ|x|, ∃q ∈ Q tal que δ̂(s, x) = q e δ̂(q, y) ∈ F

⇐⇒ ∃y ∈ Σ|x| tal que δ̂(δ̂(s, x), y) ∈ F

⇐⇒ ∃y ∈ Σ|x| tal que δ̂(s, xy) ∈ F⇐⇒ ∃y ∈ Σ|x| tal que xy ∈ L.

Portanto, L(H) = 12L.

A generalização para 13L é imediata. Intuitivamente, basta utilizar duas pedras a mais, uma branca para

marcar o início do terceiro terço e outra amarela para andar do início do segundo terço até a posiçãoda branca; a pedra azul continua sendo colocada no estado inicial e andando até encontrar a cinza,que é colocada no início do segundo terço; e a verde continua andando da branca até um estado final.Formalmente, temos queQ′ = Q5, S′ :=

{[s, q, q, o, o] : q, o ∈ Q

}, F ′ :=

{[q, q, o, o, f ] : q, o ∈ Q, f ∈ F

}e

τ([p, q, t, o, r], a

):={[δ(p, a), q, δ(t, b), o, δ(r, c)

]: b, c ∈ Σ

}.

As provas do Lema 8 e Teorema 9 são facilmente adaptáveis.

Page 8: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

5. [?] Um Autômato Finito de Paridade (PFA) P = (Q,Σ, δ, s, F ) é um NFA em que uma palavra w éaceita por P se e somente se o número de caminhos na árvore de execução de P para w que terminamem um estado final é ímpar. Formalmente,

L(P ) := {w ∈ Σ∗ : |{(s, w)∗−→ (λ, f) : f ∈ F}| ≡ 1(mod 2)}.

Mostre que LPFA = LDFA, isto é, que uma linguagem L é aceita por um PFA se e somente se L éregular. Dica: dado um PFA P , construa um DFA que simule o comportamento de P .

Solução: Por definição, um NFA e um PFA possuem comportamento semelhante, diferindo apenasno critério de aceitação de uma palavra: enquanto o primeiro aceita w ∈ Σ∗ se existe ao menos umcaminho rotulado por w do estado inicial a um estado final, o último aceita w se e somente se existeum número ímpar de caminhos rotulados por w do estado inicial a estados finais. Uma tecnicalidadeque aparece no último caso, tornando o problema mais interessante, é que os caminhos em um PFAnão precisam ter finais distintos.

Seja P = (Q,Σ, δ, s, F ) um PFA e suponha, sem perda de generalidade, que P não possui λ-transições.Isto é, tal que sua relação de transição é dada por δ ⊆ Q× Σ×Q.

Para cada a ∈ Σ, defina a matriz Ma ∈ {0, 1}Q×Q tal que para todo par de estados (p, q) ∈ Q×Q,

Ma[p, q] =

{1 se (p, a, q) ∈ δ,0 em caso contrário.

Ou seja, Ma é a matriz de adjacências de P relativa ao símbolo a. Por conveniência, considere Mλ ∈{0, 1}Q×Q como a matriz identidade: Mλ[p, p] = 1 e Mλ[p, q] = 0 se p 6= q. Para qualquer w =w1w2 · · ·wk ∈ Σ∗, defina Mw como

Mw :=

k∏j=1

Mwj .

Lema 10. Para toda palavra w = w1w2 · · ·wk ∈ Σ∗ e quaisquer estados p, q ∈ Q, temos que Mw[p, q]é igual ao número ϕw(p, q) de caminhos rotulados por w em P do estado p até o estado q.

Demonstração. A prova é por indução em k, o comprimento de w. Caso k = 0, w = λ e por definição,Mλ := IQ, a matriz identidade cujas entradas são indexadas por Q × Q. Logo, Mw[p, q] = 1 se esomente se p = q e como P não possui λ-transições, ϕw(p, q) = 1 se e somente se p = q e o resultadosegue.

Considere então k ≥ 1 e suponha que o resultado é válido para valores estritamente menores que k.Temos que w = zwk com z = w1w2 · · ·wk−1. Logo, para quaisquer p, q ∈ Q,

Mw[p, q] = (MzMwk)[p, q]

=∑r∈Q

Mz[p, r]Mwk[r, q]

=∑r∈Q

ϕz(p, r)Mwk[r, q]

=∑r∈Q:

Mwk[r,q]=1

ϕz(p, r)

= ϕw(p, q),

em que a terceira igualdade é devido à hipótese de indução e a quinta por simples contagem. Portanto,o resultado segue.

Page 9: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Defina ainda dois vetores característicos, χs, χF ∈ {0, 1}Q, tais que para todo estado p ∈ Q, χs[p] = 1se e somente se p = s e χF [p] = 1 se e somente se t ∈ F .

Lema 11. Para toda palavra w ∈ Σ∗, o número de caminhos rotulados por w em P do estado inicials a um estado final em F é igual a

ϕw(s, F ) := χ>s MwχF .

Demonstração. Imediata à partir do Lema 10 e das definições de χs e χF .

Podemos então reescrever a linguagem de P como

L(P ) = {w ∈ Σ∗ : χ>s MwχF ≡ 1 (mod 2)}.

Agora, resta mostrar o DFA que simula χ>s MwχF para cada w ∈ Σ∗ na entrada. Os passos são: (i)definir o DFA, (ii) estabelecer a ligação δ̂ com χ>s MwχF , (iii) provar que L(D) = L(P ). Pretendoterminar de escrever esta questão assim que possível.

6. Sejam x = x1x2 · · ·xn e y = y1y2 · · · ym palavras em {0, 1}∗. A distância de Hamming entre x e y édefinida como

ρ(x, y) :=

∞ se n 6= m,n∑i=1

|{i : xi 6= yi}| =n∑i=1

|xi − yi| em caso contrário.

De outra forma, para duas palavras de mesmo comprimento, a distância de Hamming entre elas é onúmero de posições em que elas diferem.

Seja A ⊆ {0, 1}∗. A distância de Hamming entre x e A é dada por

ρ(x,A) := miny∈A

ρ(x, y),

a distância de x à palavra em A o mais próxima a x.

Para quaisquer A ⊆ {0, 1}∗ e k ≥ 0, defina

Nk[A] := {x ∈ {0, 1}∗ : ρ(x,A) ≤ k},

o conjunto de todas as palavras cuja distância de Hamming à partir de A é no máximo k. Por exemplo,N0[{000}] = {000}, N1[{000}] = {000, 001, 010, 100}, e N2[{000}] = {0, 1}3 \ {111}. Claramente,A ⊆ Nk[A] para todo k ≥ 0.

Prove que se A ⊆ {0, 1}∗ é regular, então N2[A] também é regular. Dica: se A é aceita por um DFAcom estados em Q, construa um novo NFA para N2[A] com estados Q× {0, 1, 2} – em que o segundotermo no produto cartesiano serve para indicar a quantidade de erros (distância de Hamming) até omomento – e valha-se do não determinismo para advinhar uma palavra y ∈ A que seja similar à palavrade entrada x, e onde ocorrem os erros.

Solução:

Ainda não consegui um tempo livre para escrever a resposta desta questão. Pretendo fazê-lo o mais breve possível. Enquanto isso, observe que a solução intuitiva das pedrinhas da Questão 4podem ser utilizadas aqui.

7. [?] Para cada uma das expressões regulares abaixo, forneça um DFA com número mínimo de estadosque aceite a linguagem descrita pela expressão.

Page 10: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

(a) (000∗ + 111∗)∗

(b) (01 + 10)(01 + 10)(01 + 10)

(c) (0 + 1(01∗0)∗1)∗

Solução: Utilizando os algoritmos de geração de um NFA a partir de uma RE, determinização deNFA, e minimização de DFA, nesta ordem, é possível responder a esta questão de forma totalmentemecânica. No entanto, as REs são simples o suficiente para que a partir delas, desenvolvamos DFAse apliquemos o algoritmo de minimização de DFAs. Esta estratégia poupa trabalho, mas é precisoatenção para que os DFAs expressem as mesmas liguagens que as REs.

8. [?] Considere a expressão regular α = (a + b)∗ab(a + b)∗. Forneça uma expressão regular β tal queL(β) = L(α), isto é, β expressa a linguagem complementar à expressa por α, quando:

(a) Σ = {a, b},(b) Σ = {a, b, c}.

Solução: A expressão α descreve a linguagem regular de palavras binárias em {a, b} que tenha aomenos uma ocorrência da subpalavra ab. Uma forma completamente mecânica de resolver esta questãoé aplicar, na ordem, os algoritmos para: (i) conversão de uma RE em um NFA, (ii) determinização deum NFA, (iii) complementação dos estados de aceitação, e (iv) conversão de um DFA em uma RE. Noentanto, α é uma RE simples que descreve uma linguagem igualmente simples. Vamos aplicar entãoum método ad-hoc para evitar o processo de determinização e assim, minimizar nosso trabalho.(a) Σ = {a, b}Não é difícil perceber que o Da,b = ({0, 1, 2}, {a, b}, δa,b, 0, {2}) com deltaa,b especificada pela tabela

δa,b a b→ 0 1 0

1 1 2F 2 2 2

possui L(Da,b) = L(α) — e uma simples indução no comprimento das palavras sobre Σ∗ comprovaisto. O complemento dos estados de aceitação é F := Q \ F = {0, 1}. Substituindo F no lugar deF em Da,b, obtemos o DFA Da,b que aceita palavras binárias que não possuem ab como subpalavra.Novamente, não é difícil perceber que a RE equivalente a Da,b é

α = b∗a+.

(b) Σ = {a, b, c}Semelhante ao que fizemos no item anterior, temos que o DFADa,b,c = ({0, 1, 2, 3}, {a, b, c}, δa,b,c, 0, {2})com δa,b,c igual a

δa,b,c a b c→ 0 1 0 3

1 1 2 3F 2 2 2 3

3 3 3 3

decide a linguagem desejada: palavras sob um alfabeto ternário que possuam ao menos uma ocorrênciada subpalavra ab. Neste caso, F := {0, 1, 2}, o que resulta em

α = b∗(c+ a+(c+ b(a+ b)∗c))(a+ b+ c)∗.

9. Prove que (a∗b)∗a∗ ≡ (a+ b)∗.Solução: Considere L1 := L((a∗b)∗a∗) e L2 := L((a + b)∗). Há inúmeras formas de demonstrar aigualdade L1 = L2. Enumeramos algumas:

Page 11: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

(1) Contruir os dois NFAs, determinizá-los, e verificar que os DFAs resultantes são equivalentes, i.é,que decidem a mesma linguagem. O último passo pode ser feito via algoritmo de minimização deDFAs ou via relações de Myhill-Nerode.

(2) Provar inicialmente que L2 ⊆ L1 por indução no comprimento das palavras em L2. Depois disto,reverter o processo e provar que L1 ⊆ L2, ou mostrar que L1 \ L2 = ∅.

(3) A diferença simétrica entre L1 e L2 é dada por L1 M L2 := (L1 \ L2) ∪ (L2 \ L1). Provando-seque L1 M L2 = ∅, obtém-se o resultado desejado.

(4) Utilizar a estrutura da álgebra de Kleene subjacente às expressões regulares.

Vamos fornecer uma prova envolvendo álgebras de Kleene.Lembre-se que uma expressão regular γ sob um alfateto Σ é uma expressão algébrica utilizada paradescrever uma linguagem regular, L(γ), suscintamente. A semântica associada é a de que uma palavraw ∈ Σ∗ é expressa ou gerada por γ se e somente se w ∈ L(γ). De outra forma, a expressão descreve oformato — também referenciada por padrão — das palavras que pertencem à linguagem.O conjunto de expressões regulares sob Σ pode ser definido indutivamente a partir de padrões atômicose de operações unárias e binárias sobre expressões menores. Formalmente, uma expressão regular γ éatômica nos casos em que for igual a

• a, para algum a ∈ Σ, e tal que L(a) = {a},• λ, a palavra vazia, e tal que L(λ) = {λ},• ∅, a linguagem vazia, e tal que L(∅) = ∅,

e, para α e β duas expressões regulares, é composta quando for igual a

• α+ β = α ∪ β, a operação de união, e tal que L(α+ β) = L(α ∪ β) = L(α) ∪ L(β),• αβ = α · β, a operação de concatenação, e tal que L(αβ) = L(α · β) = L(α) · L(β) = L(α)L(β),• α∗, o fecho transitivo-reflexivo, e tal que L(α∗) = L∗(α) = (L(α))∗,• (α), e tal que L((α)) = L(α);

e por conveniência na escrita das expressões, consideramos ainda os casos atômico e composto

• Σ e tal que L(Σ) = Σ,• α+, o fecho transitivo, e tal que L(α+) = L+(α) = (L(α))+,

em que, claramente, L(Σ) = ∪a∈ΣL(a) e L(α+) = L(α)L(α∗).Não é difícil perceber que expressões regulares são palavras sobre o alfabeto

Φ := Σ ∪ {λ,∅,Σ,+,∪, ·, ∗,+, (, )},

Note que λ,∅ e Σ são símbolos de Φ, utilizados na construção de expressões regulares, enquanto λ, ∅e Σ são meta-símbolos, utilizados para descrever conceitos.Duas expressões α e β são equivalentes, α ≡ β, se L(α) = L(β). Em sendo o caso, é possível substituirqualquer ocorrência de α por β (ou vice-versa) em qualquer expressão regular e a expressão resultanteserá equivalente à original.A operação binária de união é associativa, comutativa e idempotente, e tem o símbolo ∅ como identi-dade. Isto é, satisfaz os axiomas:

α+ (β + γ) ≡ (α+ β) + γ associatividade de + (2)α+ β ≡ β + α comutatividade de + (3)α+ α ≡ α idempotência de + (4)α+ ∅ ≡ α ∅ é a identidade para + (5)

Page 12: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

A operação de concatenação é somente associativa, e tem os símbolos λ e ∅ como identidade e aniquila-dor, respectivamente. A distributividade da complementação sobre a união pode ocorrer pela esquerdaou direita e segue a semântica usual (dos inteiros, por exemplo). Satisfaz os axiomas:

α(βγ) ≡ (αβ)γ associatividade de · (6)λα ≡ αλ ≡ α λ é a identidade para · (7)∅α ≡ α∅ ≡ ∅ ∅ é o aniquilador para · (8)

α(β + γ) ≡ αβ + αγ distributividade à esquerda de · (9)(α+ β)γ ≡ αγ + βγ distributividade à direita de · (10)

(11)

Os dois fechos transitivos são idempotentes, e para uma relação de ordem formalmente definida como

a ≤ b M⇐⇒ a+ b = b.

satisfaz os axiomas:

∅∗ ≡ λ o fecho do aniquilador é a unidade (12)λ+ αα∗ ≡ α∗ idempotência de ∗ (13)λ+ α∗α ≡ α∗ idempotência de ∗ (14)

β + αγ ≤ γ ⇒ α∗β ≤ γ recursão à direita (15)β + γα ≤ γ ⇒ βα∗ ≤ γ recursão à esquerda (16)

Observe que para 2Σ∗ , a operação ≤ é a inclusão de conjuntos ⊆.A avaliação dos operadores, unários e binários, se dá da esquerda para a direita. A ordem de precedênciados operadores é, da maior para a menor: fechos, concatenação, e união. A precedência pode seralterada pelo uso de parenteses como de costume.Formalmente, dado um alfabeto Σ, dois símbolos distintos ∅ e λ, não pertencentes ao alfabeto, duasoperações binárias + e · e uma operação unária ∗, a estrutura K = (Σ,∅,λ,+, ·, ∗) é uma álgebra deKleene (semianel idempotente não comutativo com fecho) se satisfaz os conjuntos de axiomas acima.Claramente, expressões regulares como definidas formam uma álgebra de Kleene. Além disso, todaálgebra de Kleene (existem várias outras) comporta-se como expressões regulares.Sabemos que além de união, linguagens regulares também são fechadas pelas demais operações Boolea-nas de intersecção e complementação, assim como por reversão (transposição), quocientes à esquerda eà direita, entre outras. Assim, muitas vezes, é conveniente extendermos a notação e a álgebra para aco-modar estas operações — e isto é feito em quase todas as ferramentas (principalmente nas comerciais)que operam com expressões regulares. A título de exemplo, vamos introduzir a interseção, que é umaoperação binária, associativa, comutativa, idempotente, distributiva sobre a união, e possui identidadee aniquilador como

• α ∩ β, a operação de intersecção, e tal que L(α ∩ β) = L(α) ∩ L(β),

e que satisfaz os axiomas:

α ∩ (β ∩ γ) ≡ (α ∩ β) ∩ γ associatividade de ∩ (17)α ∩ β ≡ β ∩ α comutatividade de ∩ (18)α ∩ α ≡ α idempotência de ∩ (19)α ∩Σ ≡ α Σ é a identidade para ∩ (20)α ∩ ∅ ≡ α ∅ é o aniquilador para ∩ (21)

α ∩ (β + γ) ≡ (α+ β) ∩ (α+ γ) distributividade à de ∩ sobre ∪ (22)

e a operação unária de complementação

Page 13: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

• ∼ α = ¬α, a operação de complementação, e tal que L(∼ α) = L(¬α) = L(α) = Σ∗ \ L(α),

que é involutiva e satisfaz:

∼ (∼ α) ≡ α involutividade de ∼ (23)

É possível com isto provar as relações de de-Morgan para com união e intersecção — que são teoremase não axiomas:

∼ (α+ β) ≡∼ α∩ ∼ β relação de de-Morgan para + (24)∼ (α ∩ β) ≡∼ α+ ∼ β relação de de-Morgan para ∩ (25)

A prova é deixada como exercício. O alfabeto sobre o qual as expressões regulares são escritas passa aser então Φ̂ := Φ ∪ {∩,∼,¬}.Vamos proceder agora à solução da questão.

Proposição 12. (a∗b)∗a∗ ≡ (a+ b)∗

Demonstração. Observe inicialmente que, por (14),

(a+ b)∗ ≡ λ+ (a+ b)∗(a+ b).

Seja X uma váriável em K. A relação acima pode ser reescrita como uma equação sobre a álgebra deexpressões regulares:

X = λ+X(a+ b). (26)

No caso, X = (a + b)∗ é uma solução para (26). Vamos mostrar que Y = (a∗b)∗a∗ também é soluçãopara (26). Temos que

λ+ ((a∗b)∗a∗)(a+ b) = (a∗b)∗a∗a+ λ+ (a∗b)∗a∗b por (10) e (2)= (a∗b)∗a∗a+ (a∗b)∗ por (14)= (a∗b)∗(a∗a+ λ) por (9)= (a∗b)∗a∗ por (13) e (2)

fornecendo que (a∗b)∗a∗ ≡ λ + ((a∗b)∗a∗)(a + b). Pelo Lema 13, a Equação 26 possui uma únicasolução. Portanto X = Y .

Para finalizar, provamos agora o lema utilizado acima.

Lema 13. Sejam K,L ⊆ Σ∗, com λ 6∈ K. Então, LK∗ é a única solução da equação

X = L+XK. (27)

Demonstração. Não é difícil perceber que LK∗ é solução de (27), pois

K∗ = λ+K∗K ⇐⇒ LK∗ = L+ LK∗K por (14) e (9).

Reciprocamente, seja P uma solução para (27), isto é, P = L + PK, de onde segue que L ⊆ P ePK ⊆ P , implicando portanto que LK ⊆ PK ⊆ P . Uma simples indução em n ≥ 0 mostra queLKn ⊆ P e assim, que LK∗ ⊆ P .Suponha agora que P 6⊆ LK∗ e seja w 6= λ a menor palavra em P \ LK∗. Por hipótese, w 6∈ L. Comow ∈ P , é o caso que w ∈ PK e assim, w pode ser escrita como w = uv para u ∈ P e v ∈ K. Novamentepor hipótese — do lema desta vez — λ 6∈ K, implicando que v 6= λ e que |u| < |w|. Logo, temos queu ∈ LK∗ e consequentemente, que w = uv ∈ LK∗, contradizendo o que foi suposto.

Page 14: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

10. Considere a linguagem

Paren := {x ∈ {(, )}∗ : |x|( = |x|) e |y|( ≥ |y|) para todo prefixo y de x}.

Isto é, uma palavra w pertence à Paren se para cada parentese esquerdo ’(’ em w existir um parentesedireito ’)’ – também em w – e nenhum parentese direito ocorrer antes que seu correspondente esquerdo.Exemplo: ()((()()) ∈ Paren, mas (() e ())( não. Mostre que a linguagem Paren não é regular.

Solução: Aplicação do lema de iteração (pumping lemma) para linguagens regulares.

Demonstração. Antes de tudo, defina `(t) := |t|( e r(t) := |t|), como os números de parenteses esquerdose direitos, respectivamente em t, para todo t ∈ {(, )}∗.Suponha que a linguagem Paren é regular. Sejam então p > 0 a constante cuja existência é garantidapelo lema da iteração e escolha w = (p)p ∈ Paren. Observe que |w| = 2p > p. Considere umadecomposição qualquer de w em w = xyz, com x, y, z ∈ {(, )}∗, y 6= λ e |xy| ≤ p. Da estrutura dew e do fato de que |xy| ≤ p, temos que y possui entre 1 e p parenteses esquerdos e nenhum direito.Considere agora w′ = xyyz. Temos que

`(w′) = `(xyyz) = `(xyz) + `(y) = `(w) + `(y) > r(w) + r(y) = r(xyz) + r(y) = r(xyyz) = r(w′),

em que a desigualdade acima vém do fato que `(y) = p > 0 = r(y). Logo, w′ 6∈ Paren, contradizendo asuposição de que Paren é regular.

Nota: Se desejar verificar a não suficiência do lema da iteração em um exemplo concreto, suponha queno lugar de (p)p, w é uma palavra qualquer em Paren, com |w| > p, e observe que não existe inteiroi ≥ 0 tal que xyiz 6∈ Paren no caso em que uma decomposição resulta em y ∈ (Paren \ {λ}).

11. [?] Mostre que a linguagem Primos := {0p : p é um número primo} não é regular.

Solução: Aplicação do lema de iteração (pumping lemma) para linguagens regulares.

Demonstração. Suponha que a linguagem Primos é regular. Sejam então k > 0 a constante cujaexistência é garantida pelo lema da iteração, p > k o menor número primo maior que k e escolhaw = 0p ∈ Primos — a existência de p é garantida pelo Teorema de Euclides, que atesta a existênciade infinitos números primos. Por ser longa o suficiente, w pode ser decomposta em w = xyz tal quex, y, z ∈ {0}∗, y 6= λ e |xy| ≤ k. Considere uma decomposição qualquer que seja válida. Sejam ` = |x|,0 < m = |y|, e n = |z|, resultando em p = ` + m + n e k = ` + m. Precisamos exibir i ≥ 0 constantede forma que w′ = xyiz 6∈ Primos. Como

|xyiz| = `+ im+ n = p+ (i− 1)m,

basta tomar i tal que p+ (i− 1)m não seja primo. Fazendo i = p+ 1, temos que

p+ (i− 1)m = p+ pm = p(m+ 1)

é claramente composto com fatores p e m+ 1 e o resultado segue.

12. Prove a seguinte variação do lema de iteração que fornece uma condição necessária e suficiente parauma linguagem ser regular.

Uma linguagem L ∈ Σ∗ é regular se e somente se existe k ≥ 0 tal que para todo y ∈ Σ∗ com|y| = k, existem u, v, w ∈ Σ∗ tais que y = uvw, v 6= λ, e para todo z ∈ Σ∗ e todo i ≥ 0,

yz ∈ L ⇐⇒ uviwz ∈ L.

Page 15: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Solução: Antes de fornecermos uma prova para a versão do lema forte de iteração acima, introduzidapor Jaffe (1978), é instrutivo compará-la ao lema (fraco) de iteração apresentado em classe, desenvolvidopor Bar-Hillel, Perles e Shamir (1961). Enquanto o último fornece apenas uma condicão necessária,o primeiro caracteriza linguagens regulares com uma condição simultaneamente necessária e suficiente— os adjetivos fraco e forte correspondem a esta diferença.

A contra-positiva de Bar-Hillel, Perles e Shamir é mais fácil de ser utilizada para mostrar que certaslinguagens não são regulares, por isso sua popularidade. No entanto, existem linguagens não regularesque satisfazem as condições do lema fraco. Por exemplo, a linguagem R = {aibjck : i 6= 1 ou j = k}não é regular, mas satisfaz as condições

∃ p > 0

∀w ∈ R : |w| > p

∃x, y, z : w = xyz, |xy| ≤ p, y 6= λ

∀ i ≥ 0 =⇒ xyiz ∈ R.

A versão forte de Jaffe não se preocupa com repetições de subpalavras próximas ao início da palavra —já que não requer |xy| ≤ p— mas exige a validade da decomposição perante qualquer sufixo z ∈ Σ∗ queseja adicionado à mesma, invocando uma condição semelhante à encontrada nos teoremas de Myhill(1957) e Nerode (1958). Apresentammos a seguir uma prova para a versão de Jaffe.

Demonstração. Para necessidade, suponha L ⊂ Σ∗ regular e seja k o número de estados de um DFAD para L. Pelo princípio da casa do pombo, qualquer palavra y ∈ Σ∗ com |y| = k faz com que D visiteum estado q ao menos duas vezes durante o processamento de y. Defina v 6= λ como a subpalavra de ycujos símbolos são processados por D entre duas visitas consecutivas ao estado q — isto é, o primeirosímbolo de v é o que faz D deixar o estado q e o último símbolo de v é o que faz D retornar a q — edefina y = uvw. Temos então que para toda palavra z ∈ Σ∗ e toda potência i ≥ 0,

δ̂(s, yz) = δ̂(s, uvwz) = δ̂(δ̂(δ̂(s, u), v), z) = δ̂(δ̂(δ̂(s, u), vi), z) = δ̂(s, uviwz),

em que s é o estado inicial de D, e a terceira igualdade advém de δ̂(q, v) = δ̂(q, vi), mostrada acima.Portanto, yz ∈ L se e somente se uviwz ∈ L.Para suficiência, seja L ⊆ Σ∗ tal que L satisfaz as condições do enunciado. Para qualquer palavrax ∈ Σ∗ com |x| ≥ k, identifique as subpalavras u, v, w tais que x = uvw e v 6= λ, tome i = 0 e repita oprocesso com x = uw até que |x| ≤ k − 1. Seja y = uw a palavra que encerrou o laço no processo deremoção de subpalavras descrito. Temos que para toda palavra z ∈ Σ∗,

xz ∈ L se e somente se yz ∈ L.

Pela definição de equivalência de palavras em linguagens, isto equivale a dizer que x ∼L y. Observeagora que toda classe de equivalência em L/ ∼L contém uma palavra de comprimento menor ou iguala k−1, e como o número de palavras satisfazendo tal condição é finito — precisamente (σk−1)/(σ−1)palavras, com σ = |Σ| — o número de classes de equivalência em L/ ∼L é finito. Portanto, peloteorema de Myhill-Nerode, L é regular.

13. Sejam Σ e Γ dois alfabetos. Um mapeamento h : Σ∗ → Γ∗ é um homomorfismo se para quaisquerpalavras x, y ∈ Σ∗,

h(xy) = h(x)h(y).

Note que se h é um homomorfismo, h(λ) = λ. Não é difícil perceber que qualquer homomorfismo h éunivocamente definido pelos valores h(a), para todo a ∈ Σ. Exemplo: se h(a) = ccc e h(b) = dd, então

h(abaab) = h(a)h(b)h(a)h(a)h(b) = cccddccccccdd.

Page 16: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

(a) Para A ⊆ Σ∗, defina h(A) := {h(x) : x ∈ A} ⊆ Γ∗ como a imagem de A sob h. Prove que se A éregular, então sua imagem h(A) sob h é regular.

(b) Para B ⊆ Γ∗, defina h−1(B) := {x : h(x) ∈ B} ⊆ Σ∗ como a pré-imagem de B sob h. Prove quese B ⊆ Γ∗ é regular, então sua pré-imagem h−1(B) sob h é regular.

Ou seja, linguagens regulares são fechadas sob homomorfismos diretos (imagem) e inversos (pré-imagem).

Solução:

(a) Vamos aproveitar a oportunidade e provar um resultado mais geral. Uma substituição s : Σ∗ → 2Γ∗

é um mapeamento que associa a cada símbolo a ∈ Σ uma linguagem La ⊆ Γ∗ tal que s(λ) = λ es(ab) = s(a)s(b) para quaisquer a, b ∈ Σ. Para uma linguagem L ⊆ Σ∗, a extensão de s(·) a L édefinida da forma usual: s(L) :=

⋃w∈L s(w).

Por exemplo, se Σ = {0, 1}, Γ = {a, b, c, d}, s(0) = {a, ab}∗ e s(1) = (cd)∗, então

s(101) = (cd)∗(a+ ab)∗(cd)∗.

Abusamos a notação acima e escrevemos α no lugar de L(α) por simplicidade. Tal abuso não só épermitido, mas usual.

Provamos abaixo três resultados simples que serão úteis.

Lema 14. Seja s : Σ∗ → 2Γ∗ uma substituição e sejam L,L1 e L2 linguagens sobre Σ. Temos que

(i) s(L1 ∪ L2) = s(L1) ∪ s(L2),

(ii) s(L1L2) = s(L1)s(L2),

(iii) s(L∗) = s(L)∗.

Demonstração. (i) Seja I um conjunto finito ou infinito, mas enumerável de índices. Pela definição desubstituição, temos que

s

(⋃i∈I

Li

)=

⋃w∈(

⋃i∈I Li)

s(w) =⋃i∈I

⋃w∈Li

s(w) =⋃i∈I

s(Li).

(ii) Novamente por definição, temos que

s(L1L2) = s({xy : x ∈ L1, y ∈ L2}

)=

⋃x∈L1, y∈L2

s(xy)

=⋃

x∈L1, y∈L2

s(x)s(y)

=

( ⋃x∈L1

s(x)

) ⋃y∈L2

s(y)

= s(L1)s(L2).

(iii) Vamos mostrar inicialmente, por indução em n ≥ 0, que s(Ln) = s(L)n. Quando n = 0, oresultado é trivialmente válido já que L0 = {λ}. Suponha então que n > 0 e que o resultado é válidopara qualquer valor entre 0 e n − 1. Por (ii), temos que s(Ln) = s(Ln−1L) = s(Ln−1)s(L), e por

Page 17: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

hipótese de indução, temos que s(Ln−1) = s(L)n−1. Logo, s(Ln) = s(L)n. Conjuntamente com (i) e adefinição de fecho transitivo-reflexivo, temos que

s(L∗) = s

⋃i≥0

Li

=⋃i≥0

s(Li) =⋃i≥0

s(L)i = s(L)∗.

Teorema 15. Seja s : Σ∗ → 2Γ∗ uma substituição regular, isto é, s(a) ⊆ Γ∗ é uma linguagem regularpara todo a ∈ Σ. Se A ⊆ Σ∗ é regular, então s(A) também é regular.

Em outras palavras, linguagens regulares são fechadas sob substituição de linguagens regulares.

Demonstração. Seja A ⊆ Σ∗ uma linguagem regular, α uma expressão regular para A, e s : Σ∗ → 2Γ∗

uma substituição regular. A prova é por indução no número de operadores (união, concatenação efecho transitivo-reflexivo) em α.Caso α não tenha operadores, temos que α ∈ {a : a ∈ Σ} ∪ {λ,∅}. Se α = a para algum a ∈ Σ,A = {a} e temos que s(α) = s(a) = s(A) que é regular, já que s(a) é regular por hipótese. Em casocontrário, se α = ∅, A = ∅ e segue que s(α) = s(∅) = ∅ = s(A), novamente regular. O caso α = λ étratado pelo resto da indução, já que ∅∗ = λ.Suponha então que o resultado é válido para qualquer número de operadores entre 0 e n−1 e que α temn operadores. Pela definição de expressões regulares, temos que α pode ser escrita como β ∪ γ, ou βγ,ou β∗, com L(β) = L1 e L(γ) = L2, fornecendo que L1 e L2 são linguagens regulares. Em qualquer umdos casos, o número de operadores em β e γ são menores que n e assim, por hipótese de indução, s(L1)e s(L2) são regulares. Pelo Lema 14, temos que s(L1 ∪ L2) = s(L1) ∪ s(L2), s(L1L2) = s(L1)s(L2) es(L∗) = s(L)∗ e o resultado segue.

Formalmente, uma substituição não é um homomorfismo, pois o último substitui símbolos por palavrase a primeira substitui símbolos por linguagens. No entanto, considerando linguagens unitárias {a} comosímbolos a, para todo a ∈ Σ, obtemos uma resposta à questão original.

Corolário 16. Linguagens regulares são fechadas por homomorfismos.

Demonstração. Sejam Σ e Γ dois alfabetos, seja L ⊆ Σ∗ uma linguagem regular, e seja h : Σ∗ → Γ∗

um homomorfismo. Defina a família de linguagens L :=(La)a∈Σ

tal que La = {h(a)} ⊂ Γ∗. ComoLa é finita para todo a ∈ Σ, toda linguagem em L é regular (cf. Exercício 2). Defina a substituiçãos : Σ∗ → 2Γ∗ tal que s(a) = La para todo a ∈ Σ. Pelo Teorema 15, s(L) é regular.Observe agora que

s(L) =⋃w∈L

s(w) =⋃

w1w2···wk∈Ls(w1)s(w2) · · · s(wk)

=⋃

w1w2···wk∈LLw1

Lw2· · ·Lwk

=⋃

w1w2···wk∈L{h(w1)h(w2) · · ·h(wk)} =

⋃w∈L{h(w)} = h(L),

em que a quarta igualdade advém do fato de cada La ser unitária.

(b) Vamos mostrar que a recíproca de (a) é verdadeira em se tratando de homomorfismos, isto é,que linguagens regulares são fechadas sob homomorfismos inversos (ou inversos de homomorfismos).Claramente não é possível obter uma recíproca para substituições, já que o inverso de uma substituiçãonão é uma função.

Page 18: Linguagens Formais e Autômatos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~aritanan.gruber/teaching/afl18/afl18-S2.pdf · Claramente, é uma matriz com infinitas linhas e infinitas

Teorema 17. Se B ⊆ Γ∗ é uma linguagem regular e h : Σ∗ → Γ∗ é um homomorfismo, entãoh−1(B) ⊆ Σ∗ é regular.

Demonstração. Seja DB = (Q,Γ, δB , s, F ) um DFA para B e considere A = h−1(B), a pré-imagem deB sob h. Defina o DFA DA = (Q,Σ, δA, s, F ) tal que δA(q, a) = δB(q, h(a)) para todo símbolo a ∈ Σ etodo estado q ∈ Q. Vamos mostrar que δ̂A(q, w) = δ̂B(q, h(w)). A prova é por indução no comprimentode w ∈ Σ∗, a palavra de entrada de DA.

Caso w = λ, para todo q ∈ Q, temos que δ̂A(q, λ) = λ = δ̂B(q, h(λ)) pela definição de δ̂. Suponhaentão que |w| > 0 e que o resultado é válido para qualquer subpalavra própria de w. Em particular,sejam a ∈ Σ e z ∈ Σ+ com |az| = |w| — a é prefixo e z é sufixo de w, e ambos são próprios. Temos,para qualquer estado q ∈ Q, que

δ̂A(q, w) = δ̂A(q, az)

= δ̂A(δA(q, a), z)

= δ̂B(δA(q, a), h(z))

= δ̂B(δB(q, h(a)), h(z))

= δ̂B(q, h(az))

= δ̂B(q, h(w)),

em que a segunda e quinta igualdades vêm da definição de δ̂, a terceira é a hipótese de indução, aquarta é pela construção de δA, e a última por h ser um homomorfismo.

A indução acima implica que δ̂A(s, w) = δ̂(s, h(w)) e que, portanto, δ̂A(s, w) ∈ F se e somente seδ̂(s, h(w)) ∈ F . Em outras palavras, w ∈ L(DA) se e somente se h(w) ∈ L(DB), que implica emA = L(DA) = h−1(L(DB)) = h−1(B).