Lema de Ogden

Na ciência da computação teórica , o lema de Ogden é um resultado da teoria da linguagem análoga ao lema estelar . É usado principalmente para demonstrar que algumas línguas não são algébricas . Seu nome é uma homenagem a William F. Ogden, um teórico americano da computação que o publicou em 1968.

O lema de Ogden é uma versão mais elaborada do lema de iteração para linguagens algébricas , também conhecido como lema de Bar-Hillel, Perles e Shamir .

Existem linguagens que satisfazem o lema de Ogden, mas que não são algébricas. Este lema fornece uma condição necessária para linguagens algébricas, mas não uma condição suficiente. É muito útil, em sua versão gramatical, provar que certas línguas são inerentemente ambíguas .

Afirmações

Lema de Ogden

Dada uma palavra , onde são letras, chamamos de posição em todo o conjunto . Uma escolha de posições distintas ou marcadas em (esta é a terminologia tradicional) é simplesmente um subconjunto de posições contendo elementos. Com essas definições, o lema é o seguinte:

Lema de Ogden  -  Let ser uma linguagem algébrica . Existe um número inteiro tal que para qualquer palavra de comprimento , e para qualquer escolha de posições distintas em , existe uma fatoração como:

  1. ( e e ) ou ( e e ) contêm pelo menos uma posição distinta;
  2. contém no máximo posições distintas;
  3. para tudo .

O menor inteiro para o qual a afirmação é verdadeira é chamado de constante de Ogden .

Variante gramatical

Existe uma variante gramatical do lema de Ogden: ele diz que o par iterativo pode ser escolhido gramaticalmente . Esta variante é muito útil em certos casos e, em particular, para linguagens inerentemente ambíguas. Aqui está a declaração:

Lema de Ogden (variante gramatical)  -  Seja uma gramática de axioma algébrico . Existe um número inteiro tal que para qualquer palavra que derive de comprimento , e para qualquer escolha de posições distintas em , existe uma fatoração como:

  1. ( e e ) ou ( e e ) contêm pelo menos uma posição distinta;
  2. contém no máximo posições distintas;
  3. Existe uma variável como .

Nesse enunciado, a palavra pode conter variáveis ​​da gramática: ela pertence à “linguagem estendida” constituída pela definição de todas as palavras derivadas , quer contenham variáveis ​​ou não.

Exemplos de aplicação

Linguagens não algébricas

com . Aplicamos o lema uma segunda vez, à palavra , onde desta vez são as letras que se distinguem. Obtemos um par iterativo contendo letras iteradas, mas sem letras , contradições.

Linguagens não algébricas que satisfazem o lema

O lema de Odgen é uma condição necessária, mas não suficiente para linguagens algébricas.

Linguagem inerentemente ambígua

Demonstração da versão gramatical

Let Ser uma gramática algébrica de variáveis e axiomas . Ou uma palavra que deriva de .

A prova é simplificada se quisermos apenas estabelecer a versão da linguagem do lema da iteração. Nesse caso, podemos escolher uma gramática na forma normal de Chomsky , e uma árvore de derivação é essencialmente uma árvore binária.

Um lema combinatório

Considere uma árvore na qual certas folhas são distinguidas. Nós dizemos que:

O pai de um nó distinto é distinguido, a raiz é distinguida assim que uma das folhas é distinguida, um nó especial em si é distinguido.

Uma árvore é de grau se cada nó tiver no máximo filhos.

Lema  -  Seja uma árvore de grau com folhas distintas. Se cada ramo contiver no máximo nós especiais, então .

Demonstração

Sim , não há nó especial; há apenas uma folha distinta, pois se houvesse duas, seu ancestral comum seria especial. Suponha , portanto , e deixe ser um nó especial do qual nenhum descendente é especial; cada uma das subárvores de contém no máximo uma folha distinta e, como a no máximo filhos, a árvore raiz contém no máximo folhas distintas. Cada subárvore dessa natureza é agora substituída por uma única folha distinta. O número de nós especiais diminui em 1 em cada ramificação. A árvore obtida possui, por recorrência, no máximo folhas distintas. Como cada uma das novas folhas substituiu uma subárvore com no máximo folhas, isso prova o resultado.

Demonstração

Usamos a contraposição do lema anterior: se a árvore tem folhas estritamente mais distintas, então a árvore tem pelo menos um galho que contém pelo menos nós especiais.

Let ser o comprimento máximo dos membros certos das regras. Nós posamos e . Considere uma árvore de derivação para a palavra . Por definição, a árvore é de grau e tem folhas distintas que são as posições distintas de . A árvore tem um galho com pelo menos nós especiais, observou . Cada um desses nós tem pelo menos um filho distinto que não está no ramo; o nó fica à esquerda se esse filho estiver à esquerda do galho, caso contrário , está à direita . Por exemplo , há pelo menos vértices distintos, todos à esquerda ou todos à direita. Como esse número é maior que o número de variáveis, dois vértices e (anotado e na figura), com , são rotulados com a mesma variável . A árvore então dá as derivações

, e .

Se os nós distintos são deixados, as palavras contêm posições distintas, caso contrário, as palavras são . Finalmente, se a palavra contém mais do que posições distintas, começamos a divisão novamente a partir da raiz de sua subárvore.

Apêndices

Notas e referências

  1. Ogden 1968 .
  2. Luc Boasson e S. Horváth, “  Sobre as línguas que satifsfying o lema de Ogdens  ”, RAIRO. Ciência da computação teórica , t.  12, n o  3,1978, p.  201-202 ( ler online ).
  3. Jean Berstel e Luc Boasson, “Context-Free Languages” , em G. Rozenberg, A. Salomaa (eds), Handbook of Theoretical Computer Science , vol.  B: Modelos formais e semática , Elsevier e MIT Press,1990( ISBN  0-444-88074-7 ) , p.  59-102—Exemplo 2.5, p.  73 .

Bibliografia

Artigos relacionados