Expressões regulares

Documentos relacionados
Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo

Lema do Bombeamento para Linguagens Livres do Contexto

Linguagens Não-Regulares

Autômatos finitos não-determinísticos

IBM1088 Linguagens Formais e Teoria da

Gramáticas Livres de Contexto

Expressões Regulares e Gramáticas Regulares

Propriedades das Linguagens Livres do Contexto

Lema do Bombeamento. Aplicação para Linguagens Regulares e Livres de Contexto. Maria Adriana Vidigal de Lima. Abril

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

a * Lema do Bombeamento Linguagens regulares e não-regulares

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Linguagens Formais e Autômatos P. Blauth Menezes

MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Linguagens Formais e Problemas de Decisão

Segunda Lista de Exercícios 2004/2...

Linguagens Formais e Autômatos P. Blauth Menezes

a n Sistemas de Estados Finitos AF Determinísticos

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Teoria da Computação Aula 02 Introdução

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

AFNs, Operações Regulares e Expressões Regulares

Fundamentos da Teoria da Computação

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Modelos de Computação Folha de trabalho n. 8

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes

IBM1088 Linguagens Formais e Teoria da Computação

Linguagens Formais - Preliminares

Histórico e motivação

Introdução Definição Conceitos Básicos de Linguagem

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

a * Expressões Regulares (ER) Conversão de AF para ER no JFLAP Equivalências entre AFD, AFND, AF-, ER, GR

Faculdade de Computação

Linguagens Formais e Autômatos

Matemática Discreta para Ciência da Computação

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo

Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos:

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Linguagens e Programação Automátos Finitos. Paulo Proença

Linguagens Regulares. Prof. Daniel Oliveira

Linguagem (formal) de alfabeto Σ

Expressões e Gramáticas Regulares e Autómatos Finitos

Modelos de Computação

Conceitos básicos de Teoria da Computação

Terceira Lista de Exercícios 2004/2...

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores)

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Teoria da Computação

IBM1088 Linguagens Formais e Teoria da Computação

EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE RONALD GLATZ

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Algoritmo de Minimização de AFD

Marcos Castilho. DInf/UFPR. 21 de março de 2019

Alfabeto, Cadeias, Operações e Linguagens

UNIVERSIDADE DA BEIRA INTERIOR

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Fundamentos da Teoria da Computação

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?

Lista de exercícios 1

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas

Capítulo 1: Alfabetos, cadeias, linguagens

Fundamentos da Teoria da Computação

BCC244. Alfabeto, String, Linguagem, Gramática. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal.

LR's: Lema do Bombeamento e Propriedades de Fechamento

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Teoria da Computação. Expressões Regulares e Autômatos Finitos. Thiago Alves

Autômatos Finitos e Não-determinismo

Gramáticas e Linguagens Independentes de Contexto

Modelos Universais de Computação

Linguagens Formais e Autômatos (LFA)

a * Expressões Regulares (ER) AF e ER Equivalências entre AFD, AFND, AF-, ER

Linguagens Formais e Autômatos P. Blauth Menezes

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

Linguagens Formais e Autômatos. Linguagens Regulares Prof. Anderson Belgamo

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

Expressões Regulares. Tiago Alves de Oliveira

Transcrição:

Expressões regulares IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 38

Frase do dia A vida é uma luta inteira em que cada passo é contestado. Logo, é uma alma covarde aquela que, assim que as nuvens negras se condensam ou apenas se mostram no horizonte, abate-se, perde o ânimo e põe-se a lamentar. Arthur Schopenhauer a a Filósofo alemão (1788 1860). E.E.S. Ruiz (USP) LFA 2 / 38

Prólogo Toda LR pode ser descrita por uma Expressão Regular, ER ER é um formalismo denotacional ER explica como gerar palavras da LR ER é ideal para comunicação homem máquina E.E.S. Ruiz (USP) LFA 3 / 38

Objetivos Introduzir expressões regulares (ER) como uma linguagem formal Mostrar a equivalência entre ER e AF Caracterizar as limitações de AF E.E.S. Ruiz (USP) LFA 4 / 38

Conteúdo 1 Definição de ER 2 Exemplos de ER 3 Equivalência entre ER e AF 4 Limitações dos AF 5 Lema do Bombeamento 6 Exemplos E.E.S. Ruiz (USP) LFA 5 / 38

Definição de ER Expressões regulares Toda linguagem regular pode ser descrita por uma expressão denonimada expressão regular E.E.S. Ruiz (USP) LFA 6 / 38

Definição de ER Expressões regulares Toda linguagem regular pode ser descrita por uma expressão denonimada expressão regular ER são muito usadas em utilitários dos sistemas operacionais Unix-like e em linguagens de programação E.E.S. Ruiz (USP) LFA 6 / 38

Definição de ER Expressões regulares Toda linguagem regular pode ser descrita por uma expressão denonimada expressão regular ER são muito usadas em utilitários dos sistemas operacionais Unix-like e em linguagens de programação Uma ER é definida a partir de conjuntos e as operações de concatenação, união e da operação estrela E.E.S. Ruiz (USP) LFA 6 / 38

Definição de ER Expressões regulares Toda linguagem regular pode ser descrita por uma expressão denonimada expressão regular ER são muito usadas em utilitários dos sistemas operacionais Unix-like e em linguagens de programação Uma ER é definida a partir de conjuntos e as operações de concatenação, união e da operação estrela O valor de uma expressão regular é uma linguagem E.E.S. Ruiz (USP) LFA 6 / 38

Definição de ER Exemplos ER 1 = (a b)a ER 1 = L 1, uma linguagem t.q. w começam com a, ou começam com b, seguidas por um número qualquer (n 0) de a. E.E.S. Ruiz (USP) LFA 7 / 38

Definição de ER + Exemplos de ER Σ, para Σ um alfabeto qualquer É a linguagem constituída de todas as cadeias de caracteres sobre Σ Sendo Σ = {a, b}, Σ = (a b) + ɛ E.E.S. Ruiz (USP) LFA 8 / 38

Definição de ER + Exemplos de ER Σ, para Σ um alfabeto qualquer É a linguagem constituída de todas as cadeias de caracteres sobre Σ Sendo Σ = {a, b}, Σ = (a b) + ɛ Σ 1 É a ER que representa a linguagem na qual todas as cadeias sobre Σ que terminam com o caracter 1 Vejamos qual é a definição de uma ER... E.E.S. Ruiz (USP) LFA 8 / 38

Definição de ER Definição de ER Sejam R 1 e R 2 duas linguagens. Sejam também as ER r 1 e r 2 que denotam as linguagens R 1 e R 2. Dizemos que r é uma expressão regular (ER) se r for: 1 a, a Σ, ou seja, a linguagem que contém exclusivamente a palavra constituída pelo símbolo a; 2 ɛ, ou seja, a cadeia vazia; 3, ou seja, a linguagem vazia. E, indutivamente, considerando r 1 e r 2, expressões regulares, temos: 4 r = (r 1 r 2 ), a união, também denotada por r 1 + r 2 ; 5 r = (r 1 r 2 ), a concatenação, também denotada por r 1 r 2 ; 6 r = (r 1 ), a operação estrela, ou concatenação sucessiva. Veja os detalhes a seguir: E.E.S. Ruiz (USP) LFA 9 / 38

Definição de ER Em detalhes a última parte Dizemos que R é uma expressão regular (ER) se R for: 1 Sejam r 1 e r 2 ER que denotam as linguagens R 1 e R 2 respectivamente 2 (r 1 + r 2 ), a união, é uma ER e denota a linguagem (R 1 R 2 ); 3 (r 1 r 2 ), a concatenação, é uma ER e denotada a linguagem R 1 R 2 = {uv u R 1, v R 2 }; 4 (r 1 ), a operação estrela, ou concatenação sucessiva, denota a linguagem R 1. E.E.S. Ruiz (USP) LFA 10 / 38

Definição de ER Convenção Quando omitimos os parênteses nas ER, respeitamos as convenções de precedência de operadores. Vejam as convenções na Tabela abaixo. Precedência Operação 1 Estrela 2 Concatenação 3 União Tabela : Convenções de precedência de operadores nas ER. E.E.S. Ruiz (USP) LFA 11 / 38

Exemplos de ER Exemplos de ER Veja alguns exemplos de ER relacionados às linguagens geradas por estas expressões. Considere Σ = {a, b}. ER, (R) aa ba a ba Σ bσ Σ abaσ b (ab + ) (ΣΣ) Linguagem gerada, L(R) Somente a palavra aa Palavras que começam com b e são seguidas por zero ou mais a s Palavras que contém um único b Palavras que tem, pelo menos, um símbolo b Palavras que contém a subcadeia aba Palavras em que todo a é seguido por pelo menos um b Palavras de comprimento par E.E.S. Ruiz (USP) LFA 12 / 38

Exemplos de ER + Exemplos de ER Na Tabela abaixo mostramos outros exemplos de ER relacionando com as linguagens geradas por estas expressões. Aqui também Σ = {a, b}. Expressão Regular, (R) Linguagem gerada, L(R) ab + ba L(R) = {ab, ba} (a + b) Todas as palavras sobre Σ (a + b) aa(a + b) Todas as palavras que contém a subcadeia aa (a + b) (aa + bb) Todas as palavras que terminam com aa ou bb E.E.S. Ruiz (USP) LFA 13 / 38

Exemplos de ER Vamos relembrar concatenação de conjuntos Sejam os conjuntos A e B AB = A B = {ab a A, b B} E.E.S. Ruiz (USP) LFA 14 / 38

Exemplos de ER Vamos relembrar concatenação de conjuntos Sejam os conjuntos A e B AB = A B = {ab a A, b B} mas... Se B =, b. Assim ab tal que a A, b B, assim A = Ou seja, a concatenação do é sempre. E.E.S. Ruiz (USP) LFA 14 / 38

Exemplos de ER Outros exemplos de ER Na Tabela abaixo mostramos outros exemplos de ER relacionando com as linguagens geradas por estas expressões. Aqui também considere o alfabeto Σ = {a, b}. ER, (R) Linguagem gerada, L(R) (a ɛ)b = {w w = ab b } (a ɛ)(b ɛ) = {ɛ, a, b, ab} b = = {ɛ}, (ou seja, juntar qualquer número de cadeias, pode ser pode ser juntar 0 cadeias, o que gera a cadeia vazia) E.E.S. Ruiz (USP) LFA 15 / 38

Exemplos de ER Ainda... união e concatenação Se tomarmos R como uma ER, devemos saber que: R = R, ou seja, adicionar a linguagem vazia a qualquer R não modifica R; e E.E.S. Ruiz (USP) LFA 16 / 38

Exemplos de ER Ainda... união e concatenação Se tomarmos R como uma ER, devemos saber que: R = R, ou seja, adicionar a linguagem vazia a qualquer R não modifica R; e R ɛ = R, ou seja, a concatenação de uma expressão regular com uma cadeia vazia é a própria expressão regular. E.E.S. Ruiz (USP) LFA 16 / 38

Exemplos de ER Fique atento também para o seguinte: (R ɛ) pode ser diferente de R. Por exemplo, se em Σ = {a, b} e R = a, temos que L(R) = {a} mas L(R ɛ) = {a, ɛ}; e, como sabemos E.E.S. Ruiz (USP) LFA 17 / 38

Exemplos de ER Fique atento também para o seguinte: (R ɛ) pode ser diferente de R. Por exemplo, se em Σ = {a, b} e R = a, temos que L(R) = {a} mas L(R ɛ) = {a, ɛ}; e, como sabemos R =, para qualquer expressão regular. Ou seja, a concatenação de uma expressão regular com uma linguagem vazia gera uma linguagem vazia. Relembre a definição da operação de concatenação. E.E.S. Ruiz (USP) LFA 17 / 38

Exemplos de ER Teorema entre ER e L(R) Teorema Se R é uma expressão regular então a linguagem gerada por R, L(R), é uma linguagem regular E.E.S. Ruiz (USP) LFA 18 / 38

Equivalência entre ER e AF Equivalência ER AF Teorema Uma linguagem é regular se e somente se alguma expressão regular a descreve E.E.S. Ruiz (USP) LFA 19 / 38

Equivalência entre ER e AF Equivalência ER AF Teorema Uma linguagem é regular se e somente se alguma expressão regular a descreve Lema Se uma linguagem é descrita por uma expressão regular, então ela é regular E.E.S. Ruiz (USP) LFA 19 / 38

Equivalência entre ER e AF Exemplos: 1 A figura abaixo representando um autômato é equivalente a ER a. q a start 0 q 1 E.E.S. Ruiz (USP) LFA 20 / 38

Equivalência entre ER e AF Exemplos: 2 A figura abaixo representando um autômato é equivalente a ER ab. q a start 0 q ɛ 1 q b 2 q 3 E.E.S. Ruiz (USP) LFA 21 / 38

Equivalência entre ER e AF Exemplos: 3 A figura abaixo representando um autômato é equivalente a ER (ab a). q ɛ start 0 q 1 ɛ ɛ b q a 2 q ɛ 3 q 4 ɛ q a 6 q 7 q 5 ɛ E.E.S. Ruiz (USP) LFA 22 / 38

Limitações dos AF Limitações dos AF L = {a n b n n 0}, por mais que possa se assemelhar a uma linguagem regular, L não é regular E.E.S. Ruiz (USP) LFA 23 / 38

Limitações dos AF Limitações dos AF L = {a n b n n 0}, por mais que possa se assemelhar a uma linguagem regular, L não é regular O número de símbolos a e b em L é ilimitado e igual E.E.S. Ruiz (USP) LFA 23 / 38

Limitações dos AF Limitações dos AF L = {a n b n n 0}, por mais que possa se assemelhar a uma linguagem regular, L não é regular O número de símbolos a e b em L é ilimitado e igual Um autômato deveria computar a quantidade ilimitada n para os dois símbolos, o que é impossível para um autômato finito O Lema do Bombeamento para Linguagens Regulares é um método para provar como linguagens como L 1 não são regulares. Vejamos... E.E.S. Ruiz (USP) LFA 23 / 38

Lema do Bombeamento Conceito do Lema do Bombeamento Usado para demonstrar que um conjunto não é aceito por uma máquina de estado finito Que o conjunto existe fora do espaço dos AF E.E.S. Ruiz (USP) LFA 24 / 38

Lema do Bombeamento Conceito do Lema do Bombeamento Usado para demonstrar que um conjunto não é aceito por uma máquina de estado finito Que o conjunto existe fora do espaço dos AF Os conjuntos dentro dos limites dos AF têm certas propriedades Se o conjunto não tem estas propriedades não pode ser originário de um AF E.E.S. Ruiz (USP) LFA 24 / 38

Lema do Bombeamento Uso do Lema do Bombeamento O uso do lema ocorre de forma contrária (reversa) ao que o lema diz: Lema propriedade do conjunto regular propriedades do bombeamento Demo propriedade do bombeamento propriedade do conjunto regular E.E.S. Ruiz (USP) LFA 25 / 38

Lema do Bombeamento Lema do Bombeamento Lema do Bombeamento Se L é uma linguagem regular, então existe um número p, chamado comprimento do bombeamento, tal que, se para qualquer palavra w L, com w p, então w pode ser dividida em três subcadeias, w = xyz, satisfazendo as seguintes condições: 1 xy p; 2 y 1, e 3 w = xy i z L, i 0. Provado em 1959 por Dana Scott e Michael Rabin, ambos receberam o ACM Turing Award em 1976. Ambos foram orientados por Alonzo Church. E.E.S. Ruiz (USP) LFA 26 / 38

Lema do Bombeamento Explicando o lema Se uma linguagem L é regular, então ela aceita um AFD com p estados Se o AFD reconhece w, t.q w p, é porque o AFD assume um estado mais de uma vez, ou seja, tem um ciclo num estado q y q 0 x start q q f z E.E.S. Ruiz (USP) LFA 27 / 38

Lema do Bombeamento Lema do bombeamento: releitura Este lema diz que todas as cadeias de uma linguagem podem ser bombeadas se elas são longas quanto p, ou seja, qualquer uma destas cadeias de comprimento p tem uma parte que pode ser repetida um número qualquer de vezes, sendo que a cadeia resultante ainda permanece na mesma linguagem. Lema do Bombeamento Se L é uma linguagem regular, então existe um número p, chamado comprimento do bombeamento, tal que, se para qualquer palavra w L, com w p, então w pode ser dividida em três subcadeias, w = xyz, satisfazendo as seguintes condições: 1 xy p; 2 y 1, e 3 w = xy i z L, i 0. E.E.S. Ruiz (USP) LFA 28 / 38

Lema do Bombeamento Ainda sobre o Lema Sabemos que y i é a repetição, por concatenação de y, i vezes. Se i = 0, y i = y 0 = ɛ. Note também que y é o comprimento da cadeia y e que, y 1, ou seja, y ɛ. Repare que, pela primeira condição, o comprimento da concatenação xy deve ser, no máximo, p, ou seja, xy p. Lema do Bombeamento Se L é uma linguagem regular, então existe um número p, chamado comprimento do bombeamento, tal que, se para qualquer palavra w L, com w p, então w pode ser dividida em três subcadeias, w = xyz, satisfazendo as seguintes condições: 1 xy p; 2 y 1, e 3 w = xy i z L, i 0. E.E.S. Ruiz (USP) LFA 29 / 38

Lema do Bombeamento Para que serve o Lema? Como usar? Por exemplo, podemos usar este lema para provar a não-regularidade de uma linguagem. E.E.S. Ruiz (USP) LFA 30 / 38

Exemplos Exemplo 1 Seja a linguagem L 1 = {ab n c n 0}. Elabore um AFD que reconheça L 1 E.E.S. Ruiz (USP) LFA 31 / 38

Exemplos Exemplo 1 Seja a linguagem L 1 = {ab n c n 0}. Elabore um AFD que reconheça L 1 b q a start 0 q c 1 q 2 E.E.S. Ruiz (USP) LFA 31 / 38

Exemplos Exemplo 1 Seja a linguagem L 1 = {ab n c n 0}. Elabore um AFD que reconheça L 1 b q a start 0 q c 1 q 2 Vamos imaginar, por absurdo, que L 1 não é uma linguagem regular. Assim, não seria possível aplicar o Lema do Bombeamento. E.E.S. Ruiz (USP) LFA 31 / 38

Exemplos Aplicando o Lema Vamos tomar os seguintes exemplos: Seja w = abc. Temos assim w = 3. Rescrevendo w como w = xy i z L 1, i 0 de modo que xy 3 e y 1 podemos escolher x = a, y = b, z = c. Deste modo, todas as cadeias abaixo pertencem a L 1. Em outras palavras: xz = ac w = xyyz = abbc L 1 xyyyz = abbbc Portanto L 1 é uma LR. Repare que no primeiro caso w = xz = xy i z, para i = 0 E.E.S. Ruiz (USP) LFA 32 / 38

Exemplos Outra maneira de ver: Seja agora w = abbbc, ou seja, w = 5. Podemos reescrever w como w = xy i z L 1, i 0 de modo que xy 5 e y 1. Aqui podemos fazer três escolhas de subdivisão da cadeia s: w = }{{} a x }{{} a x }{{} ab x }{{} b y }{{} bb y }{{} b y }{{} bbc. Tal como (a)(b) (bbc), z }{{} bc z }{{} c z. Tal como (a)(bb) (bc),. Tal como (ab)(b) (c), todas L 1. E.E.S. Ruiz (USP) LFA 33 / 38

Exemplos No entanto... Nem todas as divisões possíveis de cadeias w produzem cadeias L 1. Vejam estas possibilidades abaixo: w = }{{} ɛ x }{{} ɛ x }{{} ɛ x }{{} a y }{{} ab y }{{} abb y bbbc }{{}. z }{{} bbc. z }{{} bc z Nestes casos w = xy i z / L 1. Entretanto, existem divisões possíveis de L 1 de modo a satisfazer o Lema do Bombeamento.. E.E.S. Ruiz (USP) LFA 34 / 38

Exemplos Exemplo 2 Seja a linguagem L 2 = {ww w {a, b} }. Prove que L 2 não é uma LR. E.E.S. Ruiz (USP) LFA 35 / 38

Exemplos Exemplo 2 Seja a linguagem L 2 = {ww w {a, b} }. Prove que L 2 não é uma LR. Vamos tentar bombear L 2. Seja w = a n b, então ww = a n ba n b L 2. Assim, w > 2n. Precisamos fatorar w para encontrar xy 2n. ww = xyz = a r }{{} x a s }{{} y } a t ba {{ n b} z tal que: r + s + t = n, ou seja, conseguimos xy < n. Vamos continuar... E.E.S. Ruiz (USP) LFA 35 / 38

Exemplos Exemplo 2: continuação Tomemos um expoente para xy i z, i=2: xy 2 z = a r a 2s a t ba n b = a r a s a s a t ba n b = } a r {{ a s a} t a s ba n b a n = a n a s ba n b = } a n+s {{ b}}{{} a n b p 1 p 2 Como p 1 p 2 não é uma palavra repetida, portanto L 2 e não é uma LR usando esta fatoração. Talvez outras fatorações possa levar a outra conclusão. E.E.S. Ruiz (USP) LFA 36 / 38

Exemplos Para fazer em casa! Apliquem o Lema do Bombeamento para estes casos: L 2 = {a n b n n 0} L 3 = {w w tem número igual de a e b} L 4 = {a i b j i > j} E.E.S. Ruiz (USP) LFA 37 / 38

Exemplos Caros, Ainda voltaremos a este tema de bombeamento num outro encontro! E.E.S. Ruiz (USP) LFA 38 / 38