Remarque [2019-07-30] La preuve est fausse ... la question est plus compliquée qu'il n'y paraît.
Après une tentative ratée, c'est une autre idée.
Si nous croisons avec le langage régulier nous obtenons un langage CF.LLreg=0∗10∗10∗10∗
Peut-être que nous pourrons avoir plus de chance si nous utilisons (une chaîne avec exactement 4 1s).L′reg=0∗10∗10∗10∗10∗
Soit , de manière informelle si elle peut être divisée en deux moitiés, de sorte qu'une moitié contient exactement ou les deux moitiés contiennent deux s mais leurs positions ne correspondent pas.L1=L∩L′regw∈L1{0,1,3,4} 1s1
Supposons que soit CF et que soit sa grammaire sous la forme normale de Chomsky, et queL1G
w=uv=0a10b10c10d10e∈L1
Nous avons(longueur paire) et|u|=|v|d(u,v)≥2
Si nous limitons notre attention aux façons dont les quatre 1 de peuvent être générés, nous avons les trois cas montrés en haut de la figure 1. La partie centrale de la figure 1 montre le premier cas (mais les autres sont similaires) .w
Figure 1 (l'image complète peut être téléchargée ici )
Si nous choisissons et nous voyons que les zéros entre les deux paires de 1 doivent être pompables indépendamment (nœuds rouges sur la figure): en particulier, pour suffisamment grand , nous obtenons un nœud non terminal en double sur un sous-arbre interne (nœud X sur la figure 2) ou une sous-séquence répétée dans le chemin vers le premier ou le second 1 (nœud Y sur la figure 2). Notez que la figure 2 est un peu simplifiée: il peut y avoir plus de nœuds non terminaux entre les deux , mais aussi entre les deux ( mais avec qui ne produit que 0 à droite du premier 1).a=e,c=2ab,d≫ab≫aXYsY→...→Zi→...YZi
Figure 2
Nous pouvons donc fixer un arbitraire a=e=k,c=2a , puis choisir suffisamment grand b pour obtenir un nœud pompable indépendamment sur la séquence de zéros entre le premier et le second 1 . Pour la séquence de zéros entre le troisième et le quatrième 1, on peut choisir d=b!+b .
Mais 0b est pompable indépendamment donc il y a une sous-chaîne pompable p≤by , c'est-à-dire telle que b=xyz,|y|=p,|x|≥0,|z|≥0 etxyiz=b!+b . La chaîne que nous obtenons est:
w′=0k10b!+b102k10b!+b10k
mais w′∉L1 . Ainsi L1 n'est pas CF et enfin L n'est pas CF.
Si la preuve est correcte (???) elle peut être étendue à toutes les langues Lk={uv:|u|=|v|,d(u,v)≥k},k≥2