Escolar Documentos
Profissional Documentos
Cultura Documentos
LIsta 3 - Automatos
LIsta 3 - Automatos
1. Decida se cada linguagem a seguir é ou não é regular. Se for, escreva uma expressão
regular para a linguagem e prove sua corretude. Se não for, prove com o auxı́lio do
Lema do Bombeamento.
Questão 1. (b)
(a ∪ (ba)∗ )∗ b∗
1
expressão só poderá formar dois b’s seguidos se for oriundo da expressão b∗ . Portanto,
nesse caso, w ∈ Lb .
Se |w| ≥ 4 temos que w pode ser da forma w = aaaŵ, w = aabŵ, w = abbŵ,
w = abaŵ, w = baaŵ, w = babŵ ou w = bbbŵ, em que ŵ ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Note que ŵ ̸= ε, pois |w| ≥ 4. Como |bbŵ| < |w| e |abŵ| < |w| temos que por
hipótese de indução, abŵ, bbŵ ∈ Lb e, assim, no primeiro caso (abŵ ∈ Lb ), ou seja,
nos casos em que a palavra w é w = aabŵ, w = babŵ, a palavra ŵ não poderá
começar com ba e, no segundo caso (bbŵ ∈ Lb ), ou seja, os casos em que w pode
ser w = bbbŵ, w = abbŵ, ŵ poderá ser formado apenas por b’s. Além disso, para
os casos em que w pode ser w = aaaŵ, w = baaŵ ou w = abaŵ, temos que, como
|ŵ| < |w|, pela hipótese de indução, temos que ŵ ∈ Lb . Assim, bba não é fator de ŵ
e, portanto, para qualquer um dos casos, teremos w ∈ Lb . Portanto, como nenhuma
das possibilidades de prefixo de tamanho 3 de w pode ser bba e ŵ ∈ Lb , ou seja, bba
não é fator de ŵ, então w ∈ Lb .
Dada arbitrariedade de escolha de w, segue que L((a ∪ (ba)∗ )∗ b∗ ) ⊆ Lb .
(⇐) Lb ⊆ L((a ∪ (ba)∗ )∗ b∗ )
Tome w ∈ Lb . Da definição da linguagem Lb temos que w ∈ {a, b}∗ tal que bba
não é um fator de w. Vamos mostrar por indução no tamanho de w que w ∈
L((a ∪ (ba)∗ )∗ b∗ ).
Se |w| = 0, temos que ε = w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Se |w| = 1 temos que w = a ou w = b. Se w = a temos que w ∈ L(a∗ ) ⊂
L((a ∪ (ba)∗ )∗ b∗ ). Se w = b temos que w ∈ L(b∗ ) ⊂ L((a ∪ (ba)∗ )∗ b∗ ). Logo, para
ambos os casos, w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Se |w| = 2 temos que w = aa, w = ab, w = ba, w = bb. Se w = aa temos que
w ∈ L((a ∪ (ba)∗ )∗ b∗ ). Se w = ab temos que w ∈ L((a ∪ (ba)∗ )∗ b∗ ). Se w = ba temos
que w ∈ L((a ∪ (ba)∗ )∗ b∗ ). Por fim, se w = bb, temos que w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Logo, para todas as possibilidades w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Se |w| = 3 temos que, como w ∈ Lb , w ̸= bba e pode ser umas das possibilidades:
w = aaa,w = bbb, w = aab, w = abb, w = bab, w = aba e w = baa. Observe
que, para qualquer um dos casos citados acima, w pode ser formado pela expressão
regular (a ∪ (ba)∗ )∗ b∗ e, portanto w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Suponha que para qualquer palavra w de Lb de comprimento |w| = k, k ≥ 4, teremos
w ∈ L((a ∪ (ba)∗ )∗ b∗ ). Mostraremos que as palavras de tamanho |w| = k + 1 também
2
estão em L((a ∪ (ba)∗ )∗ b∗ ).
Se w ∈ Lb é tal que |w| = k+1, podemos escrever w = w1 w2 · · · wk wk+1 , de modo que
wi−1 wi wi+1 ̸= bba, qualquer que seja 2 ≤ i ≤ k. Assim, temos que w1 · · · wk ∈ Lb .
Pela hipótese de indução, temos que w1 · · · wk ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Note que, se wk+1 = b teremos que w = w1 · · · wk b ∈ L((a ∪ (ba)∗ )∗ b∗ b) ⊂ L((a ∪
(ba)∗ )∗ b∗ ). Nesse caso, w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Se wk+1 = a, temos que w1 · · · wk ∈ L((a ∪ (ba)∗ )∗ ) ou w1 · · · wk ∈ L((a ∪ (ba)∗ )∗ b)
pois, caso contrário, poderı́amos ter w = w1 · · · wk−2 bba, o que não poderia acontecer
pois w ∈ Lb .
Se w1 · · · wk ∈ L((a ∪ (ba)∗ )∗ ), temos que wk = a e w = w1 · · · wk−1 aa ∈ L((a ∪
(ba)∗ )∗ ) ⊂ L((a ∪ (ba)∗ )∗ b∗ ). Se w1 · · · wk ∈ L((a ∪ (ba)∗ )∗ b), temos que w =
w1 · · · wk−2 aba ∈ L((a ∪ (ba)∗ )∗ ) ⊂ L((a ∪ (ba)∗ )∗ b∗ ). Em todos os casos, temos
que w ∈ L((a ∪ (ba)∗ )∗ b∗ ).
Portanto, pelo exposto acima e dada arbitrariedade de escolha de w temos que
Lb ⊆ L((a ∪ (ba)∗ )∗ b∗ ) e L((a ∪ (ba)∗ )∗ b∗ ) ⊆ Lb e, portanto Lb = L((a ∪ (ba)∗ )∗ b∗ ).
■
Questão 1. (g)
descreve essa linguagem, e assim, mostraremos que L((ab)∗ (ba)∗ ∪(a∪b)∗ (aa∪bb)(a∪
b)∗ ) = Lg . Chamaremos a linguagem da expressão de R = L((ab)∗ (ba)∗ ∪(a∪b)∗ (aa∪
bb)(a ∪ b)∗ ).
Note que a expressão (ab)∗ (ba)∗ ∪ (a ∪ b)∗ (aa ∪ bb)(a ∪ b)∗ é, de fato, regular, pela
própria definição e pelo fecho das operações ∗ (estrela), união e ◦ (concatenação).
(⇒) L((ab)∗ (ba)∗ ∪ (a ∪ b)∗ (aa ∪ bb)(a ∪ b)∗ ) ⊆ Lg
Seja w ∈ R. Vamos mostrar por indução no tamanho de w que w ∈ Lg .
3
Observe que tanto Lg como R não contém palavras de tamanho 1. Portanto, nossa
base de indução será em |w| = 0, 2.
Se |w| = 0 temos que ε = w ∈ {w ∈ {a, b}∗ : |w|a = |w|b } ⊂ Lg .
Se |w| = 2 temos que,
4
(⇐) Lg ⊆ L((ab)∗ (ba)∗ ∪ (a ∪ b)∗ (aa ∪ bb)(a ∪ b)∗ )
Seja w ∈ Lg . Provaremos que w ∈ R por indução em |w|. Observe que tanto Lg
como R não contém palavras de tamanho 1. Portanto, nossa base de indução será
em |w| = 0, 2.
Se |w| = 0, então ε = w ∈ R.
Se |w| = 2, então temos os seguintes casos
– w = aa ou w = bb. Nesses casos, temos que w ∈ {aa, bb} ⊂ L((a ∪ b)∗ (aa ∪
bb)(a ∪ b)∗ ) ⊂ R.
– w = ab ou w = ba. Nesses casos, temos que w ∈ L((ab)∗ (ba)∗ ) ⊂ R.
5
Portanto, Lg = L((ab)∗ (ba)∗ ∪ (a ∪ b)∗ (aa ∪ bb)(a ∪ b)∗ ).
■
Questão 1. (i)
Solução. Suponha por absurdo que Li é uma linguagem regular. Então, pelo
Lema do Bombeamento, existe p ∈ N onde qualquer palavra s ∈ Li tal que |s| ≥ p,
pode ser dividida em três pedaços s = xyz satisfazendo as condições do Lema:, para
qualquer i ≥ 0, xy i z ∈ Li , |y| > 0 e |xy| ≤ p.
Seja s = ap bap . Note que s é da forma ak x com |x|a ≤ p e portanto, s ∈ Li . Pelo
lema do bombeamento, como |s| ≥ p, s poderá ser divida em s = xyz, com |xy| ≤ p
e |y| > 0. Como |xy| ≤ p, temos que y só poderá conter a’s, pois s = ap bap . Mas,
fazendo i = 0 temos que xy i z = xy 0 z = ap−|y| bap ∈
/ Li , pois |y| > 0 e p − |y| < p,
contradizendo o lema do bombeamento. Absurdo!
Portanto, Li não é regular. ■
Questão 2.
Solução. Vamos mostrar que a proposição acima é falsa. Para isso, vamos mostrar
que dada uma linguagem regular L, a linguagem {xz | existe um y com |x| = |y| =
|z|, xyz ∈ L} não é regular.
Considere o alfabeto Σ = {0, 1, Ω} e a linguagem L((0∗ Ω1∗ ) ∪ {ε}) := L. Observe
que L é regular pois a expressão que a define é regular (de fato, pela definição de
expressão regular, R0 = {0}, R1 = {1}, Rε = {ε} e RΩ = {Ω} são regulares,
R0∗ e R1∗ são regulares pois a operação estrela (∗) em expressões regulares é regular,
R0∗ RΩ R1∗ é regular pois a operação de concatenação em expressões regulares é regular
e R0∗ RΩ R1∗ ∪Rε é regular pois a operação de união em expressões regulares é regular).
Considere, ainda, a linguagem L(0∗ 1∗ ) := {0∗ 1∗ } definida sobre o alfabeto Σ. Note
que {0∗ 1∗ } é regular pois a expressão que a define, 0∗ 1∗ , é regular, e tal fato segue
diretamente da definição.
6
Suponha por absurdo que a linguagem {xz | existe um y com |x| = |y| = |z|, xyz ∈
L} := L′ é regular. Pelo fecho da regularidade de linguagens sob a operação de
intersecção, temos que L′ ∩ {0∗ 1∗ } := B é uma linguagem regular. Note que todos
os elementos de L′ que possuem Ω não pertencem a B, e isso só ocorre quando, da
definição de L′ , a palavra xz ∈ L′ é tal que existe o y com xyz ∈ L e Ω é um fator
de y, quando x, y, z ̸= ε. Logo, como |x| = |z| e como as palavras de L são ε ou
0i Ω1j , i, j ∈ N ∪ {0}, temos que os elementos de B são da forma 0n 1n com n ≥ 0.
Logo, temos que L′ ∩ {0∗ 1∗ } = B = {0n 1n | n ≥ 0}.
Como B é regular, pelo Lema do Bombeamento, seja p a largura de bombeamento
(pumping length). Seja s = 0p 1p uma palavra em B. Como |s| ≥ p, pelo Lema do
Bombeamento, s pode ser dividido em s = xyz, onde para cada i ≥ 0, xy i z ∈ B,
|xy| ≤ p e |y| > 0. Nesse caso, como y ̸= ε, |xy| ≤ p, e s = 0p 1p , temos que y
consiste em uma palavra apenas com 0’s. Portanto, para qualquer i ∈ N \ {1} ∪ {0}
(excluı́mos o caso i = 1 pois, neste caso, s tem o mesmo número de 0’s e 1’s)
teremos que xy i z ∈ / B, pois xy i z terá um número de 0’s diferente do número de 1’s
(xy i z = 0p+(i−1)|y| 1p e p+(i−1)|y| = ̸ p, pois y ̸= 0, i ∈ N\{1}∪{0}), o que contradiz
o Lema do Bombeamento. Absurdo.
Portanto, L′ = {xz | existe um y com |x| = |y| = |z|, xyz ∈ L} não é regular. ■