Dada uma gramática G = (V, T, P, S), tal que ε ² L(G), construir G, sem produções-ε, de modo a que L(G) = L(G ).

Documentos relacionados
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

Expressões Regulares e Gramáticas Regulares

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

Linguagens Formais e Autômatos P. Blauth Menezes

&DStWXOR,,,([SUHVV}HV5HJXODUHVH/LQJXDJHQV5HJXODUHV

Linguagem (formal) de alfabeto Σ

Alfabeto, Cadeias, Operações e Linguagens

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

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

Linguagens Formais e Autômatos

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

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto

Gramática. Gramática. Gramática

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

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

Linguagens Formais e Autômatos P. Blauth Menezes

CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS

Cálculo Diferencial e Integral I

Revisões de Conjuntos

6.1 equações canônicas de círculos e esferas

Fundamentos da Teoria da Computação

LINGUAGENS FORMAIS E AUTÔMATOS

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Hierarquia de Chomsky Exemplos de gramáticas

Análise Sintática. Fabiano Baldo

Linguagens e Autômatos

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

Definições Exemplos de gramáticas

Apostila 03 Linguagens Livres de Contexto

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

Linguagens Livres de Contexto

([HUFtFLRVVREUHDVSURSULHGDGHVGRGHWHUPLQDQWH. Pela propriedade do determinante do produto de matrizes,

Linguagens Regulares. Prof. Daniel Oliveira

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

INTRODUÇÃO AO ESTUDO DA ÁLGEBRA LINERAR Luiz Francisco da Cruz Departamento de Matemática Unesp/Bauru CAPÍTULO 7 ISOMORFISMO

Gramáticas Livres de Contexto Parte 1

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)

Derivadas Parciais Capítulo 14

Linguagens Formais e Autômatos P. Blauth Menezes

Capítulo 3: Gramáticas

Draft-v0.1. Máquinas de Turing Máquinas de Turing

TEOREMA DE LEGENDRE GABRIEL BUJOKAS

Linguagens livres de contexto e autômatos de pilha

Matemática Discreta - 07

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

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

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação

Capítulo 1: Alfabetos, cadeias, linguagens

Apostila 03 - Linguagens Livres de Contexto Exercícios

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

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

4.1 posição relativas entre retas

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Aula 05 - Erivaldo MATEMÁTICA BÁSICA

Errata da lista 1: Na página 4 (respostas), a resposta da letra e da questão 13 é {2, 3, 5, 7, 11, 13, 17} (faltou o número 17)

Construção de Compiladores Aula 16 - Análise Sintática

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

A B f(a, B) = A + B. A f(a ) = A

Aula 12. Ângulo entre duas retas no espaço. Definição 1. O ângulo (r1, r2 ) entre duas retas r1 e r2 se define da seguinte maneira:

Linguagens Formais e Autômatos

Cálculo Diferencial e Integral Química Notas de Aula

Lógica Proposicional

1. Prove que (a+b) c = a c+b c para todo a, b, c em ZZ /mzz. (Explique cada passo).

Universidade Federal de Goiás Regional Catalão - IMTec

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

Exercícios Operações com frações 1. Determine o valor das seguintes expressões, simplificando sempre que possível:

Inteiros. Inteiros. Congruência. Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006.

1. Conhecendo-se somente os produtos AB e AC, calcule A = X 2 = 2X. 3. Mostre que se A e B são matrizes que comutam com a matriz M = 1 0

Eles, possivelmente, servirão posteriormente de ideia para problemas mais difíceis.

Resumo com exercícios resolvidos dos assuntos:

I Lista de Álgebra Linear /02 Matrizes-Determinantes e Sistemas Prof. Iva Zuchi Siple

Lista de Exercícios Nº 02 Tecnologia em Mecatrônica Prof.: Carlos Bezerra

Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos

Unidade I MATEMÁTICA. Prof. Celso Ribeiro Campos

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Introdução à Teoria de Grupos Grupos cíclicos Grupos de permutações Isomorfismos Teorema de Lagrange Subgrupos normais e grupos quociente

Cada questão da parte A vale 4 pontos e cada questão da parte B vale 10 pontos (total de pontos do nível III-fase de seleção = 60 pontos).

Compiladores. Parser LL 10/13/2008

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

Compiladores - Gramáticas

Equação Geral do Segundo Grau em R 2

. (1) Se S é o espaço vetorial gerado pelos vetores 1 e,0,1

Propriedades de Fecho de Linguagens Regulares.

CCI-22 LISTA DE EXERCÍCIOS

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

1.1 Propriedades básicas dos números reais, axiomática dos números reais.

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

ANÁLISE MATEMÁTICA II

MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE MATEMÁTICA

Sistemas de Equações Lineares e Matrizes

Equações de 2º grau. Denomina-se equação do 2º grau na incógnita x, toda equação da forma: IR e

Objetivos. em termos de produtos internos de vetores.

Teoria da Computação

Ficha de Exercícios nº 1

a é sempre o coeficiente de x²; b é sempre o coeficiente de x, c é o coeficiente ou termo independente.

Transcrição:

2EVHUYDo}HV Enquanto que todas as Linguagens Regulares são reconhecíveis por utómatos 'HWHUPLQLVWDV (Finitos), nem todas as Linguagens Independentes do Contexto são reconhecíveis por utómatos 'HWHUPLQLVWDV (de Pilha); Prova-se que, toda a LIC reconhecível por um DP (por Estado Final ou por Pilha Vazia) tem uma Gramática geradora não ambígua; existência de utómatos Deterministas é vital para o Processamento automático de Linguagens. istemas como o lex são geradores automáticos de utómatos Finitos Deterministas, do mesmo modo que sistemas como o yacc são geradores automáticos de utómatos Deterministas de Pilha; É também importante, tanto para o Processamento de Linguagens como para a demonstração de propriedades, que as produções das LIC s tenham formas determinadas... 2HUDo}HV GH ³VLPOLILFDomR GH *UDPiWLFDV 1. Eliminação de produções-h : {uma produção-h tem a forma ε } Dada uma gramática G = (V, T, P, ), tal que ε ² L(G), construir G, sem produções-ε, de modo a que L(G) = L(G ).

Definição: Uma variável ± Vdiz-se anulável quando * ε. lgoritmo: { eliminação de variáveis anuláveis } Para cada produção ; 1 X 2... X n construir uma produção D 1 D 2... D n onde D i = X i X i ou ε se X i não é anulável se X i é anulável e nem todos os X i são ε; Eliminar todas as produções-ε. Exemplo: B a ε B bbb ε s variáveis anuláveis são, e B. s novas produções serão: B B a a a B bbb bb b

2. Eliminação de produções unitárias : {uma produção unitária tem a forma B, com, B ± V} Dada uma gramática G = (V, T, P, ) construir G, sem produções unitárias, de modo a que L(G) = L(G ). Definição: Ä, B Ô diz-se um par unitário quando *B, usando só produções unitárias. lgoritmo: Identificar todos os pares unitários; Para cada par unitário Ä, B Ô, e para todas as produções não unitárias de B: B juntar as produções E 1 E 2... E n ; E 1 E 2... E n Eliminar todas as produções unitárias. Exemplo: E 7 _(7 T )_7 F F, (E) I a b Ia Ib I0 I1 Os pares unitários são: Ä E, T Ô, Ä E, F Ô, Ä E, I Ô, Ä T, F Ô, Ä T, I Ô, Ä F, I Ô s novas produções serão: E T F I E + T T F (E) a b Ia Ib I0 I1 T F (E) a b Ia Ib I0 I1 (E) a b Ia Ib I0 I1 a b Ia Ib I0 I1

3. Eliminação de símbolos inúteis : {um símbolo é inútil se não for útil...} Dada uma gramática G = (V, T, P, ) construir G, sem símbolos inúteis, de modo a que L(G) = L(G ). Definição: Um símbolo X ± V ª T diz-se útil numa Gramática G = (V, T, P, ) se existir alguma derivação * D X E * w com w ± T* e D, E± (V ª T)*. Portanto, se X for um símbolo útil então: 1. * D X E para alguns D, E± (V ª T)* (X é atingível) 2. X * w para algum w ± T*. (X é gerador) lgoritmo para a determinação do conjunto dos símbolos geradores: Caso Base: Todos os símbolos terminais são geradores; Indução: e existir uma produção D, D± (V ª T)* onde todas as variáveis em D são geradoras, então é um símbolo gerador. Exemplo: $%_& %_& B _$ C $&_&

Os terminais 0 e 1 são geradores por B 1 B é gerador por 0B é gerador por B é gerador Portanto o símbolo C pode ser HOLPLQDGR, ficando: B B 0B 1 0 lgoritmo para a determinação do conjunto dos símbolos atingíveis: Caso Base: é atingível; Indução: e existir uma produção D, D± (V ª T)* onde é atingível, então todas as variáveis em D são atingíveis. Exemplo: $ a ε B b variável B não é atingível, podendo portanto ser eliminada, bem como a produção B E$. Para eliminar todos os símbolos inúteis: 1º : eliminar os símbolos QmRJHUDGRUHV; 2º : eliminar os VtPERORVQmRDWLQJtYHLV. (por esta ordem!)

Exemplo: Eliminar todos os símbolos e produções inúteis da gramática G = ( {,, B, C}, {a, b}, P, ) com P: B C a C D aa acb Os símbolos geradores são {,, B}, ficando: B a D DD e como os símbolos atingíveis são {, }, a nova gramática será G = ( {, }, {a, b}, P, ) com P : a D ³6LPOLILFDomR GH *UDPiWLFDV: Dada uma gramática G = (V, T, P, ), tal que L(G) œ, construir G, tal que L(G ) = L(G) \ {ε} e G não tem produções-ε, nem produções unitárias nem símbolos inúteis. 1º : eliminar as URGXo}HVH; 2º : eliminar as URGXo}HVXQLWiULDV; 3º : eliminar os VtPERORVe asurgxo}hvlq~whlv.

)RUPDV 1RUPDLV $ )RUPD 1RUPDO GH &KRPVN\ Prova-se que: Para toda a Linguagem Independente do Contexto L, existe uma Gramática G que gera L \ {ε}, sem símbolos inúteis, onde cada produção tem uma das formas: %& D 5HGXomR j )RUPD 1RUPDO GH &KRPVN\ 1º : eliminar as URGXo}HVH; 2º : eliminar as URGXo}HVXQLWiULDV; 3º : eliminar os VtPERORVe asurgxo}hvlq~whlv. 4º : eliminar VtPERORVWHUPLQDLV do lado direito de produções; 5º : reduzir os lados direitos das produções a GXDVYDULiYHLV; (4º) Eliminar os símbolos terminais do lado direito das produções: Para cada símbolo terminal a, b, c,... juntar novas variáveis X a,x b,x c,... bem como novas produções X a D; b E; c c,... ubstituir a por X a,b por X b,c por X c,... (quando não aparecerem isolados) nos lados direitos da produções. (5º) Reduzir os lados direitos das produções a duas variáveis: ubstituir cada produção da forma B 1 B 2 B 3... por B 1 B 23 B 23 B 2 B 34 B 34 B 3 B 45...

Exemplo: Reduzir à Forma Normal de Chomsky: B B ε D a 6b bb 1º : eliminar as URGXo}HVH; Como o único símbolo anulável é, que nunca aparece isolado num lado direito de produção, não há produções a eliminar. Basta detectar as ocorrências (anuláveis) de : B B B a a a b b b b bb ž eliminar as URGXo}HVXQLWiULDV; Como a única produção unitária é B, basta substituir: B B B a a a b b b b a a a bb 3º : eliminar os VtPERORVeasURGXo}HVLQ~WHLV. Todos os símbolos são geradores e atingíveis. 4º : eliminar os VtPERORVWHUPLQDLV do lado direito das produções, quando não ocorrerem isolados; Introduzir as variáveis C e D e as produções C D ed E:

B C D $6%_$% &$6_&$_D 6'6_'6_6'_E_&$6_&$_D_'' D E ž reduzir os lados direitos das produções a GXDVYDULiYHLV; Por fim, para reduzir as sequências B, C e D, introduzir as variáveis E, F e G. gramática pretendida, na Forma Normal de Chomsky, será então: B C D E F G E B CF C a G D D b CF C a DD a b B D $ )RUPD 1RUPDO GH *UHLEDFK Prova-se que: Para toda a Linguagem Independente do Contexto L, existe uma Gramática G que gera L \ {ε}, onde cada produção tem a forma: a D com a ± T e D± V*.

{ Um pequeno regresso às Linguagens Regulares} $ )RUPD 1RUPDO GDV *UDPiWLFDV 5HJXODUHV Prova-se que: Toda a Linguagem Regular pode ser gerada por uma Gramática onde cada produção tem uma das formas: X D Y com a ± T e X, Y ± V X ε com X ± V Este resultado permite demonstrar de modo bem simples que: 7HRUHPD: Para toda a Gramática Regular G existe um utómato Finito (FND-ε ) tal que L() = L(G). 'HPRQVWUDomR &RQVWUXomR: eja G = (V, T, P, ) uma Gramática Regular escrita na sua Forma Normal. Construímos o utómato Finito = (Q, T, G, Q 0, F), fazendo: Q = V Q 0 = F = { X ± V [X ε] ± P} G(X, a) = Y sse [X ay] ± P.

Exemplo: eja G = ( {,, B, C}, {a, b}, P, ), com P dado por: D6_E6_D$ E% B D& C ε O utómato pretendido é = ({,, B, C}, {a, b}, G,, {C} ) com cuja Expressão Regular é (a + b)* a b a. É fácil verificar que toda a palavra de L(G) é reconhecida por, bem como o inverso. Também não é difícil verificar que: 7HRUHPD: Para todo o utómato Finito Não Determinista, existe uma Gramática Regular G tal que L(G) = L().

2 /HPD GD %RPEDJHP DUD /LQJXDJHQV,QGHHQGHQWHV GR &RQWH[WR 7HRUHPD eja L uma Linguagem Independente do Contexto. Então existe um inteiro positivo n tal que, para toda a palavra ] ± Lcom ] n, existem X, Y, Z, [, \ ±È* tais que: ] = XYZ[\ YZ[ n Y[ > 0 k 0, XY k Z[ k \ ± L de modo mais formal: L Linguagem Independente do Contexto, n ± : ] ± Lcom ] n, X, Y, Z, [, \ ±È*: ] = XYZ[\ com vwx ne vx > 0 : k± 0, XY k Z[ k \ ± L. ou seja: Toda a palavra (suficientemente longa) de L pode ser dividida em cinco partes de modo a que, com um número igual de repetições da segunda e quarta partes, continue a ser uma palavra de L.

Um exemplo: G = ( {, }, {a, b, c}, P, ), na Forma Normal de Chomsky com, c $$_D_E Para uma palavra suficientemente longa tal como w = baababbaac temos a árvore de derivação: * baa aac X YZ[\ Verificamos que a parte central (a mais ORQJD) é gerada por: * ba b = YZ[ e que pode ser bombeada por forma a gerar: * (ba) k b(b) k =(Y) k Z ([) k

como por exemplo, para k = 3: (Y) 3 Z ([) 3 Ou seja, * baa (ba) k b(b) k aac = X (Y) k Z ([) k \ ± L, k 0 Por outro lado, como a Gramática está na Forma Normal de Chomsky, a Árvore de Derivação é sempre uma ÈUYRUH%LQiULD, onde: 7HRUHPD Numa Árvore Binária com n níveis, n {folhas} 2 n-1. {... Prove! }

7HRUHPD Numa Árvore Binária com 2 m folhas, o número de nós visitados pelo Caminho mais longo da raiz até às folhas, é: m + 1 C Max 2 m. 3DUDP iuyruhelqiuldwrwdo iuyruhelqiuldghjhqhudgd No caso das Árvores de Derivação de uma Gramática, na Formal Normal de Chomsky, os resultados anteriores referem apenas às Produções da forma %&Vygeradoras de variáveis). 'HPRQVWUDomR (do Lema da Bombagem para LIC s) eja L é uma Linguagem Independente do Contexto e G uma Gramática, na Formal Normal de Chomsky, tal que L(G) = L \ {ε} e seja m o número de variáveis de G. tem uma Árvore de Derivação com, pelo menos, m +1 níveis (cujos nós são variáveis). Uma palavra ] ± L de comprimento ] Q P Como só existem m variáveis, alguma variável deverá aparecer repetida.

ssim (pelo menos no caminho mais longo) existem (pelo menos) GXDV ocorrências de uma variável. Ou seja, * X \ * Y [ = YZ[ * Z O facto de * X\ (o primeiro ) garante-nos que, YZ[ n= 2 m epor * Y[ (como a Gramática não tem produções-ε), Y[ > 0. Então, por * Y [ podemos ir derivando: * Y [ * YY [[

para qualquer k, * Y [ * YY [[ * Y YY [[[... * Y k [ k e mesmo para k = 0, pois * X \ * Z. f 1RWD Comparar esta demonstração com a das Linguagens Regulares;

Exemplo: Provar que não é uma Linguagem Independente do Contexto, L= { a m b m c m m 0}. uponhamos que L é Independente do Contexto. Então, pelo Lema da Bombagem, existe um n ± para o qual todas as palavras ] ± Lcom Z n satisfazem as condições. Tomemos ] =a n b n c n. Como ] é suficientemente longa, existem X, Y, Z, [, \ ±È*, tais que: ] = XYZ[\ com YZ[ n Y[ > 0 k 0, XY k Z[ k \ ± L Ora, para que se verifique YZ[ n, a palavra YZ[ não pode conter as 3 letras. uponhamos, por exemplo, que YZ[ não contém c s: Para que se verifique Y[ > 0, pelo menos um deles é não nulo, nenhum contendo c s. Então, como XYZ[\ tem o mesmo número de a s, b s e c s, a palavra XY 0 Z[ 0 \ = XZ\ consistiria numa redução do número de a s e b s, resultando num excesso de c s. ssim, como para k = 0, XY k Z[ k \ ² L Lnãoé uma Linguagem Independente do Contexo.

([HUFtFLRV: Mostrar que QmR são Linguagens Independentes do Contexto: L= { a m b n c m d n m, n 0} L= { a n néum Quadrado Perfeito} L= { a n né um Número Primo} L= { a n! n 0} L= { a m b n m = n 2 } L= { ZZ Z ± {a, b}* }

2HUDo}HV VREUH /LQJXDJHQV,QGHHQGHQWHV GR &RQWH[WR 3URULHGDGHV GR )HFKR ejam L 1 a LIC gerada pela Gramática G 1 =(V 1,T 1,P 1, 1 ) e L 2 a LIC gerada pela Gramática G 2 =(V 2,T 2,P 2, 2 ). 8QLmR / ª / é uma Linguagem Independente do Contexto. Basta juntar a produção 6 1 2 e assegurar que V 1 «V 2 = (se necessário, mudar o nome de algumas variáveis). Gramática pretendida é G = (V, T, P, ) com: V= V 1 ª V 2 ª T= T 1 ª T 2 P= P 1 ª P 2 ª { 6 1 2 } &RQFDWHQDomR / / é uma Linguagem Independente do Contexto. Basta juntar a produção 6 1 2 (com V 1 «V 2 = ). )HFKRGH.OHHQH / é uma Linguagem Independente do Contexto. Basta juntar a produção 6 1 ε.

+RPRPRUILVPR Classe das Linguagens Independentes do Contexto também é fechada para Homomorfismos. eja G = (V, T, P, ) a Gramática geradora de L e h : T 6* um Homomorfismo. h(g) é uma Gramática com símbolos terminais em 6 e cuja produções se obtêm a partir de P, substituindo cada terminal a ± T por h(a). Não é difícil mostrar que h(g) gera h(l). ([HPOR 6_6_ε com h(0) = aba h(1) = bb h(g) tem as produções: DED6DED_EE6EE_ε Todas estas propriedades são casos particulares de um resultado mais geral... 2 7HRUHPD GD 6XEVWLWXLomR partir de uma LIC L, substituindo cada símbolo terminal a por uma LIC L a, obtemos uma linguagem da forma, { Z 1 Z 2... Z n a 1 a 2... a n ± Le Z i ± L a i } que é também Independente do Contexto.

(VTXHPDGD'HPRQVWUDomR eja G = (V, T, P, ) a gramática geradora de L e G a =(V a,t a,p a, a ) cada gramática geradora de cada L a. e os conjuntos de variáveis (V e V a s) forem disjuntos e, se em cada Produção de G, substituirmos cada ocorrência de cada símbolo a ± T pelo respectivo a, obtemos uma Linguagem Independente do Contexto. s palavras da Linguagem resultante são da forma Z 1 Z 2... Z n, em substituição de cada palavra a 1 a 2... a n ± L. ([HPOR L= {0 n 1 n n 1}, gerada pela gramática de produções: 6_ ubstituímos pela Linguagem {a n b m m n}, gerada por: D6E_$ D$_DE e substituímos pela Linguagem {ab, abc}, gerada por: ab F_ε

Nas gramáticas de substituição, a variável passa a chamar-se 0 e 1, respectivamente. Na última gramática, a variável passa a ser B. Ou seja, 0 1 B 6_ D6 0 b D$_DE abb F_ε ubstituindo, na primeira Gramática, 0 por 0 and 1 por 1, obtemos: 0 1 0 1 0 D 0 b D a b 1 ab B B F_ε ([HUFtFLR: Por aplicação directa do Teorema da ubstituição, mostre que a Classe das Linguagens Independentes do Contexto é fechada para a União, a Concatenação, o Fecho de Kleene e os Homomorfismos.,QWHUVHFomR / «/ QmRp necessariamente uma Linguagem Independente do Contexto.

Por exemplo, sejam, L 1 ={a m b m c n m, n 0} definida por, XC X axb ε C cc ε L 2 ={a m b n c n m, n 0} definida por, Y a ε Y byc ε Linguagem L 1 «L 2 ={a n b n c n n 0} não é Independente do Contexto. &RPOHPHQWDU / QmRp necessariamente uma Linguagem Independente do Contexto. Como L 1 «L 2 = L L e porque a classe das LIC s é fechada 1 2 para a União, se fosse fechada para o Complementar também o seria para a Intersecção. E como o Complementar é um caso particular da Diferença... 'LIHUHQoD /?/ QmRp necessariamente uma Linguagem Independente do Contexto.,QYHUVmRQRVHQWLGRGH5HYHUVmR / 5 é uma Linguagem Independente do Contexto.

Basta inverter a ordem dos símbolos do lado direito de cada Produção. ([HPOR L = {a m b m c n m, n 0} definida por XC X axb ε C cc ε L R ={c n b m a m m, n 0} é definida por CX X bxa ε C Cc ε +RPRPRUILVPR,QYHUVR K / é uma Linguagem Independente do Contexto. Recordemos que, dado um Homomorfismo de palavras, h : È* ** e uma Linguagem L **, se define: h -1 (L) = {Z ±6* h(z) ± L} o conjunto das palavras cuja imagem homomórfica pertence a L. Prova-se que, se L for uma Linguagem Independente do Contexto, então h -1 (L) também é Independente do Contexto.