Chomsky-féle hierarchia

Hasonló dokumentumok
Chomsky-féle hierarchia


A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

ZH feladatok megoldásai

Automaták és formális nyelvek

A digitális számítás elmélete

Formális nyelvek - 5.

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

6. előadás A reguláris nyelvek jellemzése 2.

MintaFeladatok 1.ZH Megoldások


MintaFeladatok 2.ZH Megoldások

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

6. előadás A reguláris nyelvek jellemzése 2.

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

MintaFeladatok 1.ZH Megoldások

Teljes visszalépéses elemzés

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant!

Mátrixok február Feladat: Legyen ( ( B = A =

Diszkrét matematika 2. estis képzés

Logika és számításelmélet. 10. előadás

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Formális nyelvek és automaták

Formális Nyelvek - 1. Előadás

A Turing-gép. Formális nyelvek III.

Atomataelmélet: A Rabin Scott-automata

Csempe átíró nyelvtanok

2. gyakorlat. A polárkoordináta-rendszer

Automaták mint elfogadók (akceptorok)

Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.

7. előadás Környezetfüggetlen nyelvtanok

KOVÁCS BÉLA, MATEMATIKA I.

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

Tárgyév adata december 31. Tárgyév adata december 31. A tétel megnevezése

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

1. előadás: Halmazelmélet, számfogalom, teljes

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

A Számítástudomány alapjai

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Permutációk véges halmazon (el adásvázlat, február 12.)

Példák. Ismert a római számok halmaza, amely intuitív szintaxissal rendelkezik, hiszen pl.

Deníciók és tételek a beugró vizsgára

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Formális nyelvek - 9.

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

1. Példa. A gamma függvény és a Fubini-tétel.

Feladatok. BNF,EBNF,szintaxisgráf

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

43. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY MEGYEI FORDULÓ HETEDIK OSZTÁLY JAVÍTÁSI ÚTMUTATÓ

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Relációk. 1. Descartes-szorzat

Analízis elo adások. Vajda István szeptember 10. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Haladók III. kategória 2. (dönt ) forduló

FELVÉTELI VIZSGA, július 17.

XXVI. Erdélyi Magyar Matematikaverseny Zilah, február I. forduló osztály

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Az Országos Középiskolai Tanulmányi Verseny tanévi második fordulójának feladatmegoldásai. x 2 sin x cos (2x) < 1 x.

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

Formális nyelvek előadások tavaszi félév

A matematika nyelvér l bevezetés

Lineáris egyenletrendszerek

Sorozatok és Sorozatok és / 18

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

Húrnégyszögek, Ptolemaiosz tétele

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

Diszkrét matematika 1. középszint

Halmazelméleti alapfogalmak

4 = 0 egyenlet csak. 4 = 0 egyenletből behelyettesítés és egyszerűsítés után. adódik, ennek az egyenletnek két valós megoldása van, mégpedig

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Vektoralgebra feladatlap 2018 január 20.

Diszkrét matematika 2.

Függvények határértéke, folytonossága

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

1. tétel - Gráfok alapfogalmai

DiMat II Végtelen halmazok

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Függvényhatárérték és folytonosság

KOVÁCS BÉLA, MATEMATIKA I.

SHk rövidítéssel fogunk hivatkozni.

Megoldások 9. osztály

2. Halmazelmélet (megoldások)

Mezei Ildikó-Ilona. Analitikus mértan

A digitális számítás elmélete

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

4. előadás. Vektorok

1. Legyen egy háromszög három oldalának a hossza a, b, c. Bizonyítsuk be, hogy Mikor állhat fenn egyenlőség? Kántor Sándorné, Debrecen

Egyváltozós függvények 1.

Megoldások. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Átírás:

http://www.cs.ubbcluj.ro/~kasa/formalis.html Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezet ), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira. 1-es típusú (környezetfügg ), ha minden szabálya αaγ αβγ alakú, ahol A N, α, γ (N T ), β (N T ) +. Ezenkívül megengedhet az S ε szabály is, ha S nem szerepel egyetlen szabály jobb oldalán sem. 2-es típusú (környezetfüggetlen), ha minden szabálya A β alakú, ahol A N, β (N T ) +. Ezenkívül megengedhet az S ε szabály is, ha S nem szerepel egyetlen szabály jobb oldalán sem. 3-as típusú (reguláris), ha szabályai A ab vagy A a alakúak, ahol a T és A, B N. Ezenkívül megengedhet az S ε szabály is, ha S nem szerepel egyetlen szabály jobb oldalán sem. Minden véges nyelv reguláris. L 0 L 1 L 2 L 3. Ha u = a 1 a 2... a n eleme a nyelvnek, akkor bevezetjük a következ szabályokat: S a 1 A 1, A 1 a 2 A 2,... A n 2 a n 1 A n 1, A n 1 a n, ahol S a nyelvtan kezd szimbóluma, A 1,..., A n 1 pedig különböz nemterminálisok. Ha az üres szó is eleme a nyelvnek, akkor azt az S ε szabállyal generáljuk. Az üres halmaz szintén reguláris nyelv, hisz például a G = ({S}, {a}, {S as}, S) reguláris nyelvtan az üres halmazt generálja. 1

Átnevezések kiküszöbölése átnevezés: A B alakú szabály, ahol A, B N G = (N, T, P, S) átnevezéseket tartalmazó nyelvtan G = (N, T, P, S) átnevezéseket nem tartalmazó nyelvtan (ugyanolyan típusú) Átnevezés-kizárás(G) 1 valahányszor A B és B C átnevezések P -ben vannak, mindannyiszor vegyük fel P -be az A C átnevezést is mindaddig, amíg P b víthet, 2 valahányszor A B átnevezés és a B α (α N ) szabály P -ben van, mindannyiszor vegyük fel P -be az A α szabályt is, 3 legyen P azon P -beli szabályok halmaza, amelyek nem átnevezések. 4 return G G és G ekvivalensek Ha G i {0, 1, 2, 3} típusú, akkor G is i típusú lesz. 2

Példa: G = ( {S, A, B, C}, {a, b}, P, S ahol a P elemei: ), S A, A B, B C, C B, D C, S B, A D, C Aa, A ab, A b. Els lépés. A következ új átnevezések kerülnek be a szabályok közé: S D S C A C B B C C D B Második lépés. A következ új szabályok jelennek meg: S ab S b S Aa A Aa B Aa Az új G = ( ) {S, A, B, C}, {a, b}, P, S (S A és A D miatt), (S B és B C miatt), (A B és B C miatt), (B C és C B miatt), (C B és B C miatt), (D C és C B miatt). (S A és A ab miatt), (S A és A b miatt), (S C és C Aa miatt), (A C és C Aa miatt), (B C és C Aa miatt). nyelvtan szabályai: S b, A b, B Aa, C Aa, S ab, A ab, S Aa A Aa. 3

Normálalakú nyelvtanok normálalakú nyelvtan: ha szabályainak bal oldalán terminális bet k nem szerepelnek Σ 1 és Σ 2 ábécékre homomorzmusnak nevezzük a h : Σ 1 Σ 2 függvényt, ha h(u 1 u 2 ) = h(u 1 )h(u 2 ), u 1, u 2 Σ 1. u = a 1 a 2... a n Σ 1 nak a Σ 1 -re való megszorítása, ugyanis h(u) = h(a 1 )h(a 2 )... h(a n ). Könny belátni, hogy tetsz leges esetében a h(u) értéket egyértelm en meghatározza h- Ha a h függvény még bijektív is, akkor izomorzmusról beszélünk. Tétel. Tetsz leges nyelvtanhoz megkonstruálhatunk egy vele ekvivalens, azonos típusú nyelvtant, amely normálalakú. G = (N, T, P, S) eredeti nyelvtan G = (N, T, P, S) normálalakú nyelvtan Legyenek a 1, a 2,..., a k azok a terminális szimbólumok, amelyek szerepelnek a szabályok bal oldalán. Ekkor vezessük be az A 1, A 2,..., A k új nemterminálisokat. Használjuk a következ jelöléseket: T 1 = {a 1, a 2,..., a k }, T 2 = T \ T 1, N 1 = {A 1, A 2,..., A k } és N = N N 1. Használjuk a h : N T N T 2 izomorzmust, ahol: h(a i ) = A i, ha a i T 1, h(x) = X, ha X N T 2 Értelmezzük a P szabályhalmazt: P = { h(α) h(β) } (α β) P { } A i a i i = 1, 2,..., k Ekkor α = β akkor és csakis akkor, ha h(α) = G G h(β). Innen következik a tételünk, hisz S = u S = h(s) = G G h(u) = u. 4

Példa. Adott a G = ({S, D, E}, {a, b, c, d, e}, P, S), ahol P szabályai: S aebc adbc Db bd Dc Ebccd be Eb ae aad aae P szabályai a következ k: S AeBC ADBC DB BD DC EBCCd BE EB AE AAD AAe A a B b C c Milyen szavakat generál ez a nyelvtan! S = AeBC = aebc miatt aebc L(G ). S = ADBC = ABDC = ABEBCCd = AEBBCCd = AAeBBCCd = aaebbccd, tehát aaebbccd L(G ). Feltételezzük, hogy S = A n 1 EB n C(Cd) n 1, n 2. Ezt matematikai indukcióval bizonyíthatjuk. Már láttuk, hogy feltevésünk igaz ha n = 2. S = A n 1 EB n C(Cd) n 1 = A n 2 AADB n C(Cd) n 1 = A n B n DC(Cd) n 1 = A n B n EBCCd(Cd) n 1 = A n EB n+1 CCd(Cd) n 1 = A n EB n+1 C(Cd) n, amit éppen bizonyítani kellett. De S = A n 1 EB n C(Cd) n 1 = A n 2 AAeB n C(Cd) n 1 = a n eb n c(cd) n 1. Tehát a n eb n c(cd) n 1 L(G ), n 1. Ezeket a szavakat G-ben is hasonlóan le lehet vezetni. 5

Kiterjesztett nyelvtanok 1-es típusú kiterjesztett nyelvtan. Minden szabály α β alakú, ahol α β, kivéve esetleg az S ε szabályt. 2-es típusú kiterjesztett nyelvtan. N, β (N T ). Minden szabály A β alakú, ahol A 3-as típusú kiterjesztett nyelvtan. Minden szabály A ub vagy A u alakú, ahol A, B N, u T. Tétel. Tetsz leges kiterjesztett nyelvtanhoz megadható egy vele ekvivalens, ugyanolyan típusú nyelvtan. Jelöljük G ki -vel a kiterjesztett nyelvtant és G-vel azt a nyelvtant, amelyet minden típusra külön értelmezünk, és amelyr l meg fogjuk mutatni, hogy ekvivalensg ki - vel. 1-es típus. Legyen X 1 X 2... X m Y 1 Y 2... Y n (m n) a G ki nyelvtan egy szabálya, amely nem megfelel alakú. következ szabályokat, ahol A 1, A 2,..., A m új változók: X 1 X 2... X m A 1 X 2 X 3... X m A 1 X 2... X m A 1 A 2 X 3... X m... A 1 A 2... A m 1 X m A 1 A 2... A m 1 A m A 1 A 2... A m 1 A m Y 1 A 2... A m 1 A m Y 1 A 2... A m 1 A m Y 1 Y 2... A m 1 A m... Y 1 Y 2... Y m 2 A m 1 A m Y 1 Y 2... Y m 2 Y m 1 A m Y 1 Y 2... Y m 1 A m Y 1 Y 2... Y m 1 Y m Y m+1... Y n. Vegyük fel G szabályhalmazába a Továbbá, G ki minden megengedett, vagyis γ 1 δγ 2 γ 1 γγ 2 alakú szabályát vegyük át változtatás nélkül G szabályhalmazába. 6

Ezek után a L(G ki ) L(G) tartalmazás abból következik, hogy a G ki minden szabályának az alkalmazását egy, a bel le képzett G-beli szabályok alkalmazásával tudjuk szimulálni. Továbbá, mivel a G szabályai csak a felírt sorrendben alkalmazhatók, nem kapunk újabb szavakat, ezért L(G) L(G ki ) is teljesül. Példa. G ki = (N, T, P, S), ahol N = {S, B, C}, T = {a, b, c} és P a következ szabályokból áll: S asbc abc CB BC ab ab bb bb bc bc cc cc. CB BC nem jó. Ekkor, ha A 1 = A, A 2 = D: CB AB AB AD AD BD BD BC Így az új nyelvtan G = ({S, A, B, C, D}, {a, b, c}, P, S), ahol P elemei: S asbc abc CB AB ab ab AB AD bb bb AD BD bc bc BD BC cc cc. már környezetfügg. Igazolni lehet, hogy L(G ki ) = L(G) = {a n b n c n n 1}. 7

2-es típus. Legyen G ki = (N, T, P, S). Ki kell küszöbölnünk az A ε alakú szabályokat úgy, hogy csak S ε maradhat, ha S nem szerepel szabály jobb oldalán. Ehhez felépítjük a következ halmazokat: U 0 = {A N (A ε) P } U i = U i 1 {A N (A w) P, w U + i 1 }. Mivel minden i 1 esetében U i 1 U i és U i N, és N véges, k : U k 1 = U k, és legyen ez U. A nemterminális akkor és csakis akkor eleme U -nak, ha A ( ε L(G ki ), akkor és csakis akkor ha S U.) = ε. G szabályait a következ képpen kapjuk G ki szabályaiból: G ki minden olyan A α szabálya esetében melyre α ε, vegyük fel a G szabályai közé ezt a szabályt és mellette azokat is, amelyeket úgy képezünk, hogy α-ból elhagyunk egy vagy több U -beli változót, de csak akkor, ha ezáltal a jobb oldal nem lesz ε. Az így kapott G nyelvtan ugyanazt a nyelvet generálja, mint G ki, kivéve az ε szót, amelyet nem tud generálni. Ha ε L(G ki ), akkor a bizonyítást befejeztük. Ha ε L(G ki ), akkor két esetet különböztetünk meg: 1. Ha az S kezd szimbólum nem szerepel egyetlen szabály jobb oldalán sem, akkor új szabály G-ben: S ε. 2. Ha viszont S szerepel valamelyik szabály jobb oldalán, akkor S új kezd szimbólum, és új szabályok G-ben: S S és S ε. 8

Példa Legyen G ki = ({S, B, C}, {a, b, c}, P, S) 2-típusú kiterjesztett nyelvtan, ahol P elemei: S asc B B bb C C Cc ε. Ekkor U 0 = {C}, U 1 = {B, C}, U 3 = {S, B, C} = U. Az új nyelvtan szabályai: S asc ac B B bb b C C Cc c. Mivel az eredeti nyelvtan generálja az üres szót is, és S szerepel szabály jobb oldalán, új kezd szimbólumot kell bevezetnünk és még két szabályt: S S, S ε. Tehát az eredetivel ekvivalens környezetfüggetlen nyelvtan: G = ({S, S, B, C}, {a, b, c}, P, S ), és a szabályok: S S ε S asc ac B B bb b C C Cc c. Mindkét nyelvtan az {a m b n c p p m 0, n 0} nyelvet generálja. 9

3-as típus. Alkalmazzuk G ki -re a 2-es típus esetében használt eljárást az A ε alakú szabályok kiküszöbölésére. Majd kiküszöböljük az átnevezéseket az Átnevezés-kizárás algoritmus segítségével. Majd minden A a 1 a 2... a n B szabályra, ahol B N {ε}, vegyük fel G szabályai közé a következ ket: A a 1 A 1, A 1 a 2 A 2, A n 1 a n B, ahol A 1, A 2,..., A n 1 új változók. Könnyen igazolható, hogy az így megkonstruált G nyelvtan ekvivalens G ki -vel. Példa. G ki = ({S, A, B}, {a, b}, P, S) a vizsgálandó 3-as típusú kiterjesztett nyelvtan, ahol P : S aba A bb B S ε. El ször küszöböljük ki a B ε szabályt. Mivel U 0 = U = {B}, a szabályok a következ k lesznek: S aba A bb b B S. Ez utóbbi szabályt (amely átnevezés) ki lehet küszöbölni, bevezetve helyette a B aba szabályt. Hátra van még az S aba és B aba szabályok jobb oldalának a feldarabolása. Mivel mindkét szabály jobb oldala ugyanaz, elég egy új változót bevezetnünk, és az S aba helyett az S ac és C ba szabályokat használni. A B aba helyett ekkor elég a B ac szabályt venni. 10

Az új nyelvtan: G = ({S, A, B, C}, {a, b}, P, S), ahol P : S ac A bb b B ac C ba. Be lehet bizonyítani, hogy L(G ki ) = L(G) = {(abb) n n 1}. A Chomsky-féle nyelvosztályok zártsági tulajdonságai reguláris m veletek: egyesítés, szorzat, iteráció Tétel. Az L i (i = 0, 1, 2, 3) nyelvek osztálya zárt a reguláris m veletekre nézve. Kiterjesztett nyelvtanok segítségével végezzük a bizonyítást. Legyenek G 1 = (N 1, T 1, P 1, S 1 ) és G 2 = (N 2, T 2, P 2, S 2 ) i-típusú kiterjesztett nyelvtanok. Feltételezzük, hogy N 1 N 2 =. Egyesítés. Legyen G = (N 1 N 2 {S}, T 1 T 2, P 1 P 2 {S S 1, S S 2 }, S). Könny igazolni, hogy L(G ) = L(G 1 ) L(G 2 ). Ha i = 0, 2, 3, akkor abból, hogy G 1 és G 2 i-típusú, következik, hogy G is az lesz. Ha i = 1, akkor, ha valamelyik nyelvtan generálja az üres szót, akkor a G szabályaiból kivesszük a megfelel (esetleg mindkett ) S k ε (k = 1, 2) szabályt és helyettesítjük S ε szabállyal. Szorzat. Legyen G = (N 1 N 2 {S}, T 1 T 2, P 1 P 2 {S S 1 S 2 }, S). Igazolható, hogy L(G ) = L(G 1 )L(G 2 ). Az i = 0, 2 típusoknál G is ugyanolyan típusú lesz. Az i = 1 típusnál, ha van P 1 -ben S 1 ε szabály, de P 2 -ben nincs S 2 ε szabály, akkor a S 1 ε szabályt helyettesítjük az S S 2 szabállyal. Ha van P 1 -ben S 1 ε szabály és P 2 -ben S 2 ε szabály, akkor ezeket helyettesítjük az S ε szabállyal. 11

Másképp kell megadni a szabályokat a reguláris nyelvtanok (i = 3) esetében, mert S S 1 S 2 nem reguláris szabály. Helyette a következ nyelvtant használjuk: G = (N 1 N 2, T 1 T 2, P 1 P 2, S 1 ), ahol P 1 annyiban különbözik P 1-t l, hogy az A u, u T szabályok helyett A us 2 kerül be P 1 -be. Iteráció. Legyen G = (N 1 {S}, T 1, P, S). 2-típusú nyelvtanoknál legyen P = P 1 {S S 1 S, S ε}. 2-típusú lesz. Ekkor G is A 3-típusnál, a szorzathoz hasonlóan átalakítjuk a szabályokat, azaz P = P 1 {S S 1, S ε}, ahol P 1 abban különbözik P 1-t l, hogy minden A u (u T ) alakú szabály helyett A us alakút veszünk, a többit változatlanul hagyjuk. Ekkor G is 3-típusú lesz. i = 0, 1-re nem jók a 2-típusnál megadott szabályok, mert az S S 1 S alkalmazása során megtörténhet, hogy a következ levezetésekhez jutunk: S = S 1 S 1 α, S 1 = α 1 β 1, S 1 = α 2 β 2, ahol β 1 α 2 egy helyettesítési szabály bal oldala. Ekkor az S = α 1 β 1 α 2 β 2 α levezetésben helyettesítve β 1 α 2 -t a neki megfelel szabály jobb oldalával, olyan szót is generálhatunk, amelyik nincsen benne az iterált nyelvben. Hogy ezt elkerüljük, el ször feltételezzük, hogy a nyelvtan normálalakú, majd bevezetünk egy új S nemterminálist, tehát a nemterminálisok halmaza most N 1 {S, S }, a szabályok pedig a következ k lesznek: P = P 1 {S ε, S S 1 S } {as as a T 1 }. Most már az el bbi levezetéseket csak úgy lehet alkalmazni, hogy az S = S 1 S helyettesítéssel kezdjük, majd eljutunk az S = α 1 β 1 S levezetéshez. Ezt csak akkor tudjuk S helyettesítésével folytatni, ha β 1 utolsó bet je terminális, és miután alkalmaztuk valamelyik as as helyettesítési szabályt. Igazolható, hogy mindegyik típus esetében L(G ) = L(G 1 ). 12