Lema o napihovanju za kontekstno neodvisne jezike
Iz MaFiRaWiki
| | Ta članek ali del članka je v delu. Veseli bomo, če ga boste dopolnili in popravili. |
Naj bo dan kontekstno neodvisni jezik L. Potem obstaja neka konstanta n, ki je odvisna le od jezika L, tako da velja: poljubno besedo
, za katero velja
, lahko predstavimo v obliki z = uvwxy, pri čemer velja
,
in za vse
velja
.
[spremeni]
Dokaz
[spremeni]
Primer
Lemo o napihovanju največkrat uporabljamo pri dokazovanju tega, da nek jezik ni kontekstno-neodvisen. Na primer, jezik
ni kontekstno-neodvisen, kar dokažemo takole:
- Recimo, da je L kontekstno-neodvisen. Potem zanj velja lema:
-
. To pomeni, da srednji del besede uvxyz ni predolg.
-
. Ker sta v in y dela, ki jih bomo “napihnili”, ta pogoj pove, da mora biti vsaj en od nizov, ki jih bomo napihnili, neprazen.
. To pomeni, da lahko niza v in y "napihnemo" kolikokrat hočemo,
vključno z 0, pa bo rezultat še vedno v jeziku L.
-
- Če je niz
, kjer | w | > p, sledi: w = uvxyz, kjer
- Zdaj izberimo vrednost za n, ki je večja od p.
- Potem, kakorkoli iz vxy pridemo do niza oblike anbncn, vxy ne more vsebovati več kot dveh raličnih črk, ker sta najbolj desni a in najbolj levi c n+1 mest narazen. Beseda je lahko iz samih a-jev, b-jev, ali c-jev, lahko pa iz a-jev in b-jev, ali b-jev in c-jev. Torej niz vxy ne more vsebovati več kot dveh različnih črk, ampak po lemi ne more biti niti prazen, torej mora vsebovati vsaj eno črko.
- Zdaj lahko začnemo "napihovati"
- Ker je
, mora biti tudi
. Ker v in y ne moreta biti oba prazna,
| uv2xy2z | > | uvxyz | , torej smo nekaj črk dodali. - Toda ker vy ne vsebuje vseh treh možnih črk, ne more biti število dodanih posameznih črk enako. Torej napihnjena beseda uv2xy2z ne more biti v L.
- Ker je
- Prišli smo do protislovja, torej je bila predpostavka, da je jezik L kontekstno-neodvisen napačna.
[spremeni]

