Escolar Documentos
Profissional Documentos
Cultura Documentos
LISTA 1
Isso é, temos que L = L ((ab)∗ + (ba)∗ + (a + b)∗ (aa + bb)(a + b)∗ ).
Prova. Sejam L1 = {x : |x|a = |x|b }, L2 = L ((a + b)∗ (aa + bb)(a + b)∗ ), L3 = L ((ab)∗ + (ba)∗ )
e, por fim, L0 = L ((ab)∗ + (ba)∗ + (a + b)∗ (aa + bb)(a + b)∗ ). Iremos provar que L0 = L.
Agora sim, seja x uma palavra qualquer de L, então temos que x ∈ L1 ou x1 ∈ L2 .
• Suponha que x ∈ L1 . Se existe um ı́ndice i com 1 ≤ i < |x| para o qual xi = xi+1 , então
temos que x ∈ L2 e, portanto x ∈ L0 . De fato, se existe um ı́ndice i com 1 ≤ i < |x| para o
qual xi = xi+1 , então x pode ser escrito como zyw, onde y ∈ {aa, bb}, e portanto, x ∈ L1
Por outro lado, se não existe tal ı́ndice então todas as letras de x se alternam e como
|x|a = |x|b , temos que x ∈ L3 e portanto, x ∈ L0 .
o que é verdade.
Suponha agora que m > 1 a afirmação vale para qualquer palavra com tamanho até m − 1.
Nesse caso, podemos escrever x = yσ, onde |y| = m − 1. Então
Portanto, só serão reconhecidas as palavras em que δ(0, x) = i mod n, o que está correto.
b) Assim como no item anterior iremos definir cada elemento de A = {K, Σ δ, s, F } que
descreve essa linguagem. Σ é o mesmo deifnido no enunciado. Diferentemente do item anterior,
queremos calcular
Xn
( k i xi ) mod n
i=0
Prova. Faremos indução no tamanho m da palavra x. Suponha que m = 0, nesse caso temos
que x = λ e
δ((0, 1), λ) = (0, 1)
o que é verdade.
Suponha agora que m > 1 e que a afirmação vale para palavras com tamanho até m, iremos
mostrar que vale para palavras com tamanho m + 1. Nesse caso, podemos escrever x = yσ,
Page 2
onde |y| = m. Então
Portanto, só serão reconhecidas as palavras em que δ((0, 1), x) = (i mod n, q), para algum
q ∈ {0, . . . , n − 1}, o que está correto.
27. a) Iremos definir recursivamente uma função fpref : E → E que recebe um expressão
regular para L e devolve uma expressão regular para Pref(L). Sejam x e y expressões regulares,
definimos fpref da seguinte forma:
Agora remos definir recursivamente uma função fsuf : E → E que recebe um expressão
regular para L e devolve uma expressão regular para Suf(L). Sejam x e y expressões regulares,
definimos fsuf da seguinte forma:
Page 3
Prova. Faremos indução em n onde n é o tamanho da expressão regular z que descreve L.Suponha
n = 0, nesse caso temos que z = λ e, portanto, fpref (λ) = λ De fato, como a única palavra em
L é λ, então prefixo é λ.
Se n = 1, então z é composto de uma única letra σ e, portanto, L = {σ}. Seguindo fsuf , temos
que o único sufixo de σ é fsuf (σ) = σ, que está correto. Suponha agora que n > 1 e que fpref
vale para expressões de tamanho até n − 1. Então z se enquandra em alguma das oprações
definidas de (3) a (6).
Se z se enquadra em (3), então z pode ser escrito como xy. Os prefixos de xy são todos os
prefixos de x e todos os prefixos de xy. Como, por hipótese, fpref (x) e fpref (y) foram calculados
corretamente, segue que fpref (xy) = fpref (x) + xfpref (y) está definido corretamente.
Se z se enquadra em (4), então z pode ser escrito como x + y. Os prefixos de x + y são todos os
prefixos de x e todos os prefixos de y. Como, por hipótese, fpref (x) e fpref (y) foram calculados
corretamente, segue que fpref (x + y) = fpref (x) + fpref (y) está definido corretamente.
Se z se enquadra em (5), então o prefixo para uma palavra descrita por z ∗ é certa quatidade de
repetições da palvra descrita por z concatenado com algum prefixo de z. Como, por hipótese,
fpref (z) foi calculado corretamente, segue que fpref (z∗) = fpref (z)∗ está definido corretamente.
Por fim, e z se enquadra em (6), é fácil de ver que fpref ((z)) está definido corretamente.
Page 4