Professional Documents
Culture Documents
Lista5 Carlos Castro
Lista5 Carlos Castro
1. Use o Lema do Bombeamento para mostrar que as seguintes linguagens não são
livres de contexto.
(b) Lb = {w ∈ {0, 1}∗ : w = wR , |w|0 = |w|1 }.
Solução. Mostraremos que Lb = {w ∈ {0, 1}∗ : w = wR , |w|0 = |w|1 } não é
uma linguagem livre de contexto (LLC). Para tanto, suponha por absurdo que Lb
é uma LLC. Seja p ∈ N o comprimento de bombeamento para Lb , garantida a sua
existência pelo Lema do Bombeamento. Seja s = 0p 1p 1p 0p . Note que s ∈ Lb , pois
|s|0 = 2p = |s|1 e sR = 0p 1p 1p 0p = s.
Como |s| ≥ p, pelo Lema do Bombeamento, s pode ser bombeada e pode ser dividida
em s = uvxyz de modo que
A condição (c) do Lema garante que o fator da palavra s, vxy, pode conter apenas
0’s, conter 0’s e 1’s e conter apenas 1’s. Vamos analisar os casos:
(i) Se vxy contiver apenas 0’s ou apenas 1’s, a condição (b) garante que v ou
y é não vazio. Logo, temos que s0 = uv 2 xy 2 v ∈ / Lb pois, como temos pelo
menos um 0 ou pelo menos um 1’s sendo bombeado, existe um k ∈ N tal que
|s0 |0 = 2p − k < 2p = |s0 |1 ou |s0 |1 = 2p − k < 2p = |s0 |0 . Violamos, assim, a
condição (a) do Lema do Bombeamento. Absurdo!
(ii) Se vxy contiver 0’s e 1’s, a condição (c) do Lema do Bombeamento garante que
se v tem 0’s e 1’s, x e y terão somente 1’s ou x e y terão somente 0’s (ou serão
∗
Aluno de Doutorado - NUSP: 11921804 - E-mail: carlos.castro@ime.usp.br
1
ε). Se y tem 0’s e 1’s, v e x terão somente 0’s ou v e x terão somente 1’s (ou
serão ε). Ou ainda, se x tem 0’s e 1’s, v contém somente 0’s (ou pode ser ε se
|y| =
6 0) e y contém somente 1’s (ou pode ser ε se |v| =
6 0) ou v contém somente
1’s e y contém somente 0’s (respeitando a condição (b) do Lema). Em qualquer
um dos casos citados acima, s0 = uv 2 xy 2 z ∈/ Lb , pois em qualquer um deles,
0 0R
teremos s 6= s . Violamos, assim, a condição (a) do Lema do Bombeamento.
Absurdo!
Observe que a condição (c) do Lema do Bombeamento garante que o fator da palavra
s, vxy, pode: ter somente a’s, ter apenas a’s e b’s, apenas b’s, ter apenas b’s e c’s ou
ter somente c’s.
Nos casos em que o fator vxy tenha somente a’s ou somente b’s, temos que s0 =
uv 3 xy 3 z ∈
/ Ld , pois a condição (b) nos garante que v ou y seja não vazia. Logo,
∃` ∈ N tal que s0 = ap+2` bp+1 cp+2 ou s0 = ap bp+1+2` cp+2 , fazendo com o que |s0 |a =
p + 2` ≥ p + 2 = |s0 |c ou |s0 |b = p + 1 + 2` ≥ p + 2 = |s0 |c , violando, assim, a condição
(a) do Lema do Bombeamento. Absurdo!
Nos casos em que o fator vxy tenha somente c’s, temos que s0 = uv 0 xy 0 z ∈ / Ld , pois
a condição (b) nos garante que v ou y seja não vazia. Logo, ∃` ∈ N, 1 ≤ ` ≤ p + 2 tal
2
que s0 = ap bp+1 cp+2−` , fazendo com o que |s0 |b = p + 1 ≥ p + 2 − ` = |s0 |c , violando,
assim, a condição (a) do Lema do Bombeamento. Absurdo!
Nos casos em que o fator vxy tenha a’s e b’s, temos que s0 = uv 3 xy 3 z ∈
/ Ld , pois s0
terá, pelo menos, p + 2 a’s ou p + 3 b’s.
Com efeito, analisaremos todos os possı́veis casos:
Note que a condição (b) do Lema garante que pelo menos um dentre os números
m, n, q é maior ou igual a 1, fazendo com o que |s0 |a ≥ |s0 |c ou |s0 |b ≥ |s0 |c .
Portanto, s0 não poderia pertencer a Ld , contradizendo a condição (a) do Lema
do Bombeamento. Absurdo!
• se v for da forma v = am bh e y = bq , temos que x = bn , com m, n, q, h ∈ N ∪ {0}
quaisquer, m ≤ p, h + n + q ≤ p + 1 e respeitando a condição (b) do Lema.
Assim,
s0 = uv 3 xy 3 z = ap−m (am bh )3 bn (bq )3 bp+1−q−n−h cp+2
= ap−m a3m b3h bn b3q bp+1−q−n−h cp+2
= ap+2m bp+1+2q+2h cp+2 .
Note que a condição (b) do Lema garante que pelo menos um dentre os números
m, q, h é maior ou igual a 1, fazendo com o que |s0 |a ≥ |s0 |c ou |s0 |b ≥ |s0 |c .
Portanto, s0 não poderia pertencer a Ld , contradizendo a condição (a) do Lema
do Bombeamento. Absurdo!
• se v for da forma v = am e y = bn , temos que x = aq bh , com m, n, q, h ∈ N ∪ {0}
quaisquer, m + q ≤ p, n + h ≤ p + 1 e respeitando a condição (b) do Lema.
Assim
s0 = uv 3 xy 3 z = ap−m−q (am )3 aq bh (bn )3 bp+1−n−h cp+2
= ap−m−q a3m aq bh b3n bp+1−n−h cp+2
= ap+2m bp+1+2n cp+2 .
Note que a condição (b) do Lema garante que pelo menos um dentre os números
3
m, n é maior ou igual a 1, fazendo com o que |s0 |a ≥ |s0 |c ou |s0 |b ≥ |s0 |c .
Portanto, s0 não poderia pertencer a Ld , contradizendo a condição (a) do Lema
do Bombeamento. Absurdo!
Por fim, nos casos em que vxy tenha somente b’s e c’s, temos que s0 = uv 0 xy 0 z ∈
/ Ld ,
pois se v ou y tiverem pelo menos um b, temos que |s0 |b ≤ p = |s0 |a . Ainda, se v ou
y tiverem pelo menos um c, temos que |s0 |c ≤ p + 1 = |s0 |b . Portanto, em todos os
casos, contradizemos a condição (a) do Lema do Bombeamento. Absurdo!
Em todos os casos, chegamos a uma contradição à condição (a) do Lema do Bom-
beamento e, portanto, Ld não é uma LLC.
O conjunto de estados Q = Q1 × Q2 ;
O alfabeto Σ;
O conjunto das variáveis da pilha Γ = Γ1 ;
A função de transição δ : Q × Σε × Γε −→ P(Q × Γε ) cujas transições não
vazias são definidas como segue: para quaisquer q11 , q21 ∈ Q1 , q12 , q22 ∈ Q2 , α ∈ Σ
e a, b ∈ Γε , δ((q11 , q12 ), α, a) = {((q21 , q21 ), b)} para α 6= ε, δ1 (q11 , α, a) = {(q21 , b)} e
δ2 (q12 , a) = q22 e δ((q11 , q12 ), ε, a) = {((q21 , q12 ), b)} para δ1 (q11 , ε, a) = {(q21 , b)}.
O estado inicial q0 = (q01 , q02 );
O conjunto de estados finais F = F1 × F2 .
4
Seja w ∈ L(M ) qualquer. Mostraremos que w ∈ L1 ∩ L2 . Como w ∈ L(M ),
pela definição de computação, w pode ser escrita como w = w1 · · · wm , onde cada
wi ∈ Σε e as sequências de estados r0 , · · · , rm ∈ Q e cadeias s0 , · · · , sm ∈ Γ∗ existem,
satisfazendo
1 2
((qi+1 , qi+1 ), b) ∈ δ((qi1 , qi2 ), wi+1 , a)
5
2
(b2 ) Para i = 0, · · · , m − k − 1, temos que ri+1 = δ2 (ri2 , w̃i+1 ) e
2 2
(c2 ) rm−k = qm ∈ F2 .
Como w ∈ L2 , pela definição de computação, w pode ser escrito como w = w̃1 · · · w̃` , ` ∈
N, onde cada w̃i ∈ Σ e as sequências de estados r02 , · · · , r`2 ∈ Q2 existem, satisfazendo
6
a, b ∈ Γε e t ∈ Γ∗ . Além disso, para i = m, como sabemos que o número de ε que
1 2 1
aparecem em w1 · · · wm é k, temos que rm = (rm , rm−k ) = (rm , r`2 ) ∈ F1 × F2 = F .
Assim, dada construção acima, como w pode ser escrito como w = w1 · · · wm , onde
cada wi ∈ Σε e existem as sequências de estados r0 · · · rm ∈ Q e cadeias s0 , · · · , sm ∈
Γ∗ , satisfazendo
i = 1, . . . , 5 i = 6, . . . , 10 i = 11, . . . , 15 i = 16, . . . , 20
q1 01#01 xq7 1#x1 xx#xq5 1 xx#q8 xx
xq2 1#01 q7 x1#x1 xx#q6 xx xx#xq8 x
Ci x1q2 #01 xq1 1#x1 xxq6 #xx xx#xxq8
x1#q4 01 xxq3 #x1 xq7 x#xx xx#xxxyqaceita
x1q6 #x1 xx#q5 x1 xxq1 #xx
7
i = 1, . . . , 5 i = 6, . . . , 10 i = 11, . . . , 15 i = 16, . . . , 20 i = 21, · · · , 25
q1 110#111 x10q6 #x11 xxq3 0#x11 xx0q6 #xx1 xxx#q4 xx1
xq3 10#111 x1q7 0#x11 xx0q3 #x11 xxq7 0#xx1 xxx#xq4 x1
Ci x1q3 0#111 xq7 10#x11 xx0#q5 x11 xq7 x0#xx1 xxx#xxq4 1
x10q3 #111 q7 x10#x11 xx0#xq5 11 xxq1 0#xx1 xxx#xx1qrejeita
x10#q5 111 xq1 10#x11 xx0#q6 xx1 xxxq2 #xx1
Observe que na configuração C23 , quando a máquina está estado q4 , não há nenhuma
transição com um 1. Logo, o Sipser indica que, nesses casos, a máquina vai para o
estado qrejeita .