H gn

Werbung
Modellprüfung
P. H. Schmitt: Nichtklassische Logik – p.1
Modellprüfungsalgorithmen
Modellprüfungsalgorithmen (Model checking Algorithmen) sind in der
Lage zu einer gegebenen aussagenlogischen Kripke Struktur
K = (G, R, v),
einem Zustand s ∈ G und zu einer gegebenen
CTL-Formel A
zu entscheiden, ob
(K , s) |= A
gilt oder nicht.
P. H. Schmitt: Nichtklassische Logik – p.2
Kripke Struktur K me
0
1
3
2
4
5
7
Ni
Prozeß i befindet sich in einer nichtkritischen Region
Ti
Prozeß i befindet sich in der Anmeldephase
Ci
Prozeß i befindet sich in einer kritischen Region
6
8
P. H. Schmitt: Nichtklassische Logik – p.3
Kripke Struktur K me
0
1
2
3
4
5
6
7
8
0
1
2
3
4
5
6
7
8
N1
1
0
1
0
0
0
1
0
0
N2
1
1
0
1
0
0
0
0
0
T1
0
1
0
0
1
1
0
0
1
T2
0
0
1
0
1
1
0
1
0
C1
0
0
0
1
0
0
0
1
0
C2
0
0
0
0
0
0
1
0
1
P. H. Schmitt: Nichtklassische Logik – p.4
Berechnungsbaum zu K me
P. H. Schmitt: Nichtklassische Logik – p.5
Fixpunkte
P. H. Schmitt: Nichtklassische Logik – p.6
Grundbegriffe
•
Wir betrachten eine Funktion
f : P (G) → P (G)
P (G) = Menge aller Teilmengen der Menge G.
P. H. Schmitt: Nichtklassische Logik – p.7
Grundbegriffe
•
Wir betrachten eine Funktion
f : P (G) → P (G)
•
f heißt monoton, wenn für je zwei Mengen M, N ∈ P (G) mit
M ⊆ N auch f (M) ⊆ f (N) gilt.
P (G) = Menge aller Teilmengen der Menge G.
P. H. Schmitt: Nichtklassische Logik – p.7
Grundbegriffe
•
Wir betrachten eine Funktion
f : P (G) → P (G)
•
•
f heißt monoton, wenn für je zwei Mengen M, N ∈ P (G) mit
M ⊆ N auch f (M) ⊆ f (N) gilt.
Z heißt Fixpunkt von f falls f (Z) = Z gilt.
P (G) = Menge aller Teilmengen der Menge G.
P. H. Schmitt: Nichtklassische Logik – p.7
Grundbegriffe
•
Wir betrachten eine Funktion
f : P (G) → P (G)
•
f heißt monoton, wenn für je zwei Mengen M, N ∈ P (G) mit
M ⊆ N auch f (M) ⊆ f (N) gilt.
•
Z heißt Fixpunkt von f falls f (Z) = Z gilt.
•
Z heißt kleinster Fixpunkt von f , wenn Z ein Fixpunkt ist und für
jeden anderen Fixpunkt U von f gilt Z ⊆ U .
P (G) = Menge aller Teilmengen der Menge G.
P. H. Schmitt: Nichtklassische Logik – p.7
Grundbegriffe
•
Wir betrachten eine Funktion
f : P (G) → P (G)
•
f heißt monoton, wenn für je zwei Mengen M, N ∈ P (G) mit
M ⊆ N auch f (M) ⊆ f (N) gilt.
•
Z heißt Fixpunkt von f falls f (Z) = Z gilt.
•
Z heißt kleinster Fixpunkt von f , wenn Z ein Fixpunkt ist und für
jeden anderen Fixpunkt U von f gilt Z ⊆ U .
•
Z heißt größter Fixpunkt von f , wenn Z ein Fixpunkt ist und für
jeden anderen Fixpunkt U von f gilt U ⊆ Z .
P (G) = Menge aller Teilmengen der Menge G.
P. H. Schmitt: Nichtklassische Logik – p.7
Existenz von Fixpunkten
Sei f : P (G) → P (G) eine montone Funktion,
G eine endlichen Menge.
1. f besitzt einen kleinsten und einen größten Fixpunkt.
S
/ ist der kleinste Fixpunkt von f .
2. n≥1 f n (0)
T
3. n≥1 f n (G) ist der größte Fixpunkt von f .
P. H. Schmitt: Nichtklassische Logik – p.8
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
S
/ = f i (0)
/ ein Fixpunkt von f :
Dann ist Z = n≥1 f n (0)
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
S
/ = f i (0)
/ ein Fixpunkt von f :
Dann ist Z = n≥1 f n (0)
/ = f i+1 (0)
/ = f i (0)
/ =Z
f (Z) = f ( f i (0))
Sei jetzt U ein weiterer Fixpunkt für f .
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
S
/ = f i (0)
/ ein Fixpunkt von f :
Dann ist Z = n≥1 f n (0)
/ = f i+1 (0)
/ = f i (0)
/ =Z
f (Z) = f ( f i (0))
Sei jetzt U ein weiterer Fixpunkt für f .
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
S
/ = f i (0)
/ ein Fixpunkt von f :
Dann ist Z = n≥1 f n (0)
/ = f i+1 (0)
/ = f i (0)
/ =Z
f (Z) = f ( f i (0))
Sei jetzt U ein weiterer Fixpunkt für f .
/ ⊆ f (U) = U .
Aus 0/ ⊆ U folgt mit Monotonie f (0)
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
S
/ = f i (0)
/ ein Fixpunkt von f :
Dann ist Z = n≥1 f n (0)
/ = f i+1 (0)
/ = f i (0)
/ =Z
f (Z) = f ( f i (0))
Sei jetzt U ein weiterer Fixpunkt für f .
/ ⊆ f (U) = U .
Aus 0/ ⊆ U folgt mit Monotonie f (0)
/ ⊆ U.
Durch Induktion erhält man für jedes n auch f n (0)
P. H. Schmitt: Nichtklassische Logik – p.9
Beweis
Aus der Monotonie folgt zunächst
/ ⊆ . . . ⊆ f n (0)
/ ⊆ ...
/ ⊆ f 2 (0)
0/ ⊆ f (0)
/ = f i+1 (0)
/ .
Da G endlich ist, muß ein i existieren mit f i (0)
S
/ = f i (0)
/ ein Fixpunkt von f :
Dann ist Z = n≥1 f n (0)
/ = f i+1 (0)
/ = f i (0)
/ =Z
f (Z) = f ( f i (0))
Sei jetzt U ein weiterer Fixpunkt für f .
/ ⊆ f (U) = U .
Aus 0/ ⊆ U folgt mit Monotonie f (0)
/ ⊆ U.
Durch Induktion erhält man für jedes n auch f n (0)
/ ⊆ U.
Also auch Z = f i (0)
P. H. Schmitt: Nichtklassische Logik – p.9
Beispiel
zur
Modellprüfung
P. H. Schmitt: Nichtklassische Logik – p.10
Der Ansatz
Wir wollen zeigen, daß in K
me
im Zustand 1 die Formel
F = T1 → uv(C1 ) = ¬T1 ∨ all(true until C1 )
wahr ist.
Diese Formel besitzt als Teilformeln
{T1 ,C1 , ¬T1 , all(true until C1 ), F}
Für jede dieser Teilformeln C wird die Menge der Zeitpunkte, τ(C), zu
denen C wahr ist, berechnet:
τ(C) = {s | (K me , s) |= C}
Zum Schluß muß dann noch abgefragt werden, ob 1 ∈ τ(F) gilt.
P. H. Schmitt: Nichtklassische Logik – p.11
Berechnung von τ(C)
Für die Aussagenvariablen C kann τ(C) offensichtlich direkt aus der
Kripke Struktur abgelesen werden, τ(C) = {s ∈ G | v(s,C) = 1}. In
unserem Beispiel ergibt sich:
τ(T1 ) = {1, 4, 5, 8}
τ(C1 ) = {3, 7}
P. H. Schmitt: Nichtklassische Logik – p.12
Berechnung von τ(C)
Ist F0 eine Teilformel, die aus F1 und F2 mittels aussagenlogischer
Operatoren aufgebaut ist, dann gilt:
τ(¬F1 )
= G \ τ(F1 )
τ(F1 ∧ F2 ) = τ(F1 ) ∩ τ(F2 )
τ(F1 ∨ F2 ) = τ(F1 ) ∪ τ(F2 )
Für unsere Beispielrechnung erhalten wir zunächst nur
τ(¬T1 ) = {0, 2, 3, 6, 7}
die Auswertung der Disjunktion muß noch warten bis das zweite
Disjunktionsglied ausgewertet ist.
P. H. Schmitt: Nichtklassische Logik – p.13
τ(C) für temporale Operatoren
Berechnung von τ(F0 ) = τ(all(F1 until F2 ))
τ0 (F0 )
τ1 (F0 )
τ2 (F0 )
= 0/
= τ(F2 )
= τ(F2 ) ∪ {s ∈ τ(F1 ) | für alle t mit sRt gilt t ∈ τ1 (F0 )}
..
.
τn+1 (F0 ) = τ(F2 ) ∪ {s ∈ τ(F1 ) | für alle t mit sRt gilt t ∈ τn (F0 )}
..
.
Diese Berechnung wird solange iteriert bis τn+1 (F0 ) = τn (F0 ) gilt.
Dann setzt man τ(F0 ) = τn (F0 ).
P. H. Schmitt: Nichtklassische Logik – p.14
Beispiel (Forts.)
In unserem Beispiel ergibt sich
τ0 (all(true until C1 ))
τ1 (all(true until C1 ))
τ2 (all(true until C1 ))
τ3 (all(true until C1 ))
τ4 (all(true until C1 ))
τ5 (all(true until C1 ))
τ6 (all(true until C1 ))
=
=
=
=
=
=
=
0/
{3, 7}
{3, 4, 7}
{1, 3, 4, 7}
{1, 3, 4, 7, 8}
{1, 3, 4, 5, 7, 8}
{1, 3, 4, 5, 7, 8}
τ(all(true until C1 )) = {1, 3, 4, 5, 7, 8}
= τ(¬T1 ) ∪ τ(all(true until C1 ))
= {0, 2, 3, 6, 7} ∪ {1, 3, 4, 5, 7, 8}
= G
Somit erhalten wir
und
τ(F
P. H. Schmitt: Nichtklassische Logik – p.15
Fixpunktcharakterisierungen
P. H. Schmitt: Nichtklassische Logik – p.16
Mengenfunktionen
K = (G, R, v) eine Kripke Struktur, F CTL-Formel.
fF (Z) : P (G) → P (G) ist definiert durch:
F
F
F
F
F
F
= all(F1 until F2 )
= ex(F1 until F2 )
= uv(F)
= er(F)
= i(F)
= efa(F)
wobei
fF (Z) =
fF (Z) =
fF (Z) =
fF (Z) =
fF (Z) =
fF (Z) =
τ(F2 ) ∪ (τ(F1 ) ∩ fAX (Z))
τ(F2 ) ∪ (τ(F1 ) ∩ fEX (Z))
τ(F) ∪ fAX (Z)
τ(F) ∪ fEX (Z)
τ(F) ∩ fAX (Z)
τ(F) ∩ fEX (Z)
fAX (Z) = {s ∈ G | für alle t mit sRt gilt t ∈ Z}
fEX (Z) = {s ∈ G | es gibt ein t mit sRt und t ∈ Z}
= {g ∈ G | (K , g) |= F}
τ(F)
P. H. Schmitt: Nichtklassische Logik – p.17
Charakterisierungslemma
Sei K = (G, R, v) eine Kripke Struktur und F eine CTL-Formel. Dann
gilt
1. für F = all(F1 until F2 ),
ex(F1 until F2 ), uv(F), er(F)
τ(F) = kfp fF
2. für F =
i(F), efa(F)
τ(F) = gfp fF
wobei kfp f für den kleinsten und gfp f für den größten Fixpunkt der
Funktion f steht.
P. H. Schmitt: Nichtklassische Logik – p.18
Beweis für i(F) (Teil 1)
Man überzeuge sich zuerst von
g |= i(F) ⇔ g |= F und für alle h mit gRh gilt h |= i(F)
P. H. Schmitt: Nichtklassische Logik – p.19
Beweis für i(F) (Teil 1)
Man überzeuge sich zuerst von
g |= i(F) ⇔ g |= F und für alle h mit gRh gilt h |= i(F)
In der τ-Notation liest sich das als
τ(i(F)) = τ(F) ∩ {g | für alle h mit gRh gilt h ∈ τ(i(F))}
P. H. Schmitt: Nichtklassische Logik – p.19
Beweis für i(F) (Teil 1)
Man überzeuge sich zuerst von
g |= i(F) ⇔ g |= F und für alle h mit gRh gilt h |= i(F)
In der τ-Notation liest sich das als
τ(i(F)) = τ(F) ∩ {g | für alle h mit gRh gilt h ∈ τ(i(F))}
Nach Definition von fi(F) :
τ(i(F)) = fi(F) (τ(i(F)))
P. H. Schmitt: Nichtklassische Logik – p.19
Beweis für i(F) (Teil 1)
Man überzeuge sich zuerst von
g |= i(F) ⇔ g |= F und für alle h mit gRh gilt h |= i(F)
In der τ-Notation liest sich das als
τ(i(F)) = τ(F) ∩ {g | für alle h mit gRh gilt h ∈ τ(i(F))}
Nach Definition von fi(F) :
τ(i(F)) = fi(F) (τ(i(F)))
Somit
τ(i(F)) ist Fixpunkt von f i(F)
P. H. Schmitt: Nichtklassische Logik – p.19
Beweis für i(F) (Teil 2)
Sei H irgendein Fixpunkt von f i(F) .
Wir wollen H ⊆ τ(i(F)) zeigen.
P. H. Schmitt: Nichtklassische Logik – p.20
Beweis für i(F) (Teil 2)
Sei H irgendein Fixpunkt von f i(F) .
Wir wollen H ⊆ τ(i(F)) zeigen.
Sei g0 ∈ H . Wir müssen nachweisen
∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ τ(F)
P. H. Schmitt: Nichtklassische Logik – p.20
Beweis für i(F) (Teil 2)
Sei H irgendein Fixpunkt von f i(F) .
Wir wollen H ⊆ τ(i(F)) zeigen.
Sei g0 ∈ H . Wir müssen nachweisen
∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ τ(F)
Wir zeigen dazu:
1. H ⊆ τ(F)
2. ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
P. H. Schmitt: Nichtklassische Logik – p.20
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
Das beweisen wir durch Induktion nach n.
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
Das beweisen wir durch Induktion nach n.
Für n = 0 ist nichts zu zeigen.
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
Das beweisen wir durch Induktion nach n.
Für n = 0 ist nichts zu zeigen.
Voraussetzung für n − 1 ; n: gn−1 ∈ H und gn−1 Rgn .
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
Das beweisen wir durch Induktion nach n.
Für n = 0 ist nichts zu zeigen.
Voraussetzung für n − 1 ; n: gn−1 ∈ H und gn−1 Rgn .
Wegen Fixpunkteigenschaft von H
gn−1 ∈ H = fi(F) (H) = τ(F) ∩ fAX (H)
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
Das beweisen wir durch Induktion nach n.
Für n = 0 ist nichts zu zeigen.
Voraussetzung für n − 1 ; n: gn−1 ∈ H und gn−1 Rgn .
Wegen Fixpunkteigenschaft von H
gn−1 ∈ H = fi(F) (H) = τ(F) ∩ fAX (H)
Also insbesondere
gn−1 ∈ fAX (H) = {g | für alle h mit gRh gilt h ∈ H}
P. H. Schmitt: Nichtklassische Logik – p.21
Beweis für i(F) (Teil 3)
1 H ⊆ τ(F) H = fi(F) (H) = τ(F) ∩ f AX (H) ⊆ τ(F)
2 ∀n ≥ 0 und alle gi mit gi−1 Rgi für alle 1 ≤ i ≤ n gilt gn ∈ H
Das beweisen wir durch Induktion nach n.
Für n = 0 ist nichts zu zeigen.
Voraussetzung für n − 1 ; n: gn−1 ∈ H und gn−1 Rgn .
Wegen Fixpunkteigenschaft von H
gn−1 ∈ H = fi(F) (H) = τ(F) ∩ fAX (H)
Also insbesondere
gn−1 ∈ fAX (H) = {g | für alle h mit gRh gilt h ∈ H}
Daraus folgt unmittelbar gn ∈ H und wir sind fertig.
P. H. Schmitt: Nichtklassische Logik – p.21
Herunterladen