HTWK Leipzig, Fakultät IM
Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de Arbeitspaket zu KW 24 zum Modul „Wissensrepräsentation und -Verarbeitung“
Sommersemester 2020
Nachdem wir die PDL-Syntax kennen und verschiedene Beispiele gesehen haben, be- schäftigen wir uns mit der Semantik dieser Logik.
Zustandsübergangssysteme (gerichtete Graphen mit „gefärbten“ Kanten) kennen wir aus verschiedenen Modulen, u.A. Maschinenmodellen wie z.B. endlichen Automaten aus der Theoretischen Informatik. Zu jeder Basis-Aktion gehört eine Kantenfarbe, al- so eine zweistellige Relation auf der Menge aller Knoten (Welten). Entsprechend der Operationen zum Kombinieren von Aktionen werden aus diesen Basisrelationen die Re- lationen für zusammengesetzte Aktionen definiert. Hier kommt noch eine „Färbung“ der Knoten (Welten) mit Belegungen der Aussagenvariablen hinzu, wie wir es schon aus EL kennen.
Da Aktionen kombiniert werden können und zu jeder Basis- und kombinierten Aktion α die Modalitäten[α]undhαi definiert sind, gibt es nun (im Unterschied zu EL) mög- licherweise unendlich viele Modalitäten in der Sprache. Deren Semantik ist aber durch die (Relationen zu den) endlich vielen Basisaktionen definiert.
Lesen und Verstehen
im Buch Logic in Action : Kapitel 6 Logic and Action (6.6 bis Ende des Kapitels) Wir konzentrieren uns vorwiegend auf die Abschnitte 6.6, 6.7 und 6.9, in denen die Semantik von PDL vorgestellt und an Beispielen demonstriert wird. Der kurze Abschnitt 6.9 enthält Übersetzungen der üblichen Konstrukte aus der strukturierten (imperativen) Programmierung in PDL.
In 6.8 wird ein Kalkül für PDL vorgestellt (anhand vieler Beispiele), der die schon bekannten Hilbert-Kalkül für die Aussagenlogik und EL erweitert. Es lohnt sich, die zusätzlichen Axiome für zusammengesetzte Aktionen und den Umgang mit diesen zu verstehen. Wir werden das aber nicht vertiefen.
Abschnitt 6.10 gibt einen schönen Einblick in die Anwendung von PDL in der Verifika- tion imperativer Programme und den Zusammenhang mit dem Hoare-Kalkül.
In Abschnitt 6.11 wird das Prinzip der Bisimulation vorgestellt, womit man z.B. zei- gen kann, dass bestimmte Programmtransformationen die Semantik von Programmen unverändert lassen.
Um die Abschnitte 6.10 und 6.11 geht es in KW 24 nicht. Wir können uns später damit beschäftigen, wenn das gewünscht wird. Noch mehr zu den Themen dort ist im Wahlpflichtmodul Programmverifikation zu erfahren.
Begriffe und Testfragen
Die folgenden Fragen stehen auch wieder im Wiki im Opal-Kurs zum Eintragen der Antworten.
a. Was ist M inJϕK
M ? Was gehört alles dazu ? b. Was bedeutetJxK
M für
• eine Basisaktionx
• eine zusammengesetzte Aktion x
• einen Test x=?y (Welchen Typ hat dabeiy ?)
• eine aussagenlogische Formelx
• eine PDL-Formel x c. Wann ist eine PDL-Formel
• allgemeingültig
• erfüllbar
• unerfüllbar
Geben Sie je ein Beispiel einer solchen Formel an.
d. Was bedeuten folgende Formeln umgangssprachlich
• [α∗]ϕ↔ϕ∧[α][α∗]ϕ
• (ϕ∧[α∗](ϕ→[α]ϕ))→[α∗]ϕ
• (ϕ→[a]ha−1iϕ)∧(ϕ→[a−1]haiϕ)
e. Wie lauten PDL-Formeln für die imperativen Programmeskipundabort ? f. Wie lässt sich in PDL ausdrücken:
Startet man das Programmp in einem Zustand, der die Vorbedingung ϕ erfüllt, dann erfüllt der nach Ende der Ausführung np erreichte Zustand die Nachbedin- gungψ ?
Übungsaufgaben
Wir verwenden 8 Aufgaben aus dem Buch: 6.22, 6.23 und 6.27 bis 31 Autotool
diese Woche keine neuen Aufgaben