Algoritmin määritelmä [Sipser luku 3.3]

Samankaltaiset tiedostot
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

5.3 Ratkeavia ongelmia

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

Yhteydettömän kieliopin jäsennysongelma

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Säännöllisen kielen tunnistavat Turingin koneet

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

1. Universaaleja laskennan malleja

2. Laskettavuusteoriaa

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Rekursiiviset palautukset [HMU 9.3.1]

Turingin koneen laajennuksia

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

Kertausta 1. kurssikokeeseen

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.

Lisää pysähtymisaiheisia ongelmia

Chomskyn hierarkia ja yhteysherkät kieliopit

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Täydentäviä muistiinpanoja laskennan rajoista

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Säännöllisten kielten sulkeumaominaisuudet

2. Laskettavuusteoriaa

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.

Rajoittamattomat kieliopit

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

uv n, v 1, ja uv i w A kaikilla

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

1. Universaaleja laskennan malleja

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

DFA:n käyttäytyminen ja säännölliset kielet

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Muita vaativuusluokkia

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Turingin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Äärellisten automaattien ja säännöllisten lausekkeiden minimointi

Pinoautomaatit. Pois kontekstittomuudesta

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Laskennan mallit

kaikki kielet tunnistettavat A TM HALT TM { a n } { a n b n } { a n b n c n } TOTAL TM EQ TM

ICS-C2000 Tietojenkäsittelyteoria

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=

Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};

Ei-yhteydettömät kielet [Sipser luku 2.3]

S BAB ABA A aas bba B bbs c

Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit

3. Turingin koneet. osaa esittää yksinkertaisia algoritmeja täsmällisesti käyttäen Turingin konetta ja sen muunnelmia

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

Automaatit. Muodolliset kielet

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Muita universaaleja laskennan malleja

ICS-C2000 Tietojenkäsittelyteoria

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

Tietojenkäsittelyteorian alkeet, osa 2

Formalisoimme nyt edellä kuvatun laskennan.

Osoitamme, että jotkut kielet eivät ole säännöllisiä eli niitä ei voi tunnistaa äärellisellä automaatilla.

1 Lukujen jaollisuudesta

Transkriptio:

Algoritmin määritelmä [Sipser luku 3.3] Mitä algoritmilla yleensä tarkoitetaan periaatteessa: yksiselitteisesti kuvattu jono (tietojenkäsittely)operaatioita, jotka voidaan toteuttaa mekaanisesti käytännössä: luonnollista kieltä, pseudokoodia yms. käyttävä esitys, jonka pätevä ohjelmoija osaa koodata ilman suurempia ongelmia. Tämä tarkkuustaso ei ole riittävä, jos halutaan tutkia laskettavuuden rajoja. Erityisesti kun haluamme väittää jostain ongelmasta, että sille ei ole olemassa ratkaisualgoritmia, niin mitä oikeastaan väitämme? Huomaa, että tämä on oleellisesti eri asia kuin todeta, että ongelmalle ei ole keksitty algoritmia (toistaiseksi). 182

Tuntuu luontevalta vaatia, että algoritmissa yksi operaatio saa tehdä vain äärellisen määrän työtä. Siis erityisesti yksi operaatio saa lukea äärellisen määrän tietoa, etsiä toimintaohjeen äärellisestä sääntöjoukosta ja kirjoittaa äärellisen määrän tietoa. Toisaalta ei ole mitään syytä olla sallimatta, että algoritmin käytössä on rajattomasti apumuistia. Tämän esittäminen matemaattisesti johtaa suoraan ajatukseen, että matemaattiselta kannalta algoritmi on sama asia kuin Turingin kone. Tämä on (karkeasti) alkuperäinen ajatus Turingin koneen takana. 183

Turingin kone ei syntynyt sattumalta. Matematiikan perusteiden tutkimuksessa 1900-luvun alussa keskeistä oli matematiikan mekanisoiminen (voiko matemaatikon korvata algoritmilla). Tätä varten esitettiin useita formalisointeja mekaaniselle laskennalle: Turingin kone (Turing 1936) Postin sääntöjärjestelmät (Post 1936) µ-rekursiiviset funktiot (Gödel, Kleene 1936) λ-kalkyyli (Church 1936) Merkittävä havainto oli, että nämä kaikki olivat ekvivalentteja, ts. antavat tasan saman vastauksen kysymykseen Mitä ongelmia voidaan ratkaista algoritmisesti? Tämä johti Churchin-Turingin teesinä tunnettuun väittämään: Ongelma voidaan ratkaista algoritmilla, jos ja vain jos se voidaan ratkaista Turingin koneella. 184

Churchin-Turingin teesi ei tietenkään ole matemaattinen väittämä. Sitä voi (kenties) pitää luonnontieteellisenä väittämänä, jonka voisi periaatteessa falsifioida rakentamalla Turingin konetta voimakkaamman laskulaitteen. Käytännössä Churchin-Turingin teesi lähinnä sanoo, että olemme tyytyväisiä Turingin koneeseen algoritmin määritelmänä. Kuten edellä ilmeni, tälle tyytyväisyydelle on tiettyjä filosofisia perusteita. Myöskään sellaiset modernit laskennan mallit kuin kvanttitietokone eivät näyttäisi uhkaavan tätä teesiä. Käytännön tietojenkäsittelyn kannalta tärkeä havainto on, että myös (idealisoitu) nykyaikainen tietokone on Turing-ekvivalentti eli pystyy ratkaisemaan tasan samat ongelmat kuin Turingin kone. Tarkastellaan tätä hieman lähemmin. On selvää, että tietokone on ainakin yhtä laskentavoimainen kuin Turingin kone: on helppoa kirjoittaa Turingin kone -simulaattori esim. C-kielellä. Tietokoneen simuloiminen Turingin koneella vaatii hieman enemmän työtä. 185

Ajatellaan, että tietokonessa on k rekisteriä ja lisäksi rajoittamaton määrä hajasaantimuistia (RAM). Simuloidaan tietokonetta k + 2-nauhaisella Turingin koneella. Nauhoille 1,..., k talletetaan rekisterien 1,..., k sisällöt. Nauhalla k + 1 esitetään tietokoneen muistin sisältö muodossa #a 1 #d 1 ##a 2 #d 2 ##...##a n #d n #, missä n on käytössä olevan muistin määrä ja d i on muistipaikan a i sisältö (esim. binäärikoodattuna). Nauha k + 2 toimii apumuistina. Aiempien esimerkkien perusteella pitäisi olla uskottavaa, että Turingin kone pystyy simuloimaan konekäskyjä kuten lataa rekisterin 2 osoittaman muistipaikan sisältö rekisteriin 3, lisää rekisterin 1 sisältöön rekisterin 2 sisältö jne. Tosin muistiin kirjoitettaessa voidaan joutua siirtämään oikealle tai vasemmalle pitkä pätkä nauhan k + 1 sisältöä. 186

Turingin koneiden esittäminen Olemme esittäneet Turingin koneita eri tarkkuustasoilla: formaali kuvaus: tarkka tilakaavio toteutustaso: selitetään nauhojen käyttö ja muut pääideat, mutta ei puututa koneen yksittäisiin tiloihin jne. korkea taso: esitetään algoritmi sellaisenaan (esim. pseudokoodina) viittaamatta erityisesti Turingin kone -malliin. Jatkossa tyydymme yleensä korkean tason kuvauksiin ja uskomme, että mikä tahansa algoritmi osataan kyllä tarvittaessa koodata Turingin koneen konekielelle. Seuraavassa esitetään joitain esitystä selkeyttäviä sopimuksia. 187

Syötteen koodaaminen: Turingin koneen syöte on merkkijono. Algoritmit tyypillisesti saavat syötteenään verkkoja, kokonaislukuja yms. olioita. Käytämme merkintää O merkkijonolle, joka esittää olion O jossain sopivassa aakkostossa. Merkintä O 1,..., O n on vastaava merkkijonoesitys jonolle (O 1,..., O n ). Syötteen tarkistaminen: Usein sanomme esim. että Turingin koneen syöte on G, k, missä G on suuntaamaton verkko ja k luonnollinen luku, Tällöin kyseinen kone aluksi tarkistaa, että syötemerkkijono todella on kelvollinen esitys parille (G, k) jollain verkolla G ja luonnollisella luvulla k. Jos syöte ei ole tätä muotoa, se hylätään. Siirrymme nyt tarkastelemaan erilaisiin formaaleihin kieliin liittyviä ratkeavuusongelmia. Esimerkin vuoksi kiinnitämme aluksi tavallista enemmän huomiota esitystapakysymyksiin. 188

4. Ratkeavuus Tarkastelemme formaaleihin kieliin liittyviä algoritmeja käyttäen Turingin konetta algoritmin täsmällisenä määritelmänä. Tämän luvun jälkeen opiskelija 1. osaa kuvailla universaaliin Turingin koneeseen liittyvät peruskäsitteet 2. tuntee universaalikielen ratkeamattomuuteen liittyvät peruskonstruktiot 3. osaa perustella tärkeimpiin formaalien kielten tunnistamisongelmiin liittyvät ratkeavuustulokset. Yleisemmällä tasolla tavoittena on ymmärtää, millaiset ongelmat ovat ratkeamattomia ja mitä tämä tarkoittaa. 189

Ratkeavuutta formaaleille kielille [Sipser luku 4.1] Tarkastelemme hyväksymisongelmia (eli kieleenkuulumisongelmia), joiden perusformaatti on Annettu: automaatti M (tai kielioppi G) ja merkkijono w Kysymys: päteekö w L(M) (tai vastaavasti w L(G)) Esimerkiksi äärellisten automaattien hyväksymisongelma on kieli A DFA = { B, w B on DFA, joka hyväksyy w:n }. Lause 4.1: [Sipser Thm. 4.1] Kieli A DFA on ratkeava. Todistus: Kieli A DFA voidaan tunnistaa Turingin koneella, joka syötteellä B, w toimii seuraavasti: 1. Simuloi automaattia B syötteellä w. 2. Jos simulaation lopussa B on hyväksyvässä tilassa, hyväksy; muuten hylkää. 190

Koska jatkon kannalta on tärkeä ymmärtää, miten automaattia simuloidaan Turingin koneella, tarkastellaan hieman toteutuksen yksityiskohtia. Muodostetaan nelinauhainen Turingin kone M, joka tunnistaa kielen A DFA. Valitaan koneen M syöteaakkostoksi Σ M = {0,...,9} {#}. Automaatti B = (Q B,Σ B, δ B, q start, F B ) koodataan aakkoston Σ M merkkijonoksi seuraavasti: Oletetaan Q B = { q 1,..., q n } ja Σ B = { a 1,..., a m }. Merkitään q i = indeksin i esitys kymmenjärjestelmässä. Siis jokaisella q Q koodi q on jokin aakkoston {0,...,9} merkkijono. Määritellään vastaavasti a i. Tilajoukko, aakkosto ja hyväksyvät tilat koodataan nyt merkkijonoilla missä F B = { r 1,..., r k } Q. Q B = q 1 # q 2 #...# q n Σ B = a 1 # a 2 #...# a m F B = r 1 # r 2 #...# r k, 191

Siirtymäfunktio δ B koodataan merkkijonoksi δ B = q 1 # a 1 # r 11 ## q 1 # a 2 # r 12 ##...## q n # a m # r nm, missä r ij = δ(q i, a j ). Siis jokainen siirtymä esitetään omana kolmikkonaan. Nyt pari (B, w), missä w = w 1... w l Σ B, koodataan merkkijonoksi B, w = ## Q B ### Σ B ### δ B ### q start ### F B ### w, missä w = w 1 # w 2 #...# w l. 192

Simulointi tapahtuu nyt seuraavasti: 1. Kopioi nauhalta 1 (eli syötenauhalta) koko w nauhalle 2, ensimmäinen merkki w 1 nauhalle 3, alkutila q start nauhalle 4. 2. Etsi nauhalta 1 pätkä ## q # a # r, missä q ja a ovat samat kuin nauhojen 4 ja 3 sisällöt. Kopioi r nauhan 4 uudeksi sisällöksi. 3. Jos nauhalla 2 on vielä käsittelemättömiä merkkejä, kopioi sieltä seuraava w i nauhan 3 uudeksi sisällöksi ja palaa kohtaan 2. Muuten jatka kohdasta 4. 4. Jos nauhan 4 sisältö on sama kuin jokin syötteen F B -osuudesta löytyvä koodi r i, hyväksy; muuten hylkää. 193

Edellisestä seuraa hyväksymisongelman ratkeavuus myös NFA:lle. Lause 4.2: [Sipser Thm. 4.2] Kieli on ratkeava. A NFA = { B, w B on NFA, joka hyväksyy w:n } Todistus: Kieli A NFA voidaan tunnistaa algoritmilla, joka syötteellä B, w toimii seuraavasti: 1. Muodosta B:n kanssa ekvivalentti DFA C lauseen 1.3 todistuksessa (s. 39 41) esitetyllä algoritmilla. 2. Jos C, w A DFA, niin hyväksy; muuten hylkää. Koska A DFA on ratkeava, tiedämme, että askelen 2 ehtotesti voidaan toteuttaa algoritmisesti. (Emme lähemmin puutu tämän algoritmin toteuttamiseen Turingin koneena.) 194

Samaa periaatetta noudattaen saadaan edelleen Lause 4.3: [Sipser Thm. 4.3] Kieli on ratkeava. A REX = { R, w R on säännöllinen lauseke ja w L(R) } Todistus: Syötteellä R, w muodostetaan ensin kielen L(R) tunnistava NFA B (kuten lemmassa 1.9, s. 56). Hyväksytään, jos B, w A NFA ; muuten hylätään. Tämä tulos siis käytännön kannalta sanoo, että säännöllisiä lausekkeita on mahdollista tulkita tietokoneella. 195

Hieman vähemmän ilmeistä on kielen E DFA = { B B on DFA ja L(B) = } ratkeavuus. Siis B E DFA, jos ja vain jos B, w A DFA kaikilla merkkijonoilla w. Suora simulointi ei toimi, koska kokeiltavia w on äärettömästi, mutta silti Lause 4.4: [Sipser Thm. 4.4] Kieli E DFA on ratkeava. Todistus: Syötteen B kuuluminen kieleen E DFA voidaan ratkaista seuraavasti: 1. Muunna B oikealle lineaariseksi kieliopiksi G (harjoitus 6, tehtävä 7). 2. Tarkista, onko L(G) = (harjoitus 7, tehtävä 4(b)). Jos on, niin hyväksy; muuten hylkää. (Kurssikirjassa on esitetty vaihtoehtoinen suora konstruktio.) 196

Samanhenkinen on äärellisten automaattien ekvivalenssiongelma eli kieli EQ DFA = { A, B A ja B ovat DFA:ita ja L(A) = L(B) }. Lause 4.5: [Sipser Thm. 4.5] Kieli EQ DFA on ratkeava. Todistus: Syötteestä A, B voidaan tunnetuilla konstruktioilla muodostaa DFA C, jolla ( ) ( ) L(C) = L(A) L(B) L(A) L(B). Nyt L(A) = L(B), jos ja vain jos L(C) =. Siis A, B EQ DFA, jos ja vain jos C E DFA. Väite seuraa nyt lauseesta 4.4. 197

Yhteydettömillä kielillä asiat sujuvat suunnilleen, mutta ei aivan, samaan tapaan. Lause 4.6: [Sipser Thm. 4.7] Kieli on ratkeava. A CFG = { G, w G on yhteydetön kielioppi ja w L(G) } Todistus: Syötteellä G, w voidaan soveltaa seuraavaa algoritmia: 1. Muunna G Chomskyn normaalimuotoon. 2. Ratkaise CYK-algoritmilla (s. 112 115), päteekö w L(G). Tästä saadaan seuraava tärkeä seuraus: Lause 4.7: [Sipser Thm. 4.9] Jokainen yhteydetön kieli on ratkeava. Todistus: Olkoon A yhteydetön; siis A = L(G) jollain yhteydettömällä kieliopilla G. Nyt A voidaan tunnistaa Turingin koneella M G, joka syötteellä w toimii seuraavasti: 1. Muodosta koodi G, w. 2. Hyväksy, jos G, w A CFG ; muuten hylkää. 198

Myös yhteydettömien kielioppien tyhjyysongelma E CFG = { G G on CFG ja L(G) = } on ratkeava. Tämä on todettu harjoituksen 7 tehtävässä 4(b), johon jo edellä vedottiin. Sen sijaan yhteydettömien kielioppien ekvivalenssiongelma EQ CFG = { G, H G ja H ovat CFG:itä ja L(G) = L(H) } ei ole ratkeava. Meillä ei tässä vaiheessa ole työkaluja tämän tuloksen todistamiseen. Todetaan vain, että kielen EQ DFA tapauksessa (lause 4.5) käytetty menetelmä ei tässä toimi, koska yhteydettömät kielet eivät ole suljettuja leikkauksen suhteen (korollaari 2.27, s. 144). 199