Linguagem envolvendo número irracional não é uma CFL

10

Estou trabalhando com um exercício árduo em um livro didático e não consigo descobrir como proceder. Aqui está o problema. Suponha que tenhamos a linguagem que é algum número irracional. Como eu provaria que não é uma linguagem livre de contexto?L={aibj:ijγ,i0,j1}γL

No caso em que é racional, é muito fácil construir uma gramática que aceite o idioma. Mas porque é irracional, eu realmente não sei o que fazer. Não parece que nenhum dos lemas de bombeamento funcionaria aqui. Talvez o teorema de Parikh funcione aqui, pois parece intuitivamente que essa linguagem não tem uma imagem Paril semilinear que a acompanha.γγ

Este exercício é de "Um Segundo Curso de Línguas Formais e Teoria de Autômatos", de Jeffrey Shallit, Exercício 25 do Capítulo 4.

Eu realmente aprecio qualquer ajuda, ou cutucada na direção certa. Obrigado!

DW
fonte
Você já tentou aplicar o teorema de Parikh?
Yuval Filmus
Por que não mostrar que não é semi-linear diretamente? Use a definição.
Yuval Filmus
4
Bem a tempo da minha lição de casa! Obrigado. CS 462/662 Línguas formais e análise de inverno de 2019, conjunto de problemas 9, exercício 3. Previsão sexta-feira, 22 de março de 2019.
Hendrik Jan
@ HendrikJan Estou estudando a partir do livro "Um segundo curso de linguagens formais e teoria de autômatos", de Jeffrey Shallit. É o Exercício 25 do Capítulo 4, fyi. Seria possível ocultar esta postagem até o vencimento da tarefa?
Agradeço o que você estava tentando fazer e suas boas intenções, mas não destrua a pergunta editando-a para ocultar a pergunta (mesmo por alguns dias). Obrigado. PS Obrigado por creditar a fonte do problema!
DW

Respostas:

7

De acordo com o teorema de Parikh, se L fosse livre de contexto, o conjunto M={(a,b):aγb} seria semilinear, isto é, seria a união de muitos conjuntos finitos da forma S=u0+Nu1++Nu , para alguns ui=(ai,bi) .

Obviamente u0M e, além disso, para cada , pois caso contrário para suficientemente grande . Portanto (uma vez que é racional). Isso significa que todo satisfaz .uiMi>0u0+NuiMNg(S):=max(a0/b0,,a/b)<γg(S)(a,b)Sa/bg(S)

Agora, suponha que seja a união de e defina . O exposto acima mostra que todos na união satisfazem e obtemos uma contradição, pois .MS(1),,S(m)g=max(g(S(1)),,g(S(m)))<γ(a,b)a/bg<γsup{a/b:(a,b)M}=γ


Quando é racional, a prova falha e, de fato, é semilinear: De fato, por construção, qualquer par no lado direito satisfaz (uma vez que ). Por outro lado, suponha que . Enquanto e , subtrair a partir de . Eventualmente (já que implicaγM

{(a,b):astb}=a=0s1(a,tsa)+N(s,t)+N(0,1).
(a,b)astbs=sttastbasbt(s,t)(a,b)a<sb<tastb<sas) Como , necessariamente . Portanto, podemos subtrair de até alcançarmos .astbbtsa(0,1)(a,b)(a,tsa)

Yuval Filmus
fonte
Boa resposta. Apenas um esclarecimento, a lógica por trás de "todo satisfaz " é que, se houvesse um , poderíamos construir um tal que seja tão grande quanto desejado e, portanto, maior que ? a / b g ( S ) ( a , b ) > g ( S ) ( x , y ) S x / y γ(a,b)Sa/bg(S)(a,b)>g(S)(x,y)Sx/yγ
Não, isso segue diretamente da definição de . Seu argumento explica por que . g ( S ) < γg(S)g(S)<γ
Yuval Filmus
6

Toda variável, exceto nesta resposta, representa um número inteiro positivo. É sabido que, dado um irracional , existe uma sequência de números racionais modo que esteja mais próximo de que qualquer outro número racional menor que cujo denominador é menor que .γγ>0a1b1<a2b2<a3b3<<γaibiγγbi


Acontece que o lema de bombeamento funciona!

Por uma questão de contradição, seja o comprimento de como uma linguagem livre de contexto. Seja , uma palavra que é mas "quase". Observe que . Considere , onde e para todos os .pLs=aapbbpL|s|>bpps=uvwxy|vx|>1sn=uvnwxnyLn0

Seja e o número de s e s em v x respectivamente.tatbabvx

  • Se tb=0 ou tatb>γ, parangrande o suficiente, a proporção entre o número deas para que debs emsnvai ser maior do queγ, ou seja,snL.
  • Caso contrário, tatb<γ. Comotb<bp,tatb<apbp . Portanto, aptabptb>apbp Dado quebptb<bp,aptabptb>γ, que diz ques0L.

A contradição acima mostra que L não pode ser livre de contexto.


Aqui estão dois exercícios mais fáceis relacionados.

Exercício 1. Mostre que Lγ={aiγ:iN} não é livre de contexto onde γ é um número irracional.

Exercício 2. Mostre que Lγ={aibj:ijγ,i0,j0} é livre de contexto onde γ é um número racional.

John L.
fonte
A propriedade na resposta pode ser comprovada simplesmente selecionando todos os números racionais mais próximos de que todos os números anteriores na lista de todos os números racionais menores que γ na ordem de denominadores crescentes e, para os mesmos denominadores, em crescentes ordem. γγ
John L.
A construção usual é obter convergentes da fração continuada.
Yuval Filmus
@YuvalFilmus Sim, eu concordo. Por outro lado, essa prova de quase uma linha é muito mais simples e acessível. (a "ordem crescente" na minha última mensagem deve ser "ordem decrescente".)
John L.