No capítulo 4 de A Second Course in Automata Theory, de Jeffrey Shallit, o seguinte problema é listado como aberto:
Qual é o seu status agora (como em outubro de 2018)? Está provado? E alguns casos especiais?
No capítulo 4 de A Second Course in Automata Theory, de Jeffrey Shallit, o seguinte problema é listado como aberto:
Qual é o seu status agora (como em outubro de 2018)? Está provado? E alguns casos especiais?
Respostas:
Claro que aqui.k ≥ 2
Certa vez, havia um manuscrito de Horváth que alegava resolver o problema, mas não era claro em vários lugares e, pelo que sei, nunca foi publicado.
Até onde eu sei, o problema ainda está aberto. Uma direção da implicação é fácil, é claro.
Este é um esboço da prova para k = 2
A idéia central é assumir que L
A interseção de L
A abordagem promissora é cruzar L
n 2 = 2 0 + 2 a ( ( 2 b - 1 ) + 2 b + c ) , 1 < a , b , c
(quadrados informalmente ímpares cuja representação binária contém todos os 0
n n^2 n n^2
39 1521 111..1 1...11111.1
143 20449 1111...1 1....1111111..1
543 294849 11111....1 1.....111111111...1
2111 4456321 111111.....1 1......11111111111....1
8319 69205761 1111111......1 1.......1111111111111.....1
33023 1090518529 11111111.......1 1........111111111111111......1
LSB MSB LSB MSB
Com alguns esforços, podemos provar o seguinte:
Teorema: o número
2 0 + 2 a ( ( 2 b - 1 ) + 2 b + c ) ;0 < c , 3 < a < b
b = 2 a - 3 , c = a - 3
(a prova é bastante longa, vou publicá-la no meu blog)
Nesse ponto, podemos facilmente provar que L ∩ R
Provavelmente a mesma técnica pode ser aplicada a qualquer base k
Eu acho que tenho uma prova. A prova segue deste lema.
Lema. Para uma linguagem livre de contexto L,
Portanto, se u
Prova do lema. Tome um n
Dizer que a aplicação de uma regra Um → B C
Em qualquer w i
Existem apenas ( n 22 )
Nota. Esta é uma versão muito mais detalhada da minha outra resposta, pois ela não parecia suficientemente compreensível. Tentei convertê-lo para se parecer com lemas de bombeamento mais comuns, mas a prova completa chegou a ser complexa. Recomendo ler a declaração dos dois primeiros lemas para entender a idéia principal, depois a declaração do Corolário e, finalmente, o fim, onde provo por que o Corolário implica a resposta à pergunta.
A prova é baseada em uma generalização do lema de bombeamento. O lema de que precisamos é bastante elaborado; portanto, em vez de declará-lo imediatamente, começo com algumas generalizações mais fáceis, eventualmente desenvolvendo outras mais complicadas. Como aprendi mais tarde, isso é muito semelhante ao chamado lema de intercâmbio .
Lema de bombeamento duplo. Para cada livre de contexto linguagem L
This statement can be proved essentially the same way as the pumping lemma, we just need to pick some s
Next we give another way of generalizing the pumping lemma (and later we'll combine the two).
Nested Pumping Lemma. For every context-free language L
Note that the indices ij
Nested Ogden's Lemma. For every context-free language L
Unfortunately, in our application pk
Dilworth Ogden's Lemma. For every context-free language L
case (i): s=uv1…vkwxk…x1y
case (ii): s=uv1w1x1…vℓwℓxℓy
such that ∀i 1≤
in case (i) the word uvi1…vimwxim…xi1y∈L
in case (ii) the word uvi11w1xi11…viℓℓwℓxiℓℓy∈L
Proof: Take the derivation tree generating s
Now we are ready to state a big combination lemma.
Super Lemma. For every context-free language L
Proof sketch of Super Lemma: Apply the Dilworth Ogden's Lemma for each si. There are (n+2k+22k+2) and (n+3ℓ+13ℓ+1) possible options, respectively, where the boundaries between the subwords of si can be. There are a constant number of non-terminals in the language, thus by the pigeonhole principle, if p is large enough, the same non-terminal is pumped in the k/ℓ rules for at least two words, s and s′, that also have the same subword boundaries.
Unfortunately, the number N that comes from this lemma is too large for our application. We can, however, decrease it by demanding fewer coincidences among the subwords. Now we state the lemma that we'll use.
Special Lemma. For every context-free language L there is a p such that for any k marking the same at least pk positions in N=pkn2 words s1,…,sN∈L, each of length n, there are two words, s and s′, that can be written either as s=uv1…vkwxk…x1y and s′=u′v′1…v′kw′x′k…x′1y′ such that either
case (i): ∃i<k such that |xi|=|x′i|=0, |uv1…vi−1|=|u′v′1…v′i−1|, and |vi|=|v′i| (i.e., the two latter conditions mean that the position of vi is the same as the position of v′i), OR
case (ii): ∀i<k |xi|≥1, |x′i|≥1, |uv1…vk−1|=|u′v′1…v′k−1| and |vkwxk|=|v′kw′x′k| (i.e., these two conditions mean that the position of vkwxk is the same as the position of v′kw′x′k),
and (for both cases) ∀i vixi contains a mark, and for every sequence (ij)mj=1 the word ˉuˉvi1…ˉvimˉwˉxim…ˉxi1ˉy∈L, where ˉz stands for z or z′, i.e., we can freely mix the intermediate subwords from s and s′, but only such that ˉu=u if and only if ˉy=y etc., OR
case (iii): s and s′ can be written as s=uv1w1x1v2w2x2y and s′=u′v′1w′1x′1v′2w′2x′2y′ such that |u|=|u′| and |v1w1x1|=|v′1w′1x′1|, and ∀i vixi contains a mark, and uvh1w1xh1v2w2x2y∈L and u′vh1w1xh1v′2w′2x′2y′∈L.
The proof only differs from the Super Lemma's that there are k(n2) possible options for a word in case (i), which leaves (n2) options for case (ii), while in case (iii) there are (n2) options.
Corollary. If for every p there are t and n with n≥p(t+1)+t such that there are N=n3 words of length n in a context-free language L whose first p(t+1) letters are the same for each word, and their last t letters are different for each pair or words (i.e., the words look like si=sbegismidisendi such that |sbegi|=p(t+1), |smidi|=n−p(t+1)−t, |sendi|=t, and ∀i≠j sbegi=sbegj and sendi≠sendj), then there is a B such that there are infinitely many pairs of words ah≠bh∈L of equal length that differ only in their last B letters.
Proof: Take k=t+1 and apply the Special Lemma for our N words using N=n3≥p(t+1)n2, marking the first p(t+1) letters (that are the same in every word) to obtain s=uv1…vt+1wxt+1…x1y and s′=u′v′1…v′t+1w′x′t+1…x′1y′ OR s=uv1w1x1v2w2x2y and s′=u′v′1w′1x′1v′2w′2x′2y′.
If we are in case (i) of the Special Lemma, i.e., there is an i such that |xi|=|x′i|=0, |uv1…vi−1|=|u′v′1…v′i−1|, and |vi|=|v′i|, then uv1…vi−1=u′v′1…v′i−1 and vi=v′i also hold, as vi+1wxi+1 needs to contain a marked letter, thus the subwords preceding vi+1 consist of only marked letters, and these are the same in s and s′. We can take the words ah=uv1…vhi…vtwxt…x1y and bh=uv1…vhiv′i+1…v′tw′x′t…x′1y′ to obtain the desired pairs; since these words end the same way as s and s′, ah≠bh and they differ only in their last bounded many letters.
If we are in case (ii) of the Special Lemma, i.e., ∀i<k |xi|≥1, |x′i|≥1, |uv1…vt|=|u′v′1…v′t| and |vt+1wxt+1|=|v′t+1w′x′t+1|, then uv1…vt=u′v′1…v′t also holds, similarly as in the previous case. Now we can take ah=uv1…vtvht+1wxht+1xt…x1y and bh=uv1…vtvht+1wxht+1x′t…x′1y′; since |xt…x1y|=|x′t…x′1y′|≥t, these words certainly end differently and can differ only in their last bounded many letters. (Note that this is the only place where we really need that we can pump one word with a subword of the other one.)
If we are in case (iii) of the Special Lemma, i.e., s=uv1w1x1v2w2x2y and s′=u′v′1w′1x′1v′2w′2x′2y′ such that |u|=|u′| and |v1w1x1|=|v′1w′1x′1|, then u=u′ and v1w1x1=v′1w′1x′1 also hold, similarly as in the previous cases. Now we can take ah=uvh1w1xh1v2w2x2y∈L and bh=uvh1w1xh1v′2w′2x′2y′∈L; since v2 contains a marked letter, |v2w2x2y|≥t, thus these words certainly end differently and can differ only in their last bounded many letters.
This finishes the proof of the Corollary. Now let's see how to prove the original question from the Corollary.
Final proof. First we show that the condition of the Corollary is satisfied for every integer valued polynomial f. Set t=p−1 and n=Cp for some large enough C=C(f). The plan is to take some numbers x1,…,x2N (where N=2n3) for which f(xi)≠f(xj), and then add some sufficiently large number z to each of them to obtain the desired words si=f(xi+z). If the degree of f is d, then at most d numbers can take the same value, thus we can select x1,…,x2N from the first 2dN numbers, which means that they have log(dn) digits. In this case f(xi)=O((dN)d), thus each f(xi) will have at most dlogN+O(1)=O(logn) digits. If we pick z to be an n/d digit number, then f(z) will have n digits, and for each f(xi+z) only the last O(logn) digits can differ. The f(xi+z) will all have n or n+1 digits, thus at least half, i.e., N of them have the same length; these will be the si.
From the conclusion of the Corollary we obtain infinitely many pairs of numbers ah and bh, such that |ah−bh|≤2B, which is clearly impossible for polynomials.