Temporaalilogiikat ja automaatit

Samankaltaiset tiedostot
Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka

Automaatit. Muodolliset kielet

2. M : T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 11 Ratkaisut 1. M :

Rekursiiviset tyypit

Esimerkkimodaalilogiikkoja

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

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut

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

Mallintarkastus. Mallin generointi. Esimerkki mallin SMV-kuvauksesta. Tila-avaruuden symbolinen esitys (I)

8. Kieliopit ja kielet

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

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

µ-kalkyyli - monadisen toisen kertaluvun predikaattilogiikan bisimilaarisesti invariantti fragmentti

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

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

Turingin koneen laajennuksia

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

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

Säännöllisten kielten sulkeumaominaisuudet

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

2. Minkä joukon määrittelee kaava P 0 (x 0 ) P 1 (x 0 ) mallissa M = ({0, 1, 2, 3}, P M 0, P M 1 ), kun P M 0 = {0, 1} ja P M 1 = {1, 2}?

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

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

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

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat

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

Positiivitermisten sarjojen suppeneminen

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

Johdatus matemaattiseen päättelyyn

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

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

1. Johdanto. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Bisimulaatio modaalilogiikassa

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

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

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

Kertausta 1. kurssikokeeseen

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Epäyhtälöt ovat yksi matemaatikon voimakkaimmista

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

LOGIIKKA johdantoa

3. Predikaattilogiikka

Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N,

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

Ratkaisu: (b) A = x 0 (R(x 0 ) x 1 ( Q(x 1 ) (S(x 0, x 1 ) S(x 1, x 1 )))).

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

Yleinen paikallinen vakautuva synkronointialgoritmi

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

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

Todistusmenetelmiä Miksi pitää todistaa?

Kanta ja dimensio 1 / 23

Avaruuden R n aliavaruus

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

Johdatus matematiikkaan

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

Chomskyn hierarkia ja yhteysherkät kieliopit

Tietojenkäsittelyteorian alkeet, osa 2

Propositionaalinen dynaaminen logiikka

Kompaktisuus ja filtterit

Tehtävä 8 : 1. Tehtävä 8 : 2

Tietotekniikan valintakoe

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

Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot

Topologia Syksy 2010 Harjoitus 11

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

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

Lisää pysähtymisaiheisia ongelmia

Predikaattilogiikan malli-teoreettinen semantiikka

Taulumenetelmä modaalilogiikalle K

isomeerejä yhteensä yhdeksän kappaletta.

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

Tehtävä 4 : 2. b a+1 (mod 3)

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Luonnollisten lukujen induktio-ominaisuudesta

Goldblatt Thomasonin lause transitiivisille kehyksille

Kuvaus. Määritelmä. LM2, Kesä /160

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

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

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

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

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

1 Rajoittamaton optimointi

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Matematiikan ja tilastotieteen laitos Reaalianalyysi I Harjoitus Malliratkaisut (Sauli Lindberg)

Transkriptio:

Temporaalilogiikat ja automaatit Sari Leppänen Helsinki 20.11.2001 Digitaalisten järjestelmien lisensiaattikurssi Teknillinen korkeakoulu Tietojenkäsittelyteorian laboratorio

Sisältö ii 1 Haarautuvan ajan temporaalilogiikat 1 1.1 CTL (ComputationTreeLogic)..................... 1 2 Propositionaalisesti kvantifioitavat logiikat 5 2.1 qtl(quantified TemporalLogic).................... 5 2.2 MSOL(MonadicSecond OrderLogic)................. 6 2.3 Propositionaalinen μ-kalkyyli...................... 6 2.3.1 Kiintopisteet.......................... 7 2.3.2 Predikaattimuuntimet...................... 8 3!-automaatit ja!-kielet 10 4 Toisen kertaluvun kielten ilmaisuvoima 13

1 Haarautuvan ajan temporaalilogiikat 1 Rinnakkaisjärjestelmien spesifiointikielenä käytettävä temporaalilogiikka on peräisin filosofiasta, missä se on eräs modaalilogiikan sivuhaara. Pnueli ehdotti artikkelissaan [8] ensimmäisen kerran temporaalilogiikan käyttämistä rinnakkaisilta ja reaktiivisilta järjestelmiltä vaadittavien ominaisuuksien kuvaamiseen. Temporaalilogiikassa laajennetaan klassista propositiologiikkaa ottamalla käyttöön joukko aikaoperaattoreita, joiden avulla on mahdollista kuvata ominaisuuksien ajallisia suhteita määrittelemättä kuitenkaan aikaa sinänsä. Käytettäessä temporaalilogiikoita järjestelmiä ja ohjelmia koskevissa päättelyissä, aika oletetaan diskreetiksi jonoksi, missä peräkkäiset ajan hetket kuvautuvat luonnollisille luvuille. (Tarkastellessamme lineaarisia rakenteita rajoitumme edelleen luonnollisiin malleihin,ks. määritelmä Clarke/Schlingloff s. 1650). Järjestelmää kuvattaessa nykyinen ajan hetki vastaa järjestelmän nykyistä tilaa ja seuraava ajan hetki vastaa järjestelmässä välittömästi seuraavaa tilaa. Jokaisella tilalla on olemassa välitön edeltäjä ja seuraaja. Järjestelmän mahdolliset suoritukset voidaan mallintaa useiden erillisten laskentasekvenssien joukkona. Vaihtoehtoisesti järjestelmän suoritukset voidaan kuvata yhtenä laskentapuuna, missä haarautuminen kuvaa ohjelman suorituksenaikaista epädeterminististä valintaa. Ajan luonne käsitetään nyt haarautuvaksi, jolloin jokaista hetkeä voi seurata useita mahdollisia tulevaisuuden hetkiä. Ajan rakenne vastaa siis ääretöntä puuta, missä jokainen puun solmu rinnastetaan yhteen ajanhetkeen. Jokaisella solmulla on vähintään yksi, mutta mahdollisesti äärettömän monta seuraajasolmua. Ajalla on alkuhetki, jolla ei ole edeltäjää, ja tulevaisuus on ääretön. Tällainen näkemys ajasta on omaksuttu haarautuvan ajan temporaalilogiikan pohjaksi [7, 1, 5]. Ohjelman oikeellisuutta tarkastellessamme tutkimme laskentapuun maksimaalisia polkuja: Määritelmä 1.1 Polku ff =(w 1 ;w 2 ;:::) on ääretön tai äärellinen tilajono, joka muodostetaan valitsemalla kullekin tilalle w i (0» i < jffj) seuraajatila w i+1 siten, että (w i ;w i+1 ) 2I(R j )(R j 2R). Määritelmä 1.2 Polku on maksimaalinen (täyspolku), jos se on ääretön tai jos äärellisen polun viimeisellä tilalla ei ole seuraajia (@w s.e. w n ffi w) Maksimaalinen polku on täysin mallin mukainen. Jokaisella tilalla, jolla on alkuperäisessä mallissa seuraajatila, on seuraajatila myös polussa. 1.1 CTL (Computation Tree Logic) Computation Tree Logic (CTL) on propositionaalinen haarautuvan ajan temporaalilogiikka, jonka Clarke ja Emerson määrittelivät artikkelissaan [3]. Klassisen propositiologiikan mukaisesti atomilauseista muodostetaan loogisilla lausekonnektiiveilla propo-

sitiolauseita, jotka ilmaisevat yksittäisiin ajan hetkiin liittyviä ominaisuuksia. Aikaoperaattoreiden avulla ominaisuudet laajennetaan koskemaan lineaarisia rakenteita, jotka koostuvat peräkkäisistä, aikajärjestykseen asetetuista, ajan hetkistä. CTL:n syntaksi määrittelee ainoastaan aikaoperaattorin kunnes (U), jonka avulla voidaan määritellä edelleen muita aikaoperaattoreita. Laskentapuu järjestelmän suoritusmallina kuvaa sekä tilojen ajallista järjestystä että ohjelman suorituksen haarautumista. CTL sisältää polkukvanttorit kaikilla poluilla (A) ja jollakin polulla (A), jotka mahdollistavat ominaisuuksien ilmaiseminen haarautuvassa rakenteessa. Määritelmä 1.3 CTL kielen syntaksi: CTL ::= P j?j(ctl! CTL) j E (CTL U + CTL) j A (CTL U + CTL) j: CTL:n syntaksi määrittelee tiukasti, että yhteen polkukvanttoriin voi liittyä täsmälleen yksi aikaoperaattori, eli polkukvanttorit ja aikaoperaattorit esiintyvät aina pareittain. CTL kaavat tulkitaan suhteessa järjestelmän suoritusta mallintavaan (äärettömään) laskentapuuhun. Merkitsemme laskentapuun yksikäsitteistä juurisolmua w 0 :lla. Kukin laskentapuun solmu voidaan saavuttaa juurisolmusta w 0 ainoastaan yhtä äärellistä polkua pitkin. Seuraajarelaation transitiivisen sulkeuman suhteen siis pätee, että (w 1 ;w 2 ) 2 I(<), joss solmu w 1 on juurisolmusta w 0 solmuun w 2 johtavan polun varrella. w 0 j= E(' U + ψ) joss on olemassa jokin juurisolmua seuraava solmu w 1, jossa kaava ψ pätee ja kaikissa niissä solmuissa, jotka ovat polulla juurisolmusta solmuun w 1 pätee kaava '. w 0 j= A(' U + ψ) joss kaikilla maksimaalisilla poluilla juurisolmulla on jokin seuraajasolmu w 1, jossa kaava ψ pätee ja kaikilla poluilla, kaikissa juurisolmun ja solmun w 1 välisissä tiloissa pätee '. CTL:n syntaksi määrittelee ainoastaan aikaoperaattorin U + (yhdessä kummankin polkukvanttorin). Sen avulla voimme kuitenkin määritellä lyhenteet seuraavassa ajanhetkessä (X), jonakin tulevana ajanhetkenä/aina lopulta (F) jaaina (G). Tarkastellaan aluksi aikaoperaattoria X: EXψ, E(?U + ψ) (1) AXψ, A(?U + ψ) (2) EXψ, :AX:ψ (3) AXψ, :EX:ψ (4) Aikaoperaattorilla seuraavassa ajanhetkessä (tilassa) on kaksi varianttia. Operaattoreiden X ja X ero tulee esille ainoastaan, jos järjestelmän mallissa esiintyy lopputiloja (terminal states). KaavaEXψ ilmaisee, että välttämättä jossakin seuraajatilassa pätee ψ, joten epäsuorasti kaava vaatii myös, että kulloinkin tarkasteltavalla tilalla on ainakin 2

yksi seuraajatila. Kaava AXψ pätee ainoastaan, joskaikissaolemassa olevissa seuraatiloissa pätee ψ. Jos tarkasteltavalla tilalla ei ole seuraajatiloja, kaava pätee kyseisessä tilassa. Siis lopputilassa, jossa tilalla ei ole yhtään seuraajaa, kaava AXψ pätee, mutta AXψ ei (huomaa, että operaattori X määritellään käyttäen operaattoria U + ). Malleissa, joissa ei ole lopputiloja, operaattoriparien EX ja EX,sekäAX ja AX semantiikka on sama. Kaikki CTL:n next-time-operaattorit ovat määriteltävissä EX:n avulla, sillä 3 AXψ $ (AXψ ^ EX>) (5) EXψ $ (EXψ _ AX?) $ (EX>! EXψ): (6) Aikaoperaattorit jonakin tulevana ajanhetkenä/aina lopulta (F) jaaina (G) määritellään myös lyhenteinä: EF + ψ, E(>U + ψ) (7) EF Λ ψ, (ψ _ EF + ψ) (8) AF + ψ, A(>U + ψ) (9) AF Λ ψ, (ψ _ AF Λ ψ) (10) (11) EG + ψ, :AF + :ψ (12) EG Λ ψ, (ψ ^ EG + ψ) (13) AG + ψ, :EF + :ψ (14) AG Λ ψ, (ψ ^ AG + ψ) (15) Kaava EF Λ ψ vaatii, että laskentapuussa on ainakin yksi tila, jossa kaava ψ on voimassa. Kaavan AF Λ ψ mukaan ψ toteutuu mallin jokaisella maksimaalisella polulla. Kaava AG Λ ψ ilmaisee globaalin invarianttiominaisuuden määrittäessään, että ψ:n tulee olla voimassa kaikkialla. Vastaavasti kaava EG Λ ψ ilmaisee lokaalin invarianttiominaisuuden ja vaatii, että jonkin polun kaikissa tiloissa on ψ voimassa. Kaavat, joissa aikaoperaattori on muotoa fg; Fg Λ ψ vaativat, että ominaisuus pätee jollekin tai kaikille (riippuen käytetystä polkukvanttorista) tarkasteltasta tilasta lähteville poluille, kyseinen tila mukaanlukien. Kaavat, joissa esiintyy aikaoperaattorin toinen variantti (fg; Fg + ψ) ovat kiinnostuneita ominaisuuden voimassaolosta vasta tarkasteltavan tilan välittömistä seuraajatiloista lähtien. Määrittelemme Λ -variantit aikaoperaattorille U + : (16) E('U Λ ψ), (ψ _ ' ^ E('U + ψ)) (17) A('U Λ ψ), (ψ _ ' ^ A('U + ψ)) (18)

Algoritmien ja todistusten konstruoinnin kannalta on edullista määritellä mahdollisimman vähän perusoperaattoreita. CTL:n syntaksissa määrittelimme perusoperaattoreina E('U + ψ) ja A('U + ψ). Riittää kuitenkin määritellä EU + ja AF + perusoperaattoreina, sillä AU + voidaan ilmaista näiden avulla: A('U + ψ) $ (A(' W + ψ)) ^ AF + ψ) (19) = (:E(:ψU + :(' _ ψ)) ^ AF + ψ): (20) Esimerkiksi CTL-kaava EF + (started ^:ready) ilmaisee ominaisuuden jossakin alkutilaa seuraavassa tilassa jokin on aloitettu, mutta ei ole vielä valmis. Jos kyseessä olisi mikroaaltouuni, kaavan toteutuminen edellyttäisi, että mikroaaltouunin ohjausohjelmassa on mahdollista päästä tilaan, jossa lämmitys on aloitettu, mutta lämmitysaikaa on vielä jäljellä. Koska kaavan toteutuminen selvästikin vaatii, että jotakin hyvää tapahtuu, eli lämmitys aloitetaan (mutta ei samantien lopeteta), se kuvaa elävyysominaisuutta. Kaava AG Λ (req! AF + ack) ilmaisee tyypillisesti tietoliikenneprotokollaa kuvaavan turvallisuusominaisuuden jos lähetetään pyyntö, siihen aina lopulta saadaan kuittaus. Kyseessä on globaali invariantti eli kaavan tulee olla voimassa laskentapuun kaikkien polkujen kaikissa tiloissa. Kaavan toteutuminen ei kuitenkaan välttämättä takaa protokollan oikeanlaista toimintaa. Jos järjestelmä ei tee mitään (eikä näin ollen yhtään sanomaa lähetetä), kyseinen ominaisuus on silti voimassa. Logiikoiden CTL ja LTL keskinäinen vertailu on hankalaa, sillä alla olevat mallit ovat erilaiset (laskentapuu vs. yksittäinen laskentasekvenssi). Tämän vuoksi tarkastelemmekin logiikoita suhteessa Kripke-malliin (U; I;w 0 ). Toisin kuin laskentasekvensseissä ja -puissa, Kripke-mallissa voi olla esimerkiksi silmukoita sekä erillisten tilojen välillä, että tilassa itsessään (self-loop). LTL:n suhteen rajoitumme ainoastaan tulevaisuutta käsitteleviin kaavoihin (future formulae), sillä edellä määrittelimme haarautuvalle ajalle, että alkutila on yksikäsitteinen, eikä sillä ole edeltäviä tiloja. LTL-kaava on sekvenssipätevä (sequence-valid) Kripke mallissa M, joss se pätee kaikille kyseisestä mallista generoiduille luonnolllisille malleille ((w 0 ;w 1 ;:::); I;w 0 ). Eli jos kaava on voimassa kyseisen maailman U kaikilla niillä maksimaalisilla poluilla (w 0 ;w 1 ;:::), jotka alkavat alkutilasta w 0. Vastaavasti CTL-kaava on puupätevä (tree-valid), jos sen ilmaisema ominaisuus on voimassa Kripke-mallista generoidun laskentapuun alkutilassa. Nyt vertaillessamme LTL ja CTL logiikoiden ilmaisuvoimaa, voimme todeta, että kumpikaan logiikoista ei ole toistaan ilmaisuvoimaisempi. Esimerkiksi LTL-kaava F + G + p ei ole ilmaistavissa CTL logiikan kaavana. Vastaavasti CTL-kaava AG + EF + p ei ole ilmaistavissa LTL-logiikan kaavana. Kripke-malleilla logiikka CTL Λ sisältää logiikat CTL ja LTL. Se erottaa polkukvantifioinnin ja aikakvantifioinnin käsitteet, joten voimme kirjoittaa kaavoja, jotka ovat muotoa EG Λ F Λ p. Binääripuilla logiikan CTL Λ ilmaisuvoimaa voidaan verrata ensimmäisen kertaluvun logiikkaan, kun lisätään siihen toisen kertaluvun kvantifiointi laskentapoluille. 4

2 Propositionaalisesti kvantifioitavat logiikat 5 Ensimmäisen kertaluvun ja temporaalilogiikan avulla emme kykene ilmaisemaan ominaisuuksia kuten: väittämä ' on voimassa joka toisessa pisteessä/laskentasekvenssin tilassa. Yritämme ilmaista kyseisen ominaisuuden LTL ja FOL -kaavoina: G 2n LT L', ' ^ G Λ ('! XX') (21) (G 2n FOL ')(t 0 ), '(t 0 ) ^8t t 0 ('(t)!8t 1 ;t 2 (t ffi t 1 ffi t 2! '(t 2 ))) (22) Yllä olevat kaavat kuvaavat vahvemman ominaisuuden, kuin mitä alunperin halusimme. Kaavat sisältävät implisiittisen vaatimuksen sille, että jos ominaisuus ' on voimassa alkutilassa ja sitä välittömästi seuraavassa tilassa, niin sen täytyy olla voimassa mallin kaikissa tiloissa. Otamme käyttöön uuden proposition q, jonka avulla spesifioimme tarkasteltavan mallin (maailman U) ne tilat (pisteet), joissa kaavan ' totuus halutaan evaluoida. Toisin sanoen rajaamme proposition q ilmaiseman ominaisuuden perusteella kokonaistilaavaruudesta (maailmasta) sen osan, jossa kaavan ' ilmaisemaa ominaisuutta tarkastellaan. Kaavan totuus siis määrätään kussakin tilassa kahdessa eri vaiheessa. Lisäproposition avulla voimme määrittää ominaisuuksia, jotka ovat tyyppiä joka toisessa tilassa ' : G 2n $ 9q(G 2n LT L q ^ G Λ (q! ') (23) (G 2n ')(t 0 ) $ 9q((G 2n FOL q)(t 0 ) ^8t t 0 (q(t)! '(t)))) (24) Temporaalipropositio, jolla tarkastelun kohteena oleva tila-avaruus määritetään, riippuu luonnollisesti siitä, mikä on tarkastelun kohteena oleva oleva malli (maailma) ja minkälaisen ominaisuuden verifioitava kaava ilmaisee. Ensimmäinen yo. kaavoista (23) on qtl (quantified Temporal Logic) logiikkaa ja jälkimmäinen (24) monadisen toisen kertaluvun logiikkaa (MSOL). 2.1 qtl (quantified Temporal Logic) Väitöskirjassaan Theoretical Issues in the Design and Verification of Distributed Systems[?, Sis83]uonna 1983 A. P. Sistla määritteli aikalogiikan laajennoksena qtl kielen. Määritelmä 2.1 (qtl kielen syntaksi) : qtl ::= P jqj?j(qtl! qtl) j (qtl U + qtl) j qtl U qtl) j9qqtl: Temporaaliproposition käyttö on mahdollista, kun sisällytämme kieleen toisen syntaktisen luokan propositiomuuttujille. Muuttujavaluaatiot kiinnittävät kuhunkin toisen kertaluvun muuttujaan joukon tiloja kokonaistila-avaruudesta (s.e. v(q) U). Kaava 9q ' pätee mallille M = (U; I;v), jos' pätee jollekin mallille M 0 = (U; I;v 0 ),

6 missä korkeintaan muuttujavaluaatio q:n osalta poikkeaa alkuperäisen mallin M valuaatiosta. Mallissa M 0 tarkasteltavien tilojen joukko voi olla esimerkiksi osajoukko mallin M tiloista. Luonnollisilla malleilla U + ja U -operaattorit on mahdollista määritellä operaattoreiden G Λ ja X avulla (Lemma 3.3. + seurauslause): ('U + ψ) $ 8q(G Λ (X(ψ _ (' ^ q))! q)! q): (25) 2.2 MSOL (Monadic Second Order Logic) Vastaavasti, kuin edellä temporaalilogiikkaa, voimme laajentaa myös ensimmäisen kertaluvun logiikkaa (FOL) ja kvantifioida yli valitun pistejoukon. FOL logiikan laajennosta kutsutaan monadiseksi 1 toisen kertaluvun logiikaksi (MSOL, Monadic Second Order Language). Määritelmä 2.2 MSOL kielen syntaksi: MSOL ::= P(T ) jq(t ) j?j(msol! MSOL) jr + (T ; T ) j9t MSOLj9QMSOLj Kuten edellä, alla oleva malli on M = (U; I;v) ja eri muuttujavaluaatiot (v; v 0 ;:::) kiinnittävät kuhunkin luokan Q toisen kertaluvun muuttujaan erilaisia pistejoukkoja maailmasta U. Luonnollisilla malleilla logiikat qtl ja MSOL ovat yhtä ilmaisuvoimaisia. 2.3 Propositionaalinen μ-kalkyyli Laskennan vaativuuden kannalta ei ole aina edullista sallia mielivaltaisia kvantifiointeja yli maailman U kaikkien erilaisten tila- tai pisteosajoukkojen. Sen vuoksi tilatai pistejoukkojen kvantifiointiin liitetään kiintopisteiden käsite, joka määrittää tavan kvantifioida tila- tai pistejoukkoja. Kun toisen kertaluvun logiikkaan liitetään kiintopistekvantifiointi, saadaan tuloksena propositionaalinen μ-kalkyyli (μtl) [2,9,4,6]. Määritelmä 2.3 μtl kielen syntaksi: μtl ::= P jqj?j(μtl! μtl) j hri μtl j νq μtl. Kielen semantiikka määritellään tässä logiikoiden MSOL ja FOL kautta: ffl MSOL('), kun ' ={p 2P;?; (ψ 1! ψ 2 ); hriψ} kuten FOL(') (ch. 2.3) ffl MSOL(q), q(t 0 ),josq 2Q ffl MSOL(νq'), 9q(q(t 0 ) ^8t(q(t)! MSOL(')(t 0 := t))) 1 monadinen = yksipaikkainen

ffl MSOL(μq'), 8q(8t(MSOL(')(t 0 := t)! q(t))! q(t 0 )). 7 Kaava '(t 0 := t) muodostetaan kaavasta ' korvaamalla jokainen muuttujan t 0 vapaa esiintymä muuttujalla t. Perusoperaattorina μ-kalkyylissa on ν, joka on merkitykseltään rajoitettu eksistentiaalikvanttori yli tila- tai pistejoukon. μ-operaattori on merkitykseltään rajoitettu universaalikvanttori ja on määriteltävissä ν-operaatorin avulla: μ = :νq:('fq := :qg). Vastaavasti kuin edellä, kaava '(t := ψ) muodostetaan kaavasta ' korvaamalla jokainen muuttujan t vapaa esiintymä kaavalla ψ. Vaikka kaava ('U + ψ) määritellään eksistentiaalisena ensimmäisen kertaluvun lauseena, μtl kielessä se samaistetaan μ-kaavaan. Kaavassa korvaamme yksipaikkaisen timanttioperaattorin < R > operaattorilla X. Nyt voimme ilmaista kaavan (25) seuraavasti: Mj=('U + ψ) $ Mj= μqx(ψ _ ' ^ q): (26) Luonnollisille malleille voidaan vastaavasti muitakin aikaoperaattoreita kuvata μtl kaavoilla: F + ψ $ μqx(ψ _ q) (27) ('W + ψ) $ νqx(ψ _ ' ^ q) (28) G Λ ψ $ νq(ψ ^ Xq) (29) ('U Λ ψ) $ μq(ψ _ ' ^ Xq) (30) μtl on ilmaisuvoimaltaan vähintään samaa luokkaa kuin CTL (ja CTL Λ ) ja suurin osa ohjelmoitavista logiikoista. 2.3.1 Kiintopisteet Seuraavassa tarkastelemme kvanttoreiden v ja μ merkitystä käyttäen käsitteitä suurin ja pienin kiintopiste. Koska ainoastaan monotonisille kaavoille voidaan taata kiintopisteen olemassaolo, aloitamme monotonisuuden määritelmällä: Määritelmä 2.4 Funktio f :2 U! 2 U on monotoninen, jos P Q! f (P ) f (Q): (31) Määritelmä 2.5 Funktion f kiintopiste on mikä tahansa joukko Q, jolle f (Q) =Q. Määritelmä 2.6 Funktion f esikiintopiste on mikä tahansa joukko, Q U, jolle f (Q) Q.

Määritelmä 2.7 Funktion f jälkikiintopiste on mikä tahansa joukko, Q U, jolle Q f (Q). Määritelmä 2.8 Funktion f suurin kiintopiste on jälkikiintopistejoukkojen yhdiste S fqjq f (Q)g. Määritelmä 2.9 Funktion f pienin kiintopiste on esikiintopisteiden leikkaus T fqjf (Q) Qg. Teoreema 1 (Knaster-Tarski) Olkoon f :2 U! 2 U monotoninen funktio. Tällöin ffl funktiolla f on -järjestyksen suhteen yksikäsitteinen suurin kiintopiste, joka on S fqjq f (Q)g ja ffl funktiolla f on -järjestyksen suhteen yksikäsitteinen pienin kiintopiste, joka on T fqjf (Q) Qg. 8 2.3.2 Predikaattimuuntimet Kehyksessä F = (U; I) kaava ' määrittää maailmasta sellaisten pisteiden joukon ' F U, joissa kaava pätee. Kaava ', jossa on vapaa propositiomuuttja q määrittää kehyksessä F =(U; I) funktion, predikaattimuuntimen ' F q : U! U, joka on kuvaus pisteiden joukolta pisteiden joukolle. Jos Q U, niin ' F q (Q), fwj(u; I 0 ;w) j= 'g, missä I 0 eroaa I:sta ainoastaan q:n osalta. Logiikan μtl ja kiintopisteiden yhteys: ffl (νq ') F = gfp(' F q ) ffl (μq ') F = lfp(' F q ) Kaava ' on positiivinen q:ssa, jos jokainen propositiomuuttujan q vapaa esiintymä kaavassa ' on positiivinen. Kuten yleensä, muuttuja q on kaavassa ' positiivinen, jos muuttujaan liittyvien negaatiomerkkien määrä on parillinen ja negatiivinen, jos siihen liittyvien negaatiomerkkien määrä on pariton. Propositiomuuttuja q on positiivinen ffl kaavassa q, ffl kaavassa ('! ψ), joss se esiintyy negatiivisena kaavassa ' tai positiivisena kaavassa ψ, ffl kaavassa < R >' ja νq 0 ', jos se on positiivinen kaavassa '. Kaava ' on positiivinen q:ssa, jos sen jokainen alikaava νqψ on positiivinen q:ssa. Jos ' on positiivinen q:ssa, niin ' F q on monotoninen predikaattimuunnin. Jos ' on positiivinen, niin

9 ffl j= νq ' $ 'fq := νq 'g ffl j= μq ' $ 'fq := μq 'g ffl Jos (U; I) j= (X $ 'fq := Xg), niin (U; I) j= (X! νq ') ja (U; I) j= (μq '!X). ffl (U; I) j= (X! 'fq := Xg)! (U; I) j= (X! νq ') ffl (U; I) j= ('fq := Xg!X)! (U; I) j= (μq '!X). Kaavan (26) mukaan luonnollisilla malleilla ('U + ψ) on kaavan X(ψ _ ' ^ q) pienin kiintopiste. Vastaavasti kaavan X(ψ _ ' ^ q) suurin kiintopiste on ('W + ψ).näinollen voimme esittää perustellusti seuraavat rekursio- ja induktioaksioomat: Rekursioaksiooma: j= ('U + ψ) $ X(ψ _ ' ^ ('U + ψ)); (32) j= ('W + ψ) $ X(ψ _ ' ^ ('W + ψ)): (33) Induktioaksiooma: (U; I) j= (X(ψ _ ' ^X)! (U; I) j= (('U + ψ)! χ); (34) (U; I) j= (χ! X(ψ _ ' ^ χ))! (U; I) j= (χ! ('W + ψ)): (35) Positiivinen μtl-kaava ilmaisee predikaattimuuntimen suurimman tai pienimmän kiintopisteen. Monotonisille kaavoille kiintopisteet löytyvät aina, epämonotonisille kaavoille niiden olemassaoloa ei voida taata. Jos malli on kytketty (connected), niin jokainen mallin tila on saavutettavissa nykyisestä tilasta. Toisin sanoen 8w; w 0 (w < w 0 _ w = w 0 _ w > w 0 ). Tällöin operaattori G + korvaa ensimmäisen kertaluvun universaalikvanttorin s.e. M j= 8tp(t), joss Mj= G + p. Tällöin: Mj= νq' $ Mj= 9q(q ^ G + (q! ')); (36) Mj= μq' $ Mj= 8q(G + ('! q)! q): (37) Kytketyille, ja näin ollen myös luonnollisille malleille, μtl on korkeintaan yhtä ilmaisuvoimainen kuin qtl ja MSOL.

3!-automaatit ja!-kielet 10 Luonnollisessa mallissa M, (U; I;w 0 ) tulkintafunktio I : P! 2 U kertoo jokaista propositiota kohden, missä maailman U osajoukossa kyseinen propositio on voimassa. Määritelläään päinvastaiseen suuntaan toimiva merkintäfunktio L : U! 2 P, joka ilmaisee kuhunkin pisteeseen liittyvän merkinnän eli siinä voimassa olevat propositiot. Jos U = (w 0 ;w 1 ;w 2 ;:::), niin merkintöjen jonoa ff = (L(w 0 ); L(w 1 ); L(w 2 );:::) kutsutaan!-sanaksi aakkostossa ±, 2 P. Ja edelleen,!-kieli on!-sanojen joukko. Toisaalta, määritelmän mukaan jokainen LTL kaava kuvaa niiden luonnollisten kehysten (U; fi(r)jr 2Rg) joukon, joissa se on aina voimassa alkutilassa (initially valid). Näin ollen kaava kuvaa myös ne!-kielet, joka kustakin kehyksestä on mahdollista generoida. Kieliä määriteltäessä riittää, että tarkastelemme temporaalilogiikan osalta ainoastaan tulevaisuutta. LTL ja qtl logiikoilla on kyky erotella aikavaiheet (separation property) menneisyys (pure past), nykyhetki (pure present) ja tulevaisuus (pure future), kuten jo aikaisemmin on todettu (lemmat 2.6 ja 3.11). Edelleen, jokaiselle LTL tai qtl logiikan kaavalle löytyy vastaava, ainoastaan tulevaisuuteen viittaava kaava, joka määrittelee täsmälleen saman kielen (lemma 3.12). Kieliä voidaan määritellä myös (!-)säännöllisillä lausekkeilla ja äärellisillä (!-)automaateilla. Seuraavassa esitämme määritelmän (!)-säännöllisen lausekkeen kuvaamalle kielelle: Määritelmä 3.1 (!)-säännöllisen lausekkeen kuvaamalle kielelle pätee: ffl Jokainen aakkoston merkki on!-säännöllinen ilmaisu. ffl Jos ff ja fi ovat!-säännöllisiä ilmaisuja, niin niitä ovat myös " (tyhjä kieli), (ff + fi) (yhdiste), (ff; fi) (peräkkäiskompositio) ja ff + (kielen sanojen äärellinen toisto). ffl Jos ff on!-säännöllinen ilmaisu, niin sellainen on myös ff! (kielen sanojen ääretön toisto.) Esimerkiksi!-säännöllinen lauseke (:p1)! + (> + ; p2)! määrittää kaikki ne äärettömät sanat (ff 0 ;ff 1 ;ff 2 ;:::), joissa joko 8i pätee, että p1 =2 ff i tai äärettömän monelle i:lle pätee, että p2 2 ff i. Lisäksi lauseke määrittää niiden luonnollisten mallien (U; fi(r)jr 2R; fi(p)jp 2Pg) joukon M, joille Mj= G Λ (:p1^x>)_g Λ F + p2. Koska kaavan mukaan kunkin luonnollisen mallin kaikilla pisteillä tulee olla seuraaja, mallien täytyy olla äärettömiä.!-automaatti määritellään kuten tavallinen epädeterministinen automaatti, laajennettuna erillisellä toistotilojen (recurring states) joukolla. Toistotilat sisällyttävät reiluusehdon automaattiin.

11 -p1 -p1 T T p2 Kuva 1: Büchi-automaatti Määritelmä 3.2 Kun ± = 2 P, niin!-automaatti on monikko (S; ;S 0 ;S acc ;S rec ), missä ffl S on tilojen joukko, ffl S ± S on siirtymärelaatio ffl S 0 S on alkutilojen joukko ffl S acc S on hyväksyvien tilojen joukko (äärellisille sanoille) ffl S rec S on toistotilojen joukko (äärettömille sanoille). Büchi-automaatti on äärellistilainen!-automaatti, reilu siirtymäsysteemi, jossa tilojen joukko S on äärellinen. LTS (Labelled Transition System) on siirtymäsysteemi, jossa kaikki tilat ovat toistotiloja ja hyväksyviä tiloja. Heikosti reilu siirtymäsysteemi on sellainen!-automaatti, jossakaikkitilatovattoistotilojaja ainoastaanlopputilat (terminal states), joista ei ole siirtymää seuraajatilaan, ovat hyväksyviä tiloja. Yleensä LTS:ien ja heikosti reilujen siirtymäsysteemien yhteydessä ei käytetä hyväksyvien tilojen ja toistotilojen käsitteitä. Määritelmä 3.3 (!-automaatin hyväksymisehto)!-automaatti hyväksyy epätyhjän sanan ff, (ff 0 ;ff 1 ;ff 2 ;:::), jos löytyy jokin funktio ρ, joka liittää jokaiseen muuttujan i (< jffj) arvoon jonkin automaatin tilan (ρ(ff i ) 2 S s.e. ffl ρ(0) kuuluu alkutilojen joukkoon, ffl 8i :0» i<n:(ρ(i);ff i ;ρ(i + 1)) 2 ja ffl (ρ(n);ff n ;s) 2, missä s on hyväksymistila ja ff on äärellinen ja ffl jos sana on ääretön ja inf (ρ) on äärettömän usein ρ:ssa esiintyvien tilojen joukko, niin inf (ρ) S rec 6= fg (ainakin yhdessä toistotilassa vieraillaan äärettömän usein). T

Automaatti hyväksyy luonnollisen mallin M, joss se hyväksyy mallin M generoiman!-sanan. Siirtymäsysteemin kieli muodostuu niiden polkujen joukosta, jotka saadaan aukikerimällä (unwinding) siirtymäsysteemi. Kuvan 1 Büchi-automaatti määrittelee täsmälleen saman kielen kuin!-säännöllinen lauseke (:p1)! +(> + ; p2)!.!-säännölliset lausekkeet ja Büchi-automaatit ovat ilmaisuvoimaltaan samanarvoisia. 12

4 Toisen kertaluvun kielten ilmaisuvoima 13 Teoreema 2 (Büchi, Wolper, Sistla)! -kielten määrittelyssä seuraavilla formalismeilla on sama ilmaisuvoima: ffl μtl ffl qtl ffl MSOL ffl Büchi-automaatit ffl!-säännölliset lausekkeet. Jokaiselle μtl kaavalle voidaan muodostaa vastaava qtl kaava määritelmään perustuen. Lemman 3.2 mukaisesti MSOL ja qtl kielten ilmaisuvoima on sama. Lemman 3.14 mukaan jokaista qtl ja MSOL kaavaa vastaa jokin Büchi-automaatti, joka määrittää samanlaisen mallien joukon, kuin ko. kaavat. Lemman 3.13 sanoo, että!- säännölliset lausekkeet ja Büchi-automaatit ovat samanarvoisia, ja edelleen lemmassa 3.15 todettiin, että!-säännölliset lausekkeet voidaan muttaa μtl-kaavoiksi.

Viitteet 14 [1] Pnueli A. Ben-Ari M., Manna Z. The temporal logic of branching time. Acta Informatica, 20:207 226, 1983. [2] E.M. Clarke and E.A. Emerson. Characterizing Properties of Parallel Programs as Fixpoints. In 7th International Colloqium on Automata, Languages and Programming, number 85 in Lecture Notes in Computer Science, 1980. [3] E.M. Clarke and E.A. Emerson. Design and Synthetis of Synchronization Skeletons Using Branching Time Temporal Logics. In Workshop on Logic on Programs, number 131 in Lecture Notes in Computer Science. Springer-Verlag, 1981. [4] Kozen D. Results on the propositional μ-calculus. Theoretical Computer Science, 27:333 354, 1983. [5] Halpern J.Y. Emerson E.A. sometimes and not never revisited: on branching time vs. linear time. Journal of the ACM, 33:151 178, 1986. [6] Parikh R. Kozen D. A decision procedure for the propositional μ-calculus. In Proceedings of Int. Symp. Logic of Programs, 1983. [7] L. Lamport. sometimes is sometimes not never. In Proceedings of 7th Annual ACM Symposium on Principles of Programming Languages, pages 174 185. ACM, 1980. [8] A. Pnueli. The temporal logic of programs. In Proceedings of 18th Annual IEEE Symposium on Foundations of Computer Science, pages 46 57, 1977. [9] Pratt V. A decidable μ-calculus. In Proceedings of Annual ACM Symposium on Foundations of Computer Science, 1981.