Temporale Logik und Zustandssysteme Lösungsvorschlag

Werbung
Ludwig-Maximilians-Universität München
Institut für Informatik
Prof. Dr. F. Kröger, M. Hammer
WS 2006/2007
Übungsblatt 4
Temporale Logik und Zustandssysteme Lösungsvorschlag
Aufgabe 4-1
Herleitungen in ΣLTL
(keine Abgabe)
Leiten Sie folgende Regel und Formel in ΣLTL her. Verwenden Sie dazu nur die Axiome und Regeln von
ΣLTL sowie (prop).
a)
A → B ` A → B
Lösung:
(Ann)
(2)
A → B
A → dA
(3)
A → B
(ind)(1)(2)
(1)
(ltl3)(prop)
b) ( dA ∧ dB ) → d(A ∧ B )
(eine Richtung von (T15))
Lösung: Man beachte, dass A ∧ B die Abkürzung der Formel ¬(A → ¬B ) ist. Demnach muss man
folgende Formel herleiten: ¬( dA → ¬ dB ) → d¬(A → ¬B ). Eine mögliche Herleitung dieser Formel
ist die folgende:
(1) ¬ d(A → ¬B ) → d¬(A → ¬B )
(ltl1),(prop)
(2)
(3)
(4)
(5)
(6)
(7)
¬ d¬(A → ¬B ) → ¬¬ d(A → ¬B )
¬ d¬(A → ¬B ) → d(A → ¬B )
(prop),(1)
(prop),(2)
d(A → ¬B ) → ( dA → d¬B )
( dA → d¬B ) → ( dA → ¬ dB )
(ltl2)
¬ d¬(A → ¬B ) → ( dA → ¬ dB )
¬( dA → ¬ dB ) → d¬(A → ¬B )
(3),(4),(5),(prop)
Aufgabe 4-2
(ltl1),(prop)
(prop),(6)
Herleitungen in ΣLTL
(6+4 Punkte)
Leiten Sie folgende Formeln und Regel in ΣLTL her. Verwenden Sie dazu nur die Axiome und Regeln von
ΣLTL sowie (prop) und gegebenenfalls selbst hergeleitete Sätze und Regeln.
a)
A ↔ A
(T10)
Lösung:
b)
(1)
A → A
(ltl3)(prop)
(2)
A → A
A → dA
(taut)
(3)
(4)
A → A
(ind)(2)(3)
(5)
A ↔ A
(prop)(1)(4)
d(A ∧ B ) → dA ∧ dB
Lösung:
(ltl3)(prop)
(eine Richtung von (T15))
(1)
(2)
(taut)
(nex)(1)
(ltl2)
(4)
d(A ∧ B → A) → d(A ∧ B ) → dA
d(A ∧ B ) → dA
(5)
A∧B →B
(taut)
(8)
...
d(A ∧ B ) → dB
d(A ∧ B ) → dA ∧ dB
(mp)(6)(7)
(3)
(9)
c)
A∧B →A
d(A ∧ B → A)
A → dB ` A → 3B
(mp)(2)(3)
(prop)(4)(8)
(som)
Lösung: Man beachte, dass C → 3D ≡ C → ¬¬D ≡ ¬C → ¬D gilt.
(ltl3)(prop)
(2)
(nex)(1)
(1)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
¬B → ¬B
d(¬B → ¬B )
d¬B → d¬B
¬B → d¬B
(ltl2)(prop)(2)
(ltl3)(prop)
¬B → d¬B
¬B → ¬ dB
dB → 3B
(prop)(3)(4)
(ltl1)(prop)(5)
(prop)(6)
A → dB
A → 3B
d) (A → B ) → (A → B )
(Ann)
(prop)(7)(8)
(T19)
(+4 Sonderpunkte)
Lösung:
(1)
((A → B ) ∧ A → B ) → ((A → B ) → (A → B ))
(taut)
(2)
(A → B ) → (A → B )
(ltl3),(prop)
(3)
A → A
(ltl3),(prop)
(4)
(A → B ) ∧ A → ((A → B ) ∧ A)
(2),(3),(prop)
(5)
(A → B ) ∧ A → B
(A → B ) ∧ A → d(A → B ) ∧ dA
d(A → B ) ∧ dA → d((A → B ) ∧ A)
(4),(prop)
(6)
(7)
(8)
(9)
(10)
(ltl3),(prop)
(Aufg. 4-1,b))
(A → B ) ∧ A → d((A → B ) ∧ A)
(6),(7),(prop)
(A → B ) ∧ A → B
(ind),(5),(8)
(A → B ) → (A → B )
(1),(9),(prop)
Aufgabe 4-3
Wechselseitiger Ausschluß
(6 Punkte)
An einem Hardware-Bus sind zwei Komponenten A und B angeschlossen. Eine Bus-Vorrangschaltung
(bus arbiter ) verhindert den gleichzeitigen Zugriff der Komponenten auf den Bus.
A
B
Will Komponente A in einem bestimmten Taktzyklus auf den Bus zugreifen, so setzt sie das req1 -Bit;
erlaubt die Vorrangschaltung den Zugriff, so antwortet sie durch Setzen des ack1 -Bits im gleichen Taktzyklus. Analog werden die Bits req2 und ack2 für die Kommunikation mit der Komponente B benutzt.
Um keine Komponente zu bevorzugen, wird ein prio-Bit verwendet, das das Verhalten der Vorrangschaltung beim gleichzeitigen Zugriff von A und B auf den Bus wie folgt steuert: Ist prio gesetzt, so erhält A
den Vorrang, ansonsten B . Der Wert des prio-Bits wird anschließend negiert.
Wenn nicht beide Komponenten gleichzeitig auf den Bus zugreifen wollen, bleibt der Wert des prio-Bits
unverändert.
a)
Modellieren Sie das Verhalten der Schaltung durch eine geeignete Formelmenge A der temporalen
Aussagenlogik LTL. Die Antwort der Schaltung (d.h. das Setzen der ack -Bits) erfolgt dabei im selben
Taktzyklus wie die Anforderung (ausgedrückt durch die req-Bits).
Lösung: Eine mögliche Modellierung der Schaltung ist gegeben durch die Formeln
A = {ack 1 ↔ req1 ∧ (¬req2 ∨ prio),
ack 2 ↔ req2 ∧ (¬req1 ∨ ¬prio),
¬(req1 ∧ req2) → ( dprio ↔ prio),
req1 ∧ req2 → ( dprio ↔ ¬prio)}
Diese Formeln beschreiben das Verhalten der Schaltung in jedem Zustand. Man könnte daher auch
(ack 1 ↔ req1∧(¬req2∨prio)) usw. schreiben, dieser äußerste -Operator ist aber nicht notwendig,
weil wir uns im Folgenden auf Folgerungen aus diesen Formeln konzentrieren und die Folgerungsbeziehung implizit über alle Zustände quantifiziert.
b) Beschreiben Sie folgende Eigenschaften durch Formeln von LLTL und zeigen Sie, dass diese aus A
folgen:
ˆ Die Komponenten A und B erhalten nicht gleichzeitig das Recht zum Zugriff auf den Bus.
ˆ Signalisiert mindestens eine Komponente den Wunsch zum Zugriff auf den Bus, so erhält mindestens eine Komponente das Recht dazu.
ˆ Will Komponente A unendlich oft auf den Bus zugreifen, so erhält sie unendlich oft das Recht
dazu.
Lösung: Es sei K = (η0 , η1 , . . .) eine temporale Struktur mit |=
A für alle A ∈ A.
K
ˆ excl ≡ ¬(ack 1 ∧ ack 2):
Es sei i ∈ N0 beliebig gewählt, wir müssen zeigen, dass Ki (excl ) = tt gilt. Angenommen nicht,
dann folgt aus der Gültigkeit der Formeln in A, dass ηi (req1) = ηi (req2) = tt ist und außerdem
Ki (¬req2 ∨ prio) = Ki (¬req1 ∨ ¬prio) = tt gilt. Wegen ηi (req1) = ηi (req2) = tt müßte also
ηi (prio) = tt und ηi (prio) = ff gelten, Widerspruch.
ˆ resp ≡ req1 ∨ req2 → ack 1 ∨ ack 2:
Wieder sei i ∈ N0 beliebig gewählt, ferner sei Ki (req1 ∨ req2) = tt (ansonsten gilt die Aussage
trivialerweise). O.B.d.A. gelte ηi (req1) = tt, der andere Fall ist symmetrisch. Wir unterscheiden
drei Fälle:
– Ist ηi (req2) = ff, so folgt ηi (ack 1) = tt unmittelbar aus A.
– Ist ηi (prio) = tt, so folgt ebenfalls ηi (ack 1) = tt aus A.
– Ist schließlich ηi (req2) = tt und ηi (prio) = ff, so folgt ηi (ack 2) = tt, und damit ebenfalls
die Behauptung.
ˆ fair ≡ 3req1 → 3ack 1:
Es sei i ∈ N0 beliebig gewählt, und es gelte Ki (3req1) = tt. Wir müssen zeigen, dass
Ki (3ack 1) = tt gilt. Angenommen nicht, dann existiert j ≥ i , so dass Kk (ack 1) = ff für
alle k ≥ j .
Nach Annahme existieren j ≤ m < n mit ηm (req1) = ηn (req1) = tt und ηl (req1) = ff für alle
m < l < n. Wäre ηm (req2) = ff oder ηm (prio) = tt, so folgte ηm (ack 1) = tt im Widerspruch
zur Annahme. Also gilt ηm (req2) = tt und ηm (prio) = ff, und es folgt ηm+1 (prio) = tt. Wegen
ηl (req1) = ff für m < l < n folgt Kl (req1 ∧ req2) = ff und daher Kl+1 (prio) = Kl (prio) für
m < l < n. Also ist ηn (prio) = tt. Mit der Annahme ηn (req1) = tt folgt ηn (ack 1) = tt, und wir
haben einen Widerspruch erreicht.
Abgabe: Mittwoch, den 15.11.2006, vor der Übung.
Herunterladen