Estoy trabajando en un ejercicio duro en un libro de texto, y no puedo entender cómo proceder. Aquí está el problema. Supongamos que tenemos el lenguaje donde es un número irracional. ¿Cómo probaría que no es un lenguaje sin contexto?
En el caso de que sea racional, es bastante fácil construir una gramática que acepte el lenguaje. Pero debido a que es irracional, realmente no sé qué hacer. No parece que ninguno de los lemas de bombeo funcione aquí. Quizás el teorema de Parikh funcionaría aquí, ya que intuitivamente parecería que este lenguaje no tiene una imagen semilineal de Parikh que lo acompañe.
Este ejercicio es de "Un segundo curso de lenguajes formales y teoría de autómatas" de Jeffrey Shallit, Ejercicio 25 del Capítulo 4.
Realmente agradecería cualquier ayuda, o empujones en la dirección correcta. ¡Gracias!
Respuestas:
Según el teorema de Parikh, siL tuviera contexto, entonces el conjunto M={(a,b):a≤γb} sería semilineal, es decir, sería la unión de muchos conjuntos finitos de la forma S=u0+Nu1+⋯+Nuℓ , para algunos ui=(ai,bi) .
Ahora suponga que es la unión de , y defina . Lo anterior muestra que cada en la unión satisface , y obtenemos una contradicción, ya que .M S(1),…,S(m) g=max(g(S(1)),…,g(S(m)))<γ (a,b) a/b≤g<γ sup{a/b:(a,b)∈M}=γ
Cuando es racional, la prueba falla, y de hecho es semilineal: De hecho, por construcción, cualquier par en el lado derecho satisface (ya que ). Por el contrario, suponga que . Mientras que y , restar de . Eventualmente (ya que implicaγ M {(a,b):a≤stb}=⋃a=0s−1(a,⌈tsa⌉)+N(s,t)+N(0,1). (a,b) a≤stb s=stt a≤stb a≥s b≥t (s,t) (a,b) a<s b<t a≤stb<s ) Como , necesariamente . Por lo tanto, podemos restar de hasta llegar a .a≤stb b≥⌈tsa⌉ (0,1) (a,b) (a,⌈tsa⌉)
fuente
Todas las variables, excepto en esta respuesta, representan un número entero positivo. Es bien sabido que dado un irracional , hay una secuencia de números racionales modo que esté más cerca de que cualquier otro número racional menor que cuyo denominador sea menor que .γ γ>0 a1b1<a2b2<a3b3<⋯<γ aibi γ γ bi
¡Resulta que el lema de bombeo funciona!
En aras de la contradicción, dejemos que sea la longitud de bombeo de como un lenguaje sin contexto. Sea , una palabra que es pero "apenas". Tenga en cuenta que . Considere , donde y para todo .p L s=aapbbp L |s|>bp≥p s=uvwxy |vx|>1 sn=uvnwxny∈L n≥0
Deje y ser el número de sy s en respectivamente.ta tb a b vx
La contradicción anterior muestra que no puede estar libre de contexto.L
Aquí hay dos ejercicios más fáciles relacionados.
Ejercicio 1. Demuestre que no está libre de contexto donde es un número irracional.Lγ={a⌊iγ⌋:i∈N} γ
Ejercicio 2. Demuestre que tiene contexto, donde es un número racional.Lγ={aibj:i≤jγ,i≥0,j≥0} γ
fuente