Formale Systeme Prof. P.H. Schmitt Fakultät für Informatik Universität Karlsruhe (TH) Winter 2006/2007 Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 1 / 37 Themen Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 2 / 37 Wiederholung Aussagenlogik Prädikatenlogik Reduktionssysteme Logik zweiter Stufe Modale Logik Büchi Automaten LTL Modellprüfung (model checking) Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 3 / 37 Aussagenlogik Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 4 / 37 Was Sie wissen sollten Aussagenlogik, Syntax und Semantik Definitionen der logischen Grundbegriffe beherrschen Definition der verschiedenen Normalformen Craigscher Interpolationssatz Gegebene Formeln in Normalformen transformieren Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 5 / 37 Kurze konjunktive Normalform Lösung zu Aufgabe 2.63 im Skript Rechenfehler in einer der letzten drei Umformungen. Gesucht war die KNF für A = ((A1 ∧ A2 ) ∨ (A1 ∧ A3 )) ∨ ¬(A2 ∧ A3 ) Wir führen die neuen aussagenlogischen Atome Q1 , Q2 , Q3 , Q4 ein. ((A1 ∧ A2 ) ∨ (A1 ∧ A3 ) ∨¬ (A2 ∧ A3 ) | {z } | {z } | {z } Q1 | Q2 {z Q4 | Q3 } {z A } Korrigierte Version auf dem Server. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 6 / 37 Kurze konjunktive Normalform Beispiel Bestimmen Sie die KNF für A = ¬(A1 → A2 ) ∧ ¬A1 Es muß nur ein neues Atom Q eingeführt werden mit Q ↔ (¬A1 ∨ A2 ) A ↔ (¬Q ∧ ¬A1 ) Die vorgeschriebenen Umformungen liefern ¬A ∨ ¬Q ¬A ∨ ¬A1 Q ∨ A1 ∨ A ¬Q ∨ ¬A ∨ A2 A1 ∨ Q ¬A2 ∨ Q Aber diese Formelmenge ist erfüllbar mit I (Q) = 1, I (A) = 0, I (A1 ) = I (A2 ) = bel Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 7 / 37 Kurze konjunktive Normalform Beispiel (Forts.) Was ist schief gelaufen? Hier die korrekte Lösung: ¬A ∨ ¬Q ¬A ∨ ¬A1 Q ∨ A1 ∨ A A Prof. P.H. Schmitt ¬Q ∨ ¬A ∨ A2 A1 ∨ Q ¬A2 ∨ Q Formale Systeme Winter 2006/2007 8 / 37 Was Sie wissen sollten Aussagenlogik, Kalküle Resolutionskalkül, Tableaukalkül, Davis-Putnam Verfahren für kleinen Beispiele Ableitungen finden können Beweisidee für den Korrektheits- und Vollständigkeitsbeweis des Resolutions- und des Tableaukalküls wiedergeben. Tableauregeln aus Wahrheitstafeln konstruieren. Definition von Hornklausel kennen, Erfüllbarkeitstest für Hornklauseln durchführen können. Einfache Anwendungen durch aussagenlogische Formeln formalisieren können. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 9 / 37 Prädikatenlogik Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 10 / 37 Was Sie wissen sollten Prädikatenlogik, Syntax und Semantik Definition der Formeln und der Strukturen für PK1 Begriff der Substitution kennen und anwenden können. Den Begriff Unifikation kennen und den Unifikator einfacher Terme berechnen können. Die logischen Grundbegriffe beherrschen Einfache semantische Tautologien erkennen können Definition der verschiedenen Normalformen Gegebene Formeln in Normalformen transformieren Die Aussage des Substitutionslemmas kennen Den Satz von Herbrand kennen Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 11 / 37 Was Sie wissen sollten Prädikatenlogik, Kalküle Resolutions- und Tableaukalkül kennen und einfache Beweise in diesen Kalkülen ausführen können Beweisidee für den Korrektheits- und Vollständigkeitsbeweis des Tableaukalküls wiedergeben. Einfache Sachverhalte in PL1 formalisieren können Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 12 / 37 Reduktionssysteme Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 13 / 37 Was Sie wissen sollten Wichtigsten Eigenschaften von Reduktionssystemen und die Zusammenhänge zwischen ihnen kennen Gerichtete Termersetzungssystem kennen und kleine Beispiel rechnen können. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 14 / 37 Logik zweiter Stufe Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 15 / 37 Was Sie wissen sollten Logik zweiter Stufe Formeln in der Logik zweiter Stufe lesen und interpretieren können einfache Sachverhalte durch Formeln der Logik zweiter Stufe formalisieren können Unterschiede in der Ausdrucksstärke zur Logik erster Stufe benennen können Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 16 / 37 OCL Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 17 / 37 Was Sie wissen sollten grundlegende Konzepte von OCL kennen einfache OCL Ausdrücke lesen und in prädikatenlogische Formeln übersetzen können einfache Sachverhalte in OCL formalisieren können Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 18 / 37 Vereinfachende Schreibweisen Korrektur zu Folie 31 context inv: inv: inv: inv: Die letzte Person - - alle constraints sind äquivalent fleet –>collect(v:Vehicle | v.colour) –>asSet() –>size() = 1 fleet –>collect(v | v.colour) –>asSet() –>size() = 1 fleet –>collect(colour) –>asSet() –>size() = 1 fleet.colour –>asSet() –>size() = 1 Abkürzung ist nur erlaubt für ’collect’ Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 19 / 37 Übersetzung OCL ⇒ PK1 Erläuterung zum Skript, Abschnitt 6.3 Customer program→size = card→select( valid = true ) → size ∀x( isCustomer(x) → size({y | cp(x, y )}) = size({y | cards(x, y ) ∧ valid(y )})) Um alle OCL Ausdrücke übersetzen zu können braucht man eine mehrsortige Prädikatenlogik. Z.B. kommen die Sorten Customer , Program, N aber auch set(Customer ), set(Program) etc. vor. size ist dann eine Funktion von der Sorte set(Program) nach N. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 20 / 37 Übersetzung OCL ⇒ PK1 Fortsetzung Customer program→size = card→select( valid = true ) → size ∀x( isCustomer(x) → size({y | cp(x, y )}) = size({y | cards(x, y ) ∧ valid(y )})) Die mehrsortige Prädikatenlogik enthält eine Symbol ∈ für die Elementrelation für alle sinnvolle Sortierungen, insbesondere gibt es ∈ mit der Sortierung Program ∈ set(Program). {y | cp(x, y )} wird behandelt wie eine Funktion c von Customer nach set(Program) mit dem Axiom ∀y (y ∈ c(x) ↔ cp(x, y )) Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 21 / 37 Modale Logik Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 22 / 37 Was Sie wissen sollten Definition von Syntax und Semantik (Kripke Strukturen) beherrschen. Allgemeingültige Formeln erkennen können, auch für Allgemeingültigkeit relativ zu Kripke Strukturen mit Einschränkungen and die Zugänglicheitsrelation R. Für einfache Eigenschaften von R charakterisierende Formeln finden. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 23 / 37 Charakterisierbarkeit Behauptung Die Klasse der Kripke Rahmen mit irreflexiver Zugänglichkeitsrelation ist nicht charakterisierbar. Beweisidee Abgenommen es gäbe eine modallogische Formel A, die irreflexive Rahmen charakterisiert. D.h. für einen Kripke Rahmen (S, R) gilt für alle v gilt (S, R, v ) |= A gdw R ist irreflexiv Wir konstruieren Kripke Rahmen (S, R) und (S ∗ , R ∗ ), mit (S, R) ist nicht irreflexiv, (S ∗ , R ∗ ) ist irreflexiv für jede Interpretation v gibt es v ∗ , so daß für jede modallogische Formel B gilt (S, R, v ) |= B gdw (S ∗ , R ∗ , v ∗ ) |= B Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 24 / 37 Beweisidee Fortsetzung Zu (S, R, v ) definieren wir (S ∗ , R ∗ , v ∗ ): S∗ R ∗ (g i , hj ) R ∗ (g i , g j ) v ∗ (g i , p) = gdw gdw = {g i | g ∈ S, i ∈ {1, 2}} R(g , h)&i, j ∈ {1, 2} falls g 6= h R(g , g )&i 6= j v (g , p) Für jedes g ∈ S seien g 1 , g 2 zwei neue, verschiedene Welten. Offensichtlich ist R ∗ , v ∗ ) stets irreflexiv. Man kann zeigen, daß für jede Formel F gilt (R ∗ , v ∗ ) |= F gdw (R ∗ , v ∗ ) |= F Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 25 / 37 Büchi Automaten Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 26 / 37 Was Sie wissen sollten Definition eines Büchi-Automaten kennen Einen Büchi-Automaten der eine vorgegebene Sprache akzeptiert konstruieren können. Zu einem gegebenen Büchi-Automaten die akzeptierte Sprache bestimmen können. Abschlußeigenschaften ω-regulärer Mengen kennen. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 27 / 37 Büchi Automat ⇒ Müller Automat Korrektur Sei B = (S, V , s0 , δ, F ) eine Büchi Automat, dann ist M = (S, V , s0 , δ, F) ein Müller Automat mit Lω (B) = Lω (M) wobei F = {S 0 ⊆ S | S 0 ∩ F 6= ∅} Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 28 / 37 LTL Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 29 / 37 Was Sie wissen sollten LTL-Formeln lesen können Einfache temporale Eigenschaften in LTL formalisieren können. Zusammenhang zwischen LTL und Büchi Automaten kennen. Konzept der LTL Modellprüfung kennen. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 30 / 37 Notation für Semantik ... ξ |= A ξ |= ♦A ... ... gdw gdw ... ... für alle n ∈ N gilt ξn |= A es gibt ein n ∈ N mit ξn |= A ... Wobei ξn für das bei n beginnende Endstück von ξ steht, i.e. ξn (m) = ξ(n + m). Alternative ... (ξ, i) |= A (ξ, i) |= ♦A ... ... gdw gdw ... Prof. P.H. Schmitt ... für alle j ∈ N mit i ≤ j gilt (ξ, j) |= A es gibt ein j ∈ N mit i ≤ j und (ξ, j) |= A ... Formale Systeme Winter 2006/2007 31 / 37 Allgemeines Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 32 / 37 Häufig gestellte Frage Ist es erlaubt, jede einigermaßen verbreitete Notation zu verwenden, solange man an einem aktuellen Informatik Lehrbuch nachweisen kann, daß es diese Notation gibt? Antwort Bitte, halten Sie sich an die in der Vorlesung und im Skriptum verwendete Notation. Wir werden bei der Korrektur der Klausur versuchen flexibel zu sein. Das heißt aber nicht, daß wir alles akzeptieren können. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 33 / 37 Häufig gestellte Frage Werden in der Klausur Definitionen abgefragt wurden. Antwort In der Regel werden Definitionen nicht direkt abgefragt, sondern Aufgaben gestellt, die voraussetzen, daß man die Definition kennt. Sie können mit Ankreuzaufgaben im Wert von 12 Punkten aus 60 rechnen. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 34 / 37 Häufig gestellte Frage In alten Klausuren kommen fast ausschließlich Tableau - und Resolutionskalkül vor. Ist der Sequenzenkalkül usgeschlossen? Antwort Ja, es werden keine Klausuraufgaben zum Sequenzenkalkül in der Prädikatenlogik gestellt. Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 35 / 37 Häufig gestellte Frage Wie kann man Prädikaten- und Funktionssymbole in einer Aufgabenstellung auseinanderhalten? Antwort In des meisten Fällen ist das explizit in der Signatur Σ vorgegeben. Diese Information kann man in den meisten Fällen auch erschließen. . (f (a, g (y )) ∧ u(p(x), q)) → (a = m(r ) ∨ ¬s(0, 0)) Prädikatszeichen: Funktionszeichen: Prof. P.H. Schmitt f (−, −) , u(−, −), s(−, −) a, q, r , 0, g (−), p(−), m(−), Formale Systeme Winter 2006/2007 36 / 37 ENDE Prof. P.H. Schmitt Formale Systeme Winter 2006/2007 37 / 37