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 TRE‘CI
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 TRE‘CI
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 SKO‹CZONE
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 SKO‹CZONE
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
J†ZYKI 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 SKO‹CZONE
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 SKO‹CZONE
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
DOMKNI†CIE 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 NIEPUSTO‘CI J†ZYKA
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 WŠASNO‘CI
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

Podobne dokumenty