Wykªady z automatycznej weryfikacji
Transkrypt
Wykªady z automatycznej weryfikacji
Wykªady z automatycznej werykacji Jacek Cicho« 28 kwietnia 2015 2 Spis tre±ci 1 Automaty sko«czone 1.1 7 Domkni¦cie boolowskie automatów sko«czonych . . . . . . . . . . 10 1.1.1 Suma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1.2 Przekrój . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1.3 Dopeªnienie . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1.4 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 J¦zyki regularne 1.3 Zadania 2 Automaty Büchi 15 2.1 Domkni¦cie boolowskie automatów Büchi 2.2 J¦zyki 2.3 Problem niepusto±ci j¦zyka 2.4 Zadania ω -regularne . . . . . . . . . . . . . 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 Logiki modalne 21 3.1 J¦zyk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Semantyka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Podstawowe wªasno±ci 3.4 Podstawowe klasy logik . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . . . . 24 3.4.1 Modele teorii . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4.2 Relacja konsekwencji . . . . . . . . . . . . . . . . . . . . . 26 3.4.3 Teorie klas . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Speªnialno±¢ zda« modalnych 3.6 Zadania 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 Logiki czasowe 4.1 4.2 31 Ekspresyjno±¢ LTL . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.1 35 Przykªad Wolpera . . . . . . . . . . . . . . . . . . . . . . Translacja na automat Buchi 4.2.1 4.3 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konstrukcja automatu Büchi Zadania 36 . . . . . . . . . . . . . . . . 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3 4 SPIS TRECI 5 Dyskretne systemy stanów 41 5.1 Przeksztaªcenie na automat . . . . . . . . . . . . . . . . . . . . . 5.2 Naiwna transformacja formuª na automaty . . . . . . . . . . . . 42 42 Wst¦p W ksi¡»ce tej omówimy wspóªczesne metody (rok 2005) automatycznej werykacji poprawno±ci dziaªania systemów opisywalnych przez sko«czony zbiór stanów. Zakªadamy, »e czytelnik tej ksi¡»ki posiada podstawow¡ wiedz¦ z logiki matematycznej oraz z informatyki: zna rachunek zda«, rozumie podstawowe wªasno±ci rachunku predykatów, zna poj¦cie zªo»ono±ci obliczeniowe. W rozdziale pierwszym omawiamy potrzebne nam fragmenty teorii automatów sko«czonych Poka»emy jak dla danej formuªy temporalnej mo»na zbudowa¢ ? ? Jako literatur¦ pomocnicz¡ do wykªadów mo»na poleci¢ ksi¡»ki [ ] oraz [ ]. Studentom, którzy mog¡ czu¢ niedosyt formalizmu logicznego po trzecim wykªadzie, mo»na poleci¢ ksi¡»k¦ [1]. Jako literatur¦ pomocnicz¡ do materiaªu ? ? ? omawianego w dodatkach mo»na poleci¢ pozycje [ ], [ ] oraz [ ]. Oznaczenia Zbiór liczb naturalnych oznaczamy symbolem N. Liczb¦ 0 zaliczamy do tego zbioru. Iloczyn kartezja«ski zbiorów X AiB oznaczamy przez |X|. A × B. X, P (X). Do zbioru P(X) nale»y zawsze zbiór pusty, oznaczany przez ∅ oraz zbiór X . Niech X b¦dzie ustalonym zbiorem. Wtedy IdX = {(x, x) : x ∈ X}. Moc zbioru oznacza¢ b¦dziemy symbolem Zbiór pot¦gowy zbioru czyli rodzin¦ wszystkich podzbiorów zbioru X, oznaczamy symbolem 5 6 SPIS TRECI Rozdziaª 1 Automaty sko«czone Rozwa»ania nasze rozpoczniemy od omówienia automatów sko«czonych oraz j¦zyków sko«czonych wyra»e«, które s¡ przez te automaty akceptowane. Niech Σ b¦dzie ustalonym zbiorem, który traktowa¢ b¦dziemy jako alfabet. Σ nazywamy otoczk¡ Σ nazywamy oznaczamy symbolem ε. Rodzin¦ wszystkich sko«czonych ci¡gów elementów zbioru Kleeniego zbioru Σ i oznaczamy j¡ przez sko«czonym sªowami nad alfabetem Konkatenacj¦ sªów u, v ∈ Σ∗ Denicja 1.1 (NFA) nad j¦zykiem • Σ Σ. Σ∗ . Elementy zbioru Sªowo puste oznaczamy przez uw. Niedeterministycznym automatem sko«czonym (NFA) nazywamy uporz¡dkowan¡ pi¡tk¦ A = (S, Σ, S0 , δ, F ) tak¡, »e S jest niepustym zbiorem, zwanym zbiorem stanów, • Σ • S0 jest sko«czonym niepustym alfabetem, zwany alfabetem wej±ciowym, jest niepustym podzbiorem zbioru stanów S, zwany zbiorem stanów po- cz¡tkowych • δ : S × Σ → P (S), • F jest podzbiorem Niech A jest zwana funkcj¡ przej±cia, S, zwanym zbiorem stanów ko«cowych w = a1 a2 . . . an . Przebiegiem przez automat A s, t ∈ S kontrolowanym przez sªowo w nazywamy dowolny (r0 , . . . , rn ) taki, »e b¦dzie NFA oraz pomi¦dzy stanami ci¡g stanów 1. r0 = s 2. (∀i < n)(ri+1 ∈ δ(ri , ai+1 )) 3. rn = t 7 8 ROZDZIA 1. Zbiór wszystkich przebiegów przez automat kontrolowanych przez sªowo w AUTOMATY SKOCZONE A pomi¦dzy stanami s, t ∈ S oznaczmy przez runs(A, s, t; w). Przebiegiem przez automat nazywamy dowolny ci¡g stanów A kontrolowanym przez sªowo w = a1 a2 . . . an (r0 , . . . , rn ) taki, »e r0 ∈ S0 oraz (∀i < n)(ri+1 ∈ δ(ri , ai+1 )). Zbiór wszystkich przebiegów przez automat oznaczmy przez r(A, w). r(A, w) = Przyjmujemy, »e A kontrolowanych przez sªowo w Inaczej mówi¡c [ {runs(A, s, t; w) : s ∈ S0 ∧ t ∈ S}. r(A, ε) = S0 . J¦zykiem akceptowanym przez automat niedeterministyczny automat sko«czony A = (S, Σ, S0 , δ, F ) nazywamy zbiór L(A) = {w ∈ Σ∗ : (∃(r0 , . . . , rn ) ∈ r(A, w))(rn ∈ F )} Inaczej mówi¡c L(A) = {w ∈ Σ∗ : (∃s ∈ S0 )(∃t ∈ F )(runs(A, s, t; w) 6= ∅)} Denicja 1.2 (DFA) Deterministycznym automatem sko«czonym (DFA) na- zywamy taki niedeterministyczny automat sko«czony oraz (S, Σ, S0 , δ, F ), »e |S0 | = 1 (∀s ∈ S)(∀a ∈ Σ)(|δ(s, a)| = 1). (∀s ∈ S)(∀a ∈ Σ)(|δ(s, a)| = 1) oznacza, »e istnieje funkcja δe : S × e a)}). Tak wi¦c równowa»nym Σ → S taka, »e (∀s ∈ S)(∀a ∈ Σ)(δ(s, a) = {δ(s, opisem deterministycznego automatu sko«czonego jest pi¡tka (S, Σ, s0 , δ, F ) taka, »e s0 ∈ S oraz δ : S × Σ → S . Element s0 nazywamy stanem pocz¡tkowym. Z Warunek wªa±nie tej reprezentacji deterministycznych automatów sko«czonych b¦dziemy dalej korzysta¢. A = (S, Σ, s0 , δ, F ). Funkcj¦ δ w sposób kanoniczny mo»na δ ∗ okre±lonej na zbiorze S × Σ∗ . Dla s ∈ S kªadziemy ∗ δ (s, ε) = s oraz nast¦pnie dla s ∈ S , w ∈ Σ∗ oraz a ∈ Σ okre±lamy Ustalmy DFA rozszerzy¢ do funkcji mianowicie indukcyjnie δ ∗ (s, wa) = δ(δ ∗ (s, w), a). Bezpo±rednio z denicji wynika, »e rozszerza funkcj¦ przej±cia δ ∗ (s, A) = δ(s, A), czyli, »e rzeczywi±cie δ∗ δ. Ka»dy automat deterministyczny jest oczywi±cie automatem niedeterministycznym. Mniej oczywisty jest odwrotny zwi¡zek pomi¦dzy DFA i NFA. Aby go omówi¢ wprowadzimy pewna metod¦ przeksztaªcania NFA w DFA. Ustalmy niedeterministyczny automat sko«czony A = (S, Σ, S0 , δ, F ). Ap = (P (S), Σ, {S0 }, δ p , F p ), Niech 9 gdzie P (S) oznacza zbiór wszystkich podzbiorów zbioru S, δ p (X, a) = {t1 ∈ S : (∃t0 )(t0 ∈ X ∧ t1 ∈ δ(t0 , a))} oraz F p = {X ∈ P (S) : X ∩ F 6= ∅}. Struktura Ap jest DFA. Powy»sz¡ metod¦ przeksztaªcania NFA w DFA nazy- wamy konstrukcj¡ pot¦gow¡. Niech a, b ∈ Σ. Wtedy (δ p )∗ (X, ab) = {t2 ∈ S : (∃t0 )(∃t1 )(t0 ∈ X ∧ t1 ∈ δ(t0 , a) ∧ t2 ∈ δ(t1 , b)} czyli [ (δ p )∗ (X, ab) = {t ∈ S : runs(A, t0 , t; ab) 6= ∅}. t0 ∈X w ∈ Σ∗ , Ogólnie, je±li to (δ p )∗ (X, w) = [ {t ∈ S : runs(A, s, t; w) 6= ∅}. s∈X Twierdzenie 1.1 (O determinizacji) (∀A ∈ NFA)(L(A) = L(Ap )). Dowód. Niech A = (S, Σ, S0 , δ, F ) b¦dzie w ∈ Σ∗ . Wtedy niedeterministycznym automatem sko«czonym oraz niech w ∈ L(A) ↔ (∃s ∈ S0 )(∃f ∈ F )(runs(A, s, f ; w) 6= ∅) ↔ (∃f ∈ F )(f ∈ (δ p )∗ (S0 , w)) ↔ (δ p )∗ (S0 , w) ∩ F 6= ∅. co ko«czy dowód. Opisany w powy»szym twierdzeniu proces przeksztaªcenia automatu niedeterministycznego, czyli determinizacja automatu, nazywamy konstrukcj¡ pot¦gow¡. Zauwa»my, »e |P (X)| = 2|X| . Zatem opisana procedura determinizacji prowadzi do wykªadniczego wzrostu liczby stanów automatu. W pewnych konkretnych przypadkach moc zbioru stanów mo»na ograniczy¢, gdy» mo»e si¦ okaza¢, »e zbiór {δ(s0 , w) : w ∈ Σ∗ } jest wªa±ciwym podzbiorem zbioru wszystkich stanów. Nie zawsze jednak taka redukcja jest mozliwa. Przykªad 1.1 wa»my j¦zyk Niech Ln Σ = {0, 1}. Ustalmy liczb¦ naturaln¡ n > 0 oraz rozΣ∗ , które na n-tym miejscu od prawego zªo»ony z tych sªów z ko«ca maj¡ symbol 1. Bez wi¦kszego trudu mo»na zbudowa¢ NFA L(A) = Ln który ma n + 1 stanów. takim, »e L(B) = Ln , to automat B Zadanie 2.3). A taki, »e Pokaza¢ za± mo»na, »e je±li B jest DFA n musi mie¢ co najmniej 2 stanów (patrz 10 ROZDZIA 1. 1.1 AUTOMATY SKOCZONE Domkni¦cie boolowskie automatów sko«czonych Podzbiory domkni¦cia Kleeniego Σ∗ wamy NFA-rozpoznawalnym je±li istnieje taki NFA 1.1.1 L ⊂ Σ∗ L = L(A). nazywamy j¦zykami. J¦zyk A taki, »e nazy- Suma A1 = (S1 , Σ, S10 , R1 , F1 ) A2 = (S2 , Σ, S20 , R2 , F2 ) nad tym samym j¦zykiem Σ. Zaªó»my, »e S1 ∩S2 = ∅. Wtedy sum¡ automatów A1 i A2 nazywamy automat Rozwa»my dwa niedeterministyczne automaty sko«czone oraz A1 ⊕ A2 = (S1 ∪ S2 , Σ, S10 ∪ S20 , δ1 ∪ δ2 , F1 ∪ F2 ). Twierdzenie 1.2 L(A1 ⊕ A2 ) = L(A1 ) ∪ L(A2 ) 1.1.2 Przekrój Rozwa»my dwa niedeterministyczne automaty sko«czone A2 = (S2 , Σ, S20 , R2 , F2 ) nad tym matów A1 i A2 nazywamy automat oraz samym j¦zykiem A1 = (S1 , Σ, S10 , R1 , F1 ) Σ. Produktem auto- A1 ⊗ A2 = (S1 × S2 , Σ, S10 × S20 , δ, F1 × F2 ). gdzie δ((s1 , s2 ), A) = δ1 (s1 , A) × δ2 (s2 , A). Twierdzenie 1.3 L(A1 ⊗ A2 ) = L(A1 ) ∩ L(A2 ) 1.1.3 Dopeªnienie Dopeªnieniem automatu A = (S, Σ, S0 , R, F ) (S, Σ, S0 , R, S \ F ). Zaªó»my, »e A nazywamy automat Ac = jest DFA. Wtedy w ∈ Σ∗ \ L(A) ↔ ¬(w ∈ L(A)) ↔ ¬(δ(s0 , w) ∈ F ) ↔ δ(s0 , w) ∈ S \ F. Udowodnili±my wi¦c nast¦puj¡ce twierdzenie: Twierdzenie 1.4 Je±li A jest DFA to Σ∗ \ L(A) = L(Ac ) Twierdzenie to nie jest prawdziwe dla automatów niedeterministycznych, o czym ±wiadczy nast¦puj¡cy przykªad: Przykªad 1.2 wszystkich Niech x ∈ {a, b} Twierdzenie 1.5 A = ({a, b}, {0, 1}, {a}, δ, {b}), gdzie δ(x, i) = {a, b} i ∈ {0, 1}. Wtedy L(A) = L(Ac ) = {0, 1}∗ . oraz Je±li A jest NFA to Σ∗ \ L(A) = L((Ad )c ) dla 1.2. 11 JZYKI REGULARNE Dowód. Przypomnijmy, »e Ap jest DFA. Teza twierdzenia wynika wi¦c z na- st¦puj¡cych równo±ci: L((Ap )c ) = Σ∗ \ L(Ap ) = Σ∗ \ L(A). 1.1.4 Podsumowanie Z rozwa»a« z poprzednich cz¦±ci wynika, »e klasa j¦zyków rozpoznawalnych przez NFA jest domkni¦ta na operacje sumy, przekroju i dopeªnienia. Je±li jest automatem to przez ||A|| A oznacza¢ b¦dziemy moc jego zbioru stanów. W poni»szej tabelce zawarte jest podsumowanie cz¦±ci dotychczasowych rozwa»a«: Operacja Konstrukcja Stany suma A⊕B A⊗B (Ap )c ||A|| + ||B|| ||A|| · ||B|| 2||A|| przekrój dopeªnienie 1.2 J¦zyki regularne Ustalmy alfabet Σ. »e {ε, ∅} ∪ Σ ⊆ RE (, ), +, ∗ nie nale»¡ do Σ. Wyra»eniami Σ nazywamy najmniejsz¡ rodzin¦ wyra»e« RE tak¡, Zaªó»my, »e znaki regularnymi nad alfabetem oraz (∀u, v ∈ RE)((uv) ∈ RE ∧ (u + v) ∈ RE ∧ (u)∗ ∈ RE). L1 , L2 ⊆ Σ∗ okre±lamy L1 L2 = {uv : u ∈ L1 ∧ v ∈ L2 }. Ponadto kªa0 n+1 dziemy (L0 ) = {ε} oraz dla n ∈ N okre±lamy (L0 ) = (L0 )n L0 . W ko«cu S S ∗ n + n kªadziemy (L0 ) = n≥0 (L0 ) i (L0 ) = n≥1 (L0 ) Dla Zdeniujemy teraz zbiory opisywane przez wyra»enia regularne. Opiszemy je przez indukcj¦: 1. [ε] = {ε}, 2. [∅] = ∅, 3. [A] = {A} 4. [(r1 + r2 )] = [r1 ] ∪ [r2 ], 5. [(r1 r2 )] = [r1 ][r2 ], 6. [(r)∗ ] = [r]∗ . dla A ∈ Σ, Mówimy, »e dwa wyra»enia regularne [r] = [s]. atwo mo»na pokaza¢, r + (s + t) oraz (rs)t ≡ r(st). r i dla dowolnych s s¡ równowa»ne (r ≡ s) je±li r, s, t ∈ RE mamy (r + s) + t ≡ 12 ROZDZIA 1. Denicja 1.3 nie regularne L ⊆ Σ∗ [r] = L. J¦zyk r, »e Twierdzenie 1.6 alfabetem Σ Lemat 1.1 Je±li j¦zyk nazywamy regularnym je±li istnieje takie wyra»e- L ⊆ Σ∗ jest regularny to istnieje NFA A nad L = L(A). taki, »e A = (S, Σ, S0 , δ, F ) Niech AUTOMATY SKOCZONE b¦dzie NFA oraz niech s, t ∈ S . Wtedy zbiór L(A, s, t) = {w ∈ Σ∗ : runs(A, s, t; w) 6= ∅} jest j¦zykiem regularnym. Dowód. Zaªó»my, »e A = ({1, 2, . . . , n}, Σ, S0 , δ, F ). Dla i, j ∈ {1, . . . , n} k ∗ k ∈ N niech Rij b¦dzie zbiorem takich sªów w ∈ Σ , »e istnieje przebieg r0 . . . rm ∈ runs(A, i, j, w) taki,»e oraz (∀α)(0 < α < m → rα ≤ k). n n . Ri,j = {w ∈ Σ∗ : runs(A, i, j; w) 6= ∅} oraz L(A, s, t) = Rs,t 0 0 Zauwa»my, »e Rii = {ε} ∪ {A ∈ Σ : i ∈ δ(i, A)}. Je±li za± i 6= j to Rij = {A ∈ Σ : j ∈ δ(i, A)}. Bez trudu te» mo»na zauwa»y¢ nast¦puj¡c¡ rekurencyjn¡ Oczywi±cie zale»no±¢ k+1 k k k k Rij = Rij ∪ Rik (Rk,k )∗ Rkj . k rij . Po pierwsze, kªadziemy k rii = ε + a1 + . . . + al , gdzie {a1 , . . . , al } = {a ∈ Σ : i ∈ δ(i, a)}. Podobnie, je±li k i 6= j to rij = a1 + . . . + al , gdzie {a1 , . . . , al } = {a ∈ Σ : j ∈ δ(i, a)}. Nast¦pnie Zdeniujemy teraz rodzin¦ wyra»e« regularnych poprzez rekursj¦ kªadziemy k+1 k k k k rij = rij + (rik (rk,k )∗ rkj ). Indukcj¡ wzgl¦dem k pokazujemy, »e k k [rij ] = Rij . Zatem n L(A, s, t) = [rs,t ], co ko«czy dowód. Twierdzenie 1.7 Dowód. Dla ka»dego A ∈ NFA Dla dowolnych Ustalmy NFA dowolnych niech rs,t j¦zyk L(A) jest regularny. A = ({1, 2, . . . , n}, σ, S0 , δ, F ). Dla L(A, s, t) = [rs,t ]. b¦dzie takim wyra»eniem regularnym, »e Wtedy L(A) = [ XX rs,t ]. s∈S0 t∈F Twierdzenie 1.8 NFA A L ⊆ Σ∗ jest regularny Σ taki, »e L = L(A). J¦zyk nad j¦zykiem wtedy i tylko wtedy, gdy istnieje 1.3. 1.3 Zadania Zadanie 1.1 j¦zyk 13 ZADANIA Ln Niech Σ = {0, 1}. zªo»ony z tych sªów z maj¡ symbol Ustalmy liczb¦ naturaln¡ Σ∗ , które na n>0 oraz rozwa»my miejscu od prawego ko«ca 1. 1. Znajd¹ NFA o n+1 2. Znajd¹ DFA o 2n stanach który rozpoznaje stanach który rozpoznaje 3. Poka», »e ka»dy DFA który rozpoznaje nów. n-tym Ln Ln . Ln . musi mie¢ co najmniej 2n sta- 14 ROZDZIA 1. AUTOMATY SKOCZONE Rozdziaª 2 Automaty Büchi Niech Σ b¦dzie dowolnym alfabetem. Przez Σω oznacza¢ b¦dziemy zbiór wszy- stkich niesko«czonych ci¡gów elementów zbioru ω -sªowami Σ. Elementy lub niesko«czonymi sªowami nad alfabetem Denicja 2.1 wolny NFA. Σω nazywamy Σ. Niedeterministycznym automatem Büchi (NBA) nazywamy do- Deterministycznym automatem Büchi (DBA) nazywamy dowolny DFA. A = (S, Σ, S0 , δ, F ) b¦dzie NBA oraz w ∈ Σω . Ci¡g r = (r0 , r1 , . . .) ∈ S nazywamy ω -przebiegiem przez A sterowanym przez w = A0 A1 . . . je±li r0 ∈ S0 oraz (∀i ∈ N)(ri+1 ∈ δ(ri , Ai+1 )). Niech ω Zbiór wszystkich przez rω (A, w). ω -przebiegów przez A sterowanych przez ω -sªowo w oznaczamy Okre±lmy ponadto [ rω (A) = rω (A, w). w∈Σ∗ Dla r ∈ Sω deniujemy inf (r) = {s ∈ S : (∀n)(∃k > n)(s = rk )}. J¦zykiem rozpoznawanym przez NBA A nazywamy zbiór Lω (A) = {w ∈ Σω : (∃r ∈ rω (A, w))(inf (r) ∩ F 6= ∅}. Przykªad 2.1 Rozwa»my automat A = ({s, t}, {0, 1}, s, δ, {t}), S Σ δ s 0 s s 1 t t 0 s t 1 t 15 gdzie 16 ROZDZIA 2. Wtedy L(A) = Σ∗ 1 Przykªad 2.2 Wtedy Wtedy oraz oraz A = ({s, t}, {0, 1}, s, δ, {t}), S Σ δ s 0 {s} s 1 {s,t} t 0 {t} t 1 {t} gdzie Lω (A) = Σ∗ 1ω . Rozwa»my automat L(A) = Σ∗ 1 Przykªad 2.4 Lω (A) = (Σ∗ 1)ω . Rozwa»my automat L(A) = Σ∗ 1∗ 1 Przykªad 2.3 Wtedy oraz AUTOMATY BÜCHI A = ({s, t}, {0, 1}, s, δ, {t}), S Σ s 0 s 1 t 0 t 1 gdzie δ {t} {s} {s} {s} Lω (A) = {x ∈ {0, 1}ω : (∃∞ i)(xi = 0)}. Rozwa»my automat L(A) = (0(0 + 1))∗ 0 oraz A = ({s, t}, {0, 1}, s, δ, {t}), S Σ s 0 s 1 t 0 t 1 gdzie δ {t} ∅ {s} {s} Lω (A) = {x ∈ {0, 1}ω : (∀i)(x2i+1 = 0)}. W dalszych rozwa»aniach b¦dziemy si¦ cz¦sto posªugiwali takimi automatami Büchi, w których zbiór zbiór stanów ko«cowych pokrywa si¦ z caªym zbiorem stanów. Takie automaty b¦d¡ sªu»yªy, mi¦dzy innymi, do modelowania badanych systemów. W takich automatach warunek akceptowalno±ci sprowadza si¦ do istnienia dowolnego niesko«czonego przebiegu przez przestrze« stanów. 2.1 Domkni¦cie boolowskie automatów Büchi Bez wi¦kszego trudu mo»na pokaza¢ nast¦puj¡ce twierdzenie: Twierdzenie 2.1 Je±li A i B s¡ NBA to Lω (A ⊕ B) = Lω (A) ∪ Lω (B). Odpowiednie twierdzenie dla produktu nie jest prawdziwe. W celu poradzenia sobie z wyznaczeniem automatu Büchiego dla nowe poj¦cie. Lω (A) ∩ Lω (B) wprowadzamy 2.1. 17 DOMKNICIE BOOLOWSKIE AUTOMATÓW BÜCHI Denicja 2.2 NGBA) Niedeterministycznym uogólnionym automatem Büchie ( Σ nazywamy struktur¦ A = (S, Σ, S0 , δ, F) tak¡, »e S jest niepustym zbiorem, Σ jest sko«czonym niepustym alfabetem, S0 jest niepustym podzbiorem zbioru stanów S , δ : S × Σ → P (S) oraz F ⊆ P (S). nad j¦zykiem NGBA nazywamy deterministycznym (DGBA) je±li funkcja przej±cia deterministyczna oraz |S0 | = 1. δ jest Poj¦cie przebiegu przez NGBA deniuje si¦ tak samo jak dla BFA. Warunek akceptacji dla NGBA wygl¡da nast¦puj¡co: w ∈ LGB (A) = (∃r ∈ rω (A, w))(∀F ∈ F)(inf (r) ∩ F 6= ∅). Zauwa»my, »e LGB ((S, Σ, S0 , δ, {F1 , . . . , Fn })) = n \ Lω ((S, Σ, S0 , δ, Fi )). i=1 Zaªó»my teraz, »e A1 = (S1 , Σ, S10 , δ1 , F1 ) i A2 = (S2 , Σ, S20 , δ2 , F2 ) s¡ NBA. Niech A ⊗b B = (S1 × S2 , Σ, S10 × S20 , δ, {F1 × S2 , S1 × F2 }), gdzie δ((s1 , s2 ), a) = δ1 (s, a) × δ2 (s2 , a). Oczywi±cie A ⊗b B jest uogólnionym A oraz B s¡ deterministyczne, to i ich produkt A ⊗b B automatem Büchi. Je±li jest deterministyczny. Twierdzenie 2.2 (∀A, B ∈ N BA)(Lω (A) ∩ Lω (B) = LGB (A ⊗b B)) Dowód. A = (S1 , Σ, S10 , δ1 , F1 ) i B = (S2 , Σ, S20 , δ2 , F2 ). w ∈ Lω (A) ∩ Lω (B). Wtedy istniej¡ a ∈ rω (A, w) oraz b ∈ rω (B, w) takie, »e inf (a) ∩ F1 6= ∅ oraz inf (b) ∩ F2 6= ∅. Niech r = ((a0 , b0 ), (a1 , b1 ), . . .). Wtedy r ∈ rω (A ⊗b B). Ponadto {i : ri ∈ F1 × S2 } = {i : ai ∈ F1 }, wi¦c inf (r) ∩ (F1 × S2 ) 6= ∅. Podobnie pokazujemy, »e inf (r) ∩ (S1 × F2 ) 6= ∅. Zatem w ∈ LGB (A ⊗b B)). Zaªó»my teraz, »e w ∈ LGB (A ⊗b B)). Niech r = ((a0 , b0 ), (a1 , b1 ), . . .) ∈ rω (A ⊗b B) b¦dzie takim przebiegiem, »e inf (r) ∩ (F1 × S2 ) 6= ∅ oraz inf (r) ∩ (S1 × F2 ) 6= ∅. Wtedy inf ((a0 , a1 , . . .)) ∩ F1 6= ∅ oraz inf ((b0 , b1 , . . .)) ∩ F2 6= ∅, wi¦c w ∈ Lω (A) ∩ Lω (B). Ustalmy NBA Niech Poka»emy teraz, »e uogólnione automaty Büchi mo»na zast¡pi¢ normalnymi automatami Büchi. Twierdzenie 2.3 (∀A ∈ N GBA)(∃B ∈ N BA)(Lω (B) = LGB (A)) Twierdzenie 2.4 (∀A ∈ DGBA)(∃B ∈ DBA)(Lω (B) = LGB (A)) Podamy wspólny dowód obu powy»szych twierdze«. Idea przedstawionej w tym dowodzie konstrukcji jest nast¦puj¡ca: 18 ROZDZIA 2. Dowód. Niech A = (S, Σ, S0 , δ, {F0 , . . . , Fk−1 }) AUTOMATY BÜCHI b¦dzie NGBA. Kªadziemy B = (S × {0, . . . , k − 1}, Σ, S0 × {0}, ρ, [ (Fi × {i})), i<k gdzie δ((s, i), a) = δ(s, a) × {i} δ(s, a) × {i + 1 if mod n} if s∈ / Fi ; s ∈ Fi . Wniosek 2.1 (∀A, B ∈ N BA)(∃C ∈ N BA)(Lω (A) ∩ Lω (B) = Lω (C)) Wniosek 2.2 (∀A, B ∈ DBA)(∃C ∈ DBA)(Lω (A) ∩ Lω (B) = Lω (C)) Zajmiemy si¦ teraz problem rozpoznawania dopeªnie« j¦zyków rozpoznawalnych przez automaty Büchi. Twierdzenie 2.5 (∀A ∈ N BA)(∃B ∈ N BA)(Lω (B) = Σ∗ \ LGB (A)) 2.2 J¦zyki ω -regularne Klasa j¦zyków rozpoznawalnych przez automaty Büchi ma stosunkowo prosty opis. Problemem tym zajmiemy si¦ w tej cz¦±ci. Denicja 2.3 L ⊆ Σω nazywamy j¦zykiem ω -regularnym je±li istnieje taka liczba naturalna n oraz wyra»ania regularne L1 , . . . , Ln i K1 , . . . , Kn , takie, Zbiór »e L= n [ Li · (Ki )ω . i=1 Lemat 2.1 Dowód. Ka»dy NBA-rozpoznawalny j¦zyk jest Ustalmy NBA A = (S, Σ, S0 , δ, F ). ω -regularny. Zauwa»my, »e je±li r ∈ rω (A) to inf (r) ∩ F 6= ∅ ↔ (∃f ∈ F )(f ∈ inf (r)). Z tej prostej obserwacji wynika, »e L(A) = [ [ L((S, Σ, {s}, δ, {f })) s∈S0 f ∈F s ∈ S0 oraz f ∈ F . Niech w ∈ L((S, Σ, {s}, δ, {f }). Istnieje r ∈ rω (A, s, f ). Ustalmy takie r. Niech T = {i ∈ N : ri = f }. niesko«czony. Niech T = {i1 < i2 < i3 < . . .}. Wtedy Ustalmy na chwil¦ wtedy przebieg Zbiór T jest (r0 , . . . rii1 ) ∈ r(A, s, f, (w1 .. . . . wi1 −1 )) oraz (∀k ≥ 1)((rik , . . . rik+1 ) ∈ r(A, f, f, (wik .. . . . wik+1 −1 )) 2.3. 19 PROBLEM NIEPUSTOCI JZYKA Z Lematu 1.1 wiemy, »e dla dowolnych s, t ∈ S j¦zyki {w ∈ Σ∗ : runs(A, s, t; w) 6= ∅} s¡ wyznaczone przez pewne wyra»enia regularne: oznaczmy je przez Lω (A) = [ [ rs,t . Wtedy rs,f · (rf,f )∗ . s∈S0 f ∈F Lemat 2.2 Je±li j¦zyk L jest regularny to j¦zyk Lω jest NBA-rozpoznawalny. Dowód. Lemat 2.3 L · Kω Je±li j¦zyk L jest regularny i K jest NBA-rozpoznawalny, to j¦zyk jest NBA-rozpoznawalny. Dowód. Twierdzenie 2.6 J¦zyk jest NBA-rozpoznawalny wtedy i tylko wtedy gdy jest ω -regularny. Dowód. 2.3 Problem niepusto±ci j¦zyka Twierdzenie 2.7 2.4 Zagadnienie Lω (A) 6= ∅ jest rozstrzygalnie w czasie (O(||A||). Zadania Zadanie 2.1 Znajd¹ automaty Buchi nad alfabetem {0, 1} które akceptuj¡ na- st¦puj¡ce j¦zyki: 1. te sªowa, które zaczynaj¡ si¦ od 1 2. te sªowa, które na trzecim miejscu maj¡ jedynk¦ 3. sªowo zbudowane z samych jedynek 4. te sªowa, które maj¡ niesko«czenie wiele jedynek 5. te sªowa, które maj¡ sko«czenie wiele jedynek 6. te sªowa, które od którego± miejsca maj¡ same jedynki 7. te sªowa, w których po ka»dym zerze wyst¦puje gdzie± dalej jedynka 20 ROZDZIA 2. Zadanie 2.2 AUTOMATY BÜCHI Poka», »e przekrój dwóch relacji równowa»no±ci jest relacj¡ rów- nowa»no±ci. Poka», »e je±li relacja równowa»no±ci R ma r klas abstrakcji za± S ma s klas abstrakcji to ich przekrój ma co najwy»ej r*s klas abstrakcji. Podaj górne oszacowanie ilo±ci klas abstrakcji przekroju sko«czonej ilo±ci relacji równowa»no±ci z których ka»da ma dwie klasy abstrakcji. Zadanie 2.3 Niech A b¦dzie takim uogólnionym automatem Büchi w którym rodzina podzbiorów ko«cowych jest pusta. Jaki automat Búchi rozpoznaje ten j¦zyk? Zadanie 2.4 Niech A Σ oraz niech Lim(A) b¦dzie Σω , które posiadaj¡ dowolne Lω (A) = Lim(A). b¦dzie DFA nad alfabetem zbiorem tych (niesko«czonych) sªów x ze zbioru dªugie preksy ze j¦zyka Zadanie 2.5 Σ L(A). Poka», »e Maj¡c dany automat Buchi który akceptuje j¦zyk L nad alfabetem ΣL oraz Σω L. zbuduj automaty Buchi, które akceptuj¡ j¦zyki Zadanie 2.6 Niech L b¦dzie j¦zykiem regularnym. Poka», »e Lω jest Buchi akceptowalny. Zadanie 2.7 Niech L b¦dzie j¦zykiem regularnym i K j¦zykiem Buchi akcepto- walny. Poka», »e j¦zyk LK jest Buchi akceptowalny. Zadanie 2.8 j¦zyków ω Poka», »e klasa j¦zyków Buchie akceptowalne pokrywa si¦ z klas¡ regularnych. Rozdziaª 3 Logiki modalne 3.1 J¦zyk Ustalmy zbiór zmiennych zdaniowych P. ze standardowych spójników logicznych ♦ spójników oraz . J¦zyk zda« modalnych zbudowany jest ∧, ∨, →, ↔, ¬ oraz dwóch unarnych Oto pewne z mo»liwych interpretacji tych spójników: • ♦ = by¢ mo»e, • ♦ = kiedy±, = z pewno±ci¡ = zawsze Zbiór wszystkich zda« j¦zyka modalnego dla ustalonego zbioru zmiennych zda- P niowych oznacza¢ b¦dziemy przez LM L (P). J¦zyk LM L (P) zawiera zbiór wszystkich zda« klasycznego rachunku zda«, który oznacza¢ b¦dziemy przez LRZ (P). Podstawieniem nazywamy dowolne odwzorowanie σ σ : P → LM L (P). Ka»de σ e LM L (P). Dla p ∈ P kªadziemy σ e(p) = σ(p) i nast¦pnie σ e(¬ϕ) = ¬e σ (ϕ), σ e(ϕ ∨ ψ) = σ e(ϕ) ∨ σ e(ψ), σ e(ϕ ∧ ψ) = σ e(ϕ) ∧ σ e(ψ), σ e(♦ϕ) = ♦e σ (ϕ) itd. podstawienie mo»na przedªu»y¢ w sposób jednoznaczny do odwzorowanie okre±lonego na caªym zbiorze 3.2 Semantyka Ustalmy zbiór zmiennych zdaniowych LM L (P). Denicja 3.1 X a co za tym idzie równie» i zbiór zda« Struktur¡ Kripke nazywamy par¦ uporz¡dkowan¡ jest niepustym zbiorem za± Zbiór P Zajmiemy si¦ teraz omówieniem poj¦cia modeli logik modalnych. X (X, R) tak¡, »e R ⊆ X × X. traktujemy jako zbiór mo»liwych ±wiatów lub te», nieco mniej po- etycko, jako zbiór mo»liwych stanów opisywanego systemu. Relacj¦ jemy jako relacj¦ przej±cia pomi¦dzy ró»nymi ±wiatami. 21 R traktu- 22 ROZDZIA 3. Denicja 3.2 »e (X, R) Modelem Kripke nazywamy trójk¦ uporz¡dkowan¡ Odwzorowanie π nazywamy waluacj¡. Zbiór Denicja 3.3 oraz (X, R, π) tak¡, π : P → P (X). jest struktur¡ Kripke za± tych ±wiatów w których zmienna zdaniowa p∈P LOGIKI MODALNE Niech M=(X, R, π) ϕ, ψ ∈ LM L . Wtedy p π(p) interpretujemy jako zbiór jest prawdziwa. x ∈ X. b¦dzie modelem Kripke oraz 1. (M, x |= p) ↔ (p ∈ π(p)), 2. (M, x |= ¬ϕ) ↔ ¬(M, x |= ϕ), 3. (M, x |= ϕ ∨ ψ) ↔ ((M, x |= ϕ) ∨ (M, x |= ψ)), 4. (M, x |= ϕ ∧ ψ) ↔ ((M, x |= ϕ) ∧ (M, x |= ψ)), 5. (M, x |= ♦ϕ) ↔ (∃y)((x, y) ∈ R ∧ (M, y |= ϕ), 6. (M, x |= ϕ) ↔ (∀y)((x, y) ∈ R → (M, y |= ϕ). Niech Mówimy, »e zdanie jest prawdziwe w modelu, je±li jest prawdziwe w ka»dym ±wiecie tego modelu: Denicja 3.4 Niech Mówimy, »e zdanie ϕ M=(X, R, π) b¦dzie modelem Kripke oraz niech jest prawdziwe w modelu M (M |= ϕ) ϕ ∈ LM L . je±li (∀x ∈ X)(M, x |= ϕ). Mówimy, »e zdanie jest prawdziwe w strukturze Kripke je±li jest prawdziwe w niej przy dowolnej waluacji. Denicja 3.5 Niech wimy, »e zdanie ϕ (X, R) b¦dzie struktur¡ Kripke oraz niech (X, R) ((X, R) |= ϕ) jest prawdziwe w ϕ ∈ LM L . Mó- je±li (∀π : P → P (X))((X, R, π) |= ϕ). Dla dowolnej formuªy modalnej ϕ oraz modelu M = (X, R, π) okre±lamy ||ϕ||M = {x ∈ X : M, x |= ϕ}. Zbiór ||ϕ||M ϕ jest prawdziwa. p ∈ P to ||p||M = π(p). ||ϕ ∨ ψ||M = ||ϕ||M ∪ ||ψ||M oraz ||¬ϕ||M = jest zbiorem tych ±wiatów, w których formuªa Bezpo±rednio z denicji speªniania wynika, »e je±li Ponadto X \ ||ϕ|| ||ϕ ∧ ψ||M = ||ϕ||M ∩ ||ψ||M , M . Bez trudu mo»na sprawdzi¢, »e ||♦ϕ||M = {x ∈ X : (∃y ∈ X)((x, y) ∈ R ∧ y ∈ ||ϕ||M )} oraz ||ϕ||M = {x ∈ X : (∀y ∈ X)((x, y) ∈ R → y ∈ ||ϕ||M )}. 3.3. 23 PODSTAWOWE WASNOCI 3.3 Podstawowe wªasno±ci Rozwa»anie rozpoczniemy od przyjrzeniu si¦ tym zdaniom, które s¡ prawdziwe we wszystkich strukturach Kripke. Denicja 3.6 Mówimy, »e zdanie je±li dla dowolnej struktury Kripke Zauwa»my, »e zdanie ϕ ∈ LM L gdy dla dowolnego modelu Kripke Twierdzenie 3.1 Dowód. acj¦ ϕ ∈ LM L jest tautologi¡ modaln¡ (|=K ϕ) (X, R) mamy (X, R) |= ϕ. jest tautologi¡ modaln¡ wtedy i tylko wtedy, M = (X, R, π) zachodzi równo±¢ ||ϕ||M = X . Ka»da tautologia rachunku zda« jest tautologi¡ modaln¡. Ustalmy model Kripke ρ : P → {0, 1} M=(X, R, π). Niech x ∈ X. Okre±lmy walu- wzorem ρ(p) = 1 ↔ x ∈ ||p||M . Indukcj¡ po stopniu zªo»ono±ci zdania ψ rachunku zda« pokazujemy, »e ρ(ψ) = 1 ↔ x ∈ ||ψ||M . Je±li ψ jest tautologi¡ rachunku zda«, to Twierdzenie 3.2 (p → q) → (p → q) 2. (p ∧ q) ↔ (p ∧ q) 3. (p ∨ q) → (p ∨ q) 4. (¬p) ↔ (♦¬p) 5. (¬♦p) ↔ (¬p) 6. ♦(p ∨ q) ↔ (♦p ∨ ♦q) 7. ♦(p ∧ q) → (♦p ∧ ♦q) 1. Niech M = (X, R, π) Zaªó»my, »e M, x |= p, co ko«czy dowód. b¦dzie modelem Kripke. M, x |= (p → q) ∧ p. Wtedy M, x |= (p → q) czyli (∀y)((x, y) ∈ R → (M, y |= p → q)) ∧ (∀y)((x, y) ∈ R → (M, y |= p)). Zatem (∀y)((x, y) ∈ R → (M, y |= p ∧ (p → q))), a wi¦c Nast¦puj¡ce zdania s¡ tautologiami modalnymi: 1. Dowód. ρ(ψ) = 1, (∀y)((x, y) ∈ R → (M, y |= q)), czyli M, x |= q . oraz 24 ROZDZIA 3. LOGIKI MODALNE 2. Zauwa»my, »e (M, x |= p ∧ q) ↔ (M, x |= p) ∧ (M, x |= q) ↔ (∀y)((x, y) ∈ R → (M, y |= p)) ∧ (∀y)((x, y) ∈ R → (M, y |= q)) ↔ (∀y)((x, y) ∈ R → ((M, y |= p) ∧ (M, y |= q))) ↔ (∀y)((x, y) ∈ R → ((M, y |= p ∧ q) ↔ (M, x |= (p ∧ q)). 3. Zauwa»my, »e (M, x |= p ∨ q) ↔ (M, x |= p) ∨ (M, x |= q) ↔ (∀y)((x, y) ∈ R → (M, y |= p)) ∨ (∀y)((x, y) ∈ R → (M, y |= q)) → (∀y)((x, y) ∈ R → ((M, y |= p) ∨ (M, y |= q))) ↔ (∀y)((x, y) ∈ R → ((M, y |= p ∨ q) ↔ (M, x |= (p ∨ q)). 4. Zauwa»my, »e (M, x |= ¬p) ↔ ¬(M, x |= p) ↔ ¬(∀y)((x, y) ∈ R → (M, y |= p)) ↔ (∃y)((x, y) ∈ R ∧ ¬(M, y |= p)) ↔ (∃y)((x, y) ∈ R ∧ (M, y |= ¬p)) ↔ (M, x |= ♦(¬p))). Pozostaªe wªasno±ci wynikaj¡ ªatwo z poprzednio udowodnionych. 3.4 Podstawowe klasy logik Rozwa»ania nasze zaczniemy od udowodnienia twierdzenia, które charakteryzuje klasy modeli pewnych specycznych zda« modalnych. Twierdzenie 3.3 Niech b¦dzie struktur¡ Kripke. ↔ (X, R) |= p → ♦p. 1. R jest zwrotna 2. R jest przechodnia 3. R jest symetryczna Dowód. (X, R) ↔ (X, R) |= ♦♦p → ♦p. ↔ (X, r) |= p → ♦p 1. Zaªó»my, »e R jest relacj¡ zwrotn¡. Rozwa»my dowoln¡ waluacj¦ π oraz dowolne x ∈ X takie, »e (X, R, π), x |= p. Poniewa» (x, x) ∈ R wi¦c (∃y)((x, y) ∈ R ∧ (X, R, π), x |= p), zatem (X, R, π), x |= ♦p. Pokazali±my wi¦c, »e (X, R, π), x |= p → ♦p. Zaªó»my, teraz, »e (X, R) |= p → ♦p. Ustalmy dowolne x ∈ X . Rozwa»my waluacj¦ π(p) = {x}. Wtedy (X, R, π), x |= p. Zatem równie» (X, R, π), x |= ♦p. Istnieje wi¦c yx ∈ X takie, »e (x, yx ) ∈ R oraz (X, R, π), y |= p. Lecz jedynym elementem t zbioru X takim, »e (X, R, π), t |= p jest element t = x, zatem yx = x, a wi¦c (x, x) ∈ R. 3.4. 25 PODSTAWOWE KLASY LOGIK R jest relacj¡ przechodnia. Rozwa»my x ∈ X takie, »e (X, R, π), x |= ♦♦p. Wtedy 2. Zaªó»my, »e oraz dowolne dowoln¡ waluacj¦ π (∃y ∈ X)(∃z ∈ X)((x, y) ∈ R ∧ (y, z) ∈ R ∧ (X, R, π), z |= p). y, z ∈ X , »e (x, y) ∈ R, (y, z) ∈ R oraz (X, R, π), z |= R wynika, »e (x, z) ∈ R. Zatem (X, R, π), x |= ♦p. Pokazali±my wi¦c, »e (X, R, π), x |= ♦♦p → ♦p. Zaªó»my teraz, »e (X, R) |= ♦♦p → ♦p, (x, y) ∈ R oraz (y, z) ∈ R. Niech π(p) = {z}. Wtedy (X, R, π), x |= ♦♦p. Zatem (X, R, π), x |= ♦p, a wi¦c (x, z) ∈ R. 3. Zaªó»my, »e R jest relacj¡ symetryczn¡. Rozwa»my dowoln¡ waluacj¦ π oraz dowolne x ∈ X takie, »e (X, R, π), x |= p. We¹my dowolny y ∈ X taki, »e (x, y) ∈ R. Wtedy (y, x) ∈ R, a wi¦c (X, R, π), y |= ♦p. Zatem (X, R, π), x |= ♦p. Pokazali±my wi¦c, »e (X, R, π), x |= p → ♦p. Zaªó»my teraz, »e (X, R) |= p → ♦p oraz, »e (x, y) ∈ R. Niech π(p) = {x}. Wtedy (X, R, π), x |= p. Zatem równie» (X, R, π), x |= ♦p. Wi¦c (X, R, π), y |= ♦p. Zatem (y, x) ∈ R. Ustalmy wi¦c takie p. przechodnio±ci relacji 3.4.1 Modele teorii Dowolny zbiór zda« T ⊆ LM L (P) nazywamy teori¡ modaln¡. struktura Kripke (X,R) jest modelem teorii T ((X, R) |= T )) Mówimy, »e je±li (∀ϕ ∈ T )((X, R) |= ϕ). (X, R), »e (X, R) |= TV jest zbiorem sko«czonym, to T jest niesprzeczna je±li niesprzeczne jest zdanie T , czyli koniunkcja wszystkich zda« ze zbioru T . Teoria T. T jest niesprzeczna je±li istnieje taka struktura Kripke atwo zauwa»y¢, »e je±li Denicja 3.7 Niech T b¦dzie teori¡. Modelami teorii T nazywamy elementy klasy M od(T ) = {(X, R) : R ⊆ X 2 ∧ (X, R) |= T }. Z twierdzenia 3.3 wynika nast¦puj¡cy wniosek: 1. M od({p → ♦p}) = {(X, R) : R jest zwrotna}, 2. M od({♦♦p → ♦p}) = {(X, R) : R 3. M od({p → ♦p}) = {(X, R) : R jest przechodnia}, jest symetryczna}. Pewne teorie odgrywaj¡ wa»n¡ rol¦ w zastosowaniach do informatyki. Posiadaj¡ one swoje specyczne nazwy. Oto trzy podstawowe z nich 1. K = ∅, 2. S4 = {p → ♦p, ♦♦p → p}, 26 ROZDZIA 3. 3. LOGIKI MODALNE S5 = S4 ∪ {p → ♦p}. ALL Niech Niech TR oznacza EQ oznacza klas¦ relacji równo- oznacza klas¦ wszystkich struktur Kripke. klas¦ struktur zwrotnych i przechodnich. Niech wa»no±ci. Zauwa»my, »e • • • ALL = M od(K) TR = M od(S4), EQ = M od(S5). 3.4.2 Relacja konsekwencji Denicja 3.8 Niech T oraz Φ b¦d¡ zbiorami zda« onaz niech ϕ b¦dzie zdaniem modalnym. Wtedy (Φ |=T ϕ) ↔ (∀(X, R) ∈ M od(T ))((X, R) |= Φ → (X, R) |= ϕ). Interpretacja relacji (Φ Φ wynika ϕ. |=T ϕ) T ze zbioru zaªo»e« ∅ |=K ϕ wtedy i tylko wtedy, gdy ϕ ∅ |=S4 ϕ jest prawdziwa je±li ϕ jest zdaniem jest nast¦puj¡ca: w logice W szczególno±ci mamy jest tautologi¡ modaln¡. Relacja prawdziwym we wszystkich strukturach zwrotnych i tranzytywnych. ∅ |=T ϕ zapisujemy pro±ciej jako |=T ϕ. Relacj¦ Zauwa»my, »e |=T ϕ ↔ (∀(X, R))((X, R) |= T → (X, R) |= ϕ). Mówimy, »e teoria ϕ ∈ T T jest zamkni¦ta na podstawienia je±li dla dowolnego oraz podstawienia ρ : P → LM L (P) mamy ρ(ϕ) ∈ T . Teoria T jest zamkni¦ta na reguª¦ Modus Ponens ϕ, ϕ → ψ ψ je±li z tego, »e ϕ∈T oraz ϕ→ψ∈T wynika, »e ψ ∈ T. Teoria T jest zamkni¦ta na reguª¦ generalizacji ϕ ϕ je±li z tego, »e ϕ∈T Twierdzenie 3.4 T h(K). Wtedy T wynika, »e Niech ϕ ∈ T . K b¦dzie niepust¡ klas¡ struktur Kripke oraz niech T = jest niesprzeczna, zamkni¦ta na podstawienia oraz na reguªy Modus Ponens i generalizacji. Dowód. T wynika z niepusto±ci klasy K. (X, R) ∈ K, waluacj¦ π oraz podstawienie e = (X, R, π η : P → LM L (P). Niech π e(p) = ||η(p)||M oraz M e). Indukcj¡ po stopniu zªo»ono±ci formuªy modalnej ϕ pokazujemy, »e 2. 1. Niesprzeczno±¢ teorii Ustalmy struktur¦ Kripke ||ϕ||M = ||η(ϕ)||M e 3.4. 27 PODSTAWOWE KLASY LOGIK ||ϕ||M = X wi¦c i ||η(ϕ)||M = X . 3. Zaªó»my teraz, »e ϕ ∈ T oraz ϕ → ψ ∈ T . Ustalmy struktur¦ Kripke (X, R) ∈ K oraz waluacj¦ π . Wtedy (∀x ∈ X)((X, R, π), x |= ϕ) oraz (∀x ∈ X)((X, R, π), x |= ϕ → ψ). Zatem (∀x ∈ X)((X, R, π), x |= ψ), a wi¦c ψ ∈ T . 4. Zaªó»my, »e ϕ ∈ T . Ustalmy struktur¦ Kripke (X, R) ∈ K oraz waluacj¦ π . Wtedy (∀x ∈ X)((X, R, π), x |= ϕ). Zatem (∀x ∈ X)(∀y ∈ X)((x, y) ∈ R IM P ((X, R, π), x |= ϕ), czyli (∀x ∈ X)((X, R, π), x |= ϕ), a wi¦c równie» ϕ ∈ T . Je±li wi¦c ϕ∈T to e Z udowodnionego twierdzenia oraz Twierdzenia 3.4 wynika, »e dla dowolnego ϕ → ♦ϕ i jest tautologi¡ logiki S4. W szczególno±ci, je±li ϕ zdanie ♦p, to otrzymamy ♦p → ♦♦p. Widzimy wi¦c, »e w S4 prawdziwe jest zdanie ♦p ↔ ♦♦p. zdanie ϕ zdania podstawimy za logice 3.4.3 Teorie klas Denicja 3.9 Niech K b¦dzie niepust¡ klas¡ struktur Kripke. Teori¡ klasy K nazywamy zbiór T h(K) = {ϕ ∈ LM L (P) : (∀(X, R) ∈ K)((X, R) |= ϕ)}. Zauwa»my, »e \ T h(K) = T h({(X, R)}). (X,R)∈K Zatem je±li K1 ⊆ K2 to K1 i K2 s¡ dwoma T h(K1 ) ⊇ T h(K2 ). niepustymi klasami struktur Kripke takimi, »e Intuicja zwi¡zana z tymi inkluzjami jest prosta: im wi¦cej zaªo»e«, tym mniej jest struktur je speªniaj¡cych. Denicja 3.10 teorii T Niech T b¦dzie teori¡ modaln¡. Konsekwencjami (modalnymi) nazywamy elementy zbioru Cons(T ) = T h(M od(T )). Twierdzenie 3.5 Niech T b¦dzie teori¡ modaln¡. Wtedy Cons(T ) = {ϕ ∈ LM L :|=T ϕ}. Dowód. Niech LAN GM L. ϕ∈ Wtedy (ϕ ∈ Cons(M od(T ))) ↔ (∀(X, R))((X, R) ∈ M od(T ) → (X, R) |= ϕ) ↔ (∀(X, R))((X, R) |= T → (X, R) |= ϕ) ↔ (|=T ϕ). Denicja 3.11 Niech T1 oraz T2 b¦d¡ teoriami modalnymi. Wtedy (T1 ≤ T 2) ↔ (∀ϕ)(|=T1 ϕ →|=T2 ϕ). T1 ≤ T2 jest nast¦puj¡ca: teoria T1 jest sªabsza od teorii K ≤ S4 ≤ S5. Zauwa»my w ko«cu, »e dla dowolnych modalnych T1 i T2 mamy Interpretacja relacji T2 . Widzimy wi¦c, »e dwóch teorii (T1 ≤ T2 ) ↔ Cons(T1 ) ⊆ Cons(T2 ). 28 ROZDZIA 3. 3.5 LOGIKI MODALNE Speªnialno±¢ zda« modalnych Mówimy, »e zdanie modalne ψ jest speªnialne, je±li jest prawdziwe w jakim± punkcie jakiego± modelu Kripke. Bardzie formalnie ujmuje to nast¦puj¡ca denicja: Denicja 3.12 ψ Niech T jest speªnialne w teorii (X, R) |= T takie, »e b¦dzie teori¡ oraz T oraz ψ zdaniem modalnym. Mówimy, »e je±li istnieje model Kripke M = (X, R, π) oraz x ∈ X M, x |= ψ . ψ = ¬p ∧ ¬q ∧ ♦(p ∧ ¬q) ∧ ♦(¬p ∧ q) jest speªnialne w teorii S4. Niech X = {0, 1, 2}, R = {(0, 1), (0, 2)} ∪ IdX oraz π(p) = {1} i π(q) = {q}. (X, R) |= S4 oraz (X, R, π) |= ψ Zdanie bowiem Wtedy Twierdzenie 3.6 Niech T b¦dzie teori¡ oraz ψ zdaniem modalnym. Wtedy nast¦puj¡ce dwa zdania s¡ równowa»ne: 1. zdanie 2. ψ jest speªnialne w teorii T, ¬(|=T {¬ψ}). Dowód. 3.6 Zadania Zadanie 3.1 Poka», »e zdanie Zadanie 3.2 Relacj¦ R (p∨q) ↔ (p∨q) nie jest tautologi¡ modaln¡. nazywamy g¦st¡, je±li (∀x, y)(R(x, y) → (∃z)(R(x, z) ∧ R(z, y)). Jakie zdanie modalne odpowiada g¦sto±ci? Zadanie 3.3 Relacj¦ R nazywamy euklidesow¡ je±li (∀x, y, z)(R(x, y) ∧ R(x, z) → R(y, z)). Jakie zdanie modalne odpowiada eulidesowo±ci? Zadanie 3.4 Relacj¦ R nazywamy deterministyczn¡ je±li (∀x, y, z)(R(x, y) ∧ R(x, z) → y = z). Jakie zdanie modalne odpowiada tej wªasno±ci? Zadanie 3.5 Jakiej wªasno±ci relacji przej±cia odpowiada zdanie kiej wªasno±ci relacji przej±cia odpowiada zdanie ♦p → p? p → p? Ja- 3.6. 29 ZADANIA Zadanie 3.6 Wyznacz teorie struktur Zadanie 3.7 Ile nierównowa»nych zda« w rachunku zda« mo»esz zbudowa¢ z ({1}, {(1, 1)}) jednej zmiennej p? Rozwa»my operator zdania p, δp, δ(δp), δ(δ(δ(p))), Zadanie 3.8 ({1}, ∅). δ(ϕ) = ♦ϕ ∧ (¬ϕ). Poka», »e wszystkie ... s¡ w logice S4 nierównowa»ne. Niech (X,R) b¦dzie struktur¡ tranzytywn¡. Poka», »e prawdziwe w niej s¡ zdania Zadanie 3.9 oraz (♦♦p) ↔ (♦p) i (♦♦p) ↔ (♦p) Ile nierównowa»nych zda« w logice zmiennej zdaniowej p oraz operatorów modalnych S4 mo»esz i ♦? zbudowa¢ z jednej Zadanie 3.10 Poka», »e zdania (p∨♦q) ↔ (p∨♦q), (p∧♦q) ↔ (p∧♦q), ♦(p ∨ q) ↔ (♦p ∨ q), ♦(p ∧ q) ↔ (♦p ∧ q) s¡ tautologiami logiki S5. Zadanie 3.11 Ile nierównowa»nych zda« mo»esz zbudowa¢ w logice zmiennej zdaniowej Zadanie 3.12 (X, R, π) |= ϕ, Zadanie 3.13 S5 z jednej p? Zbadaj zªo»ono±¢ obliczeniow¡ algorytmu sprawdzania tego, czy gdzie ϕ jest zdaniem modalnym. Poka», »e (Φ |=T ϕ) ↔ (|=Φ∪T ϕ). 30 ROZDZIA 3. LOGIKI MODALNE Rozdziaª 4 Logiki czasowe Modele logik czasowych (zwanych równie» logikami temporalnymi) oparte s¡ na jednej konkretnej strukturze Kripke - jest to struktura N (N, ≤). Elementy zbioru traktujemy jako chwile czasowe. Z interpretacji tej wynika, »e rozwa»a¢ b¦- dziemy dyskretny model czasu. J¦zyk logiki czasowej modalnej LM L . Zawiera dwa dodatkowe spójniki LTL rozszerza j¦zyk logiki oraz U. Spójnik jest spójnikiem unarnym, który intrepretujemy jako nast¦pnym razem. Spójnik U jest spójnikiem binarnym, który intrepretujemy jako dopóki (until). Niech ψ ∈ LLT L . Symbolem var(ψ) oznaczamy zbiór wszystkich zmiennych ψ . Zbiór ten nazywamy sªownikiem zda- zdaniowych które wyst¦puj¡ w zdaniu nie ψ. Ka»dy model logiki LTL jest postaci tylko sama waluacja π. (N, ≤, π). Do jego opisu wystarczy wi¦c W zwi¡zku z tym mo»emy operowa¢ nieco uproszczon¡ denicj¡ modelu. Denicja 4.1 Modelem logiki LTL nazywamy dowolny element zbioru Zbiór wszystkich modeli oznaczamy przez Niech π ∈ val(P) oraz i ∈ N. P (P)N . val(P) Zbiór π(i) interpretujemy jako zbiór tych zmiennych zdaniowych które s¡ prawdziwe w ±wiecie i. Zdeniujemy teraz se- mantyk¦ logiki LTL. Denicja 4.2 (Speªnianie) zªo»ono±ci formuª Niech ϕ, ψ ∈ LLT L π ∈ val(P) oraz i ∈ N. okre±lamy 1. π, i |= p ↔ p ∈ π(i), 2. π, i |= ¬ϕ ↔ ¬(π, i |= ϕ), 3. π, i |= (ϕ ∨ ψ) ↔ (π, i |= ϕ ∨ π, i |= ψ), 4. π, i |= ♦ϕ ↔ (∃j ≥ i)(π, j |= ϕ), 31 Indukcj¡ po stopniu 32 ROZDZIA 4. 5. π, i |= ϕ ↔ π, i + 1 |= ϕ, 6. π, i |= ϕU ψ ↔ (∃k ≥ i)(π, k |= ψ ∧ (∀j)(k ≤ j < i → π, j |= ϕ)). S((π0 , π1 , π2 , . . .)) = (π1 , π2 , π3 , . . .). S (π) = S(S n (π)). Widzimy, »e Niech π LOGIKI CZASOWE oraz Indukcyjnie deniujemy S 0 (π) = n+1 S n ((π0 , π1 , π2 , . . .)) = (πn , πn+1 , πn+2 , . . .). Zauwa»my, »e Fakt 4.1 S n (π)(i) = π(n + i) Niech ϕ ∈ LLT L oraz dla ka»dego π ∈ val(P). i ∈ N. Wtedy π, n |= ϕ ↔ S n (π), 0 |= ϕ. Dowód. Dowód przeprowadzimy indukcj¡ po stopniu zªo»ono±ci zda«. 1. Je±li ϕ=p∈P to (π, n |= ϕ) ↔ (p ∈ π(i)) ↔ (p ∈ S n (π)(0) ↔ (S n (π), 0 |= p), wi¦c teza jest prawdziwa. 2. Zaªó»my, »e teza jest prawdziwa dla zda« ϕ oraz ψ. Wtedy (π, n |= ¬ϕ) ↔ ¬(π, n |= ϕ) ↔ ¬(S n (π), 0 |= ϕ) ↔ (S n (π), 0 |= ¬ϕ) oraz (π, n |= ϕ ∧ ψ) ↔ ((π, n |= ϕ) ∧ (π, n |= ψ)) ↔ ((S n (π), 0 |= ϕ) ∧ (S n (π), 0 |= ψ)) ↔ (S n (π), 0 |= ϕ ∧ ψ). 3. Zaªó»my, »e teza jest prawdziwa dla zdania ϕ. Wtedy (π, n |= ϕ) ↔ (π, n + 1 |= ϕ) ↔ (S n+1 (π), 0 |= ϕ) ↔ (S n (π), 1 |= ϕ) ↔ (S n (π), 0 |= ϕ). oraz (π, n |= ♦ϕ) ↔ (∃k ≥ n)(π, k |= ϕ) ↔ (∃k ≥ n)(S k (π), 0 |= ϕ) ↔ (∃k ≥ n)(S n (π), k − n |= ϕ) ↔ S n (π), 0 |= ♦ϕ. Zaªó»my, »e teza jest prawdziwa dla zda« ϕ oraz ψ . Zaªó»my najpierw, π, n |= ψU ϕ. Istnieje wtedy takie k ≥ n, »e π, k |= ϕ oraz dla ka»dego j ∈ [n, k) mamy π, j |= ψ . Wtedy S k (π), 0 |= ϕ oraz dla ka»dego j ∈ [n, k) j n mamy S (π), 0 |= ψ . Zatem S (π), k − n |= ϕ oraz dla ka»dego j ∈ [n, k) mamy S n (π), j − k |= ψ . A wi¦c S n (π), 0 |= ψU ϕ. 4. »e Odwrotn¡ implikacj¦ pokazuje si¦ podobnie. Powy»szy fakt mo»na interpretowa¢ nast¦puj¡co: logika LTL patrzy tylko do przodu; warto±¢ logiczna formuª nie zale»y od przeszªo±ci. 4.1. 33 EKSPRESYJNO LTL Denicja 4.3 (Tautologia) Niech ϕ ∈ LLT L . Wtedy |=LT L ϕ ↔ (∀π ∈ val(P))(∀i)(π, i |= ϕ). Je±li zdanie |=LT L ϕ Wniosek 4.1 Niech to mówimy, »e ϕ ∈ LLT L . ϕ jest tautologi¡ logiki LT L. Wtedy |=LT L ϕ ↔ (∀π ∈ val(P))(π, 0 |= ϕ). Dowód. Je±li |=LT L ϕ implikacj¦ odwrotn¡. n∈N takie, »e (∀π ∈ val(P))(π, 0 |= ϕ). Poka»emy ¬ |=LT L ϕ. Istnieje wtedy model π oraz n wtedy S (π), 0 |= ¬ϕ. to oczywi±cie Zaªó»my, »e π, k |= ¬ϕ. Lecz ψ ↔ ¬♦¬ψ . Dla wygody wprowadzamy > = (p∨¬p) oraz ⊥ = (p∧ ¬p). Widzimy, »e logika LTL jest uogólnieniem logiki modalnej. Poniewa» relacja ≤ jest zwrotna i przechodnia, widzimy, »e logika LTL jest rozszerzeniem logiki S4. W szczególno±ci, zdania ♦♦ϕ ↔ ♦ϕ oraz ϕ ↔ ϕ s¡ jej tautologiami. Spójnik traktujemy jako skrót: równie» oznaczenia Denicja 4.4 (Tautologia) model π oraz n∈N Wniosek 4.2 takie, »e Zdanie ϕ ∈ LLT L π, n |= ϕ. α ∈ LLT L . Wtedy α jest speªnialna π ∈ val(P) taki, »e π, 0 |= α. Niech gdy istnieje model jest speªnialne, je±li istnieje wtedy i tylko wtedy, Denicja 4.5 Sªownikiem zdania ϕ ∈ LLT L nazywamy zbiór ze wszystkich zmiennych zdaniowych wyst¦puj¡cych w ϕ. var(ϕ) zªo»ony Lemat 4.1 oraz 4.1 Niech π ∈ val(P) oraz ϕ ∈ LLT L . Wtedy ϕ ∈ LLT L (P ∩ var(ϕ)) (∀n ∈ N)((π, n |= ϕ) ↔ (π 0 , n |= ϕ)), gdzie (∀i)(π 0 (i) = π(i) ∩ var(ϕ)). Ekspresyjno±¢ LTL Rozwa»ania rozpoczniemy od przegl¡du kilku wa»nych tautologii logiki LTL. Przypomnijmy, »e ka»da tautologia logiki S4 jest tautologi¡ logiki LTL. Bez trudu mo»na pokaza¢, »e zbiór tautologii LTL jest zamkni¦ty na podstawienia, reguª¦ Modus Ponens oraz generalizacj¦. Twierdzenie 4.1 Nast¦puj¡ce zdania s¡ tautologiami LTL: 1. ♦p ↔ (p ∨ ♦p) 2. (pU q) ↔ (q ∨ (p ∧ (pU q)), 3. ♦♦p ↔ ♦p, 4. ♦p ↔ ♦p, 34 ROZDZIA 4. 5. ♦p ↔ (>U p), 6. p ↔ (⊥U p), 7. ¬p ↔ ¬ p, 8. (p ∧ q) ↔ (p) ∧ q), 9. (p ∨ q) ↔ (p) ∨ q), 10. ♦p ↔ ♦ p, 11. (p)U (q) ↔ (pU q), 12. (p ∧ q)U r ↔ (pU r) ∧ (q ∨ r), 13. pU (q ∨ r) ↔ (pU q) ∨ (pU r), 14. (pU r) ∨ (qU r) → (p ∨ q)U r), 15. pU (q ∧ r) → (pU q) ∧ (pU r), 16. pU q ∧ ¬q → p, LOGIKI CZASOWE Rozwa»ymy teraz kilka przykªadów wªasno±ci, które mog¡ by¢ sformuªowane w logice czasowej: • Zdanie ♦α oznacza, »e zdanie α jest od pewnego momentu stabiln¡ wªa- sno±ci¡ systemu. • Zdanie oznacza, »e β zdarza si¦ niesko«czenie cz¦sto. • Przy pomocy operatora U mo»na formuªowa¢ dosy¢ skomplikowane wªa- ♦β sno±ci systemu. Zaªó»my, »e opisujemy system, który kontroluje dost¦p do wspólnego zasobu, do którego dost¦p mog¡ mie¢ procesów 1, 2, . . . k. Stan ka»dego procesu opisywany jest za pomoc¡ dwóch zmiennych Zmienna ri nie otrzymaª. Zmienna zdanie zdanie ri i gi . jest prawdziwa, je±li proces i-ty za»¡da dost¦pu, ale jeszcze go V Vk i6=j gi jest prawdziwa je±li proces otrzymaª przydziaª. ¬(gi ∧ gj ) i (ri oznacza poprawno±¢ systemu → (ri U gi )) oznacza, »e ka»dy proces po pewnym czasie otrzyma przydziaª, je±li go b¦dzie potrzebowaª zdanie Vk i (gi → ♦¬gi ) oznacza, »e ka»dy proces po pewnym czasie zwolni przydziaª. • Niech F IN oznacza zmienn¡, która przyjmuje warto±¢ TRUE w stanach ko«cowych. Cz¦±ciow¡ poprawno±¢ systemu mo»na wyrazi¢ za pomoc¡ zdania p → (FIN → q). 4.1. 35 EKSPRESYJNO LTL Peªn¡ poprawno±¢ procesu mo»emy zapisa¢ za pomoc¡ zdania p→ ♦(FIN ∧ q) • Poprzedzanie zdarzenia p przez zdarzenie q mo»na wyrazi¢ za pomoc¡ zdania P rec(p, q) = (♦q → ((¬q)U p)). Za pomoc¡ tego operatora mo»na sfor- muªowa¢ podstawow¡ wªasno±¢ kolejki FIFO: • Zdanie ♦p ∧ (p → ¬p) P rec(p, q) → P rec(p0 , q 0 ). oznacza, »e zmienna p zdarza si¦ dokªadnie jeden raz. • Zdanie p ∧ ♦(p → ¬p) ∧ ♦(¬p → p) oznacza, »e zmienna p jest praw- dziwa we wszystkich chwilach parzystych i tylko w chwilach parzystych 4.1.1 Przykªad Wolpera Zdeniujemy poj¦cie -gª¦boko±ci zdania 1. nd(p) = 0, 2. nd(¬α) = nd(α), 3. nd(α ∨ β) = max{nd(α), nd(β)}, 4. nd(αU β) = max{nd(α), nd(β)}, 5. nd(α) = nd(α) + 1. α ∈ LLT L : Na potrzeby tej porozdziaªu wprowadzimy specjaln¡ rodzin¦ waluacji. Dla dowolnej liczby naturalnej n niech rn = (∅, ∅, . . . ∅, p, ∅, ∅, . . .). | {z } n−1 Twierdzenie 4.2 (Wolper) Niech ϕ ∈ LLT L . Wtedy (∀i, j > nd(ϕ))((ri , 0 |= ϕ) ↔ (rj , 0 |= ϕ)). Dowód. Zauwa»my, »e wystarczy pokaza¢, »e (∀i > nd(ϕ))((ri , 0 |= ϕ) ↔ (ri+1 , 0 |= ϕ)). ϕ. ϕ = q , gdzie q ∈ P . Wtedy, je±li i > 0 = nd(ϕ), to ¬(ri , 0 |= q) oraz ¬(ri+1 , 0 |= q). 2. Zaªó»my, »e ϕ = ¬ψ oraz, »e teza jest prawdziwa dla zdania ψ . Je±li i > nd(ϕ) = nd(ψ) Dowód tego faktu przeprowadzimy indukcj¡ po stopniu zªo»ono±ci formuªy 1. Zaªó»my, »e (ri , 0 |= ϕ) ↔ ¬(ri , 1 |= ψ) ↔ ¬(ri+1 , 0 |= ψ) ↔ (ri+1 , 0 |= ϕ). 36 ROZDZIA 4. ϕ = α ∨ β oraz, »e teza jest prawdziwa i > nd(α) oraz i > nd(β). Wtedy 3. Zaªó»my, »e i > nd(ϕ) to LOGIKI CZASOWE dla zda« α i β. Je±li ri , 0 |= ϕ ↔ ((ri , 0 |= α) ∨ (ri , 0 |= β)) ↔ ((ri+1 , 0 |= α) ∨ (ri+1 , 0 |= β)) ↔ (ri+1 , 0 |= ϕ). Zaªó»my, »e ϕ = α oraz, »e teza jest i > nd(ϕ) = 1 + nd(α) to i − 1 > nd(α) oraz 4. prawdziwa dla zdania α. Je±li (ri , 0 |= α) ↔ (ri , 1 |= α) ↔ (ri−1 , 0 |= α) ↔ (ri−1+1 , 0 |= α) ↔ (ri , 0 |= α) ↔ (ri+1 , 1 |= α) ↔ (ri+1 , 0 |= α). ϕ = αU β oraz, »e teza jest prawdziwa dla zda« α i i > nd(ϕ) to i > nd(α) oraz i > nd(β). Zaªó»my, »e ri , 0 |= ϕ. Jest wtedy n takie, »e ri , n |= β oraz (∀k < n)(ri , k |= α). Wtedy ri+1 , n + 1 |= β oraz (∀k < n)(ri+1 , k + 1 |= α), czyli (∀k)(0 < k < n+1 → ri+1 , k |= α). Ponadto, poniewa» ri , 0 |= α oraz i > nd(α), wi¦c równie» ri+1 , 0 |= α. Zatem ri+1 , 0 |= αU β . Zaªó»my teraz, »e ri+1 , 0 |= ϕ. Jest wtedy n takie, »e ri+1 , n |= β oraz (∀k < n)(ri+1 , k |= α). Je±li n = 0, to z zaªo»enia indukcyjnego mamy ri , 0 |= β . Je±li za± n > 0, to ri , n − 1 |= β oraz (∀k)(0 < k < n → r(i+1)−1 , k − 1 |= α), a wi¦c (∀k < n − 1)(ri , k |= α). 5. Zaªó»my w ko«cu, »e »e β. Je±li Wniosek 4.3 Nie istnieje zdanie α ∈ LLT L takie, »e (∀π)((π, 0 |= α) ↔ (∀n)(p ∈ π(2n))). Inaczej mówi¡c zdanie we wszystkich chwilach parzystych p jest prawdziwe nie jest wysªawialne w logice LTL. 4.2 Niech Logika LTL nie potra liczy¢ !!! Translacja na automat Buchi α ∈ LLT L . Modelami zdania α nazywamy elementu zbioru mod(α) = {π ∈ val(P) : π, 0 |= α}. Fakt 4.2 Zdanie α jest speªnialne wtedy i tylko wtedy, gdy W tym rozdziale poka»emy, »e zbiór mod(α) mod(α) 6= ∅. jest j¦zykiem Büchi rozpo- znawalnym. Pozwoli to nam zastosowa¢ aparat automatów Buchi do badania speªnialno±ci zda« logiki LTL. ϕ ∈ LLT L . Celem naszym P (var(ϕ)) takiego, »e Ustalmy zdanie Bϕ nad alfabetem jest zbudowanie automatu Büchi Lω (Bϕ ) = mod(ϕ). Oto kilka przykªadów. 4.2. 37 TRANSLACJA NA AUTOMAT BUCHI Przykªad 4.1 Nast¦puj¡cy automat rozpoznaje zdanie ♦p. W automacie tym init oznacza stan pocz¡tkowy. Stany ko«cowe s¡ oznaczone podwójnym kóªkiem. Przykªad 4.2 Nast¦puj¡cy automat rozpoznaje zdanie Przykªad 4.3 Nast¦puj¡cy automat rozpoznaje zdanie Denicja 4.6 j¦zyka LLT L ♦p. ♦p ∧ ♦q . Niech α ∈ LLT L . Wtedy cl(α) jest najmniejszym zbiorem zda« takim, »e • α ∈ cl(α), • ¬β ∈ cl(α) → β ∈ cl(α), • β ∨ γ ∈ cl(α) → {β, γ} ⊆ cl(α), • β ∈ cl(α) → β ∈ cl(α), • βU γ ∈ cl(α) → {β, γ (βU γ)} ⊆ cl(α). Domkni¦ciem Fischera-Ladnera zdania α nazywamy zbiór Cl(α) = cl(α) ∪ {¬β : β ∈ cl(α)}, gdzie zdanie ¬¬β Przykªad 4.4 uto»samiamy ze zdaniem Niech α = p ∨ q. β. Wtedy Cl(α) = {p, ¬p, q, ¬q, p ∨ q, ¬(p ∨ q))}. Denicja 4.7 Niech α ∈ LLT L . Podzbiór A ⊆ Cl(α) nazywamy je±li • (∀β ∈ Cl(α))(β ∈ A ↔ ¬β ∈ / A), • (∀β ∨ γ ∈ Cl(α))(β ∨ γ ∈ A ↔ (β ∈ A ∨ γ ∈ A), • (∀βU γ ∈ Cl(α))(βU γ ∈ A ↔ (γ ∈ A ∨ {β, (βU γ)} ⊆ A)). Zbiór wszystkich α-atomów Fakt 4.3 π ∈ val(P), ϕ ∈ LLT L Niech oznaczamy przez oraz At(α). i ∈ N. Wtedy {β ∈ Cl(ϕ) : π, i |= β} ∈ At(ϕ). α-atomem 38 ROZDZIA 4. 4.2.1 Konstrukcja automatu Büchi Przed przetªumaczeniem formuªy j¡ na równowa»n¡ formuª¦ Ustalmy zdanie Zbiór LOGIKI CZASOWE At(α) α0 α na uogólniony automat Büchi zamieniamy zbudowan¡ tylko ze spójników α ∈ LLT L . ¬, ∨, Rozwa»a¢ b¦dziemy alfabet oraz U. Σ = P (var(α)). traktujemy jako zbiór wszystkich stanów. Zbiór stanów pocz¡tko- wych okre±lamy nast¦puj¡co: Sα,0 = {A ∈ At(α) : α ∈ A}. Funkcj¦ przej±cia okre±lamy wzorem: δα (A, X) = Dla zda« {B : (∀ β ∈ CL(α)) : (β ∈ A ↔ β ∈ B)} ∅ βU γ ∈ CL(α) : X = A ∩ var(α) : X= 6 A ∩ var(α) okre±lamy FβU γ = {A ∈ AT (α) : γ ∈ A ∨ βU γ ∈ / A}. Niech Fα = {FβU γ : βU γ ∈ / CL(α)}. Struktura Aα = (At(α), Sα,0 , δα , Fα ) jest traktujemy jako uogólniony automatem Büchi. Lemat 4.2 Twierdzenie 4.3 Dla dowolnego zdania α ∈ LLT L mamy Lω (Aα ) = mod(α). 4.3 Zadania Zadanie 4.1 Poka», »e logika LTL nie jest zwarta, czyli, »e istnieje niesko«- czony zbiór zda« T, który nie jest speªnialny, ale którego ka»dy sko«czony pod- zbiór jest speªnialny. Wskazówka: zadanie to jest proste. Zadanie 4.2 ∗ Zadanie 4.3 Poka», »e zdanie Poka», »e rachunek zda« jest zwarty. (♦p∧♦q) → (♦(p∧♦q)∨♦(q∨♦p)) jest tautologi¡ logiki LTL. Zadanie 4.4 Zadanie 4.5 Poka», »e je±li α ∈ LLT L to zbiór CL(α) Niech ϕ i ψ b¦d¡ zdaniami logiki LTL. ϕ ∧ ψ , (ϕ ∨ ψ) ≡ ϕ ∨ ψ , (¬ϕ) ≡ ¬ ϕ. jest sko«czony. Poka», »e (ϕ ∧ ψ) ≡ 4.3. 39 ZADANIA Zadanie 4.6 Sformuªuj zasad¦ indukcji matematycznej w LTL. Zadanie 4.7 Zbuduj uogólniony automat Büchi dla zda« p∨q Zadanie 4.8 Zbuduj uogólniony automat Büchi dla zda« ♦p Zadanie 4.9 oraz oraz Poka», »e ka»dy automat Büchi rozpoznaj¡cy zdanie 2n stanów. p ∧ q. p. ♦p1 ∨. . .∨♦pn musi mie¢ co najmniej Zadanie 4.10 Wyznacz modele zdania Zadanie 4.11 Upro±¢ zdania Zadanie 4.12 Wyra¹ w logice LTL wªasno±¢ zdarzenie p wydarzy si¦ dokªad- nie dwa razy. p ∧ (p → ¬p) ∧ (¬p → p). ⊥U p, pU ⊥, pU >, >U p, ¬(>U ¬p). 40 ROZDZIA 4. LOGIKI CZASOWE Rozdziaª 5 Dyskretne systemy stanów Dyskretne systemy stanów s¡ dla nas podstawowym modelem sªu»¡cym do opisu rzeczywistych dyskretnych systemów. Denicja 5.1 Dyskretnym systemem stanów (DSS) nazywamy struktur¦ (W, W0 , R, O, π) • W = jest sko«czonym zbiorem stanów, • W0 jest zbiorem stanów pocz¡tkowych, • R⊆W ×W • O T tak¡, »e jest relacj¡ przej±cia, jest zbiorem obserwowanych zmiennych boolowskich • π : W → P (O) Zbiór W funkcja opisu stanu. interpretujemy jako zbiór wszystkich mo»liwych stanów opisywa- nego ukªadu. Zbiór W0 jest zbiorem wszystkich mo»liwych pocz¡tkowych kon- R przyporz¡dkowuje ka»demu stanowi s systemu T {t : (s, t) ∈ R} w których system mo»e si¦ znale¹¢ po opuszczeniu stanu s. Zbiór O nazywamy zbiorem obserwablami - s¡ to zmienne logiczne które sªu»¡ guracji systemu. Relacja zbiór do opisu stanu systemu. S¡ nimi, z reguªy, dane wej±ciowe, dane wyj±ciowe oraz zmienne opisuj¡ce stan pami¦ci. Zbiór logicznych, które s¡ prawdziwe w stanie Przebiegiem przez system tów zbioru W T π(s) jest zbiorem tych zmiennych s. nazywamy niesko«czony ci¡g r0 r1 r2 . . . elemen- taki, »e • r0 ∈ W0 , • (∀i)((ri , ri+1 ) ∈ R). Zbiór wszystkich przebiegów przez system czeniem na przebiegu r = r0 r1 r2 . . . T oznaczamy przez runs(T). nazywamy ci¡g Π(r) = (π(r0 )π(r1 )π(r2 ) . . .). 41 Obli- 42 ROZDZIA 5. Zbiór wszystkich oblicze«, czyli zbiór DYSKRETNE SYSTEMY STANÓW {Π(r) : r ∈ runs(T)} oznaczamy przez Lω (T). Przykªad 5.1 5.1 Przeksztaªcenie na automat Niech T = (W, W0 , R, obs, π) b¦dzie ustalonym dyskretnym systemem stanów. Niech AT = (W, Σ, W0 , δ, W ), gdzie Σ = P (O) oraz δ(s, a) = {t : (s, t) ∈ R ∧ a = π(s)}. Oczywi±cie AT jest niedeterministycznym automatem sko«czonym. Traktowa¢ go b¦dziemy jako automat Büchiego. Zauwa»my, »e zbiorem stanów akceptuj¡cych jest caªa przestrze« stanów (A)T nale»y do j¦zyka Twierdzenie 5.1 5.2 W. Zatem ka»dy ω -przebieg przez automat Lω (AT ). Je±li T jest dyskretnym systemem stanów to Lω (T) = Lω (AT ). Naiwna transformacja formuª na automaty Dla zda« ϕ ∈ LLT L (P) okre±lamy models(ϕ) Zdanie ϕ = {π ∈ P (P)ω : π |= ϕ}. nazywamy speªnialnym, je±li models(ϕ) prawdziwym, je±li models(ϕ) 6= ∅. Zdanie ϕ nazywamy = π ∈ P (P)ω . Niech P b¦dzie zbiorem zmiennych zdaniowych. Poka»emy jak dla zda« ϕ ∈ LLT L (P) mo»na zbuduwa¢ automat Büchiego Aϕ nad alfabetem P (P) taki, »e (∀π ∈ P (P)ω )(π ∈ Lω (Aϕ ) ↔ π |= ϕ). Krok 1. Je±li ϕ=p∈P to kªadziemy Aϕ = ({1, 2}, P (P), {1}, δ, {2}), gdzie δ(1, a) = oraz δ(2, a) = {2} Krok 2a. Krok 2b. Krok 2b. ∅ {2} : p∈ /a : p∈a a ∈ P (P). ϕ = ψ1 ∨ ψ2 to kªadziemy Aϕ = Aψ1 ⊕ Aψ2 . bc Je±li ϕ = ¬ψ to kªadziemy Aϕ = (Aψ ) . Je±li ϕ = ψ1 oraz Aψ = (S, P (P), S0 , δ, F ), to kªadziemy dla ka»dego Je±li e F) Aϕ = (S ∪ {#}, P (P), {#}, δ, gdzie # jest nowym stanem oraz δe = δ ∪ {((#, a), S) : a ∈ P (P)}. Bibliograa [1] Z. Adamowicz, P. Zbierski, Logika Matematyczna, Pa«stwowe Wydawnictwo Naukowe, Warszawa, 1991 43 Indeks IdX , ε, 7 5 produkt automatów, 10 przebieg, 7, 8, 41 reguªa generalizacji, 26 atom, 37 automat Büchiego, 15 automat deterministyczny, 8 S4, 25 automat niedeterministyczny, 7 S5, 26 automat uogólniony Büchi, 17 sªowo puste, 7 speªnialno±¢, 28 DBA, 15 speªnianie, 31 determinizacja, 9 struktura Kripke, 21 DFA, 8 suma automatów sko«czonych, 10 domkni¦cie Fischera-Ladnera, 37 tautologia, 33 dopeªnienie automatu, 10 tautologia modalna, 23 teoria, 25 j¦zyk, 10 j¦zyk regularny, 12 wyra»enia regularne, 11 K, 25 zbiór pot¦gowy, 5 konstrukcja pot¦gowa, 9 LTL, 31 model, 31 model Kripke, 22 Modus Ponens, 26 NBA, 15 NFA, 7 NFA rozpoznawalno±¢, 10 NGBA, 17, 38 niesprzeczno±¢, 25 obliczenie, 41 obserwable, 41 otoczka Kleeniego, 7 P(X), 5 44