Propriétés de fermeture
Une fois que vous avez une petite collection de langages non dépourvus de contexte, vous pouvez souvent utiliser les propriétés de fermeture de comme ceci:CFL
Supposons que . Ensuite, par la propriété de fermeture X (avec Y), . Cela contredit que nous savons détenir, donc .L ' ∈ C F L L ' ∉ C F L L ∉ C F LL∈CFLL′∈CFLL′∉CFLL∉CFL
C'est souvent plus court (et souvent moins sujet aux erreurs) que d'utiliser l'un des autres résultats qui utilisent moins de connaissances préalables. C'est aussi un concept général qui peut s'appliquer à toutes sortes de classes d'objets.
Exemple 1: Intersection avec des langages normaux
Nous notons le langage régulier spécifié par toute expression régulière .eL(e)e
Soit . CommeL={w∣w∈{a,b,c}∗,|w|a=|w|b=|w|c}
L∩L(a∗b∗c∗)={anbncn∣n∈N}∉CFL
et est fermé en intersection avec les langages standard, .CFLL∉CFL
Exemple 2: homomorphisme (inverse)
Soit . À l'homomorphismeL={(ab)2ncmd2n−m(aba)n∣m,n∈N}
ϕ(x)=⎧⎩⎨aεbx=ax=bx=c∨x=d
nous avonsϕ(L)={a2nb2na2n∣n∈N}.
Maintenant avec
ψ(x)={aabbx=a∨x=cx=bandL1={xnbnyn∣x,y∈{a,c}∧n∈N},
nous obtenons .L1=ψ−1(ϕ(L)))
Enfin, en croisant avec le langage normal nous obtenons le langage .L1L2=L(a∗b∗c∗)L3={anbncn∣n∈N}
Au total, nous avons .L3=L2∩ψ−1(ϕ(L))
Supposons maintenant que était sans contexte. Ensuite, depuis est fermé contre homomorphisme, homomorphisme inverse, et l' intersection avec des ensembles réguliers, est sans contexte aussi. Mais nous savons (via Pumping Lemma, si besoin est) que n'est pas dépourvu de contexte, c'est donc une contradiction; nous avons montré que .LCFLL3L3L∉CFL
Échange lemme
Le lemme d'échange [1] propose une condition nécessaire à la libération du contexte, qui est encore plus forte que le lemme d' Ogden . Par exemple, il peut être utilisé pour montrer que
{xyyz∣x,y,z∈{a,b,c}+}∉CFL
qui résiste à beaucoup d'autres méthodes. C'est le lemme:
Soit . Ensuite, il existe une constante telle que pour tout entier , tout ensemble et tout entier avec il existe chaînes avecL∈CFLcLn≥2Qn⊆Ln=L∩Σnmn≥m≥2k≥|Qn|cLn2zi∈Qn
- zi=wixiyi pour ,i=1,…,k
- |w1|=|w2|=⋯=|wk|,
- |y1|=|y2|=⋯=|yk|,
- m≥|x1|=|x2|=⋯=|xk|>m2 et
- wixjyi∈Ln pour tout .(i,j)∈[1..k]2
L’appliquer signifie trouver et tels que 1.-4. tenir mais 5. est violé. L'exemple d'application donné dans l'article original est très détaillé et est donc laissé ici.n,mQn
Pour le moment, je n'ai pas de référence librement disponible et la formulation ci-dessus est tirée d'une pré-impression de [1] de 1981. J'apprécie l'aide pour retrouver de meilleures références. Il semble que la même propriété ait été (re) découverte récemment [2].
Autres conditions nécessaires
Boonyavatana et Slutzki [3] étudient plusieurs conditions similaires au lemma de pompage et d'échange.
- Un «lemme d'échange» pour des langues sans contexte par W. Ogden, RJ Ross et K. Winklmann (1985)
- Échanges de lemmes contre des langages normaux et sans contexte par T. Yamakami (2008)
- Les lemmes d’échange ou de pompe (DI) pour les langues sans contexte de R. Boonyavatana et G. Slutzki (1988)