Logik Chr. Schubert Logik für Informatiker Einleitung Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Ein einleitendes Beispiel Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Literatur Logik und Informatik basierend auf Folien von Prof. Thomas Schwentick Inhalt der Vorlesung (Plan) TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Organisatorisches Sommersemester 2011 Version vom 5. April 2011(14:48 Uhr) Literatur Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Ein einleitendes Beispiel Logik Ein einleitendes Beispiel Dr. Christoph Schubert Overview Unser Programm für Heute Ein Affe, ein Stuhl und einige Bananen Ein Affe ist in einem Raum eingeschlossen Inhalt der Vorlesung (Plan) Organisatorisches Literatur Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) An der Decke hängt eine Bananenstaude Logik und Informatik Es steht ein Stuhl im Raum Inhalt der Vorlesung (Plan) Organisatorisches Literatur Kann der Affe die Bananen erreichen? Warum? Organisatorisches Literatur Logik Was wir wissen � Chr. Schubert Nehmen wir an, wir wissen das Folgende über Tiere, Affen, Bananen, Gegenstände, usw.: (1) Ein Tier, das Arme hat und nahe bei einem Ding ist, kann dieses Ding erreichen (2) Ein Tier auf einem hohen Gegenstand, der unter den Bananen steht, ist nahe bei den Bananen (3) Wenn ein Tier einen Gegenstand zu einem Ding schiebt, und alle sind im Raum, dann ist das Ding nahe am Boden oder der Gegenstand ist unter dem Ding (4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf dem Gegenstand (5) Der Affe ist ein Tier, das Arme hat (6) Der Stuhl ist ein hoher Gegenstand (7) Der Affe, der Stuhl, die Bananen sind im Raum (8) Der Affe kann den Stuhl unter die Bananen schieben (9) Die Bananen sind nicht nahe am Boden (10) Der Affe kann den Stuhl ersteigen � Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches formal Erreichen(x, y ) Arme(x) Nah(x, y ) Auf(x, y ) Unter(x, y ) Hoch(x) In(x) Schieben(x, y , z) Steigen(x, y ) Ein einleitendes Beispiel Logik und Informatik Vorgehensweise Wir gehen systematisch in vier Schritten vor: Inhalt der Vorlesung (Plan) Organisatorisches Literatur II. Verknüpfung von Aussagen Formalisieren: Wir präzisieren die Bedeutung der Verknüpfung von Aussagen in die Sprache der Mathematik III. Schlussweisen Formalisieren: Wir legen fest, welche Arten von Schlüssen wir ziehen dürfen IV. Schlussweisen Anwenden: Wir wenden in III erlaubte Schlussweisen auf die formalisierten Aussagen (1) – (10) an, um (11) herzuleiten Bemerkung: Eine exakte Definition der im Folgenden verwendeten Begriffe erfolgt erst in späteren Kapiteln. Hier geht es nur ums “Prinzip”! Logik Chr. Schubert Ein einleitendes Beispiel Umgangssprachlich x kann y erreichen x hat Arme x kann nahe bei y sein x kann auf y sein x kann unter y sein x ist hoch x ist im Raum x kann y zu z schieben x kann auf y steigen Chr. Schubert Es erscheint möglich, dass die Frage durch “logische Schlüsse” aus den Aussagen (1) – (10) beantwortet werden kann I. Elementaraussagen Formalisieren: Wir übertragen die vorkommenden Begriffe und einfachen Aussagen in die Sprache der Mathematik Literatur Gilt dann auch: (11) Der Affe kann die Bananen erreichen ? Schritt I: Elementaraussagen Formalisieren Logik Folgt (11) aus (1) – (10)? Schritt II: Verknüpfung von Aussagen Formalisieren (1/4) Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Literatur Umgangssprachlich A und B wenn A dann B A oder B nicht A für alle x gilt... formal A∧B A→B A∨B ¬A ∀x . . . Logik Schritt II: Verknüpfung von Aussagen Formalisieren (2/4) Chr. Schubert Ein einleitendes Beispiel (1) Ein Tier, das Arme hat und nahe bei einem Ding ist, kann dieses Ding erreichen ∀x, y (Arme(x) ∧ Nah(x, y )) → Erreichen(x, y ) Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur (10) Der Affe kann den Stuhl ersteigen Steigen(Affe, Stuhl) (11) Der Affe kann die Bananen erreichen Erreichen(Affe, Bananen) Literatur (7) Der Affe, der Stuhl, die Bananen sind im Raum ∀x, y , z In(x) ∧ In(y ) ∧ In(z) ∧ Schieben(x, y , z) → � � Nah(z, Boden) ∨ Unter(y , z) ¬Nah(Bananen, Boden) Organisatorisches Hoch(Stuhl) � (9) Die Bananen sind nicht nahe am Boden Inhalt der Vorlesung (Plan) (6) Der Stuhl ist ein hoher Gegenstand (3) Wenn ein Tier einen Gegenstand zu einem Ding schiebt, und alle sind im Raum, dann ist das Ding nahe am Boden oder der Gegenstand ist unter dem Ding Schieben(Affe, Stuhl, Bananen) Ein einleitendes Beispiel Arme(Affe) Nah(x, Bananen) (8) Der Affe kann den Stuhl unter die Bananen schieben Chr. Schubert (5) Der Affe ist ein Tier, das Arme hat � � ∀x, y Auf(x, y ) ∧ Unter(y , Bananen) ∧ Hoch(y ) → Schritt II: Verknüpfung von Aussagen Formalisieren (4/4) Logik Logik und Informatik (4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf dem Gegenstand ∀x, y Steigen(x, y ) → Auf(x, y ) (2) Ein Tier auf einem hohen Gegenstand, der unter den Bananen steht, ist nahe bei den Bananen � Schritt II: Verknüpfung von Aussagen Formalisieren (3/4) In(Affe) ∧ In(Bananen) ∧ In(Stuhl) Logik Chr. Schubert Schritt III: Schlussweisen Formalisieren Logik Chr. Schubert Ein einleitendes Beispiel Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Literatur (A) Aus B1 und (B1 ∧ · · · ∧ Bn ) → C folgt (B2 ∧ · · · ∧ Bn ) → C (B) Aus B und B → C folgt C (C) Aus ¬C1 und C1 ∨ · · · ∨ Cn folgt C2 ∨ · · · ∨ Cn (D) Aus ∀x F (x) folgt F (a) für jedes Objekt a und jede Formel F Logik Zusammenfassung Chr. Schubert Aussagen: Schlussweisen: (1) ∀x, y (Arme(x) ∧ Nah(x, y )) → Erreichen(x, y ) (A) Aus B1 und (B1 ∧ · · · ∧ Bn ) → C folgt (B2 ∧ · · · ∧ Bn ) → C (2) ∀x, y (Auf(x, y )∧ Unter(y , Bananen) ∧ Hoch(y )) → Nah(x, Bananen) (3) ∀x, y , z (In(x) ∧ In(y ) ∧ In(z)∧ Schieben(x, y , z)) → (Nah(z, Boden) ∨ Unter(y , z)) (4) ∀x, y Steigen(x, y ) → Auf(x, y ) (5) Arme(Affe) (6) Hoch(Stuhl) (7) In(Affe) ∧ In(Bananen) ∧ In(Stuhl) (B) Aus B und B → C folgt C Ein einleitendes Beispiel � Logik und Informatik Organisatorisches Literatur � (D) Aus ∀x F (x) folgt F (a) für jedes Objekt a und jede Formel F � � (9) ¬Nah(Bananen, Boden) In(Affe) ∧ In(Bananen) ∧ In(Stuhl)∧ � � Logik Chr. Schubert � Auf(Affe, Stuhl) Anwendung von (C) auf (13) und (9) ergibt: � (13) (14) (15) In den ersten beiden Schritten � � � Nah(Affe, Bananen) � � � Erreichen(Affe, Bananen) � � Genau genommen haben wir nur die Syntax (“Wie sehen Formeln aus”)aber nicht ihre Semantik (“Was bedeuten die Formeln”) festgelegt Mehr dazu in Kapitel 2 Im dritten Schritt haben wir dann ein Beweissystem festgelegt und dieses im vierten Schritt angewendet Dies ist eine für die Logik typische Vorgehensweise: � Dann Anwendung von (D) auf (1) und (A), (B) mit (5), (17): Literatur Zweifache Anwendung von (D) auf (4) ergibt: Literatur Analog liefert Anwendung von (D) auf (2) und dann (A) und (B) mit (6), (14), (16): (17) (12) haben wir eine Formale Sprache festgelegt Organisatorisches (16) Organisatorisches � I Elementaraussagen Formalisieren II Verknüpfung von Aussagen Formalisieren Inhalt der Vorlesung (Plan) Anwendung von (B) auf (15) und (10) ergibt: Inhalt der Vorlesung (Plan) Was haben wir gerade getan? Logik und Informatik � Nah(Bananen, Boden) ∨ Unter(Stuhl, Bananen) Steigen(Affe, Stuhl) → Auf(Affe, Stuhl) Ein einleitendes Beispiel � Schieben(Affe, Stuhl, Bananen) → Nah(Bananen, Boden) ∨ Unter(Stuhl, Bananen) (11) Erreichen(Affe, Bananen) � � (Mehrfache) Anwendung von (A), (B) auf (12) mit (7), (8) ergibt: (10) Steigen(Affe, Stuhl) Schritt IV: Schlussweisen Anwenden (2/2) Ein einleitendes Beispiel Logik und Informatik Unter(Stuhl, Bananen) (8) Schieben(Affe, Stuhl, Bananen) Chr. Schubert Mehrmaliges Anwenden von (D) auf (3) liefert: � Inhalt der Vorlesung (Plan) (C) Aus ¬C1 und C1 ∨ · · · ∨ Cn folgt C2 ∨ · · · ∨ Cn Logik Schritt IV: Schlussweisen Anwenden (1/2) Festlegen, welches die erlaubten Formeln sind Festlegen, was die Formeln bedeuten Festlegen von syntaktischen Regeln, mit denen aus gegebenen Formeln andere Formeln hergeleitet werden können All dies werden wir im Verlauf der Vorlesung anhand verschiedener “Logiken” präzisieren Zwei wichtige Aspekte dieses Ansatzes: � � Präzisierung (“Logik für Penible”) Automatisierung (“Logik für Faule”) Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Overview Logik Chr. Schubert Zur Geschichte der Logik (1/2) Ein einleitendes Beispiel Logik und Informatik Ein einleitendes Beispiel Logik Chr. Schubert Ein einleitendes Beispiel um 325 v.Chr. Aristoteles: Erstes System der Logik um 1700 Leibniz formuliert das Ziel einer universellen Sprache zur Formulierung aller mathematischen Aussagen und eines Kalküls zur Herleitung aller wahren Aussagen Inhalt der Vorlesung (Plan) Organisatorisches Literatur Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur 1854 Boole: Formalisierung der Aussagenlogik 1879 Frege: Formalisierung der Prädikatenlogik Inhalt der Vorlesung (Plan) um 1880 Cantorsche Mengenlehre, Rückführung der Analysis auf Arithmetik und der Arithmetik auf die Mengenlehre Organisatorisches um 1900 Cantorsche Mengenlehre führt zu Widersprüchen � Russels Antinomie : “Menge aller Mengen, die sich nicht selbst als Element enthalten” → Notwendigkeit einer neuen Grundlegung der Mathematik/Mengenlehre Literatur Zur Geschichte der Logik (2/2) um 1900 Hilberts Programm zur Formalisierung der Mathematik. (1) Kann jede mathematische Aussage durch syntaktisches Schließen bewiesen oder widerlegt werden? (2) Gibt es ein Verfahren, das zu jeder mathematischen Aussage automatisch entscheidet, ob sie wahr oder falsch ist? 1930 Gödelscher Vollständigkeitssatz: Jeder aus einem Axiomensystem A folgende Satz ist auch aus A syntaktisch ableitbar 1931 Gödelsche Unvollständigkeitssätze: z.B..: Ist die Arithmetik widerspruchsfrei, so kann dies nicht mit ihren eigenen Mitteln bewiesen werden. 1936 Church, Turing: Es gibt kein Programm, das für alle mathematischen Aussagen entscheidet, ob sie wahr oder falsch sind Gödel und Church, Turing: Hilberts Programm kann nicht funktionieren! Logik Chr. Schubert Logik und Informatik Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Logik Chr. Schubert Ein einleitendes Beispiel � � Wir beschäftigen uns hier mit Anwendungen der Logik in der Informatik In der Informatik ist “alles eine Nummer kleiner” als in der Mathematik: � � � Vieles ist endlich statt unendlich Z.B.: statt Arithmetik und Mengenlehre werden häufig endliche diskrete Strukturen (Graphen!) verwendet Auch die verfügbare Zeit zur Lösung eines Problems ist knapper: � � � Beweis des Satzes von Fermat: > 350 Jahre Antwortzeit bei Google: ein paar Millisekunden Beide genannten Aspekte der logischen Fundierung kehren wieder: � � Präzisierung (Spezifikation) Automatisierung Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Anwendungen von Logik in der Informatik Logik Chr. Schubert Ein einleitendes Beispiel Logik, Hardware und automatische Verifikation � Logik und Informatik Inhalt der Vorlesung (Plan) Es folgen einige Beispiele für die Anwendung von Logik in der Informatik. � Organisatorisches Literatur � 1. Aussagenlogik und Computer-Hardware. � 2. Logik-Programmierung Die fundamentale Bedeutung der Aussagenlogik für die Computer-Hardware lernen Sie im Modul Rechnerstrukturen Insbesondere sind Prozessoren “in Silizium gegossene Aussagenlogik” logische Methoden spielen bei der automatischen Verifikation von Hardware eine wichtige Rolle, z.B. Model Checking Die Grundidee des Model Checking ist wie folgt: � 3. Relationale Datenbanken 4. Logik und Software-Verifikation � Dabei werden sehr unterschiedliche Logiken verwendet, die wir nicht alle in dieser Vorlesung betrachten können. � � � Logik-Programmierung Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) � Einschränkung auf Horn-Klauseln: ∀x1 · · · xk (A1 ∧ · · · ∧ Am ) → B � Schreibweise: B :- A1 , A2 ,...,Am � Um festzustellen, ob eine Aussage G aus dem Logik-Programm P folgt, wird ¬G zu P hinzugenommen und getestet, ob sich ein Widerspruch ergibt � Dieser Test kann durch SLD-Resolution durchgeführt werden � Programmiersprache: PROLOG → Deklarative Programmierung Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Logik ANGESTELLTE NAME PERSNR GEHALT ABT Ochs 17 48.000 4 Faninal 12 63.000 12 Lerchenau 8 90.000 13 Finde Namen und Gehalt aller Angestellten der Abt. 12, die mehr als 50.000 Euro verdienen Die Anfragesprache SQL entspricht der Prädikatenlogik: � SQL-Anfrage SELECT Name, Gehalt FROM Angestellte WHERE Gehalt > 50.000 AND ABT = 12 � entspricht der Formel: { (X , Y ) | ∃Z1 , Z2 ANGESTELLTE(X , Z1 , Y , Z2 ) ∧ Z2 = 12 ∧ Y > 50.000 } � Ein einleitendes Beispiel Chr. Schubert Relationale Datenbanken sind auf einem sehr einfachen mathematisch/logischen Modell aufgebaut: relationale Strukturen � Beispielrelation und -anfrage Literatur Chr. Schubert Modelliere das zu verifizierende System durch ein Transitionssystem M mit endlich vielen Zuständen Drücke Systemeigenschaften durch Formeln einer geeigneten Logik aus Teste automatisch, ob die Formel im System gilt Dabei werden “nicht-klassische” Temporallogiken verwendet, die speziell auf die zu überprüfenden Eigenschaften von Transitionssystemen (insbesondere auf zeitliche Aspekte) zugeschnitten sind Wir werden in der Vorlesung ähnliche Logiken kennen lernen: Modallogiken Relationale Datenbanken Organisatorisches Logik Relationale Algebra, Relationenkalkül und SQL sind (im Prinzip) gleich ausdrucksstark und können effizient ineinander übersetzt werden Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Logik und Software-Verifikation (Partielle) Korrektheitsbeweise für Programme können zum Beispiel in der Hoare-Logik geführt werden: � � Formeln der Art {p} P {q}: soll ausdrücken: Wenn vor Ausführung des Programms P Bedingung p gilt, so gilt nach Ausführung von P Bedingung q Logik Chr. Schubert � � Logik Chr. Schubert Ein einleitendes Beispiel Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Ein einleitendes Beispiel Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Literatur Logik und Informatik Beispiel: Inhalt der Vorlesung (Plan) {x ≤ 4} y := 3 ∗ x + 1 {(x ≤ 4) ∧ (y ≤ 13)} � Overview Axiome (Beispiel): {p(t)} x := t {p(x)} Organisatorisches Beweisregeln (Beispiel): Falls {p}P1 {q} und {q}P2 {r } so auch {p} P1 ; P2 {r } Korrektheitsbeweise sind dann Beweise von Formeln vom Typ {p} P {q} Literatur Solche Logiken werden in dieser Vorlesung nicht betrachtet Inhalt der Vorlesung (Plan) � � Einleitung A: Aussagenlogik � � � Einige Lernziele der Vorlesung Ein einleitendes Beispiel Logik und Informatik � Grundlagen der Modallogik: Syntax, Semantik, Eigenschaften, Algorithmen, Rahmen und Korrespondenz Erfüllbarkeit modallogischer Formeln: Tableaukalküle C: Prädikatenlogik � � � Grundlagen der Prädikatenlogik: Syntax, Semantik, Normalformen Erfüllbarkeit prädikatenlogischer Formeln: Herbrand-Modelle, Unifikation, Resolution, PROLOG Weitere Eigenschaften der Prädikatenlogik: Unentscheidbarkeit, Löwenheim-Skolem, Kompaktheit, Lokalität, Auswertung Logik Chr. Schubert Ein einleitendes Beispiel � Grundwissen Inhalt der Vorlesung (Plan) � Organisatorisches � Literatur � � B: Modallogik � � Grundlagen der Aussagenlogik: Syntax, Semantik, Äquivalenzen, Normalformen Erfüllbarkeit aussagenlogischer Formeln: Schließen und Folgern, Resolution, Horn-Logik Logik Chr. Schubert � � Verhältnis von Syntax und Semantik Grundlagen von Aussagenlogik, Modallogik und Prädikatenlogik Möglichkeiten und Grenzen der betrachteten Logiken Grundlagen von Beweissystemen Grundlagen der Logischen Programmierung Handwerkszeug � � � � � � Formalisieren und Modellieren mit mathematischer Logik Sicherheit im Umgang mit logischen Formeln Auswahl eines geeigneten logischen Systems für ein gegebenes Problem Umgang mit Beweiskalkülen, insbesondere Resolution, Anwendung auf konkrete Situationen Anwendung der betrachteten Algorithmen Schreiben kleiner PROLOG-Programme Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Overview Ein einleitendes Beispiel Logik Chr. Schubert Die Bestandteile der Veranstaltung Logik Chr. Schubert Ein einleitendes Beispiel Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches � Das Team � Vorlesung � Übungsaufgaben � Übung � Klausur � Die Veranstaltung im Web Literatur Literatur Das Team Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Dr. Christoph Schubert (Vorlesung) [email protected] Büro: Raum 310, GB IV, Südcampus Sprechstunde: Donnerstag, 13:00 – 14:00 Uhr Inhalt der Vorlesung (Plan) Organisatorisches Literatur Vorlesung � � � � Termin: Mittwoch, 8:15 – 9:45 Uhr, E23, OH14 Durchgängiger Einsatz von Folien Erläuterungen an der Tafel Folien werden online bereitgestellt, kein Skript Zweck der Vorlesung: � Vermittlung aller wesentlichen Inhalte Gebrauchsanleitung für die Vorlesung: Dr. Ingo Battenfeld � Denken Sie mit (Übungen) [email protected] Büro: Raum 307c, GB IV, Südcampus Sprechstunde: Montag, 12:30 – 13:30 Uhr � Stellen Sie Fragen � Schreiben Sie nur das Nötigste mit Nachbereitung: � Arbeiten Sie die Vorlesung nach � Geben Sie sich dabei erst zufrieden, wenn Sie jedes Detail jeder Folie (mindestens einmal!) verstanden haben Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Übungsaufgaben (1/3) Zweck der Übungsaufgaben � Wiederholung der Inhalte der Vorlesung � Erkennen, wo es mit dem Verständnis noch hapert � Entwicklung der Fähigkeit, die in der Vorlesung gelernten Techniken anzuwenden Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Ist die Bearbeitung der Übungsaufgaben Pflicht? Übungsaufgaben (2/3) Gruppenarbeit � Sie können die Übungsaufgaben zusammen mit anderen bearbeiten und gemeinsam Lösungswege suchen � Das Aufschreiben der Lösungen erfolgt aber individuell � Wenn mehrere Personen wortgleiche Lösungen abgeben, erhalten sie alle 0 Punkte � � DPO Informatik: Nein Ihre Lösungen werden korrigiert Unser Tipp: � es gibt keinen einfacheren Weg zum Nichtbestehen der Klausur als die Übungsaufgaben nicht zu bearbeiten Zu jedem Übungsblatt wird nach der Besprechung in den Übungen eine Beispiel-Lösung veröffentlicht � Wichtig: es kann mehrere Lösungswege geben, die Beispiel-Lösung ist immer nur eine davon � Lösungen sind nur vollständig, wenn sie begründet und erläutert werden Beweise: nur wenn ausdrücklich in Aufgabenstellung erwähnt Logik Chr. Schubert � 2 Blätter mit Präsenzaufgaben (erste Übungsstunden) � 12 Übungsblätter mit Abgabe der Lösung 1 Wiederholungsblatt am Ende � Übungsaufgaben-Lebenszyklus � Ausgabe Übungsblatt: mittwochs, Woche n nach der Vorlesung. Start: nächste Woche � Fragen zum Übungsblatt: Übung Woche n + 1 � Abgabe Lösungen: Mittwoch Woche n + 1 (8:14 Uhr) � Besprechung: Übung Woche n + 2 Inhalt der Vorlesung (Plan) Organisatorisches Literatur Logik Übung Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Anzahl und Art der Übungsblätter Logik und Informatik in der Vorlesung sonstige Möglichkeiten: siehe Übungsblatt � � Ein einleitendes Beispiel Abgabe � BPO Datenanalyse: Ja Anforderung an Lösungen Chr. Schubert Abgabe und Korrektur: BPO Informatik: Ja Übungsaufgaben (3/3) Logik Ein einleitendes Beispiel � In den Übungen werden die Lösungen der Übungsaufgaben von den Teilnehmern vorgeführt Logik und Informatik � Alternative Lösungswege werden diskutiert und Fragen werden besprochen Organisatorisches � Aktive Teilnahme, insbesondere Bereitschaft zum Vorführen von Lösungen Raum 228, GB IV, Südcampus, Termine: � � � � � Montags (14:15–15:00, 15:15–16:00) Dienstags (10:15–11:00, 11:15–12:00) Anmeldung zu den Übungsgruppen: hier und jetzt! Beginn der Übungsgruppen: � � 11. April In der Woche vom 11. April wird ein Übungsblatt mit “Präsenzaufgaben” besprochen Inhalt der Vorlesung (Plan) Literatur Studienleistung Nur für Bachelorstudierende Logik Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Inhalt der Vorlesung (Plan) Organisatorisches Um zur Klausur zugelassen zu werden, müssen Sie: � auf mindestens drei der zwölf abzugebenen Aufgabenblätter mindestens 50% der auf diesem Blatt maximal zu erreichenden Punkte erreichen � 2. Klausur: 22. 8. 2011, 9:00 Uhr bis 11:00 Uhr � Folien, Übungsaufgaben und handschriftliche Mitschriften dürfen verwendet werden Anmeldung: � Logik Chr. Schubert https://ls10-wiki.cs.uni-dortmund.de/logik/ Logik und Informatik � Vorlesungsankündigung und aktuelle Mitteilungen, � Logbuch mit dem Verlauf der Vorlesung � Vorlesungsfolien Informationen zur Übung: � � � das aktuelle Übungsblatt (mittwochs) Beispiel-Lösungen aktuelle Hinweise zu den Übungsaufgaben INPUD-Forum � Im INPUD-Forum gibt es eine moderierte Diskussionsgruppe zur Logik � http://inpud.cs.uni-dortmund.de/phpbb/ → Logik Dort können Sie Fragen stellen, mit anderen über Vorlesung und Übung diskutieren, sich Lernpartner suchen usw. Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Für die Bachelor-Studiengänge Anmeldung im BOSS � � Ein einleitendes Beispiel � 1. Klausur: 1. 8. 2011, 16:30 Uhr bis 18:30 Uhr � Vorlesungswebseite � � in den Übungen mindestens eine Aufgabe an der Tafel hinreichend gut präsentieren Die Veranstaltung im Web Chr. Schubert Ein einleitendes Beispiel Literatur � Logik Klausur Studienleistung ist Voraussetzung Diplom-Studiengänge: Anmeldung per Mail an uns Logik 1 vs. 26 Chr. Schubert Ein einleitendes Beispiel � Das Tempo einer Universitätsvorlesung ist nicht mit dem der Schule zu vergleichen � Die Inhalte der einzelnen Vorlesungseinheiten bauen aufeinander auf � Sehr geringer Anteil an Wiederholungen Literatur Sich eine Woche nicht mit den Inhalten einer Veranstaltung zu beschäftigen verlängert aller Voraussicht nach das Studium um sechsundzwanzig (26) Wochen! Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Overview Ein einleitendes Beispiel Logik Chr. Schubert Literatur Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) [KuK] M. Kreuzer and S. Kühling. Logik für Informatiker. Pearson, 2006. (49 Exemplare in der UB-Lehrbuchsammlung) Literatur Logik und Informatik Organisatorisches [Sch] Uwe Schöning. Logik für Informatiker. Spektrum Akademischer Verlag, 5. Auflage, 2000. Literatur [Sie] Dirk Siefkes. Formalisieren und Beweisen: Logik für Informatiker. Vieweg, 1992 Logik und Informatik Logik Chr. Schubert Schlussbemerkungen Organisatorisches Literatur Organisatorisches Literatur Logik Chr. Schubert Ein einleitendes Beispiel Ein einleitendes Beispiel Logik und Informatik Logik und Informatik Inhalt der Vorlesung (Plan) Inhalt der Vorlesung (Plan) Organisatorisches Organisatorisches Literatur Literatur � � Inhalt der Vorlesung (Plan) Inhalt der Vorlesung (Plan) [HR] Michael Huth und Mark Ryan. Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press, 2004. [B] Mordechai Ben-Ari. Mathematical Logic for Computer Science. Springer, 2008. Inhalt der Vorlesung (Plan) Ein einleitendes Beispiel Chr. Schubert Ein einleitendes Beispiel Organisatorisches Worüber haben wir heute geredet? Logik Das Affen-Beispiel ist dem Buch von Siefkes entnommen Die Wikipedia enthält viele informative Artikel zu verschiedenen Themen der Logik (ohne Gewähr für Richtigkeit. . . ) Logik Zu guter Letzt. . . Chr. Schubert Ein einleitendes Beispiel Logik und Informatik Inhalt der Vorlesung (Plan) Organisatorisches Literatur Viel Erfolg! Und möglichst auch etwas Spass! Logik TU Do SoSe 2011 Logik für Informatiker Aussagenlogik: Einführung C. Schubert Beispiele Beispiele Syntax Semantik Beispiele Modellierung mit AL: Beispiele 3 Semantik TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik 4 Modellierung mit AL: Beispiele Sommersemester 2011 Version vom 12. April 2011 (15:19 Uhr) 5 Einige Grundbegriffe Beispiele Logik TU Do SoSe 2011 Syntax Gründe für formale Logik: Präzision 4 Semantik Modellierung mit AL: Beispiele Einige Grundbegriffe Logik TU Do SoSe 2011 C. Schubert Beispiele Beispiele Syntax Syntax Semantik Grundbegriffe (1) Keine zwei Spieler haben in allen Spielen gleich gut gespielt = höchstens ein Spieler hat in allen Spielen gleich gut gespielt? = es gab keine zwei Spieler, für die in jedem Spiel galt, dass beide gleich gut gespielt haben? Stimmt das auch noch, wenn ich am 15.3. und am 18.4. nach Spanien fahre? Formale Logik hat im Gegensatz zur menschlichen Sprache eine eindeutige Semantik und erlaubt daher, Zusammenhänge präzise zu beschreiben Aussage (1): Prädikatenlogik (später) 5 Grundbegriffe C. Schubert (2) Ich fahre im März oder April nach Spanien 3 Semantik Modellierung mit AL: Beispiele basierend auf Folien von Prof. Thomas Schwentick Grundbegriffe Modellierung mit AL: Beispiele 2 Syntax 1 Syntax Überblick Logik TU Do SoSe 2011 C. Schubert 2 Dr. Christoph Schubert 1 Unser Programm für Heute Aussage (2): Aussagenlogik (jetzt) Semantik Modellierung mit AL: Beispiele Grundbegriffe Gründe für formale Logik: Struktur von Zusammenhängen Logik TU Do SoSe 2011 Gründe für formale Logik: Problemlösen (1/2) C. Schubert Schlüssige Überlegung (1) Wenn der Zug zu spät kommt und keine Taxis am Bahnhof sind, kommt Jane zu spät zu ihrem Termin Jane ist pünktlich Die beiden Beispiele sind sehr ähnlich In beiden Fällen haben wir es mit 3 elementaren Aussagen zu tun: (1) (2) (3) Der Zug ist zu spät → Also gibt es Taxis am Bahnhof Der Zug ist zu spät Es gibt Taxis am Bahnhof Jane kommt zu spät Es regnet John hat seinen Schirm dabei John wird nass Semantik Modellierung mit AL: Beispiele Grundbegriffe Falls es regnet und John seinen Schirm nicht dabei hat, wird er nass John wird nicht nass Es regnet → Also hat er seinen Schirm dabei Beispiele Eine typische Logelei Syntax Angela: “Guido oder ich werden an der Regierungskoalition beteiligt sein.” Guido: “Entweder Frank-Walter oder ich werden an der Regierung beteiligt sein.” Semantik Modellierung mit AL: Beispiele Grundbegriffe Frank-Walter: “Entweder Angela oder ich werden in der Opposition sein.” In beiden Fällen ist die Struktur der Argumentation gleich: Schlüssige Überlegung (2) C. Schubert Beispiele Syntax Logik TU Do SoSe 2011 Wir kürzen ab: A steht für “Angela wird an der Regierung beteiligt sein” F steht für “Frank-Walter wird an der Regierung beteiligt sein” G steht für “Guido wird an der Regierung beteiligt sein” Falls (1) gilt und (2) nicht gilt, so gilt (3) (3) gilt nicht (1) gilt → Also gilt (2) Entsprechend: ¬A für “Angela wird in der Opposition sein” Erkenntnisse: Es ergibt sich die Formel: Die Argumentation ist unabhängig vom Inhalt der Aussagen (1) – (3) Es kommt nur auf den logischen Zusammenhang zwischen den Aussagen an (G ∨ A) ∧ (F ↔ ¬G ) ∧ (A ↔ ¬F ) (Beispiele aus [HR]) Gründe für formale Logik: Problemlösen (2/2) Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Aussagen und Aussagenvariablen C. Schubert Die Aussagenlogik ist (nicht sehr überraschend) die “Logik der Aussagen” C. Schubert Beispiele Was ist eine Aussage? Beispiele Syntax Semantik Die Formel (G ∨ A) ∧ (F ↔ ¬G ) ∧ (A ↔ ¬F ) Durch Ausprobieren aller Möglichkeiten stellen wir fest: Nur eine Zuordnung von Variablen zu Wahrheitswerten macht die Formel wahr: F �→ falsch G �→ wahr A �→ wahr → Wenn alle drei die Wahrheit gesagt haben, werden Guido und Angela eine Koalition bilden, Frank-Walter geht in die Opposition Erkenntnis: Die logische Formalisierung erlaubt die Anwendung systematischer Methoden zur Lösung von Problemen Modellierung mit AL: Beispiele Grundbegriffe Syntax Beispiele für Aussagen: Keine Aussagen sind: Der Zug ist pünktlich Alle Marsianer lieben Pizza Der BVB wird Meister der Saison 2010/11 Jede gerade Zahl, die größer als 2 ist, ist die Summe zweier Primzahlen Geben Sie mir mal das Salz, bitte? Alles Gute! Möge das bessere Team gewinnen! Was unterscheidet Aussagen von anderen Sätzen? Aussagen können wahr oder falsch sein Gemäß dieser Erkenntnis wählen wir unsere Abstraktion von Aussagen: etwas, das wahr oder falsch sein kann → Statt sprachlicher Aussagen verwenden wir Variablen, die die Werte wahr oder falsch annehmen können Solche Variablen nennen wir dann Aussagevariablen Semantik Modellierung mit AL: Beispiele Grundbegriffe Logik TU Do SoSe 2011 Überblick C. Schubert Beispiele Syntax 1 Beispiele Semantik Modellierung mit AL: Beispiele 2 Syntax Grundbegriffe Logik TU Do SoSe 2011 Aussagenlogik: Syntax Wir verwenden aussagenlogische Variablen der Art A, B, C sowie Ai , für alle i ∈ N (und weitere, wenn nötig). AV bezeichne die Menge aller aussagenlogischen Variablen C. Schubert Beispiele Syntax Semantik Definition (Syntax aussagenlogischer Formeln) Die Menge AL der aussagenlogischen Formeln ist die kleinste Menge, die die folgenden Eigenschaften hat: Modellierung mit AL: Beispiele Grundbegriffe (1) � und ⊥ sind in AL 3 (2) Jede aussagenlogische Variable aus AV ist in AL (3) Sind F1 und F2 in AL, so auch Semantik 4 Modellierung mit AL: Beispiele 5 Einige Grundbegriffe ¬F1 , (F1 ∧ F2 ), (F1 ∨ F2 ), (Negation) (Konjunktion) (Disjunktion) Formeln der Typen (1) und (2) nennen wir atomar Aussagenlogische Formeln Logik TU Do SoSe 2011 Baumdarstellung Die Struktur aussagenlogischer Formeln lässt sich durch ihren Syntaxbaum veranschaulichen: � (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ) � � (A ∨ ¬�) ∧ ¬¬B ∧ ∨ A1 ∨ ¬ A ∧ A2 A1 ¬ A3 � ¬ ¬ � B A ∧ B ∨ A2 ((A ∨ B)) Exkurs: Induktive Definitionen und Beweise (1/2) Logik TU Do SoSe 2011 C. Schubert Beispiele Beispiele Syntax Semantik Grundbegriffe ¬ A ∧ ¬B) C. Schubert Modellierung mit AL: Beispiele ∧ (A ∧ �) � � (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ) � � (A ∨ ¬�) ∧ ¬¬B Keine aussagenlogischen Formeln Die Definition von AL ist ein Beispiel für eine induktive Definition einer Menge: Zuerst werden gewisse Grundelemente der Menge definiert (hier: die aussagenlogischen Variablen, sowie �und ⊥) Dann wird beschrieben, wie aus gegebenen Elementen der Menge neue Elemente gewonnen werden Implizit oder explizit gilt zusätzlich: es gibt keine anderen Elemente als die so konstruierbaren Ein (hoffentlich) bekanntes Beispiel einer induktiven Definition: die natürlichen Zahlen 0∈N n ∈ N =⇒ n + 1 ∈ N Induktive Definitionen von Mengen erlauben: induktive Beweise von Eigenschaften aller Elemente der Menge und induktive (rekursive) Definitionen von Funktionen auf den Elementen der Menge Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Exkurs: Induktive Definitionen und Beweise (2/2) Als Beispiel definieren wir die Anzahl t(F ) (der Vorkommen) der Teilformeln einer aussagenlogischen Formel: t(X ) =def 1, für jede aussagenlogische Variable X t(�) =def t(⊥) =def 1 t(¬F ) =def 1 + t(F ) t((F1 ∨ F2 )) =def =def 1 + t(F1 ) + t(F2 ) t((F1 ∧ F2 )) =def 1 + t(F1 ) + t(F2 ) Logik TU Do SoSe 2011 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Beispiele Beispiele Syntax Semantik Syntax 1 Beispiele Modellierung mit AL: Beispiele Grundbegriffe Außerdem bezeichnen wir mit |F | die Anzahl der Zeichen in F Modellierung mit AL: Beispiele 2 Syntax 3 Semantik 4 Modellierung mit AL: Beispiele 5 Einige Grundbegriffe Beispiel: |(A ∨ ¬B) ∧ C | = 8 Wir beweisen per Induktion nach der Struktur von F , dass für alle F ∈ AL gilt: t(F ) ≤ |F | t(F ) = 1 = |F | für atomare Formeln F t(¬F ) = 1 + t(F ) ≤ 1 + |F | = |¬F | für alle Formeln F Für alle Formeln F1 , F2 gilt: � � t (F1 ∧ F2 ) = 1 + t(F1 ) + t(F2 ) ≤ 1 + |F1 | + |F2 | ≤ 3 + |F1 | + |F2 | = |(F1 ∧ F2 )| Semantik Grundbegriffe Analog für (F1 ∨ F2 ) Logik TU Do SoSe 2011 Aussagenlogik: Semantik (1/3) Bisher haben wir nur definiert, wie aussagenlogische Formeln aussehen (Syntax) Jetzt definieren wir, was sie bedeuten (Semantik) Was soll beispielsweise die Bedeutung der Formel � � F = (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ) sein? Idee: F stellt eine Beziehung her zwischen den Werten der aussagenlogischen Variablen und einem Wahrheitswert Genauer: jeder Wahl von Wahrheitswerten für die Variablen von F ordnet F einen Wahrheitswert zu Z.B. wird der Wahl von Wahrheitswerten A1 �→ falsch, A2 �→ wahr, A3 �→ falsch der Wahrheitswert wahr zugeordnet → Diese Zuordnung (für alle Kombinationen von Wahrheitswerten) soll gerade die Semantik von F sein Aussagenlogik: Semantik (2/3) Logik TU Do SoSe 2011 C. Schubert C. Schubert Beispiele Beispiele Syntax Syntax Semantik Semantik Modellierung mit AL: Beispiele Grundbegriffe Eine (Wahrheits-)Belegung α ordnet Variablen in AV eindeutig Wahrheitswerte zu nicht jeder Variable in AV muss ein Wahrheitswert zugeordnet werden D.h. eine Belegung ist eine partielle Funktion α : AV → { falsch, wahr } Schreibe α(X ) für den Wahrheitswert, welche α einer Variablen X zuordnet Eine Belegung α heißt passend für eine Formel F , wenn α(X ) für alle in F vorkommenden Variablen X definiert ist Die Semantik von F soll jeder passenden Belegung α einen Wahrheitswert [[F ]]α zuordnen Modellierung mit AL: Beispiele Grundbegriffe Logik TU Do SoSe 2011 Aussagenlogik: Semantik (2/2) Aussagenlogik: Semantik (Beispiel) C. Schubert C. Schubert Beispiele Definition (Semantik aussagenlogischer Formeln) Syntax Semantik Sei F ∈ AL Modellierung mit AL: Beispiele Sei α eine zu F passende Belegung Wir definieren [[F ]]α induktiv nach der Struktur von F : Grundbegriffe falsch wahr α(X � ) für Variablen X ∈ AV wahr falls [[F ]]α = falsch [[¬F ]]α =def falsch falls [[F ]]α = wahr � wahr falls [[F1 ]]α = wahr und [[F2 ]]α = wahr [[(F1 ∧ F2 )]]α =def falsch andernfalls � wahr falls [[F1 ]]α = wahr oder [[F2 ]]α = wahr [[(F1 ∨ F2 )]]α =def falsch andernfalls [[⊥]]α =def [[�]]α =def [[X ]]α =def Beispiele Beispiel Syntax Sei F die Formel ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) Sei die Belegung α wie folgt gegeben: X α(X ) A1 0 A2 1 A3 0 Logik TU Do SoSe 2011 Die Semantik einer aussagenlogischen Formel F lässt sich in einer Wahrheitstabelle repräsentieren Wahrheitstabelle für ¬ α(A) 0 1 [[¬A]]α 1 0 Wahrheitstabelle für ∨ [[A ∧ B]]α 0 0 0 1 α(A) 0 0 1 1 α(B) 0 1 0 1 Wahrheitstabelle für � [[�]]α 1 Grundbegriffe [[A2 ]]α = 1 [[A1 ]]α = [[A3 ]]α = 0 [[¬A3 ]]α = 1 [[(A1 ∨ A2 )]]α = 1 [[(A1 ∧ ¬A3 )]]α = 0 [[¬(A1 ∧ ¬A3 )]]α = 1 [[((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))]]α = 1 Wahrheitstabellen: Beispiel C. Schubert α(B) 0 1 0 1 Modellierung mit AL: Beispiele Erinnerung: Wir schreiben hier 1 statt wahr und 0 statt falsch Wahrheitstabelle α(A) 0 0 1 1 Semantik Dann gelten: Oftmals schreiben wir 1 statt wahr und 0 statt falsch Wahrheitstabelle für ∧ Logik TU Do SoSe 2011 [[A ∨ B]]α 0 1 1 1 Wahrheitstabelle für ⊥ [[⊥]]α 0 Logik TU Do SoSe 2011 C. Schubert Beispiele Beispiel Beispiele Syntax Sei F wieder die Formel Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Semantik ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) Dann ist die Semantik von F durch die folgende Wahrheitstabelle gegeben: α(A1 ) α(A2 ) α(A3 ) [[F ]]α 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Jede Zeile der Wahrheitstabelle entspricht also genau einer Belegung α der Variablen von F Künftig werden wir das “α” in Tabellenköpfen weglassen Modellierung mit AL: Beispiele Grundbegriffe Logik TU Do SoSe 2011 Abkürzende Schreibweisen Wir lassen Klammern weg, wenn dadurch keine Missverständnisse entstehen: C. Schubert C. Schubert Beispiele Beispiele Syntax Statt Semantik ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) schreiben wir beispielsweise Modellierung mit AL: Beispiele (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ) Logik TU Do SoSe 2011 Überblick Grundbegriffe Syntax 1 Beispiele Semantik Modellierung mit AL: Beispiele 2 Syntax 3 Semantik 4 Modellierung mit AL: Beispiele 5 Einige Grundbegriffe Grundbegriffe Weitere Fälle, in denen Klammern eingespart werden können, lernen wir bald kennen Wir vereinbaren die logischen Operatoren → und ↔ als abkürzende Schreibweisen wie folgt: F1 → F2 für ¬F1 ∨ F2 F1 ↔ F2 für (F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 ) Die entsprechenden Wahrheitstabellen: F1 F2 F1 → F2 0 0 1 0 1 1 1 0 0 1 1 1 F1 0 0 1 1 F2 0 1 0 1 F1 ↔ F2 1 0 0 1 Logik TU Do SoSe 2011 Modellierung mit Aussagenlogik: Erstes Beispiel Logik TU Do SoSe 2011 Modellierung mit Aussagenlogik: Zweites Beispiel C. Schubert Beispiele Syntax Semantik Modellierung mit AL: Beispiele Beispiel “Das Fluchtauto war rot oder grün und hatte weder vorne noch hinten ein Nummernschild” Elementare Aussagen: A1 : A2 : A3 : A4 : Das Das Das Das Fluchtauto Fluchtauto Fluchtauto Fluchtauto war rot war grün hatte vorne ein Nummernschild hatte hinten ein Nummernschild Gesamtaussage: (A1 ∨ A2 ) ∧ (¬A3 ∧ ¬A4 ) Grundbegriffe C. Schubert Beispiel Beispiele “Platon hatte Recht mit seiner Einschätzung des Sokrates genau dann, wenn Sokrates kein großer Philosoph war” “Wenn Sokrates ein großer Philosoph war, dann hatte Aristoteles Recht mit seiner Einschätzung des Platon” “Aristoteles hatte nur dann Recht mit seiner Einschätzung des Platon, falls Platon Recht hatte mit seiner Einschätzung des Sokrates” Elementare Aussagen: (Beispiel aus [MG]) S: “Sokrates war ein großer Philosoph” A: “Aristoteles hat Recht mit seiner Einschätzung des Platon” P: “Platon hat Recht mit seiner Einschätzung des Sokrates” Teilaussagen: P ↔ ¬S S→A A→P Gesamtaussage: ((P ↔ ¬S) ∧ (S → A)) ∧ (A → P) (Beispiel aus [KuK]) Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Formalisierung umgangssprachlicher Aussagen Logik TU Do SoSe 2011 Modellierung mit Aussagenlogik: Drittes Beispiel (1/3) C. Schubert Vorsicht bei der Formalisierung umgangssprachlicher Aussagen! Implikationen: Wenn ich die Studienleistung schaffe, kann ich die Klausur mitschreiben: studienleistung → klausur Ich kann die Klausur schreiben, wenn ich die Studienleistung schaffe: studienleistung → klausur Nur wenn ich die Studienleistung schaffe, kann ich die Klausur mitschreiben: klausur → studienleistung C. Schubert Beispiele Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Disjunktionen: “oder” lässt sich oft in das nicht ausschließliche ∨ übersetzen: Morgen oder übermorgen bearbeite ich die Übungsaufgaben: morgen ∨ übermorgen Vielleicht auch an beiden Tagen Logik TU Do SoSe 2011 Beispiel Landkartenfärbung: Lassen sich die Länder der Bundesrepublik Deutschland mit drei Farben so färben, dass benachbarte Länder verschiedene Farben haben? Mit vier Farben lassen sie sich färben Beispiele Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Das funktioniert übrigens für jede Landkarte ohne Enklaven: Vierfarbensatz Manchmal ist es aber ausschließlich gemeint: Das Problem der 3-Färbung der BRD-Landkarte lässt sich mit Hilfe der Aussagenlogik modellieren, wie wir auf den folgenden Folien sehen werden Morgen oder übermorgen gebe ich die Übungsaufgaben ab: (morgen ↔ ¬übermorgen) Mehrdeutigkeit: Umgangssprachliche Aussagen können viele verschiedene Interpretationen haben: Ich sah den Mann auf dem Berg mit dem Teleskop (Idee zu dieser Folie: Foliensatz von Prof. Kastens, Paderborn) Modellierung mit Aussagenlogik: Drittes Beispiel (2/3) Logik TU Do SoSe 2011 C. Schubert Wir verwenden für jedes Bundesland (z.B. NRW) und jede Farbe (z.B. gelb) eine aussagenlogische Variable (z.B.: GNRW ) Dass NRW mit mindestens einer Farbe gefärbt wird, lässt sich ausdrücken durch die Formel ≥1 FNRW = GNRW ∨ RNRW ∨ BNRW Dass NRW mit höchstens einer Farbe gefärbt wird, lässt sich ausdrücken durch die Formel ≤1 FNRW = ¬(GNRW ∧ RNRW ) ∧ ¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW ) ≥1 ≤1 =1 Wir schreiben FNRW für die Formel FNRW ∧ FNRW Dass NRW nicht dieselbe Farbe wie Hessen erhält, lässt sich ausdrücken durch die Formel �= FNRW,HS = ¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) Beispiele Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Modellierung mit Aussagenlogik: Drittes Beispiel (3/3) Insgesamt erhalten wir also: =1 =1 =1 =1 =1 =1 =1 =1 FNRW ∧ FBW ∧ FBY ∧ FRP ∧ FSR ∧ FHS ∧ FTH ∧ FSX ∧ =1 =1 =1 =1 =1 =1 =1 FNI ∧ FSA ∧ FBR ∧ FB=1 ∧ FHH ∧ FHB ∧ FMV ∧ FSH ∧ �= �= �= �= �= �= �= �= FNRW,HS ∧ FBW,BY ∧ FBW,RL ∧ FBW,HS ∧ FBY,HS ∧ FBY,TH ∧ FBY,SX ∧ FSR,RL ∧ �= �= �= �= �= �= �= �= FRL,HS ∧ FRL,NRW ∧ FHS,TH ∧ FHS,NI ∧ FTH,SX ∧ FTH,SA ∧ FTH,NI ∧ FSX,BR ∧ �= �= �= �= �= �= �= �= FSX,SA ∧ FNRW,NI ∧ FNI,SH ∧ FNI,HB ∧ FNI,HH ∧ FNI,MV ∧ FNI,SA ∧ FNI,BR ∧ �= �= �= �= �= FSA,BR ∧ FBR,MV ∧ FBR,B ∧ FSH,HH ∧ FSH,MV Dies ist eine Abkürzung für eine Formel der Länge 1024: (GNRW ∨ RNRW ∨ BNRW ) ∧ ¬(GNRW ∧ RNRW )∧ ¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW ) ∧ · · · .. . · · · (GSH ∨ RSH ∨ BSH ) ∧ ¬(GSH ∧ RSH )∧ ¬(BSH ∧ RSH ) ∧ ¬(BSH ∧ GSH )∧ ¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) · · · .. . · · · ¬(GSH ∧ GMV ) ∧ ¬(RSH ∧ RMV ) ∧ ¬(BSH ∧ BMV ) Die BRD-Karte ist genau dann mit 3 Farben färbbar, wenn es eine Wahrheitsbelegung gibt, die diese Formel wahr macht Logik TU Do SoSe 2011 C. Schubert Beispiele Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Überblick Logik TU Do SoSe 2011 C. Schubert Beispiele Syntax 1 Beispiele Semantik Modellierung mit AL: Beispiele 2 Syntax Logik TU Do SoSe 2011 Erfüllbare und allgemein gültige Formeln (1/2) C. Schubert Eine Belegung α mit [[F ]]α = 1 heißt Modell von F (Andere Notation: α |= F ) Beispiele Ist G eine Menge von aussagenlogischen Formeln, so heißt α Modell von G, falls für alle F ∈ G gilt: [[F ]]α = 1 Eine Formel F heißt erfüllbar, falls sie ein Modell hat, andernfalls unerfüllbar Analog für Mengen G von Formeln Grundbegriffe Syntax Semantik Modellierung mit AL: Beispiele Grundbegriffe Eine Formel F heißt allgemein gültig (oder: Tautologie), falls jede zu F passende Belegung ein Modell von F ist 3 Semantik Beispiel 4 5 (A1 ∧ ¬A1 ) ist unerfüllbar Modellierung mit AL: Beispiele (A1 ∨ ¬A1 ) ist allgemein gültig A1 ∨ A2 ist erfüllbar aber nicht allgemein gültig Einige Grundbegriffe {(A1 ∨ ¬A2 ), A2 , ¬A1 } ist unerfüllbar Die Frage, ob eine gegebene Formel erfüllbar ist, ist in vielen Zusammenhängen von großer Bedeutung � Wir widmen dieser Frage und ihren Anwendungen ein eigenes Kapitel Erfüllbare und allgemein gültige Formeln (2/2) Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 C. Schubert C. Schubert Beispiele Syntax Beobachtung Semantik Eine Formel F ist genau dann allgemein gültig, wenn ¬F unerfüllbar ist Modellierung mit AL: Beispiele Beweis. Grundbegriffe Wir wollen (für alle F ) die Behauptung “(1) ⇐⇒ (2)” zeigen, wobei (1) F ist allgemein gültig (2) ¬F ist unerfüllbar Solche Äquivalenzaussagen lassen sich in zwei Schritten beweisen: (1) =⇒ (2) (2) =⇒ (1) Beispiele Beweis. Syntax Wir zeigen zuerst “(1) =⇒ (2)”: F ist allgemein gültig =⇒ ¬F unerfüllbar → → → → Sei F allgemein gültig Für jede passende Belegung α ist [[F ]]α = 1 Für jede passende Belegung α ist [[¬F ]]α = 0 Kein α ist Modell von ¬F ¬F ist unerfüllbar (Def von allg.-gültig) (Def von [[¬F ]]α ) (Def Modell) (Def erfüllbar) Jetzt zeigen wir “(2) =⇒ (1)”: ¬F unerfüllbar =⇒ F allgemein gültig → → → → Sei ¬F unerfüllbar ¬F hat kein Modell Für alle passenden α ist [[¬F ]]α = 0 Für alle passenden α ist [[F ]]α = 1 F ist allgemein gültig (Def unerfüllbar) (Def Modell) (Def von [[¬F ]]α ) (Def von allgemein gültig) Semantik Modellierung mit AL: Beispiele Grundbegriffe Zusammenfassung Logik TU Do SoSe 2011 C. Schubert Beispiele Syntax Semantik Modellierung mit AL: Beispiele Beispiele der Modellierung mit Aussagenlogik Syntax und Semantik der Aussagenlogik Wahrheitstabellen Wichtige Grundbegriffe wie “erfüllbar”, “allgemein gültig” Grundbegriffe Logik TU Do SoSe 2011 Logik für Informatiker Unser Programm für Heute Logik TU Do SoSe 2011 C. Schubert C. Schubert Äquivalenzen und Normalformen Äquivalenzen und Normalformen Teil 3: Aussagenlogik — Äquivalenzen und Normalformen Dr. Christoph Schubert basierend auf Folien von Prof. Thomas Schwentick 1 Äquivalenzen und Normalformen TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 19. April 2011 (12:23 Uhr) 3 – 1/17 Äquivalenz von Formeln Logik TU Do SoSe 2011 3 – 2/17 Umwandlung von Formeln C. Schubert Beispiel Wir betrachten die beiden folgenden Formeln: A ∧ (A ∨ B) (¬B ∨ A) ∧ (¬A → B) Äquivalenzen und Normalformen Logik TU Do SoSe 2011 C. Schubert Wir werden im Folgenden Regeln kennen lernen, mit denen Formeln in äquivalente Formeln umgeformt werden können Äquivalenzen und Normalformen Als nützliche Hilfsmittel für die äquivalente Umwandlung von Formeln werden wir zwei Lemmata beweisen Sie sind zwar syntaktisch völlig verschieden, haben aber dieselbe Semantik Mit dem Substitutionslemma können wir aus “einfachen” Äquivalenzen neue Äquivalenzen folgern, indem wir Variablen konsistent durch Formeln ersetzen, z.B.: Definition Da ¬(A ∨ B) ≡ ¬A ∧ ¬B gilt, gilt auch: � � ¬ (A1 ∧ B1 ) ∨ B ≡ ¬(A1 ∧ B1 ) ∧ ¬B Zwei Formeln F1 , F2 heißen äquivalent, falls für jede zu F1 und F2 passende Belegung α gilt: [[F1 ]]α = [[F2 ]]α Substitution: A �→ (A1 ∧ B1 ) Schreibweise: F1 ≡ F2 Das Ersetzungslemma erlaubt uns, eine Teilformel einer Formel durch eine äquivalente Teilformel zu ersetzen, z.B.: Also z.B.: Da ¬(A ∨ B) ≡ ¬A ∧ ¬B gilt, gilt auch: A ∧ (A ∨ B) ≡ (¬B ∨ A) ∧ (¬A → B) ¬(A ∨ B) ∧ C ≡ (¬A ∧ ¬B) ∧ C ¬(A ∧ B) ≡ ¬A ∨ ¬B (A → ⊥) ≡ ¬A 3 – 4/17 3 – 5/17 Das Substitutionslemma Eine Substitution S ist eine Funktion AV → AL Für eine Substitution S und eine Formel F sei S(F ) die Formel, die aus F entsteht, indem jede in F vorkommende Variable X durch S(X ) ersetzt wird Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Substitutionslemma: Beweis C. Schubert Äquivalenzen und Normalformen C. Schubert Beweisidee Sei für eine Belegung α die Belegung αS definiert durch: αS (X ) =def [[S(X )]]α Äquivalenzen und Normalformen Dann gilt für alle F , α, S: [[S(F )]]α = [[F ]]αS Beispiel (Beweis durch Induktion nach der Struktur von F ) Sei F1 = ¬(A ∨ B) → Für jede Belegung α gilt: Sei F2 = ¬A ∧ ¬B [[S(F1 )]]α = [[F1 ]]αS Substitution S mit S(A) = (A1 ∧ B1 ), S(B) = B Dann ist: (F1 ≡ F2 ) = [[F2 ]]αS � � S(F1 ) = ¬ (A1 ∧ B1 ) ∨ B S(F2 ) = ¬(A1 ∧ B1 ) ∧ ¬B = [[S(F2 )]]α Wir geben den Wert S(X ) meistens nur für die relevanten Variablen an Die Anwendung des Substitutionslemma auf das vorherige Beispiel ergibt: Für alle übrigen Variablen X gelte dann stillschweigend S(X ) = X � � ¬ (A1 ∧ B1 ) ∨ B ≡ ¬(A1 ∧ B1 ) ∧ ¬B Lemma (Substitutionslemma) Ist S eine Substitution und gilt F1 ≡ F2 , so gilt auch S(F1 ) ≡ S(F2 ) 3 – 6/17 Das Ersetzungslemma Logik TU Do SoSe 2011 3 – 7/17 Logik TU Do SoSe 2011 Äquivalenzen der Aussagenlogik (1/2) C. Schubert Lemma (Ersetzungslemma) Sei F1 eine Formel, in der eine Teilformel G1 vorkommt Äquivalenzen und Normalformen C. Schubert Satz Kommutativität Sei G1 ≡ G2 F ∧G ≡G ∧F Sei F2 die Formel, die aus F1 entsteht, indem (ein Vorkommen von) G1 durch G2 ersetzt wird F ∨G ≡G ∨F Dann gilt: F1 ≡ F2 Assoziativität (F ∧ G ) ∧ H ≡ F ∧ (G ∧ H) Der Beweis ist nicht schwierig, wird aber aus Zeitgründen hier nicht gegeben (F ∨ G ) ∨ H ≡ F ∨ (G ∨ H) Beispiel Distributivität Sei F1 = ¬(A ∨ B) ∧ C F ∨ (G ∧ H) ≡ (F ∨ G ) ∧ (F ∨ H) Sei G2 = (¬A ∧ ¬B) F ∨�≡� Sei G1 = ¬(A ∨ B) F ∧ (G ∨ H) ≡ (F ∧ G ) ∨ (F ∧ H) Wir wissen: G1 = ¬(A ∨ B) ≡ ¬A ∧ ¬B = G2 F ∧⊥≡⊥ Mit dem Ersetzungslemma folgt: ¬(A ∨ B) ∧ C ≡ (¬A ∧ ¬B) ∧ C Doppelnegation ¬¬F ≡ F 3 – 8/17 Äquivalenzen und Normalformen Für aussagenlogische Formeln F , G , H gelten: Idempotenz F ∧F ≡F F ∨F ≡F Absorption F ∧ (F ∨ G ) ≡ F F ∨ (F ∧ G ) ≡ F Einheit �∧F ≡F ≡F ∧� ⊥∨F ≡F ≡F ∨⊥ De Morgansche Regeln ¬(F ∧ G ) ≡ ¬F ∨ ¬G ¬(F ∨ G ) ≡ ¬F ∧ ¬G 3 – 9/17 Äquivalenzen der Aussagenlogik (2/2) Beweisidee Logik TU Do SoSe 2011 C. Schubert Wir zeigen die Assoziativität der Konjunktion Wir stellen dazu Wahrheitstabellen für (A1 ∧ A2 ) ∧ A3 und A1 ∧ (A2 ∧ A3 ) auf Logik TU Do SoSe 2011 Schreibweisen und Normalformen Wegen der Assoziativität können wir zukünftig schreiben: F ∧ G ∧ H statt F ∧ (G ∧ H) F ∨ G ∨ H statt F ∨ (G ∨ H) Äquivalenzen und Normalformen Außerdem: Wir stellen fest, dass diese beiden Formeln äquivalent sind, also: Statt F1 ∧ · · · ∧ Fn schreiben wir auch: (A1 ∧ A2 ) ∧ A3 ≡ A1 ∧ (A2 ∧ A3 ) Statt F1 ∨ · · · ∨ Fn schreiben wir auch: Für beliebige Formeln F , G , H folgt die Behauptung nun durch Anwendung des Substitutionslemmas auf die Substitution S mit C. Schubert Äquivalenzen und Normalformen n � i=1 n � Fi Fi i=1 Eine Disjunktion von 0 Formeln ist äquivalent zu ⊥ Eine Konjunktion von 0 Formeln ist äquivalent zu � S(A1 ) = F S(A2 ) = G S(A3 ) = H Die Äquivalenzregeln der Aussagenlogik sind insbesondere hilfreich, um Formeln in eine bestimmte, “günstige” syntaktische Form umzuwandeln Der Beweis der anderen Behauptungen verläuft analog Was “günstig” ist, hängt dabei jeweils vom Kontext ab Wenn eine solche “Günstige Form” immer (d.h. für jede Formel) erreicht werden kann, nennen wir sie Normalform Wir betrachten drei Normalformen: Bemerkung Die Äquivalenzen treten (bis auf Doppelnegation) paarweise auf. Dabei wird Negations-Normalform (NNF) Konjunktive Normalform (KNF) Disjunktive Normalform (DNF) jedes Vorkommen von ∨ durch ∧ ersetzt und umgekehrt jedes Vorkommen von ⊥ durch � ersetzt und umgekehrt Die durch diesen Prozess entstehenden Formeln nennen wir dual 3 – 10/17 Normalformen der Aussagenlogik: NNF Eine AL-Formel F ist in Negations-Normalform (NNF), falls sie Negationszeichen nur unmittelbar vor Variablen enthält Beispiel Logik TU Do SoSe 2011 3 – 11/17 Logik TU Do SoSe 2011 Literale und Klauseln C. Schubert Definition C. Schubert Äquivalenzen und Normalformen Ein Literal L ist eine Formel der Form A oder ¬A mit A ∈ AV Äquivalenzen und Normalformen Beispiel A1 ∨ ¬(A2 ∨ ¬A3 ) ist nicht in NNF, A1 ∨ (¬A2 ∧ A3 ) ist in NNF ¬A2 ist ein (negatives) Literal Satz A3 ist ein (positives) Literal Zu jeder AL-Formel F gibt es eine äquivalente Formel in NNF ¬¬A1 ist kein Literal Beweisidee Definition Die wie folgt rekursiv definierte Funktion NNF wandelt eine Formel in eine äquivalente Formel in NNF um: Eine disjunktive Klausel ist eine Disjunktion Li von Literalen i=1 NNF (F ) = F für Formeln F der Art ⊥, �, X oder ¬X NNF (¬⊥) = � und NNF (¬�) = ⊥ Eine konjunktive Klausel ist eine Konjunktion NNF (F1 ∨ F2 ) = NNF (F1 ) ∨ NNF (F2 ) k � Li von Literalen i=1 NNF (F1 ∧ F2 ) = NNF (F1 ) ∧ NNF (F2 ) Beispiel NNF (¬¬F1 )= NNF (F1 ) A1 ∨ A4 ∨ ¬A5 ist eine disjunktive Klausel NNF (¬(F1 ∨ F2 )) = NNF (¬F1 ) ∧ NNF (¬F2 ) NNF (¬(F1 ∧ F2 )) = NNF (¬F1 ) ∨ NNF (¬F2 ) k � A ∧ ¬B ∧ C ∧ ¬D ist eine konjunktive Klausel 3 – 12/17 3 – 13/17 Logik TU Do SoSe 2011 Normalformen der Aussagenlogik: KNF und DNF Definition C. Schubert Eine AL-Formel F ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion disjunktiver Klauseln ist Äquivalenzen und Normalformen Berechnung der KNF Satz Logik TU Do SoSe 2011 C. Schubert Zu jeder AL-Formel F gibt es eine äquivalente KNF-Formel F1 und eine äquivalente DNF-Formel F2 Äquivalenzen und Normalformen F1 und F2 können durch einen Algorithmus berechnet werden Beispiel Algorithmus: KNF (A1 ∨ A2 ∨ ¬A4 ) ∧ (¬A3 ∨ A4 ) ∧ A3 ist in KNF � � (A1 ∨ A4 ) ∧ ¬A4 ∧ A5 ∨ (A3 ∧ A6 ) ist nicht in KNF Require: AL-Formel F Ensure: AL-Formel F � ≡ F in KNF 1: Bringe F in NNF 2: if F ist von der Form F1 ∧ F2 then 3: RETURN KNF (F1 ) ∧ KNF (F2 ) 4: if F lässt sich schreiben als F1 ∨ (F2 ∧ F3 ) then 5: RETURN KNF (F1 ∨ F2 ) ∧ KNF (F1 ∨ F3 ) 6: else 7: RETURN F Definition Eine AL-Formel F ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion konjunktiver Klauseln ist Beispiel ¬A3 ∨ (A1 ∧ A2 ) ∨ (A3 ∧ A2 ∧ ¬A1 ) ist in DNF Beobachtung: KNF-Formeln und DNF-Formeln sind auch in NNF Der Algorithmus lässt eine gewisse Wahlfreiheit, das Ergebnis ist nicht eindeutig bestimmt Zusätzlich vereinbaren wir: Die Formeln � und ⊥ sind in KNF und DNF Die Berechnung der DNF verläuft dual (d.h. ∧ und ∨ vertauschen) 3 – 14/17 Logik TU Do SoSe 2011 KNF: Beispiel-Berechnung (1/2) Beispiel � � Sei F = A ↔ (B ∧ ¬C ) ∧ (¬B → A) (aus [KuK]) Ersetzung der Abkürzungen ↔ und → ergibt: �� � � �� A ∧ (B ∧ ¬C ) ∨ ¬A ∧ ¬(B ∧ ¬C ) ∧ (B ∨ A) NNF: �� 3 – 15/17 KNF: Beispiel-Berechnung (2/2) Logik TU Do SoSe 2011 C. Schubert C. Schubert Äquivalenzen und Normalformen Äquivalenzen und Normalformen Beispiel � � Aus A ∧ (B ∧ ¬C ) ∨ (¬B ∨ C ) wird � � � � A ∨ (¬B ∨ C ) ∧ (B ∧ ¬C ) ∨ (¬B ∨ C ) � � �� A ∧ (B ∧ ¬C ) ∨ ¬A ∧ (¬B ∨ C ) ∧ (B ∨ A) Die rechte Teilformel davon wird zu (B ∨ ¬B ∨ C ) ∧ (¬C ∨ ¬B ∨ C ) Diese Formel ist von der Form F1 ∧ F2 und F2 = B ∨ A ist disjunktive Klausel Insgesamt: � � � � → Es genügt, F1 = A ∧ (B ∧ ¬C ) ∨ ¬A ∧ (¬B ∨ C ) weiter zu bearbeiten F1 ist von der Form F1� ∨ (F2� ∧ F3� ) (A ∨ ¬A) ∧ (B ∨ ¬A) ∧ (¬C ∨ ¬A)∧ Nach (4) also weiter mit: (A ∨ ¬B ∨ C ) ∧ (B ∨ ¬B ∨ C ) ∧ (¬C ∨ ¬B ∨ C ) ∧ (B ∨ A) � � A ∧ (B ∧ ¬C ) ∨ ¬A und � � A ∧ (B ∧ ¬C ) ∨ (¬B ∨ C ) � � A ∧ (B ∧ ¬C ) ∨ ¬A wird im nächsten Schritt � � (A ∨ ¬A) ∧ (B ∧ ¬C ) ∨ ¬A Aus �� Die rechte Teilformel davon wird schließlich zu (B ∨ ¬A) ∧ (¬C ∨ ¬A) 3 – 16/17 3 – 17/17 Logik TU Do SoSe 2011 Logik für Informatiker Teil 4: Aussagenlogik — Erfüllbarkeit, Hornformeln Unser Programm für Heute Logik TU Do SoSe 2011 C. Schubert C. Schubert Erfüllbarkeit Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Erfüllbarkeit: Vorbereitungen Hornformeln Hornformeln 1 Erfüllbarkeit 2 Erfüllbarkeitstests: Vorbereitungen 3 Hornformeln Dr. Christoph Schubert basierend auf Folien von Prof. Thomas Schwentick TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 26. April 2011 (11:05 Uhr) 4 – 1/25 Überblick Logik TU Do SoSe 2011 2 3 Erfüllbarkeit Logik TU Do SoSe 2011 C. Schubert C. Schubert Erfüllbarkeit Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Erfüllbarkeit: Vorbereitungen Hornformeln 1 4 – 2/25 Erfüllbarkeit Zur Erinnerung: Eine Formel F heißt erfüllbar, wenn sie ein Modell hat, also eine Belegung, die sie wahr macht Hornformeln Das Problem, für eine (aussagenlogische, temporallogische, prädikatenlogische, . . . ) Formel zu testen, ob sie erfüllbar ist, hat für die Informatik eine große Bedeutung In diesem Kapitel werden wir Erfüllbarkeitstests: Vorbereitungen zunächst einige Beispiele betrachten, in denen die Lösung eines Problems auf einen Erfüllbarkeitstest hinaus läuft einen sehr effizienten Erfüllbarkeitstest für eine eingeschränkte Art aussagenlogischer Formeln kennen lernen, und Hornformeln Im nächsten Kapitel werden wir einen Erfüllbarkeitstest für beliebige aussagenlogische Formeln kennen lernen 4 – 3/25 4 – 4/25 Logik TU Do SoSe 2011 Warum Erfüllbarkeit? (1/4) Aus Kapitel 2: Beispiel 1 Angela: “Guido oder ich werden an der Regierungskoalition beteiligt sein.” Logik TU Do SoSe 2011 Warum Erfüllbarkeit? (2/4) C. Schubert C. Schubert Erfüllbarkeit Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln Guido: “Entweder Frank-Walter oder ich werden an der Regierung beteiligt sein.” Frank-Walter: “Entweder Angela oder ich werden in der Opposition sein.” Um die Lösung für diese Logelei zu finden, haben wir für die elementaren Aussagen Aussagenvariablen A, G , F eingeführt, die Formel (G ∨ A) ∧ (F ↔ ¬G ) ∧ (A ↔ ¬F ) als Zusammenfassung aller Aussagen aufgestellt und dann erfüllende Belegungen dieser Formel gesucht Um zu entscheiden, ob sich die Landkarte der BRD mit drei Farben färben lässt (so dass benachbarte Länder unterschiedliche Farben haben), haben wir die folgende Formel aufgestellt: =1 =1 =1 =1 =1 =1 =1 =1 FNRW ∧ FBW ∧ FBY ∧ FRP ∧ FSR ∧ FHS ∧ FTH ∧ FSX ∧ =1 =1 =1 =1 =1 =1 =1 =1 FNI ∧ FSA ∧ FBR ∧ FB ∧ FHH ∧ FHB ∧ FMV ∧ FSH ∧ �= �= �= �= �= �= �= �= FNRW,HS ∧ FBW,BY ∧ FBW,RL ∧ FBW,HS ∧ FBY,HS ∧ FBY,TH ∧ FBY,SX ∧ FSR,RL ∧ �= �= �= �= �= �= �= �= FRL,HS ∧ FRL,NRW ∧ FHS,TH ∧ FHS,NI ∧ FTH,SX ∧ FTH,SA ∧ FTH,NI ∧ FSX,BR ∧ �= �= �= �= �= �= �= �= FSX,SA ∧ FNRW,NI ∧ FNI,SH ∧ FNI,HB ∧ FNI,HH ∧ FNI,MV ∧ FNI,SA ∧ FNI,BR ∧ �= �= �= �= �= FSA,BR ∧ FBR,MV ∧ FBR,B ∧ FSH,HH ∧ FSH,MV Erfüllbarkeit: Vorbereitungen Hornformeln Wir haben festgestellt, dass eine solche Färbung genau dann möglich ist, wenn diese Formel erfüllbar ist Die Frage der 3-Färbbarkeit lässt sich also durch einen Erfüllbarkeitstest entscheiden Da es nur eine einzige erfüllende Belegung gab, haben wir diese als Lösung aufgefasst Nach der Modellierung der Situation haben wir also im Wesentlichen einen Erfüllbarkeitstest durchgeführt 4 – 5/25 Logik TU Do SoSe 2011 Warum Erfüllbarkeit? (3/4) 4 – 6/25 Logik TU Do SoSe 2011 Warum Erfüllbarkeit? (4/4) C. Schubert Beispiel 2 (Klausur 07/08, Aufgabe 1) Anton hat gerade seine Logik-Klausur geschrieben. Wie immer diskutiert er im Anschluss mit seinen Kommilitonen über die einzelnen Aufgaben. Dabei gelangt er zu folgenden Überlegungen: 1 Für ein Bestehen der Klausur muss er mindestens eine der drei Aufgaben richtig gelöst haben. 2 3 Aufgabe 3 konnte er nur dann richtig lösen, wenn er eine der ersten beiden richtig gelöst hat. Er hat die ersten beiden Aufgaben entweder beide richtig oder beide falsch gelöst. (a) Übersetzen Sie Antons Überlegungen in aussagenlogische Formeln. (b) Zeigen Sie mittels aussagenlogischer Resolution, dass Anton nur dann die Klausur besteht, wenn er die erste Aufgabe richtig gelöst hat. Beispiellösung zu (a) Erfüllbarkeit Wir definieren Erfüllbarkeit: Vorbereitungen Ai : “Anton hat Aufgabe i richtig gelöst.”, für i = 1, 2, 3 B: “Anton hat die Klausur bestanden” Hornformeln Wir erhalten die Übersetzung F = (B → (A1 ∨ A2 ∨ A3 ))∧ (A3 → (A1 ∨ A2 )) ∧ (A1 ↔ A2 ) C. Schubert Probleme aus vielen Bereichen der Informatik und der Mathematik lassen sich mit aussagenlogischen Formeln modellieren Beispiele: Logeleien Graphentheorie Spiele Automatisches Planen (Bounded) Model Checking ... (Angela!) (3-Färbbarkeit) Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln Erfüllende Wahrheitsbelegungen der Formeln entsprechen dann Lösungen der Probleme Aussagenlogische Resolution: später! Es gilt also, Verfahren für das folgende algorithmische Problem zu finden: Für (b) betrachten wir zunächst nur den Lösungsansatz: Definition: AL-SAT Können wir schließen, dass aus der Formel F die Formel B → A1 folgt? Dies ist gerade dann der Fall, wenn die Formelmenge {F , ¬(B → A1 )} unerfüllbar ist Gegeben: Aussagenlogische Formel F Frage: Ist F erfüllbar? (Falls ja, Ausgabe einer erfüllenden Belegung) Auch hier: Erfüllbarkeitstest! 4 – 7/25 4 – 8/25 Logik TU Do SoSe 2011 Überblick Ein simpler Erfüllbarkeitstest: Wahrheitstabelle C. Schubert Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln 1 Erfüllbarkeit Logik TU Do SoSe 2011 C. Schubert Eine einfache Methode zum Testen der Erfüllbarkeit einer Formel F : Berechne die Wahrheitstabelle von F Genau dann, wenn es eine Zeile mit einer 1 in der F -Spalte gibt, ist F erfüllbar Das ist ein semantischer Erfüllbarkeitstest Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln Denn alle möglichen Modelle werden ausprobiert Der Test beruht also darauf, die Semantik von F vollständig zu bestimmen Problem: Wahrheitstabellen werden sehr schnell sehr groß 2 Erfüllbarkeitstests: Vorbereitungen 3 Hornformeln Genauer: Bei n Variablen hat die Wahrheitstabelle 2n Einträge Falls die Formel erfüllbar ist, wird eine erfüllende Belegung eventuell schneller gefunden Falls sie unerfüllbar ist, müssen alle 2n Belegungen ausprobiert werden Bei den mächtigeren Logiken, die wir später betrachten, müssten sogar unendlich viele Fälle betrachtet werden → Wir suchen deshalb Methoden, die die Erfüllbarkeit nicht durch Ausprobieren aller Möglichkeiten sondern auf Basis der Syntax der Formeln testen Zunächst betrachten wir jedoch den Zusammenhang zwischen Folgern und Erfüllbarkeit 4 – 9/25 Folgerung und Unerfüllbarkeit Logik TU Do SoSe 2011 C. Schubert Wie im letzten Beispiel gesehen, lassen sich auch aussagenlogische Folgerungen auf das Erfüllbarkeitsproblem zurückführen Erfüllbarkeit Definition 1 Hornformeln Erfüllbarkeit: Vorbereitungen 4 – 10/25 Semantisches Folgern und syntaktisches Schließen Wir haben gerade eine semantische Folgerungsbeziehung G |= F definiert: Ist G eine Formelmenge und F eine Formel, so folgt F semantisch aus G, falls “in allen Situationen, in denen G gilt, auch F gilt” Im Falle der Aussagenlogik sind die “Situationen” gerade die passenden Belegungen Auch hier gilt, was zu dem simplen Erfüllbarkeitstest gesagt wurde: Logik TU Do SoSe 2011 C. Schubert Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln Alle “Situationen” auszuprobieren ist sehr aufwändig und für mächtigere Logiken unmöglich Sei G eine Menge von AL-Formeln und F eine AL-Formel Deshalb suchen wir andere Methoden um Schlüsse zu ziehen, die nicht alle möglichen Situationen betrachten, sondern direkt die gegebenen Formeln verwenden Solche Methoden fassen wir unter dem Oberbegriff syntaktisches Schließen zusammen: G |= F ⇐⇒def jede zu G ∪ {F } passende Belegung, die Modell von G ist, ist auch Modell von F Wir sagen auch: F folgt aus G G � F soll bedeuten, dass F aus G durch syntaktische Operationen hergeleitet werden kann Die genaue Bedeutung von � hängt dabei jeweils von einem spezifischen Beweissystem ab Unsere Mindestanforderung an ein solches Beweissystem ist, dass es korrekt ist: G � F =⇒ G |= F Idealerweise sollte ein Beweissystem auch noch vollständig sein: G |= F =⇒ G � F Satz 1 eröffnet uns die Möglichkeit, Beweissysteme aus syntaktischen Erfüllbarkeitstests zu gewinnen Satz 1 Sei G eine Menge von AL-Formeln und F eine AL-Formel. Dann gilt: G |= F ⇐⇒ G ∪ {¬F } ist unerfüllbar Zu beachten: die Menge G kann hier auch jeweils unendlich sein 4 – 11/25 4 – 12/25 Folgern, Schließen und Erfüllbarkeit: Beispiel Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 DNF und KNF C. Schubert Beispiel 3 Die Frage, ob aus den Formeln A → B und B → C die Formel A → C folgt, können wir wie folgt notieren: ? { A → B, B → C } |= A → C Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln C. Schubert Wie schwierig es ist, die Erfüllbarkeit einer Formel zu testen, hängt stark von der Struktur der Formel ab Wie schwierig ist es, die Erfüllbarkeit von Formeln in DNF zu testen? Einfach: es genügt, eine erfüllbare konjunktive Klausel zu finden Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest? { A → B, B → C , ¬(A → C ) } Wenn wir mit Hilfe eines syntaktischen Erfüllbarkeitstests herausfinden, dass diese Menge unerfüllbar ist, so können wir dies zunächst durch Das führt in der Regel zu Formeln mit einer relativ kurzen KNF aber einer langen DNF { A → B, B → C } � A → C Im Folgenden konzentrieren wir uns deshalb auf Erfüllbarkeitstests für aussagenlogische Formeln in KNF notieren und aus der Korrektheit des zugrunde liegenden Beweissystems dann { A → B, B → C } |= A → C Insbesondere: wenn nichts anderes gesagt wird, steht der Begriff “Klausel” immer für disjunktive Klauseln folgern 4 – 13/25 Es ist klar, dass die Semantik einer Klausel nicht davon abhängt, ob ein bestimmtes Literal einmal oder mehrfach in ihr vorkommt Zum Beispiel: Hornformeln Wie wir wissen, kann die in Schritt (1) berechnete Formel F � sehr lang werden Leider tendieren Formeln, die in den genannten Anwendungen auftreten, dazu, wirklich eine lange DNF zu haben Es ist typisch, dass eine zu modellierende Situation eine Menge von Teilformeln ergibt, die alle gleichzeitig gelten müssen unerfüllbar ist Wir werden jetzt eine kompaktere und für viele Fälle praktischere Notation für Klauseln einführen: Erfüllbarkeit: Vorbereitungen (1) Wandle F um in eine äquivalente Formel F � in DNF? (2) Teste die Erfüllbarkeit von F � Gemäß Satz 1 ist sie äquivalent zur Frage, ob die Formelmenge Klauseln und Klauselmengen (1/3) Erfüllbarkeit Logik TU Do SoSe 2011 C. Schubert Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln (A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 ) 4 – 14/25 Logik TU Do SoSe 2011 Klauseln und Klauselmengen (2/3) Auch Formeln, die nicht in KNF sind, wollen wir zukünftig häufig durch Klauselmengen repräsentieren Um zu einer AL-Formel F die Klauselmenge K(F ) zuzuordnen können wir wie folgt vorgehen: Wir wandeln F zunächst in eine äquivalente Formel F � in KNF um Dann soll K(F ) die Klauselmenge sein, die sich aus F � ergibt C. Schubert Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln Beispiel 4 Wir repräsentieren disjunktive Klauseln deshalb oft nur durch die Menge ihrer Literale: Sei F = (A ↔ B) Statt (A1 ∨ ¬A2 ∨ A1 ) schreiben wir dann {A1 , ¬A2 } Dann: F � = (¬A ∨ B) ∧ (A ∨ ¬B) Eine Formel in KNF repräsentieren wir dann durch ihre Klauselmenge, also die Menge ihrer Literalmengen K(F ) = { { ¬A, B }, { A, ¬B } } Die Formel Für eine Menge G von AL-Formeln sei schließlich: � K(G) =def K(F ) (A ∨ ¬B ∨ A) ∧ (C ∨ B ∨ ¬A) entspricht der Klauselmenge F ∈G { { A, ¬B }, { C , B, ¬A } } Der Begriff “Klausel” wird sowohl für Disjunktionen von Literalen (in Formelschreibweise) als auch für Literalmengen verwendet Was jeweils gemeint ist, sollte aus dem Zusammenhang klar werden Zu beachten: Damit K(F ) durch F eindeutig bestimmt ist, nehmen wir im Folgenden an, dass wir einen Algorithmus haben, der für jedes F ein eindeutiges äquivalentes F � in KNF berechnet 4 – 15/25 4 – 16/25 Klauseln und Klauselmengen (3/3) Die Erfüllbarkeit aussagenlogischer Formeln F (oder Formelmengen G) wollen wir jetzt auf die Erfüllbarkeit ihrer Klauselmengen zurückführen Zur Erinnerung: F ist erfüllbar, wenn es eine Belegung α gibt mit α |= F Wenn F in KNF ist, ist F erfüllbar, wenn es eine Belegung gibt, die in jeder Klausel mindestens ein Literal wahr macht Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Klauseln und Implikation (1/2) C. Schubert Klauseln lassen sich immer auch als Implikationen schreiben: C. Schubert Erfüllbarkeit (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3 ) ist beispielsweise äquivalent zu: Erfüllbarkeit Erfüllbarkeit: Vorbereitungen (A2 ∧ A3 ) → (A1 ∨ A4 ) Aber auch zu: (A2 ∧ ¬A1 ) → (¬A3 ∨ A4 ) Hornformeln Allgemein: i∈I Wir nennen K erfüllbar, wenn es eine Belegung gibt, die K erfüllt Es gibt eine Reihe von Spezialfällen: (¬A1 ∨ · · · ∨ ¬Ak ∨ Ak+1 ∨ · · · ∨ An ) Es gibt keine Belegung α, für die es in ihr ein Literal L gibt mit α |= L Insofern entspricht sie der Formel ⊥ Wir bezeichnen die leere Klausel im Folgenden meistens durch � Wenn eine Klauselmenge die Klausel � enthält, ist sie also unerfüllbar äquivalent zu (A1 ∧ · · · ∧ Ak ) → (Ak+1 ∨ · · · ∨ An ) Die Klauselmenge ∅ wird andererseits durch jede Belegung erfüllt Die folgende Äquivalenz ist nützlich beim Umgang mit Implikationen : Denn: für jede Belegung α gilt, dass jede Literalmenge K ∈ ∅ durch α wahr gemacht wird Insofern entspricht die leere Klauselmenge der Formel � ¬(F1 → F2 ) ≡ F1 ∧ ¬F2 4 – 17/25 (1) (A1 ∨ A2 ∨ A3 ) i�∈I Insbesondere ist Die Literalmenge ∅ = {} enthält keine Literale Wir wenden die Erkenntnisse der vorherigen Folie jetzt auf Klauseln mit drei Literalen an und schreiben sie in Implikationsform Solche Klauseln lassen sich also immer in einer der folgenden vier Arten darstellen: Hornformeln Sei K = L1 ∨ · · · ∨ Lk eine Klausel mit Literalen Li Für jede Teilmenge I ⊆ {1, . . . , k} ist dann K äquivalent zu: � � ¬Li → Li Deshalb definieren wir, dass eine Klauselmenge K durch eine Belegung α erfüllt wird, wenn es in jeder Klausel K ∈ K ein Literal L gibt mit α |= L Klauseln und Implikation (2/2) Erfüllbarkeit: Vorbereitungen Logik TU Do SoSe 2011 4 – 18/25 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Erfüllbarkeit Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Erfüllbarkeit: Vorbereitungen Hornformeln Entspricht: � → (A1 ∨ A2 ∨ A3 ) Hornformeln 1 Erfüllbarkeit 2 Erfüllbarkeitstests: Vorbereitungen 3 Hornformeln (2) (¬A1 ∨ A2 ∨ A3 ) Entspricht: A1 → (A2 ∨ A3 ) (3) (¬A1 ∨ ¬A2 ∨ A3 ) Entspricht: (A1 ∧ A2 ) → A3 (4) (¬A1 ∨ ¬A2 ∨ ¬A3 ) Entspricht: (A1 ∧ A2 ∧ A3 ) → ⊥ Intuitive Überlegung: Klauseln der Formen (1) und (2) sind für Erfüllbarkeitstests problematisch, da sie eine Wahlmöglichkeit für die Variablen auf der rechten Seite haben Klauseln der Formen (3) und (4) sind leichter zu handhaben Deshalb betrachten wir nun zuerst Formeln, die nur Klauseln der Form (3) und (4) haben Sie lassen sich dadurch charakterisieren, dass sie höchstens ein positives Literal enthalten 4 – 19/25 4 – 20/25 Hornklauseln und Hornformeln Wir konzentrieren uns in diesem Abschnitt auf Formeln, die nur Klauseln vom Typ (3) oder (4) haben Definition 2 Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Markierungsalgorithmus: Idee C. Schubert C. Schubert Erfüllbarkeit Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Wir betrachten jetzt einen Erfüllbarkeitstest für Horn-Formeln, den Markierungsalgorithmus Erfüllbarkeit: Vorbereitungen Hornformeln Intuitiv formuliert, berechnet der Algorithmus die Menge der Variablen, die durch eine Wahrheitsbelegung wahr gemacht werden müssen, damit die Formel wahr wird Hornformeln Eine Klausel (L1 ∨ · · · ∨ Lk ) heißt Horn-Klausel, falls sie höchstens ein positives Literal Li hat Dabei wendet er folgende Regeln an: Eine Formel in KNF heißt Horn-Formel, falls alle ihre Klauseln Horn-Klauseln sind Wenn die Klausel � → A in F vorkommt, muss α(A) = 1 gelten, damit [[F ]]α = 1 sein kann Wenn es eine Klausel (A ∧ B) → C gibt und wir schon wissen, dass A und B wahr sein müssen, können wir schließen, dass C auch wahr sein muss Wenn es eine Klausel (A ∧ B ∧ C ) → ⊥ gibt, und wir schon wissen, dass A, B, C wahr sein müssen, so können wir schließen, dass die Formel unerfüllbar ist Beispiel 5 (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ A4 ) ist keine Horn-Formel (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ ¬A4 ) ist eine Horn-Formel Der Markierungsalgorithmus markiert alle Variablen, die aufgrund dieser Regeln mit dem Wert 1 belegt werden müssen Nebenbei: Horn-Formeln sind nach dem Logiker Alfred Horn (1918-2001) benannt 4 – 21/25 Erfüllbarkeitstest für Horn-Formeln: Markierungsalgorithmus Logik TU Do SoSe 2011 Markierungsalgorithmus: Bemerkungen Logik TU Do SoSe 2011 C. Schubert Beispielausgabe Markierungsalgorithmus C. Schubert Erfüllbarkeit Algorithmus 1 (Markierungsalgorithmus) Require: Horn-Formel F 1: Markiere alle Variablen Ai , für die es eine Klausel Ai in F gibt 2: while es gibt Klauseln der Art (X1 ∧ · · · ∧ Xk ) → X in F , für die 4 – 22/25 Formel F : Erfüllbarkeit: Vorbereitungen (¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧ Hornformeln (¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 ) 5: 6: 7: Hornformeln � � (A2 → A4 ) ∧ (A2 ∧ A3 ∧ A1 ) → A4 ∧ � � � � (A5 ∧ A4 ) → ⊥ ∧ A2 ∧ (A4 ∧ A2 ) → A5 (b) X noch nicht markiert ist, 4: Erfüllbarkeit: Vorbereitungen In Implikationsform übersetzt: (a) X1 , . . . , Xk markiert sind und 3: Erfüllbarkeit do Wähle eine solche Klausel und markiere X if es gibt eine Klausel der Art (X1 ∧ · · · ∧ Xk ) → ⊥ in F , für die X1 , . . . , Xk markiert sind then Ausgabe “unerfüllbar” else Ausgabe “erfüllbar” Markierte Variablen: A2 A4 A5 F ist unerfüllbar Satz 2 Algorithmus 1 löst das Erfüllbarkeitsproblem für Horn-Formeln F in linearer Laufzeit. 4 – 23/25 4 – 24/25 Logik TU Do SoSe 2011 Klausur 07/08, Aufgabe 2 C. Schubert Aufgabenstellung Beispiellösung Sei F die Formel (a) Markiere E , C , A. Es kann keine Klausel mehr bearbeitet werden, also ist die Formel erfüllbar. (B ∨ ¬A ∨ ¬D ∨ ¬C ) ∧ (¬E ∨ C )∧ (¬C ∨ A) ∧ (¬A ∨ ¬D) ∧ E (a) Wenden Sie den Markierungsalgorithmus auf F an (b) Geben Sie ein minimales Modell von F an, d.h. ein Modell α von F , für das die Anzahl der aussagenlogischen Variablen X mit α(X ) = 1 minimal ist. (c) Sei G eine Hornformel und seien α1 , α2 zwei Modelle von G . Zeigen Sie, dass dann auch die Belegung α mit α(X ) = min(α1 (X ), α2 (X )) für jede aussagenlogische Variable X ein Modell von G ist. Erfüllbarkeit Erfüllbarkeit: Vorbereitungen Hornformeln (b) α(E ) = α(C ) = α(A) = 1 und α(B) = α(D) = 0. (c) Es genügt, die Behauptung für jede Klausel C = L1 ∨ · · · ∨ Ln von G zu zeigen, wobei nur eines der Literale positiv sein kann. 1. Fall: Li ist negativ für i = 1, . . . , n. Dann existiert ein i mit α1 (Li ) = 1. Sei Li = ¬Xj . Also gilt α1 (Xj ) = 0. Also ist auch α(Xj ) = 0, also α(C ) = 1 2. Fall: Für ein i ist Li positiv. Gilt α1 (Lj ) = 1 oder α2 (Lj ) = 1 für ein j �= i, so folgt α(Lj ) = 1 wie im ersten Fall. Andernfalls ist α1 (Li ) = α2 (Li ) = 1 und damit auch α(Li ) = 1. 4 – 25/25 Logik TU Do SoSe 2011 Logik für Informatiker Logik TU Do SoSe 2011 Überblick C. Schubert C. Schubert AL Resolution AL Resolution Teil 5: Aussagenlogik — Resolution Dr. Christoph Schubert basierend auf Folien von Prof. Thomas Schwentick 1 Aussagenlogische Resolution TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 3. Mai 2011 (15:13 Uhr) 5 – 1/19 Ziel der aussagenlogischen Resolution Der Markierungsalgorithmus versucht aus den gegebenen Klauseln einen Widerspruch herzuleiten Ein solcher Widerspruch kann sich in Zeile 4 ergeben, wo er gewissermaßen ⊥ markieren müsste Da ⊥ aber niemals wahr werden kann, ergibt sich ein Widerspruch Logik TU Do SoSe 2011 5 – 2/19 Logik TU Do SoSe 2011 Resolventen C. Schubert AL Resolution Der Markierungsalgorithmus hat dabei die Eigenschaft: C. Schubert Der Markierungsalgorithmus basiert auf der Idee, dass wir aus den AL-Formeln A → B und A die Formel B folgern können Denn: falls für eine Belegung α gilt AL Resolution α |= A → B und α |= A, so gilt zwangsläufig auch α |= B wenn er einen Widerspruch findet, so ist die Klauselmenge unerfüllbar Wenn er keinen Widerspruch findet, ist sie erfüllbar Eine ähnliche Folgerung: falls für eine Belegung α gilt Wir betrachten jetzt einen Erfüllbarkeitstest, der auch für Klauselmengen funktioniert, die nicht nur Hornklauseln enthalten: aussagenlogische Resolution Die Grundidee der Resolution ist genauso: α |= (A1 ∧ · · · ∧ Ak ) → B und α |= B → (C1 ∨ · · · ∨ Cl ), so gilt zwangsläufig auch α |= (A1 ∧ · · · ∧ Ak ) → (C1 ∨ · · · ∨ Cl ) In Mengenschreibweise: falls α die Klauseln {¬A1 , . . . , ¬Ak , B} und {¬B, C1 , . . . , Cl } wahr macht, so auch die Klausel {¬A1 , . . . , ¬Ak , C1 , . . . , Cl } Das lässt sich verallgemeinern zu: Wir versuchen, aus den gegebenen Klauseln einen Widerspruch herzuleiten Allerdings ist es hier etwas komplizierter: Statt herzuleiten, welche Variablen den Wert 1 erhalten müssen, berechnen wir neue Klauseln, die wahr werden müssten, wenn die gegebene Klauselmenge wahr wird Falls sich dabei die leere Klausel � ergibt, haben wir den gewünschten Widerspruch Falls α die Klauselmengen {L1 , . . . , Lk , X } und {L�1 , . . . , L�l , ¬X } wahr macht, so auch die Resolvente {L1 , . . . , Lk , L�1 , . . . , L�l } dabei Wir müssen dann beweisen: Li und L�j Literale (können also positiv oder negiert sein) X aussagenlogische Variable Wenn � ableitbar ist, so ist die Klauselmenge unerfüllbar Wenn � nicht ableitbar ist, ist sie erfüllbar Wir betrachten zunächst die Schlussregeln, die die aussagenlogische Resolution verwendet 5 – 3/19 5 – 4/19 Logik TU Do SoSe 2011 Schlussregeln Die Folgerungen auf der vorherigen Folie sind Beispiele für Schlussregeln Wir definieren nicht allgemein, was eine Schlussregel ist Übersichtlichere Notation für Schlussregeln Die Schlussregel der letzten Folie nennen wir Resolutionsregel und schreiben sie wie folgt: C. Schubert AL Resolution Im Falle der Resolutionsregel bedeutet korrekt das Folgende: Für jede Wahl von Zahlen k, l, Literalen L1 , . . . , Lk , L�1 , . . . , L�l und der Variablen X und für jede passende Wahrheitsbelegung α gilt: Falls α |= {L1 , . . . , Lk , X } und α |= {L�1 , . . . , L�k , ¬X } dann gilt auch: α |= {L1 , . . . , Lk , L�1 , . . . , L�l } {L1 , . . . , Lk , X } Dabei stehen k, l für beliebige natürliche Zahlen, die Li , L�j für beliebige Literale und X für eine AL-Variable {A, B, C } {A} {A, ¬B, ¬D} {A, C , ¬D} � {¬A} {L1 , . . . , Lk , L�1 , . . . , L�l } ist korrekt für alle k ≥ 0, l ≥ 0, Literale L1 , . . . , Lk , L�1 , . . . , L�l und X ∈ AV P Beweis. soll intuitiv bedeuten: Immer Q wenn P wahr ist, ist auch Q wahr Je nach Kontext können P, Q dabei unterschiedliche Objekte sein Sei α eine Belegung, die {L1 , . . . , Lk , X } und {L�1 , . . . , L�l , ¬X } wahr macht. Schreibe K =def {L1 , . . . , Lk , L�1 , . . . , L�l }. Wir unterscheiden zwei Fälle: α(X ) = 1 Dann gilt α |= {L�1 , · · · , L�l }. Also auch: α |= K α(X ) = 0 Dann gilt α |= {L1 , · · · , Lk }. Also auch: α |= K Wir nennen eine Schlussregel korrekt, wenn sie diese intuitive Bedeutung in einem präzisen Sinne erfüllt 5 – 5/19 Wie das folgende Beispiel zeigt, ist eine Schlussregel nicht zwangsläufig korrekt, auch wenn sie zunächst plausibel aussieht Beispiel 2 AL Resolution {L�1 , . . . , L�l , ¬X } Intuitive Bedeutung Schlussregeln: Korrektheit C. Schubert Die Resolutionsregel {L1 , . . . , Lk , L�1 , . . . , L�l } Beispiel 1 Logik TU Do SoSe 2011 Lemma 1 (Resolutionslemma) {L�1 , . . . , L�l , ¬X } {L1 , . . . , Lk , X } Korrektheit der Resolutionsregel Logik TU Do SoSe 2011 5 – 6/19 Logik TU Do SoSe 2011 Ein “Resolutionsbeweis” (1/2) C. Schubert C. Schubert AL Resolution AL Resolution Die Resolutionsmethode erzeugt aus einer gegebenen Menge K von Klauseln durch Anwendung der Resolutionsregel neue Klauseln Die folgende Schlussregel ist nicht korrekt: {L1 , . . . , Lk , X , Y } {L�1 , . . . , L�l , ¬X , ¬Y } Wir werden sehen: erhalten wir so die leere Klausel �, so ist K unerfüllbar {L1 , . . . , Lk , L�1 , . . . , L�l } Ein Resolutionsschritt ist die einmalige Anwendung der Resolutionsregel zur Herleitung einer Resolventen K aus zwei Klauseln K1 , K2 Denn: es gibt ein Gegenbeispiel. Wir betrachten die Klauseln Ein Resolutionsschritt lässt sich als kleiner Baum visualisieren: K1 = {A, B, C }, K2 = {A� , ¬B, ¬C } {A, ¬B} und die Belegung α : A �→ 0, B �→ 1, C �→ 0, A� �→ 0 {B, ¬C } {A, ¬C } Klar: α |= K1 und α |= K2 Eine Anwendung der nicht korrekten Schlussregel ergibt die Klausel {A, A� } Aber: α �|= {A, A� } Bevor wir eine Schlussregel verwenden, müssen wir uns also immer zuerst von ihrer Korrektheit überzeugen 5 – 7/19 5 – 8/19 Logik TU Do SoSe 2011 Ein “Resolutionsbeweis” (2/2) Der Resolutionssatz der Aussagenlogik (1/5) C. Schubert Mehrere Resolutionsschritte lassen sich als etwas größerer Baum darstellen: Z.B. für Klauseln {A, B, C }, {¬A, B, C }, {B, ¬C }, {¬B}: {A, B, C } {B, ¬C } {¬B} AL Resolution C. Schubert Also: wenn aus einer Klauselmenge K die leere Klausel � durch Anwendung der Resolutionsregel erreicht wird, so ist K unerfüllbar Außerdem werden wir zeigen, dass die Umkehrung auch gilt Zur Vorbereitung definieren wir zunächst die Menge aller Klauseln, die sich aus K durch Anwendung von Resolutionsschritten erreichen lassen Dazu definieren wir: {B, C } {B} Res(K) =def K ∪ { K | K ist Resolvente zweier Klauseln aus K } Res1 (K)=def Res(K) k−1 (K)), für jedes k > 1 Resk (K)=def Res(Res � Res∞ (K)=def Resk (K) � Insgesamt erhalten wir hier die leere Klausel (�) als letzte Resolvente Da jede Belegung, die zwei Klauseln wahr macht, auch ihre Resolvente wahr macht, und � nicht erfüllbar ist, folgt: die vier Klauseln sind nicht (zusammen) erfüllbar k≥1 Satz 1 (Resolutionssatz) → Mit Resolution lässt sich die Unerfüllbarkeit von Klauselmengen feststellen! Eine endliche Klauselmenge K ist genau dann unerfüllbar, wenn � ∈ Res∞ (K) 5 – 9/19 Logik TU Do SoSe 2011 5 – 10/19 Der Resolutionssatz der Aussagenlogik (3/5) C. Schubert Satz 1 (Resolutionssatz) Eine endliche Klauselmenge K ist genau dann unerfüllbar,wenn � ∈ Res∞ (K) AL Resolution Das müssen wir allerdings noch allgemein beweisen {¬A, B, C } Der Resolutionssatz der Aussagenlogik (2/5) Logik TU Do SoSe 2011 AL Resolution Logik TU Do SoSe 2011 C. Schubert Beweis (Fortsetzung) Wir zeigen jetzt (2), die Vollständigkeit der Resolution: AL Resolution K unerfüllbar =⇒ � ∈ Res∞ (K) Der Beweis ist eine Induktion nach der Anzahl n der Variablen in K n = 0: Beweis Wir zeigen: Da K keine Variablen enthält, aber unerfüllbar ist, muss K die leere Klausel � enthalten � (1) � ∈ Res∞ (K) =⇒ K unerfüllbar (2) K unerfüllbar =⇒ � ∈ Res∞ (K) n−1 → n: Wir zeigen zuerst (1), die Korrektheit der Resolution Sei also K unerfüllbar mit Variablen {A1 , . . . , An } Sei K1 die Klauselmenge, die aus K entsteht, indem Wir nehmen also an: � ∈ Res∞ (K) → es gibt ein k, für das gilt: � ∈ Resk (K) → Da keine Belegung die Klausel � wahr machen kann, ist also Resk (K) unerfüllbar Aus dem Resolutionslemma folgt: Klauseln, in denen An (positiv) vorkommt, gestrichen werden, und ¬An aus allen Klauseln entfernt wird Sei dual dazu K2 die Klauselmenge, die aus K entsteht indem Klauseln, in denen ¬An vorkommt, gestrichen werden, und An aus allen Klauseln entfernt wird Für jede Klauselmenge K� gilt: K� erfüllbar =⇒ Res(K� ) erfüllbar Behauptung: K1 und K2 sind unerfüllbar Wäre K erfüllbar, dann wäre also auch Res1 (K) erfüllbar Dann wäre auch Res2 (K) erfüllbar, ... Induktion liefert: Wäre K erfüllbar, dann wäre auch Resk (K) erfüllbar Da Resk (K) aber unerfüllbar ist, können wir folgern, dass auch K unerfüllbar ist Denn: andernfalls könnte eine erfüllende Belegung α1 von K1 durch α1 (An ) =def 1 oder eine erfüllende Belegung α2 von K2 durch α2 (An ) =def 0 zu einer erfüllenden Belegung von K erweitert werden Mit Induktion folgt: � ∈ Res∞ (K1 ) und � ∈ Res∞ (K2 ) 5 – 11/19 5 – 12/19 Logik TU Do SoSe 2011 Der Resolutionssatz der Aussagenlogik (4/5) C. Schubert Beweis (Fortsetzung) AL Resolution Wir wissen also: � ∈ Res∞ (K1 ) und � ∈ Res∞ (K2 ) Es gibt deshalb ein k, so dass gilt: � ∈ Resk (K1 ) und � ∈ Resk (K2 ) C. Schubert Beispiel zur Illustration des Beweises des Resolutionssatzes K = {{A1 , A2 , A3 }, {¬A1 , A2 , A3 }, {A2 , ¬A3 }, {¬A2 }} Ein Resolutionsbaum für K1 : K kommt in K vor oder K ∪ {¬An } kommt in K vor {¬A2 } Daraus folgt, dass aus jedem Resolutionsbaum für K1 ein Resolutionsbaum für K gewonnen werden kann, indem, wenn nötig, Klauseln um ¬An ergänzt werden (Beispiel gleich) Insbesondere wird aus dem Resolutionsbaum für � dann ein Resolutionsbaum für � oder {¬An } {A2 , ¬A3 } {¬A3 } Ein Resolutionsbaum für K2 : Analog lässt sich mit Hilfe von K2 zeigen: � ∈ Resk (K) oder {An } ∈ Resk (K) Also gilt insgesamt: {A1 , A2 , A3 } {¬A2 } � ∈ Resk (K) oder {An } ∈ Resk (K) und {¬An } ∈ Resk (K) {¬A1 , A2 , A3 } {A2 , A3 } {A3 } Also: hier sind {A3 }, {¬A3 } ∈ Res2 (K) und deshalb auch � ∈ Res3 (K) � 5 – 13/19 Logik TU Do SoSe 2011 5 – 14/19 Bemerkungen zum Resolutionsalgorithmus C. Schubert Aus dem Resolutionssatz gewinnen wir Algorithmus zum Testen der Erfüllbarkeit einer AL-Formel AL Resolution K2 = {{A1 , A2 }, {¬A1 , A2 }, {¬A2 }} Denn: für jede Klausel K aus K1 gilt: Ein Erfüllbarkeitstest für AL-Formeln Logik TU Do SoSe 2011 K1 = {{A2 }, {¬A2 }} Behauptung: � ∈ Resk (K) oder {¬An } ∈ Resk (K) In jedem Fall folgt: � ∈ Resk+1 (K) � Der Resolutionssatz der Aussagenlogik (5/5) AL Resolution Logik TU Do SoSe 2011 C. Schubert Die Korrektheit dieses Algorithmus folgt aus dem Resolutionssatz Der Algorithmus terminiert immer, da die Menge K nicht unbegrenzt wachsen kann: AL Resolution K kann höchstens so viele Klauseln enthalten, wie sich aus den n Variablen von F bilden lassen: ≤ 4n Resolutionsalgorithmus Require: AL-Formel F in KNF Ensure: “ja”, falls F erfüllbar ist, sonst “nein” 1: K := K(F ) 2: repeat 3: K� := K 4: K := Res(K) � 5: until K = K oder � ∈ K 6: if � ∈ K then 7: Ausgabe “nein” 8: else 9: Ausgabe “ja” Wie aufwändig ist dieser Algorithmus? Obere Schranke, wie gesagt: nach maximal 4n Schleifendurchläufen endet der Algorithmus Untere Schranke: es gibt (Familien von) Formeln, für die exponentiell viele Schleifendurchläufe nötig sind Satz 2 (Haken 85) Es gibt ein c > 1 und eine Folge F1 , F2 , . . . unerfüllbarer AL-Formeln mit Fn hat ≤ n3 Variablen Der Resolutionsalgorithmus benötigt bei Eingabe Fn mindestens c n Schleifendurchläufe 5 – 15/19 5 – 16/19 Beispiel-Berechnung zu Resolutionsalgorithmus Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Klausur 07/08, Aufgabe 1 C. Schubert AL Resolution Beispiel 3 Eingabe: F = (A1 ∨ A2 ∨ A3 ) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3 ) ∧ (A2 ∨ ¬A3 ) K = {{A1 , A2 , A3 }, {¬A1 , A2 , A3 }, {A2 , ¬A3 }, {¬A2 }} Res1 (K) = K ∪ {{A2 , A3 }, {¬A3 }, {A1 , A3 }, {¬A1 , A3 }, {A1 , A2 }, {¬A1 , A2 }} 2 1 3 2 C. Schubert Beispiel 4 (Klausur 07/08, Aufgabe 1) Bespiellösung zu (b) Anton hat gerade seine Logik-Klausur geschrieben. Wie immer diskutiert er im Anschluss mit seinen Kommilitonen über die einzelnen Aufgaben. Dabei gelangt er zu folgenden Überlegungen: 1 Für ein Bestehen der Klausur muss er mindestens eine der drei Aufgaben richtig gelöst haben. Zeige die Unerfüllbarkeit von (¬B ∨ A1 ∨ A2 ∨ A3 )∧ (¬A3 ∨ A1 ∨ A2 ) ∧ (¬A1 ∨ A2 )∧ (A1 ∨ ¬A2 ) ∧ B ∧ ¬A1 {¬B, A1 , A2 , A3 } {B} {A1 , A2 , A3 } {A1 , A2 , ¬A3 } {A1 , A2 } {A1 , ¬A2 } (a) Übersetzen Sie Antons Überlegungen in aussagenlogische Formeln. {A1 } {¬A1 } (b) Zeigen Sie mittels aussagenlogischer Resolution, dass Anton nur dann die Klausur besteht, wenn er die erste Aufgabe richtig gelöst hat. � 2 Res (K) = Res (K) ∪ {{A1 }, {¬A1 }, {A2 }, {A3 }} Res (K) = Res (K) ∪ {�} 3 5 – 17/19 Ein Zwischenfazit Wir haben jetzt also einen Algorithmus für das Erfüllbarkeitsproblem für AL-Formeln, der weniger naiv vorgeht als die Wahrheitstabellen-Methode Aber wesentlich effizienter ist er nicht Wir wissen sogar: dieser Algorithmus hat im schlimmsten Fall exponentielle Laufzeit (Satz von Haken) Die Frage, ob es für dieses Problem einen Algorithmus mit polynomieller Laufzeit gibt, ist äquivalent zum berühmtesten offenen Problem der (Theoretischen) Informatik: dem P-NP-Problem Näheres dazu erfahren Sie in der GTI-Vorlesung Hier nur soviel: Logik TU Do SoSe 2011 C. Schubert AL Resolution Das Erfüllbarkeitsproblem für AL-Formeln ist NP-vollständig Wenn es einen polynomiellen Algorithmus hat, ist P = NP Wenn es keinen polynomiellen Algorithmus hat, ist P �= NP Nichtsdestotrotz: Die Fähigkeit, in der Praxis SAT-Probleme zu lösen (Stichwort: SAT-Solving). hat sich in den vergangenen 10-15 Jahren gewaltig verbessert Für einige eingeschränkte Klassen von AL-Formeln lässt sich das Erfüllbarkeitsproblem effizient lösen: Horn-Formeln (das haben wir gesehen) 2-SAT-Formeln (mit maximal 2 Literalen je Klausel) Im nächsten Kapitel beschäftigen wir uns noch mit der Erfüllbarkeit von unendlichen Formelmengen 5 – 19/19 AL Resolution Aufgabe 3 konnte er nur dann richtig lösen, wenn er eine der ersten beiden richtig gelöst hat. Er hat die ersten beiden Aufgaben entweder beide richtig oder beide falsch gelöst. 5 – 18/19 Logik TU Do SoSe 2011 Logik für Informatiker Unser Programm für Heute Logik TU Do SoSe 2011 C. Schubert C. Schubert Beispiele Beispiele ML: Syntax ML: Syntax Teil 6: Modallogik — Einführung Dr. Christoph Schubert 1 Beispiele 2 Modallogik: Syntax und Semantik basierend auf Folien von Prof. Thomas Schwentick TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 10. Mai 2011 (16:26 Uhr) 6 – 1/18 Überblick Logik TU Do SoSe 2011 C. Schubert Beispiele ML: Syntax 6 – 2/18 Ein klassisches Beispiel: Muddy Children Grundsituation: Drei Kinder haben draußen gespielt und einige haben jetzt möglicherweise ein schmutziges Gesicht Logik TU Do SoSe 2011 C. Schubert Beispiele ML: Syntax Kein Kind kann sehen, ob es selbst ein schmutziges Gesicht hat Jedes Kind sieht, welches der anderen Kinder ein schmutziges Gesicht hat 1 Erste Interaktion: Beispiele Der Vater sagt: “Mindestens einer von euch hat ein schmutziges Gesicht” Zweite Interaktion: Der Vater fragt: “Wer weiß, ob er ein schmutziges Gesicht hat?” 2 Kein Kind meldet sich Modallogik: Syntax und Semantik Dritte Interaktion: Der Vater fragt: “Wer weiß, ob er ein schmutziges Gesicht hat?” Kein Kind meldet sich Vierte Interaktion: Der Vater fragt: “Wer weiß, ob er ein schmutziges Gesicht hat?” Alle Kinder melden sich und sagen “Ich habe ein schmutziges Gesicht” Wie ist dies zu erklären? 6 – 3/18 6 – 4/18 Logik TU Do SoSe 2011 Noch ein Beispiel: Ein Murmelspiel Was haben die beiden Beispiele gemeinsam? Beide Szenarien lassen sich im Prinzip mit Hilfe aussagenlogischer Variablen modellieren: C. Schubert Wir betrachten ein Murmelspiel: Beispiele Eine Murmel kann in A oder B eingeworfen werden Logik TU Do SoSe 2011 Gemeinsamkeiten der beiden Beispiele ML: Syntax Murmelspiel: Variablen R1 , R2 mit der Bedeutung “Schalter 1 (bzw. Schalter 2) führt nach rechts” Variable D mit der Bedeutung “Die letzte Murmel wurde in D ausgegeben” Aber: in beiden Szenarien ist es nötig, über verschiedene Variablenbelegungen zu sprechen, die inhaltlich miteinander verknüpft sind: Wird in der Grundstellung eine Murmel in B eingeworfen, so passiert sie Schalter 2 und wird bei C ausgegeben Anschließend schaltet Schalter 2 um Wird nun noch eine Murmel in B eingeworfen, so wird sie bei D ausgegeben und Schalter 2 kehrt in die Ausgangsposition zurück Muddy Children: Jedes Kind weiß, ob die beiden anderen Kinder schmutzig sind, aber es weiß nicht, ob es selbst schmutzig ist Kind i kennt also nicht den Wert von Ci aber die Werte der anderen beiden Variablen Für jedes Kind sind also zwei mögliche Situationen denkbar, entsprechend zwei verschiedenen Variablenbelegungen Murmelspiel: Frage: Ist es möglich, ausgehend von der Grundstellung, zwei Murmeln so einzuwerfen, dass die dritte Murmel auf jeden Fall den Ausgang D nimmt? Jede Schalterstellung entspricht einer Variablenbelegung Jeder Einwurf einer Murmel führt zu einer neuen Schalterstellung und damit zu einer neuen Variablenbelegung 6 – 5/18 Logik TU Do SoSe 2011 � 3 � � (1, 1, 0) � 3 2 � (1, 0, 1) � 1 � � (1, 0, 0) � � (0, 1, 0) � 1 2 � � � 3 � (0, 1, 1) � 1 � 2 � � � 2 3 � � � � (0, 0, 1) � 1 � � � (0, 1, 0) � � 1 (1, 0, 1) 1 � (1, 0, 0) (0, 0, 1) � � � Wir verwenden die folgende Notation: � � 2 2 3 � � 2 � � � � 3 (1, 1, 0) � C. Schubert (1, 1, 1) ML: Syntax (0, 1, 1) � 3 (0, 0, 0) 3 In der Geschichte von Folie 2 befinden wir uns in Situation (1, 1, 1), in der alle Kinder schmutzig sind Kind 1 hält in dieser Situation die Situationen (1, 1, 1) und (0, 1, 1) für möglich (0, 0, 0) Die Vektoren stehen für die acht möglichen Situationen und geben jeweils die Werte der Variablen (C1 , C2 , C3 ) an Eine mit i beschriftete Kante führt von Situation a zu Situation b, wenn Kind i in Situation a die Situation b für möglich hält Insbesondere gelten: (a) Kind 1 hält es für möglich, dass ¬C1 gilt (b) Kind 1 weiß, dass C2 gilt Für jede Situation gibt es zusätzlich noch drei Kanten (1,2,3) zu sich selbst (hier nicht eingezeichnet) 6 – 7/18 Logik TU Do SoSe 2011 Muddy Children: Grundszenario Beispiele � 1 6 – 6/18 C. Schubert 1 2 � � � ML: Syntax jeweils eine Variable Ci mit der Bedeutung “Kind i hat ein schmutziges Gesicht” Nachdem die Murmel einen Schalter (1 oder 2) passiert hat, wird dieser gekippt Beispiel: Das Muddy-Children-Beispiel lässt sich durch folgendes Diagramm modellieren: (1, 1, 1) Beispiele Muddy Children: Grundstellung: beide Schalter führen nach links Muddy Children: Modellierung C. Schubert s |= ♦i F : “In Situation s hält Kind i für möglich, dass F gilt” s |= �i F : “In s weiß i, dass F gilt” Beispiele ML: Syntax Die beiden Aussagen lassen sich dann schreiben durch: (a) (1, 1, 1) |= ♦1 ¬C1 (b) (1, 1, 1) |= �1 C2 Was weiß Kind 1 in Situation (1, 1, 1) über das Wissen von Kind 2? Kind 1 hält es für möglich, dass Kind 2 die Situation (0, 0, 1) für möglich hält Also: (1, 1, 1) |= ♦1 ♦2 (¬C1 ∧ ¬C2 ) Und Kind 1 weiß, dass Kind 2 weiß, dass C3 gilt: (1, 1, 1) |= �1 �2 C3 Außerdem: (1, 1, 1) |= ♦1 ♦2 ♦3 (¬C1 ∧ ¬C2 ∧ ¬C3 ) 6 – 8/18 Logik TU Do SoSe 2011 Muddy Children: Nach der ersten Interaktion Nachdem der Vater verkündet hat, dass mindestens ein Kind schmutzig ist, hat sich das Wissen wie folgt verändert: 3 � � 3 2 (1, 0, 1) � 1 � (1, 0, 0) � � Beispiele 1 � � � � 2 � (1, 1, 0) Nachdem sich herausgestellt hat, dass kein Kind weiß, ob es schmutzig ist, wissen nun alle Kinder, dass mindestens zwei Kinder schmutzig sein müssen Das relevante Wissen wird also durch das folgende Diagramm beschrieben: (1, 1, 1) C. Schubert ML: Syntax (1, 1, 1) � Muddy Children: Nach der zweiten Interaktion � 3 (0, 1, 0) � 1 3 (0, 1, 1) � � � 2 � (1, 1, 0) � Da alle Beteiligten wissen, dass (0, 0, 0) unmöglich ist, kommt diese Situation im Modell nicht mehr vor Das wirkt sich sogar auf das Wissen in der Situation (1, 1, 1) aus: (1, 1, 1) �|= ♦1 ♦2 ♦3 (¬C1 ∧ ¬C2 ∧ ¬C3 ) Es gilt jetzt aber beispielsweise: (0, 0, 1) |= �3 C3 D.h. in Situation (0, 1, 1) kann Kind 2 also schließen, ob es schmutzig ist, wenn es weiß, ob Kind 3 weiß, dass es schmutzig ist 6 – 9/18 Logik TU Do SoSe 2011 � � � (1, 0, 1) �� Überblick Logik TU Do SoSe 2011 C. Schubert Beispiele Beispiele ML: Syntax ML: Syntax 1 Beispiele 2 Modallogik: Syntax und Semantik Hier soll bedeuten: � (1, 0, 0) � (0, 1, 1) 6 – 10/18 (0, 0, 1) |= ♦♦�D? � � � (0, 0, 1) 1 C. Schubert Anders geschrieben: Gilt (1, 1, 0) � (1, 0, 1) ML: Syntax Aus der Antwort von Kind 2 auf die zweite Frage kann Kind 1 also schließen, ob es schmutzig ist Nachdem der Vater zum zweiten Mal ohne Antwort gefragt hat, ist in der Situation (1, 1, 1) deshalb keines der drei Kinder mehr unsicher: sie wissen alle, dass sie schmutzig sind Deshalb gilt außerdem: (0, 1, 1) |= ¬♦2 ((C2 ∧ �3 C3 ) ∨ (¬C2 ∧ ¬�3 C3 )) Das Murmelspiel können wir auf ähnliche Weise als Diagramm repräsentieren: � 2 Beispiele (1, 1, 1) |= ¬♦1 ((C1 ∧ �2 C2 ) ∨ (¬C1 ∧ ¬�2 C2 )) D.h. Kind 3 weiß in Situation (0, 0, 1), dass es schmutzig ist Unsere Frage war: Ist es möglich, ausgehend von der Situation, in der beide Schalter nach links führen, zwei Murmeln so einzuwerfen, dass die dritte Murmel auf jeden Fall den Ausgang D nimmt? � C. Schubert Wie gesagt: da Kind 3 nicht wusste, ob es schmutzig ist, hält Kind 2 in Situation (0, 1, 1) die Situation (0, 0, 1) nicht mehr für möglich (und in (1, 1, 1) sowieso nicht) Entsprechendes gilt bezüglich der Situationen (1, 0, 0) und (0, 1, 0) Analog zum letzten Fall gilt jetzt: (0, 0, 1) Murmelspiel: Diagramm und Formeln � Logik TU Do SoSe 2011 � (0, 1, 0) Die “Situationen” werden hier durch die Variablen (R1 , R2 , D) repräsentiert Ri = 1 ⇐⇒ Schalter i führt nach rechts D = 1 ⇐⇒ letzte Kugel war in D Kanten entsprechen Situations-Übergängen durch Einwurf einer Murmel s |= ♦F : In einem Schritt kann das System von Situation s aus in eine Situation kommen, in der F gilt s |= �F : In einem Schritt kommt das System von Situation s aus zwangsläufig in eine Situation, in der F gilt Wir beobachten: (1, 1, 0) |= �D → (1, 0, 0) |= ♦�D → (0, 0, 1) |= ♦♦�D 6 – 11/18 6 – 12/18 Syntax der Modallogik Hier: nur Modallogik über Strukturen, deren Kanten nicht markiert sind (also nur ♦, � und nicht ♦i ) Definition 1 (Syntax Modallogik) Logik TU Do SoSe 2011 C. Schubert Beispiele jede aussagenlogische Variable ist in ML 3 sind F und G in ML, so auch ¬F , (F ∧ G ) und (F ∨ G ) 4 Beispiele Definition 2 (Kripke-Struktur) ML: Syntax einer Grundmenge V von Welten einer 2-stelligen Erreichbarkeits-Relation E , sowie einer Funktion P, die jeder Welt s eine endliche Menge P(s) aussagenlogischer Variablen zuordnet ist F is ML, so auch ♦F und �F Oftmals stellen wir Kripke-Strukturen als Graphen dar. Somit ist jede aussagenlogische Formel auch eine modallogische Formel für ♦ sagen wir “Diamond” und für � sagen wir “Box” Beispiel: Kripke-Struktur 1 B � Beispielformeln: ♦♦�D (♦A ∨ �B) ∧ (♦�(C ∨ ♦A)) � 4 C � Konvention: �, ♦ binden stärker als ∨, ∧, also: �A ∧ C ≡ (�A) ∧ C Wir verwenden wieder F → G als Abkürzung für ¬F ∨ G � 2 A, B � �3 � A K1 = (V1 , E1 , P1 ) V1 = {1, 2, 3, 4} E1 = {(1, 2), (1, 4), (2, 3), (3, 1), (3, 2), (4, 3), (4, 4)} P1 (1) = {B}, P1 (2) = {A, B}, P1 (3) = {A}, P1 (4) = {C } 6 – 13/18 Logik TU Do SoSe 2011 Modallogik: Semantik (2/2) C. Schubert Eine Kripke-Struktur K = (V , E , P) besteht aus � und ⊥ sind in ML 2 Modallogische Formeln werden in Kripke-Strukturen interpretiert: ML: Syntax Der Menge ML der Formeln der Modallogik ist wie folgt definiert: 1 Logik TU Do SoSe 2011 Modallogik: Semantik (1/2) Definition 3 (Semantik Modallogik) C. Schubert Sei K = (V , E , P) eine Kripkestruktur und s ∈ V eine Welt. Wir definieren Beispiele ML: Syntax K, s |= F 6 – 14/18 Beispiel Semantik Modallogik Logik TU Do SoSe 2011 C. Schubert Die Berechnung aller Welten s einer Kripke-Struktur K, für die eine gegebene Formel F der Modallogik gilt, erfolgt “bottom-up” gemäß der Definition der Semantik Beispiele ML: Syntax Beispiel für eine modallogische Formel F induktiv wie folgt: Wir berechnen die Welten von K1 , in denen F = ♦�A ∧ �♦(A ∧ ¬B) gilt: 1 2 3 4 A � � B � � � 2 K1 = 1 ¬B � � A, B B � � A ∧ ¬B � ♦(A ∧ ¬B) � � � � 4 �♦(A ∧ ¬B) � �3 C � A �A � ♦�A � � F � - K, s |= �, K, s �|= ⊥, K, s |= X , falls X ∈ P(s), K, s |= ¬F , falls K, s �|= F , K, s |= F ∧ G , falls K, s |= F und K, s |= G , K, s |= F ∨ G , falls K, s |= F oder K, s |= G , K, s |= ♦F , falls es eine Welt s � gibt mit: (s, s � ) ∈ E und K, s � |= F , K, s |= �F , falls für jede Welt s � gilt: falls (s, s � ) ∈ E so K, s � |= F Bemerkung: Die Menge P(s) kodiert die Wahrheitsbelegung, die in Welt s gilt: P(s) entspricht einer Wahrheitsbelegung αs via: αs (X ) = 1 ⇐⇒ X ∈ P(s) 6 – 15/18 6 – 16/18 Logik TU Do SoSe 2011 Ein weiteres Beispiel: Ein Spiel 2 �4 � � � �3 1 � 7� �� 6 �8 �9 5 Zwei Spieler ziehen abwechselnd eine Spielfigur von einem Knoten über eine gerichtete Kante zu einem anderen Knoten Nur eine Spielfigur im Spiel Diese wird von beiden bewegt Wer nicht ziehen kann, verliert Wir können die Knoten des Spielgraphen als Welten einer Kripkestruktur auffassen Aussagen über das Spiel können dann durch modallogische Formeln ausgedrückt werden “In der aktuellen Position kann der Spieler am Zug nicht ziehen”: �⊥ Beispiele Erläuterung: ML: Syntax C. Schubert In jeder Welt gilt � Wenn es von einer Welt s einen Übergang in eine andere Welt gibt, so gilt K, s |= ♦� → �⊥ ≡ ¬♦� drückt aus, dass es keinen Übergang in eine andere Welt gibt C. Schubert Die Interpretation der aussagenlogischen Operatoren (∧, ∨, ¬) ist in allen “Anwendungsbereichen” gleich. Beispiele ML: Syntax � und ♦ können hingegen unterschiedlich interpretiert werden, und daher auch zur Modellierung unterschiedlicher Sachverhalte verwendet werden: Mögliche Interpretationen �F F notwendig der Agent weiß F Insbesondere drückt �⊥ also aus, dass der Spieler, der nicht am Zug ist, gewinnt F beweisbar F wahr nach allen Ausführungen eines Programmes F in allen zukünftigen Zuständen wahr “In der aktuellen Position kann der Spieler am Zug in einem Zug gewinnen”: ♦�⊥ “In der aktuellen Position kann der Spieler am Zug in zwei Zügen gewinnen”: ♦�♦�⊥ “Egal was der Spieler am Zug als erstes macht, er kann auf jeden Fall im nächsten Zug gewinnen”: ��♦�⊥ Logik TU Do SoSe 2011 Zur Modellierung mittels Modallogik 6 – 17/18 ♦F F möglich der Agent hält F für möglich F wahr nach einer Ausführung eines Programmes F in einem zukünftigen Zustand wahr “Alethische Logik” “Epistemische Logik” “Beweislogik” “Dynamische Logik” “Temporallogik” 6 – 18/18 Logik TU Do SoSe 2011 Logik für Informatiker Teil 7: Modallogik — Äquivalenzen und Erfüllbarkeit Unser Programm für Heute Logik TU Do SoSe 2011 C. Schubert C. Schubert Äquivalenzen Normalformen Äquivalenzen Normalformen AL Tableau AL Tableau ML Tableau ML Tableau 1 Äquivalenzen und Normalformen 2 Aussagenlogisches Tableau 3 Modallogisches Tableau Dr. Christoph Schubert basierend auf Folien von Prof. Thomas Schwentick TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 24. Mai 2011 (13:22 Uhr) 7 – 1/25 Überblick Logik TU Do SoSe 2011 7 – 2/25 Modallogik: Substitutionslemma C. Schubert Definition 1 C. Schubert Äquivalenzen Normalformen Zwei ML-Formeln F , G heißen äquivalent und wir schreiben F ≡ G , falls für alle Kripke-Strukturen K und alle Welten s gilt: Äquivalenzen Normalformen AL Tableau K, s |= F ⇐⇒ K, s |= G ML Tableau 1 Logik TU Do SoSe 2011 Äquivalenzen und Normalformen AL Tableau ML Tableau Sowohl das Substitutionslemma als auch das Ersetzungslemma der Aussagenlogik gelten in gleicher Form auch für die Modallogik 2 Substitutionslemma Modallogik Aussagenlogisches Tableau Seien F1 und F2 modallogische Formeln, für die F1 ≡ F2 gilt 3 Sei S eine Substitution AV → ML Dann gilt S(F1 ) ≡ S(F2 ) Modallogisches Tableau Beispiel 1 F1 = A ∧ B und F2 = ¬(¬A ∨ ¬B). Betrachte Substitution S : A �→ �C ; B �→ �D. Das Substitutionslemma gibt: �C ∧ �D ≡ ¬(¬�C ∨ ¬�D) 7 – 3/25 7 – 4/25 Ersetzungslemma Logik TU Do SoSe 2011 C. Schubert Ersetzungslemma Modallogik Sei F1 eine modallogische Formel, in der eine Teilformel G1 vorkommt Modallogik: Äquivalenzen (1/2) Satz 1 Äquivalenzen Normalformen C. Schubert Für ML-Formeln gelten alle Äquivalenzen aus dem Satz aus Folie 3-9 AL Tableau Außerdem gilt für ML-Formeln F , G : ML Tableau Dualität Sei G1 ≡ G2 Logik TU Do SoSe 2011 Äquivalenzen Normalformen AL Tableau ML Tableau ¬�F ≡ �¬F ¬�F ≡ �¬F Sei F2 die Formel, die aus F1 entsteht, indem (ein Vorkommen von) G1 durch G2 ersetzt wird Distributivität �(F ∧ G ) ≡ �F ∧ �G �(F ∨ G ) ≡ �F ∨ �G Dann gilt: F1 ≡ F2 Distribution Beispiel 2 Wenn �(F → G ) gilt, dann auch �F → �G Wenn �(F → G ) gilt, dann auch �F → �G �(F → G ) ≡ �F → �G F1 = ��A G1 = �A Notwendigkeit Ist F allgemein gültig, so auch �F G2 = ¬�¬A Dann gilt: ��A ≡ �¬�¬A Folgerung Zu jeder ML-Formel F gibt es eine äquivalente Formel F � in Negations-Normalform, in der die Negation ¬ nur unmittelbar vor Variablen vorkommt 7 – 5/25 Modallogik: Äquivalenzen (2/2) Beweis. Als Beispiel für den Beweis der Aussagen aus Satz 1 zeigen wir: Wenn �(F → G ) gilt, dann auch �F → �G Logik TU Do SoSe 2011 7 – 6/25 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Äquivalenzen Normalformen Äquivalenzen Normalformen AL Tableau AL Tableau ML Tableau Sei also K = (V , E , P) eine Kripke-Struktur und s ∈ V ML Tableau 1 Äquivalenzen und Normalformen 2 Aussagenlogisches Tableau 3 Modallogisches Tableau Angenommen K, s |= �(F → G ) Zu zeigen: K, s |= �F → �G Wir unterscheiden zwei Fälle: 1. Fall: K, s |= �G Dann folgt direkt K, s |= �F → �G nach Definition von → 2. Fall: K, s �|= �G Dann gibt es eine Welt s � ∈ V mit (s, s � ) ∈ E und K, s � �|= G Wegen K, s |= �(F → G ) gilt für alle Welten s � ∈ V mit (s, s � ) ∈ E : K, s � |= F → G → K, s � �|= F K, s �|= �F K, s |= �F → �G 7 – 7/25 7 – 8/25 Logik TU Do SoSe 2011 Vorüberlegungen Ziel: Beweiskalkül und Erfüllbarkeitstest für die Modallogik Da die Modallogik als Erweiterung der Aussagenlogik aufgefasst werden kann, liegt es nahe, ein Verfahren für die Aussagenlogik geeignet für die Modallogik zu erweitern Welche Erfüllbarkeitstests kennen wir für AL-Formeln F ? Wahrheitstabelle C. Schubert Äquivalenzen Normalformen AL Tableau ML Tableau 1. Teste α |= F für alle Belegungen α 2. Falls es ein α gibt mit α |= F , Ausgabe α 3. Andernfalls: Ausgabe “unerfüllbar” Resolution 1. 2. 3. 4. Logik TU Do SoSe 2011 AL-Tableaukalkül: Beispiel für die Herangehensweise Wandle F in KNF und dann in eine Klauselmenge K um Berechne Res∞ (K) Falls � ∈ Res∞ (K): Ausgabe “unerfüllbar” Andernfalls: Destilliere erfüllende Belegung aus den atomaren Formeln in Res∞ (K) C. Schubert Ist (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) erfüllbar? Die Formel ist erfüllbar, wenn eine der beiden Teilformeln erfüllbar ist (1) Ist ¬A ∧ ((B ∨ A) ∧ (B → A)) erfüllbar? AL Tableau Dafür müssten die Formeln ¬A und ((B ∨ A) ∧ (B → A)) simultan erfüllbar sein Dafür müssten ¬A, B ∨ A, und B → A simultan erfüllbar sein Zwei Fälle: (1a) ¬A, B, und B → A simultan erfüllbar - zwei Unterfälle: • ¬A, B, und ¬B simultan erfüllbar: � • ¬A, B, und A simultan erfüllbar: � (1b) ¬A, A, und B → A simultan erfüllbar: � Sind A und (¬A ∧ B) ∨ ¬B simultan erfüllbar? Zwei Fälle: (2a) A und ¬A ∧ B simultan erfüllbar • A, ¬A, und B simultan erfüllbar � (2b) A und ¬B simultan erfüllbar: � Dieses Vorgehen wird ziemlich unübersichtlich Deshalb werden wir jetzt zunächst einen weiteren Beweiskalkül für die Aussagenlogik kennen lernen, der sich leicht für die Modallogik erweitern lässt Tableaukalkül: Systematische und übersichtliche Notation für die obige Grundidee 7 – 9/25 Ein aussagenlogisches Tableau ist ein Baum, dessen Knoten mit aussagenlogischen Formeln beschriftet sind Ein Tableau für eine AL-Formel F in Negations-Normalform (ohne Einschränkung ohne Vorkommen von � und ⊥) kann wie folgt konstruiert werden: Logik TU Do SoSe 2011 Zunächst wird die Wurzel des Baumes erzeugt und mit F beschriftet 2 Danach wird so lange eine der beiden folgenden Regeln angewendet, bis dies nicht mehr möglich ist: ∨-Regel: 7 – 10/25 Logik TU Do SoSe 2011 AL-Tableaukalkül: Erstes Beispiel C. Schubert C. Schubert Äquivalenzen Normalformen Äquivalenzen Normalformen AL Tableau ML Tableau Konstruktion: Tableau 1 ML Tableau (2) Backtracking: Ist (A ∧ ((¬A ∧ B) ∨ ¬B)) erfüllbar? Aber: bei beiden Methoden ist nicht klar, wie sie für die Modallogik erweitert werden könnten AL-Tableaukalkül: Regeln Äquivalenzen Normalformen (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) � ¬A ∧ ((B ∨ A) ∧ (B → A)) � A ∧ ((¬A ∧ B) ∨ ¬B) � ¬A A (B ∨ A) ∧ (B → A) � (¬A ∧ B) ∨ ¬B � Wähle einen unmarkierten Knoten v mit einer Formel der Form F1 ∨ F2 Füge an jedes Blatt des Baumes unterhalb v (oder an v , falls v ein Blatt ist) zwei neue Knoten v1 und v2 als Kinder an, die mit F1 bzw. F2 beschriftet sind Markiere v B ∨ A� ¬A ∧ B � B → A� ¬A B ∧-Regel: ¬B Wähle einen unmarkierten Knoten v mit einer Formel der Form F1 ∧ F2 Füge an jedes Blatt des Baumes unterhalb v (oder an v , falls v ein Blatt ist) ein neues Kind v � an, das mit F1 beschriftet ist und an v � ein weiteres Kind v �� , das mit F2 beschriftet ist Markiere v 7 – 11/25 A A ¬B AL Tableau ML Tableau ¬B B A 7 – 12/25 AL-Tableaukalkül: Bedeutung Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 AL-Tableaukalkül: Erstes Beispiel (Fortsetzung) C. Schubert Ein Tableau heißt saturiert, wenn alle Knoten, die keine Literale enthalten, markiert sind Woran lässt sich an einem saturierten Tableau T zu F ablesen, ob F erfüllbar ist? Dazu betrachten wir die Blätter von T : Äquivalenzen Normalformen C. Schubert (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) AL Tableau ML Tableau Wir nennen ein Blatt v von T geschlossen, wenn auf dem Weg von v zur Wurzel eine Variable X und ihre Negation ¬X vorkommt → Geschlossene Blätter entsprechen also widersprüchlichen Pfaden Wir nennen ein Blatt offen, wenn es nicht geschlossen ist ¬A ∧ ((B ∨ A) ∧ (B → A)) A ∧ ((¬A ∧ B) ∨ ¬B) ¬A A (B ∨ A) ∧ (B → A) (¬A ∧ B) ∨ ¬B Eine Formel F ist genau dann erfüllbar, wenn F ein saturiertes Tableau T mit mindestens einem offenen Blatt hat (Das werden wir noch beweisen!) Und: wenn es ein solches Tableau für F gibt, so haben alle saturierten Tableaus für F ein offenes Blatt Wähle ein offenes Blatt v von T 2 Definiere eine Wahrheitsbelegung α so, dass sie alle atomaren Formeln auf dem Weg von v zur Wurzel wahr macht ¬A ∧ B ¬B B→A ¬A � B Dann lässt sich eine erfüllende Belegung für F wie folgt konstruieren: 1 B ∨A A B ¬B A ¬B A � � � � Erfüllende Belegung: A �→ 1, B �→ 0 Logik TU Do SoSe 2011 C. Schubert Zur Erinnerung: saturiertes Tableau: alle nicht-Literale sind markiert geschlossenes Blatt: auf dem Weg zur Wurzel kommen A und ¬A (A ∈ AV) vor Äquivalenzen Normalformen AL Tableau ML Tableau offenes Blatt: nicht geschlossenes Blatt Beweis von Satz 3(a) Wir zeigen zunächst (a): Jedes Tableau zu einer Formel F hat höchstens die Tiefe |F |−1 und höchstens 2|F | Knoten Beweis Aussage (a). Klar: im Tableau zu F kommen nur Teilformeln von F vor → Jeder Pfad hat höchstens so viele Knoten wie F Vorkommen von Teilformeln hat (a) Für jede AL-Formel F erzeugt die Tableau-Methode nach endlich vielen Schritten ein saturiertes Tableau T der Tiefe ≤ |F | − 1 mit ≤ 2|F | Knoten (b) Der Pfad jedes offenen Blattes eines saturierten Tableaus induziert eine erfüllende Belegung für F In Kapitel 2 haben wir gezeigt: die Anzahl der Vorkommen von Teilformeln von F in F ist ≤ |F | (c) Ist F unerfüllbar, so sind alle Blätter jedes saturierten Tableaus T zu F geschlossen → die Tiefe jedes Pfades ist ≤ |F | − 1 (d) Ist F erfüllbar, so hat jedes saturierte Tableau T zu F ein offenes Blatt → T hat höchstens 2 binär ist 7 – 15/25 ML Tableau 7 – 14/25 Und: jede Teilformel von F kommt auf jedem Pfad höchstens so oft vor, wie sie in F vorkommt Satz 2 AL Tableau � 7 – 13/25 AL-Tableaukalkül: Korrektheit, Vollständigkeit, Termination Äquivalenzen Normalformen |F | Knoten, da T Die Tableau-Methode terminiert also nach höchstens 2|F | Regelanwendungen Beispiel: Vorkommen von Teilformeln Logik TU Do SoSe 2011 C. Schubert Äquivalenzen Normalformen AL Tableau ML Tableau Die Formel (A ∧ B) ∨ (C → (A ∧ B)) hat die folgenden Vorkommen von Teilformeln: A: 2 B: 2 C: 1 A ∧ B: 2 C → (A ∧ B): 1 (A ∧ B) ∨ (C → (A ∧ B)): 1 Zusammen: 9 7 – 16/25 Beweisidee zu Satz 3(b)–(d) Beweisidee zu (b): offenes Blatt =⇒ erfüllende Belegung Sei v ein offenes Blatt eines saturierten Tableaus zu F , Pv sei der Pfad von v zur Wurzel w des Baumes (einschließlich v und w ) Zu v definieren wir eine Belegung α für die Variablen von F : � 1 X kommt in Pv vor α(X ) =def 0 andernfalls Logik TU Do SoSe 2011 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Äquivalenzen Normalformen Äquivalenzen Normalformen AL Tableau AL Tableau ML Tableau (im zweiten Fall kommt ¬X in Pv vor oder weder X noch ¬X kommen vor) ML Tableau 1 Äquivalenzen und Normalformen 2 Aussagenlogisches Tableau 3 Modallogisches Tableau Behauptung: α |= F Dies zeigt man durch Induktion nach der Länge von Pv . Beweisidee zu (c): F unerfüllbar =⇒ nur geschlossene Blätter Folgt durch Kontraposition aus (b) Beweisidee zu (d): F erfüllbar =⇒ offenes Blatt in jedem Tableau Induktion über Struktur des Tableaus T 7 – 17/25 Tableaukalkül für ML: Grundidee (1/2) Logik TU Do SoSe 2011 7 – 18/25 Tableaukalkül für ML: Grundidee (2/2) C. Schubert Äquivalenzen Normalformen Ist die Formel ��A ∧ �(A → �¬A) erfüllbar? AL Tableau ML Tableau Logik TU Do SoSe 2011 C. Schubert Um ��A wahr zu machen, muss es eine Welt geben, die in einem Schritt erreichbar ist und �A erfüllt Idee: Wir ergänzen jeden Knoten des Tableaus um die Angabe einer Welt Äquivalenzen Normalformen AL Tableau ML Tableau Knotenbeschriftungen sind also von der Form s, F (und die intendierte Bedeutung ist, dass F in s gilt) Wir können die ∧-Regel des AL-Tableaukalküls einmal anwenden: ��A ∧ �(A → �¬A)� Um die Modaloperatoren aufzulösen, erlauben wir das Hinzufügen neuer Welten: Wenn wir einen mit s, �F beschrifteten Knoten markieren, fügen wir ��A einen mit (s, s � ) ∈ E beschrifteten Knoten ein (für eine neue Welt s � ), und darunter einen mit s � , F beschrifteten Knoten (Details folgen noch...) Wenn wir einen mit s, �F beschrifteten Knoten markieren, fügen wir, für jede Welt s � , für die es auf dem Pfad einen mit (s, s � ) ∈ E markierten Knoten gibt, einen mit s � , F beschrifteten Knoten an (Details folgen noch...) �(A → �¬A) Aber wie soll es dann weiter gehen? 7 – 19/25 7 – 20/25 Logik TU Do SoSe 2011 Tableaukalkül für ML: erstes Beispiel Ist ��A ∧ �(A → �¬A) erfüllbar? Also gilt F in Welt s1 der folgenden Kripkestruktur und ist deshalb erfüllbar: s1 , ��A ∧ �(A → �¬A) � s1 s1 , ��A; � s1 , �A ∧ �(A → B) ∧ �¬B� Äquivalenzen Normalformen s1 , �(A → B)� s1 , �¬B� � s2 , �A � s2 , A s3 , A s2 , ¬B (s2 , s3 ) ∈ E s2 , ¬A s2 , �¬A� � s3 , ¬A s3 , ¬B 7 – 21/25 Modallogischer Tableaukalkül: Definition � Ein Tableau für eine ML-Formel F wird wie folgt konstruiert: Jeder Knoten des Tableaus wird durch ein Paar si , G beschriftet Knoten, die mit einer Formel der Typen si , F 1 ∨ F 2 Logik TU Do SoSe 2011 C. Schubert Äquivalenzen Normalformen Die Wurzel wird mit s1 , F beschriftet si , ¬X ML Tableau s3 , A → B� s2 , ¬A ∨ �¬A � si , X AL Tableau Zur Erinnerung: Pv ist der Pfad vom Knoten v zur Wurzel (s1 , s3 ) ∈ E s3 , A Äquivalenzen Normalformen Dann muss für jeden schon markierten Knoten mit Beschriftung s, �F � in Pv ein mit t, F � beschrifteter Knoten unterhalb v eingefügt werden (s1 , s2 ) ∈ E � C. Schubert Sei u ein Knoten mit Beschriftung s, �F , der markiert wird, und sei v ein mit (s, t) ∈ E beschrifteter Knoten, der dabei neu eingefügt wird s1 , �A � AL Tableau s2 (s1 , s2 ) ∈ E Umgang mit �: C. Schubert ML Tableau s1 , �(A → �¬A) � Logik TU Do SoSe 2011 Tableaukalkül für ML: zweites Beispiel AL Tableau si , F 1 ∧ F 2 ML Tableau beschriftet sind, werden wie im AL-Tableaukalkül behandelt und die dabei eventuell neu eingefügten Knoten haben ebenfalls die Welt si s3 , ¬A s3 , B � � 7 – 22/25 Logik TU Do SoSe 2011 Tableaukalkül für ML: drittes Beispiel C. Schubert Mit dem modallogischen Tableaukalkül können wir auch modallogische Äquivalenzen und Folgerungen testen s1 , �(¬A ∨ B) ∧ �A ∧ �¬B � Beispiel: Wenn �(F1 → F2 ) gilt, dann auch �F1 → �F2 s1 , �A � s1 , �(¬A ∨ B) � s2 , A eine Tautologie ist s2 , ¬B Dazu zeigen wir, dass ihre Negation �-Regel: F = ¬(�(A → B) → (�A → �B)) Wähle einen unmarkierten Knoten u mit einer Formel der Form si , �G Wähle j so, dass sj noch nicht in T vorkommt und füge an jedes Blatt v des Baumes unterhalb u (oder an u, falls u ein Blatt ist) unerfüllbar ist Dazu bringen wir F zunächst in Negations-Normalform einen neuen markierten Knoten mit Beschriftung (si , sj ) ∈ E und darunter einen neuen Knoten mit Beschriftung sj , G an Füge außerdem für jeden schon markierten und mit si , �G � beschrifteten Knoten in Pv einen Knoten sj , G � unterhalb von v an �(¬A ∨ B) ∧ �A ∧ �¬B In beiden Fällen wird u dann markiert ML Tableau (s1 , s2 ) ∈ E �(A → B) → (�A → �B) Wähle einen unmarkierten Knoten u mit einer Formel der Form si , �G Füge an jedes Blatt v des Baumes unterhalb u (oder an u, falls u ein Blatt ist) für jede Welt sj , für die (si , sj ) ∈ E in Pv vorkommt, einen neuen Knoten sj , G an (die dadurch entstehenden Knoten unterhalb von v bilden einen Weg) AL Tableau s1 , �¬B � Aufgrund des Substitutionslemmas genügt s zu zeigen, dass die Formel �-Regel: Äquivalenzen Normalformen s2 , ¬A ∨ B � s2 , ¬A s2 , B � � Also ist F unerfüllbar und die Folgerung bewiesen und wenden den Tableaukalkül an 7 – 23/25 7 – 24/25 ML-Tableaukalkül: Korrektheit, Vollständigkeit, Termination Die Analyse des ML-Tableaukalküls ist der Analyse des AL-Tableaukalküls sehr ähnlich Ein Blatt v ist geschlossen, falls in Pv zwei Knoten si , X und si , ¬X vorkommen Logik TU Do SoSe 2011 C. Schubert Äquivalenzen Normalformen AL Tableau ML Tableau Auch die restlichen Begriffe sind analog wie im Falle von AL Satz 3 (a) Für jede ML-Formel F erzeugt die Tableau-Methode nach endlich vielen Schritten ein saturiertes Tableau T (b) Der Pfad jedes offenen Blattes eines saturierten Tableaus induziert eine Kripke-Struktur K und eine Welt s1 mit K, s1 |= F (c) Ist F unerfüllbar, so ist jedes Blatt in einem saturierte Tableau T zu F geschlossen (d) Ist F erfüllbar, so besitzt jedes saturierte Tableau T zu F ein offenes Blatt Damit haben wir also das angestrebte Ziel, eine Methode zum Testen der Erfüllbarkeit einer modallogischen Formel, erreicht 7 – 25/25 Logik TU Do SoSe 2011 C. Schubert Zwei Kripkestrukturen: K Logik für Informatiker Teil 8: Modallogik — Bisimulationen � 1 � A Dr. Christoph Schubert � 2 � 5 �B �7� A �3 B A K� basierend auf Folien von Prof. Thomas Schwentick TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik � 4 A Sommersemester 2011 Version vom 24. Mai 2011 (13:21 Uhr) Logik TU Do SoSe 2011 Ähnlichkeit in Kripkestrukturen (1/2) � � 10 B� � 8 �A� � � 6 B � �9� A � 11 B Kripkestrukturen werden bei der automatischen Verifikation zur Modellierung von Systemen verwendet In diesem Zusammenhang kann es interessant sein zu wissen, ob zwei Kripkestrukturen von gegebenen Welten aus das gleiche Systemverhalten aufweisen Wenn dies für mehrere Kripkestrukturen, die ein gegebenes System modellieren, und die entsprechenden “Startwelten” der Fall ist, kann dann die kleinste von ihnen zur Verifikation verwendet werden Wir werden jetzt zunächst versuchen, den Begriff “das gleiche Systemverhalten aufweisen” genauer zu fassen 8 – 1/12 Logik TU Do SoSe 2011 Ähnlichkeit in Kripkestrukturen (2/2) Wann ist das Systemverhalten von K, 1 aus hinsichtlich der beobachtbaren Wahrheitsbelegungen gleich dem Systemverhalten von K� , 4 aus? K 1 � A � � 2 � �3 B A K� 5 �B � 4 A � � 10 B� �7� A 6 B � �9� A C. Schubert 1 � A � Definition 1 (Bisimulations-Spiel) � 2 � Sei s Welt von K, s � Welt von K� �3 B Zu Beginn des Spiels für K, s und K� , s � liegt je ein Spielstein auf s und s � In jeder Spielrunde A K� 5 �B Wir formalisieren diese Intuition durch ein Spiel 6 B � B 8 – 3/12 8 �9� A wählt Spieler 1 einen der beiden Spielsteine und verschiebt ihn entlang einer Kante (in der Richtung des Pfeiles), und Spieler 2 verschiebt danach den anderen Stein entlang einer Kante Spieler 1 hat gewonnen, wenn nach einer Spielrunde � �A� � � � 11 � � 10 B� �7� A � 4 A �A� � � Logik TU Do SoSe 2011 Das Bisimulations-Spiel (1/2) K � 8 8 – 2/12 C. Schubert Intuitiv: wenn jedes Verhalten, das von K, 1 aus möglich ist, von K� , 4 aus simuliert werden kann und umgekehrt C. Schubert � 11 die beiden Steine in Welten mit verschiedenen Wahrheitsbelegungen liegen, oder genau einer der beiden Spieler keine Zugmöglichkeit hat B 8 – 4/12 Logik TU Do SoSe 2011 Das Bisimulations-Spiel (1/2) Wann ist für Kripkestrukturen eine Spielposition (s, s � ) eine Gewinnposition für Spieler 2? K 1 � A � � 2 � A K� 5 �B � 4 A � � 10 B� �7� A 6 B � s “Gewinnpositionen” formalisieren wir jetzt durch den Begriff der Bisimulation � t � s � t � 11 �9� A B Logik TU Do SoSe 2011 Für alle ML-Formeln F gilt: K, 1 |= F ⇐⇒ K� , 4 |= F K � 2 � �3 B A K� 5 �B � � 10 B� �7� A � 4 A 6 B � ML und Bisimulationen (1/2) 8 – 6/12 Logik TU Do SoSe 2011 C. Schubert Der folgende Satz zeigt, dass diese Intuition korrekt ist und im Endlichen sogar die Umkehrung gilt Notation: schreibe (K, s) ≡ (K� , s � ) wenn für alle F ∈ ML gilt: K, s |= F ⇐⇒ K� , s � |= F Satz 2 Für Kripkestrukturen K, K� und Welten s, s � gilt: (a) (K, s) ∼ (K� , s � ) =⇒ (K, s) ≡ (K� , s � ) (b) Sind K und K� endlich, so gilt: (K, s) ≡ (K� , s � ) =⇒ (K, s) ∼ (K� , s � ) (K, s) ∼ (K� , s � ) gilt genau dann, wenn Spieler 2 eine Gewinnstrategie im Spiel von (K, s) und (K� , s � ) aus hat 8 – 7/12 ohne Beweis Zu beachten: S muss nicht die Menge aller Gewinnpositionen sein Intuitiv: wenn in s eine ML-Formel gilt, die in s � nicht gilt, so kann Spieler 1 das Spiel von s aus gewinnen Satz 1 B (K, s) ∼ (K� , s � ): es gibt eine Bisimulation S mit (s, s � ) ∈ S. Wir nennen s und s � dann bisimilar Wie können wir zeigen, dass zwei Welten s, s � nicht bisimilar sind? gibt es t � mit (s � , t � ) ∈ E � und (t, t � ) ∈ S, und für alle t � mit (s � , t � ) ∈ E � gibt es t mit (s, t) ∈ E und (t, t � ) ∈ S � 11 � t� Dass zwei Welten bisimilar sind, können wir durch Angabe einer Bisimulation zeigen (a) A ∈ P(s) ⇐⇒ A ∈ P � (s � ) (b) B ∈ P(s) ⇐⇒ B ∈ P � (s � ) (c) für alle t mit (s, t) ∈ E � �9� A s� C. Schubert Denn: die Relation S = {(1, 4), (1, 7), (1, 9), (2, 5), (2, 6), (2, 10), (2, 11), (3, 8)} ist eine Bisimulation zwischen K und K� Denn es gilt für alle (s, s � ) ∈ S: 8 �A� � � � t� (Rückwärtsbedingung) Bisimulationen (2/2) � s� (Vorwärtsbedingung), und (c) für alle t � mit (s � , t � ) ∈ E � gibt es t mit (s, t) ∈ E und (t, t � ) ∈ S 8 – 5/12 1 � A C. Schubert (a) P(s) = P � (s � ) (b) für alle t mit (s, t) ∈ E gibt es t � mit (s � , t � ) ∈ E � und (t, t � ) ∈ S, 8 �A� � � Definition 2 (Bisimulation) Seien K = (V , E , P) und K� = (V � , E � , P � ) Kripkestrukturen Eine Relation S ⊆ V × V � heißt Bisimulation, falls für alle (s, s � ) ∈ S gilt: Think recursively: wenn P(s) = P � (s � ) und Spieler 2 für jede Zugmöglichkeit von Spieler 1 im nächsten Zug wieder eine Gewinnposition erreichen kann �3 B C. Schubert Logik TU Do SoSe 2011 Bisimulationen (1/2) 8 – 8/12 Logik TU Do SoSe 2011 ML und Bisimulationen (2/2) Satz 2 ML hat die Baummodelleigenschaft (1/2) Wir nennen eine Kripkestruktur K = (V , E , P) einen Baum, wenn (V , E ) ein gerichteter Baum mit einer Wurzel ist, in dem alle Kanten von der Wurzel weg orientiert sind Wir erlauben hier auch unendliche Bäume! Wir zeigen jetzt: Für eine ML-Formel “sieht jede Kripkestruktur wie ein Baum aus” C. Schubert Für Kripkestrukturen K, K� und Welten s, s � gilt: (a) (K, s) ∼ (K� , s � ) =⇒ (K, s) ≡ (K� , s � ) (b) Sind K und K� endlich, so gilt: (K, s) ≡ (K� , s � ) =⇒ (K, s) ∼ (K� , s � ) C. Schubert Beispiel Wir beweisen nur (a) Beweis. � Logik TU Do SoSe 2011 1� B � Zu zeigen: K, s |= F =⇒ K , s |= F Die Umkehrung folgt durch Vertauschen von K, K� und s, s � Induktion nach der Struktur von F : Für F = X , �, ⊥ und die Booleschen Operatoren: klar Für F = ♦G : � � Es gelte K, s |= ♦G → es gibt t mit (s, t) ∈ E und K, t |= G Da (K, s) ∼ (K� , s � ) gibt es dann ein t � mit (s � , t � ) ∈ E � und K, t ∼ K� , t � Mit Induktion folgt K� , t � |= G Also haben wir ein t � mit (s � , t � ) ∈ E � und K� , t � |= G → K� , s � |= ♦G 2� A, B � 2 A, B 1 B � 4 C � �3 � � � 3� C � ∼ A 7� B � � 5� � A 4� A � 8� A, B 9� B � � 10� A, B 11� A � 6� C � 12� C F = �G ≡ ¬♦¬G lässt sich auf die anderen Fälle zurückführen 8 – 9/12 ML hat die Baummodelleigenschaft (2/2) Logik TU Do SoSe 2011 8 – 10/12 Logik TU Do SoSe 2011 ML hat die endliche Baumeigenschaft C. Schubert C. Schubert Sei md(F ) die Verschachtelungstiefe der modalen Operatoren ♦ und � in F Ein (endlicher) Weg in einer Kripkestruktur K = (V , E , P) ist ein Tupel (s1 , . . . , sk ) von Welten aus V mit (si , si+1 ) ∈ E , für alle i < k Die Abwicklung TK,s von K von der Welt s aus ist die Kripkestruktur mit: Beispiel: Weltmenge VK,s = Menge aller endlichen Wege von K, die in s beginnen Kante (w , w � ), falls w � ein Weg ist, der w um einen Knoten verlängert P((s1 , . . . , sk )) = P(sk ) md(♦A ∨ �B ∧ (♦�(C ∨ ♦A))) = 3 k Für eine Kripkestruktur K, eine Welt s und k ≥ 0 sei TK,s der endliche Baum, der nur aus den oberen k + 1 Ebenen von TK,s besteht Dann gilt für jede ML-Formel F : Lemma 3 md(F ) K, s |= F ⇐⇒ TK,s Für jedes K, jedes s und jede ML-Formel F gilt: K, s |= F ⇐⇒ TK,s , s |= F , s |= F Satz 3 ML hat die endliche Baummodelleigenschaft, d.h., für jede erfüllbare ML-Formel F gibt es eine Kripkestruktur K und eine Welt s mit: Beweis. {(sk , (s1 , . . . , sk )) | (s1 , . . . , sk ) ist Weg von K, s1 = s} ist eine Bisimulation K ist ein endlicher Baum K, s |= F Es gilt sogar noch mehr: 8 – 11/12 8 – 12/12 Logik TU Do SoSe 2011 Logik für Informatiker Teil 9 Prädikatenlogik: Grundlagen Dr. Christoph Schubert Unser Programm für Heute C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen 1 Einleitende Beispiele Strukturen Syntax der Prädikatenlogik Syntax der Prädikatenlogik TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 7. Juni 2011 (12:32 Uhr) 2 Relationen und Funktionen 3 Strukturen 4 Syntax der Prädikatenlogik 9 – 1/26 Logik TU Do SoSe 2011 9 – 2/26 Einleitende Beispiele (1/4) C. Schubert Einleitende Beispiele 1 Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik 2 Relationen und Funktionen 3 Strukturen 4 Syntax der Prädikatenlogik Relationen und Funktionen Strukturen basierend auf Folien von Prof. Thomas Schwentick Überblick Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 C. Schubert Das Dreifärbungsproblem für die Landkarte der BRD konnten wir auf die Erfüllbarkeit der folgenden aussagenlogischen Formel zurückführen: =1 =1 =1 =1 =1 =1 =1 =1 FNRW ∧ FBW ∧ FBY ∧ FRP ∧ FSR ∧ FHS ∧ FTH ∧ FSX ∧ =1 =1 =1 =1 =1 =1 =1 =1 FNI ∧ FSA ∧ FBR ∧ FB ∧ FHH ∧ FHB ∧ FMV ∧ FSH ∧ �= �= �= �= �= �= �= �= FNRW,HS ∧ FBW,BY ∧ FBW,RL ∧ FBW,HS ∧ FBY,HS ∧ FBY,TH ∧ FBY,SX ∧ FSR,RL ∧ �= �= �= �= �= �= �= �= FRL,HS ∧ FRL,NRW ∧ FHS,TH ∧ FHS,NI ∧ FTH,SX ∧ FTH,SA ∧ FTH,NI ∧ FSX,BR ∧ �= �= �= �= �= �= �= �= FSX,SA ∧ FNRW,NI ∧ FNI,SH ∧ FNI,HB ∧ FNI,HH ∧ FNI,MV ∧ FNI,SA ∧ FNI,BR ∧ �= �= �= �= �= FSA,BR ∧ FBR,MV ∧ FBR,B ∧ FSH,HH ∧ FSH,MV Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik Dies war eine Abkürzung für eine Formel der Länge 1024: (GNRW ∨ RNRW ∨ BNRW ) ∧ ¬(GNRW ∧ RNRW )∧ ¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW ) ∧ · · · · · · (GSH ∨ RSH ∨ BSH ) ∧ ¬(GSH ∧ RSH )∧ ¬(BSH ∧ RSH ) ∧ ¬(BSH ∧ GSH )∧ ¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) · · · · · · ¬(GSH ∧ GMV ) ∧ ¬(RSH ∧ RMV ) ∧ ¬(BSH ∧ BMV ) Wir werden jetzt eine elegantere Modellierung mittels Prädikatenlogik betrachten 9 – 3/26 9 – 4/26 Logik TU Do SoSe 2011 Einleitende Beispiele (2/4) Einleitende Beispiele (3/4): Essende Philosophen Speisende Philosophen: C. Schubert Die aussagenlogische Formel vermischt die “Daten” und die “Eigenschaften”, die gelten sollen Einleitende Beispiele Mit Hilfe der Prädikatenlogik können wir diese beiden Aspekte nun trennen: Relationen und Funktionen Wir können die Informationen über Länder und ihre Nachbarschaftsbe- ziehungen durch einen Graphen G = (V , E ) modellieren: Strukturen Rund um einen Tisch sitzen n Philosophen Zwischen je zwei nebeneinander sitzenden Philosophen liegt ein Essstäbchen Um essen zu können, braucht ein Philosoph zwei Stäbchen Da Philosophen kurze Arme haben, kann ein Philosoph nur die beiden Stäbchen unmittelbar links und rechts von sich erreichen Das heißt, während ein Philosoph isst, kann keiner seiner beiden Nachbarn essen Syntax der Prädikatenlogik Diese Situation könnten wir mit Hilfe aussagenlogischer Formeln modellieren: Färbungen der Länder lassen sich durch 3 Relationen G , R, B modellieren Wie wir gesehen haben, hat die Modallogik nur eine eingeschränkte Ausdrucksstärke Jede Formel kann nur begrenzt weit “in eine Struktur hineinschauen” Bisimilare Welten können durch ML-Formeln nicht unterschieden werden Die Prädikatenlogik kann mehr Eigenschaften von Kripkestrukturen beschreiben als die Modallogik: Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik i=1 Unter Verwendung der Prädikatenlogik können wir anders vorgehen: Eine Färbung ist zulässig, falls sie die folgenden prädikatenlogischen Formeln erfüllen: Einleitende Beispiele (4/4): Kripkestrukturen C. Schubert Dazu könnten wir Variablen A1 , . . . , An verwenden mit der Bedeutung Ai ≡ “Philosoph i isst” Das Wissen über die Anordnung der Philosophen könnten wir zusammen mit dem Wissen über ihre Essgewohnheiten in einer Formel repräsentieren: n−1 � Fn = ¬(A1 ∧ An ) ∧ ¬(Ai ∧ Ai+1 ) Die Knotenmenge V enthält alle Länder: {NRW, BW, BY, . . . , SH} Die Kantenrelation E enthält alle Paare benachbarter Länder: {(NRW, HS), (BW, BY), . . . , (SH, MV)} ∀x [G (x) ∨ R(x) ∨ B(x)] ∀x ¬[(G (x) ∧ R(x))∨ (G (x) ∧ B(x)) ∨ (R(x) ∧ B(x))] ∀x ∀y [E (x, y ) → ¬((G (x) ∧ G (y ))∨ (B(x) ∧ B(y )) ∨ (R(x) ∧ R(y )))] Logik TU Do SoSe 2011 Die Anordnung der Philosophen modellieren wir durch einen Graphen G = (V , E ) mit V = {1, . . . , n} E = {(1, 2), (2, 3), . . . , (n−1, n), (n, 1)} Dass Philosoph j isst, drücken wir durch P(j) aus Die Essgewohnheiten können wir dann durch folgende Formel beschreiben: � � ∀x∀y E (x, y ) → ¬(P(x) ∧ P(y )) 9 – 5/26 Logik TU Do SoSe 2011 Überblick 9 – 6/26 Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen 1 Einleitende Beispiele Relationen und Funktionen Strukturen Strukturen Syntax der Prädikatenlogik Syntax der Prädikatenlogik Eine Kripkestruktur kann dabei als gerichteter Graph G = (V , E ) aufgefasst werden Die Welten sind also die Knoten des Graphen Die Übergänge sind die Kanten des Graphen Für jede aussagenlogische Variable A und Welt w soll PA (w ) gelten, wenn A ∈ P(w ) “Jede Welt hat eine ausgehende Kante” lässt sich dann beschreiben durch: ∀x∃y E (x, y ) “Von jeder Welt gibt es höchstens einen Übergang in eine Welt, in der A gilt” lässt sich ausdrücken durch: ∀x∀y1 ∀y2 [(E (x, y1 ) ∧ E (x, y2 )∧ PA (y1 ) ∧ PA (y2 )) → y1 = y2 ] 9 – 7/26 2 Relationen und Funktionen 3 Strukturen 4 Syntax der Prädikatenlogik 9 – 8/26 Repräsentation von Daten: Informatik vs. Mathematik Logik TU Do SoSe 2011 C. Schubert Definition 1 Kodierung. . . : n Eine n-stellige Relation R über A ist eine Teilmenge von A = A × · · · × A Relationen und Funktionen Strukturen C. Schubert Sei A eine Menge Einleitende Beispiele Informatiker beschäftigen sich (unter anderem) mit der geeigneten Repräsentation von Daten/Informationen zur Verarbeitung durch Computer Verschiedene Aspekte: Logik TU Do SoSe 2011 Relationen Beispiele A=N R = {(m, n) ∈ N2 | m < n} = {(0, 1), (0, 2), (1, 2), (0, 3), . . .} . . . im Rechner: Bit-Folgen . . . in Dateien: Daten lassen sich im Zweifelsfall als Strings/Textdateien repräsentieren (z.B. in XML) Relationen und Funktionen Strukturen Strikte Ordnung der natürlichen Zahlen: Syntax der Prädikatenlogik Einleitende Beispiele Syntax der Prädikatenlogik Äquivalente Brüche: Datenstrukturen: A = Z2 R = {((z1 , n1 ), (z2 , n2 )) ∈ (Z2 )2 | z1 n2 = z2 n1 } = {. . . , ((−2, 3), (−4, 6)), ((−2, 3), (−6, 9)), . . .} Arrays, Pointerstrukturen, etc. bieten eine komfortablere Repräsentation von Daten, die sich für die Manipulation “innerhalb von Programmen” eignen Datenbanken: “externe” Speicherung von Informationen Daten im Web. . . Logik-Hörer: A = Menge aller Strings über {a, . . . , z}, R = {(x, y ) ∈ A2 | x ist Vorname, y ist Nachname eines Hörers der Logik-Vorlesung} Der mathematische Weg zur Repräsentation von Daten: Relationen, Funktionen, Strukturen Bemerkung Über jeder Grundmenge A gibt es genau zwei 0-stellige Relationen: ∅ und {()} 9 – 9/26 Funktionen n-stellige Funktionen f : An → A über einer Grundmenge A Beispiel Addition über den natürlichen Zahlen: f + : N2 → N f+ (n, m) = n + m 0-stellige Funktionen über A: Logik TU Do SoSe 2011 (“()” ist das (!) 0-stellige Tupel) Überblick 9 – 10/26 Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen 1 Einleitende Beispiele Relationen und Funktionen Strukturen Strukturen Syntax der Prädikatenlogik Syntax der Prädikatenlogik Abbildung () �→ c mit c ∈ A → 0-stellige Funktionen über A können als Konstanten aus A aufgefasst werden Genau das werden wir auch tun: Wir verwenden im Folgenden keine 0-stelligen Funktionen aber erlauben Konstanten 2 Relationen und Funktionen 3 Strukturen 4 Syntax der Prädikatenlogik Es besteht ein enger Zusammenhang zwischen Funktionen und Relationen: Der Graph einer n-stelligen Funktion f : graph(f ) = {(a1 , . . . , an , a) | f (a1 , . . . , an ) = a} ist eine n + 1-stellige Relation Beispiel graph(f+ ) = {(0, 0, 0), (0, 1, 1), . . . , (9, 16, 25), . . .} 9 – 11/26 9 – 12/26 Strukturen Für die meisten Modellierungen ist es vorteilhaft, mehr als eine Relation oder eine Funktion zur Verfügung zu haben → Wir verwenden Strukturen, die mehrere Relationen, Funktionen (und Konstanten) zusammenfassen Logik TU Do SoSe 2011 Beispiel für Strukturen: Graphen C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen (Gerichtete) Graphen: a Strukturen Definition: Struktur Eine Struktur A besteht aus Logik TU Do SoSe 2011 Syntax der Prädikatenlogik einer Grundmenge A, Relationen R1 , . . . , Rk über A Funktionen f1 , . . . , fl über A Konstanten c1 , . . . , cm aus A � � c �� b AG = (V , E ), wobei V = { a, b, c, d } und � d E = { (a, b), (a, c), (c, b), (b, d), (d, c) } Relationen und Funktionen Strukturen Syntax der Prädikatenlogik Eingabe-Instanzen für algorithmische Probleme lassen sich auch durch mathematische Strukturen modellieren Erreichbarkeitsproblem: Wir schreiben A dann als (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm ) Beim Erreichbarkeitsproblem besteht die Eingabe aus einem Graphen sowie einem Start- und einem Zielknoten Die Eingabe G , a, d lässt sich zum Beispiel durch die Struktur AG ,a,d = (V , E , a, d) beschreiben, mit V und E wie oben Bemerkungen: Es ist auch k = 0, l = 0 oder m = 0 möglich: nicht jede Struktur muss also Konstanten, Relationen und Funktionen besitzen Wir betrachten nur Strukturen mit endlich vielen Relationen und Funktionen Statt “Grundmenge” sagen wir manchmal auch “Universum” 9 – 13/26 Beispiele für Strukturen: Algebraische Strukturen Logik TU Do SoSe 2011 9 – 14/26 Beispiele für Strukturen: “Informatik-Strukturen” (1/2) C. Schubert In der Mathematik werden häufig Strukturen mit Funktionen betrachtet (die dann Operationen entsprechen) Gruppen Gruppen lassen sich durch Strukturen der Art (G , ◦, e) repräsentieren, mit G die Menge der Elemente ist, Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik Logik TU Do SoSe 2011 C. Schubert Zeichenketten Der String s = bacabba lässt sich durch die Struktur (P, ≤, Qa , Qb , Qc ) repräsentieren, wobei P = {1, 2, 3, 4, 5, 6, 7} die Menge der Positionen von s ist, Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik ≤ die übliche lineare Ordnung auf P ist, ◦ eine 2-stellige Funktion, die Gruppenverknüpfung, ist, und Qa = {2, 4, 7} die Menge der Positionen, an denen ein a steht, ist, und entsprechend: Qb = {1, 5, 6}, Qc = {3} e eine Konstante ist, das neutrale Element Peano-Arithmetik (natürliche Zahlen mit Addition und Multiplikation) Relationale Datenbanken Sie lässt sich durch die Struktur (N, +, ×, 0, 1) repräsentieren: D = (U, R1 , . . . , Rk ) N ist die Menge der natürlichen Zahlen U: die Menge der in D vorkommenden Datenwerte +, × sind 2-stellige Funktionen R1 , . . . , Rk : Die Relationen über U (“Tabellen”) 0 und 1 sind Konstanten 9 – 15/26 9 – 16/26 Logik TU Do SoSe 2011 Beispiele für Strukturen: “Informatik-Strukturen” (2/2) Strukturen: Signaturen (1/2) Formeln werden jeweils über Strukturen eines gewissen “Typs” sprechen, also z.B. über Erreichbarkeitsprobleme oder Strings. Diesem “Typ” formalisieren wir wie folgt: C. Schubert Transitionssysteme Einleitende Beispiele B,C � �1� � Relationen und Funktionen A A �� 2 B �3 A �4 Strukturen o C Syntax der Prädikatenlogik B,C Definition: Signatur Eine Signatur ist eine Menge von Relations-, Funktions- und Konstantensymbolen, wobei wir jedem Relationssymbole R und jedem Funktionssymbole f eine feste Stelligkeit a(R) bzw. a(f ) zuordnen Dieses Transitionssystem kann durch (Z , EA , EB , EC , Po , s) repräsentiert werden, wobei Z = {1, 2, 3, 4} (“A-Transitionen”) Po = {4} Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik Beispiele EB = {(1, 1), (2, 3), (3, 1)} EC = {(1, 1), (2, 1), (3, 1)}, C. Schubert Die Signatur σ(A) einer Struktur A ist die Menge der Symbole zu den in A vorkommenden Relationen, Funktionen und Konstanten Eine Struktur A ist passend zu einer Signatur S, wenn S ⊆ σ(A) (Zustände) EA = {(1, 2), (2, 2), (3, 4)}, Logik TU Do SoSe 2011 Die Signatur von Erreichbarkeitsproblemen ist {E , c, d}, wobei E ein 2-stelliges Relationssymbol ist und c, d Konstantensymbole sind (Zustände mit Eigenschaft o) s=1 Die Signatur von Zeichenketten über dem Alphabet {a, b, c} ist {≤ , Qa , Qb , Qc }, wobei ≤ ein 2-stelliges Relationssymbol ist und Qa , Qb , Qc jeweils 1-stellige Relationssymbole sind (Anfangszustand) 9 – 17/26 Strukturen: Signaturen (2/2) Wir müssen unterscheiden zwischen konkreten Relationen, Funktionen und Konstanten, die in konkreten Strukturen vorkommen Relationssymbolen, Funktionssymbolen und Konstantensymbolen, die in Signaturen (und in Formeln) vorkommen und für beliebige Relationen, Funktionen und Konstanten stehen Logik TU Do SoSe 2011 9 – 18/26 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen 1 Einleitende Beispiele Relationen und Funktionen Strukturen Strukturen Syntax der Prädikatenlogik Syntax der Prädikatenlogik Dieser Unterschied schlägt sich in unserer Notation wieder: 2 Relationen und Funktionen 3 Strukturen 4 Syntax der Prädikatenlogik Notation Die konkrete Relation, die in einer Struktur A dem Relationssymbol R zugeordnet ist, bezeichnen wir mit R A Da dies zu oft zu einer etwas überladenen Notation führt, lassen wir das Superskript A oft weg, wenn aus dem Zusammenhang klar ist, dass eine konkrete Relation gemeint ist, und welche konkrete Struktur gemeint ist [In den bisherigen Beispielen haben wir nicht immer diese Notation verwendet. . . ] 9 – 19/26 9 – 20/26 Logik TU Do SoSe 2011 Syntax der Prädikatenlogik (1/2) C. Schubert Sei PV eine abzählbare Menge prädikatenlogischer Variablen PV enthalte mindestens x, y , z sowie xi , yi , zi , für alle i ∈ N Definition: Terme Einleitende Beispiele Relationen und Funktionen Strukturen Sei σ eine Signatur Die Menge PT (σ) der prädikatenlogischen Terme über σ ist induktiv wie folgt definiert: Syntax der Prädikatenlogik Terme über {R, f , c}, für 2-stelliges f , sind z.B. c, x, y , f (c, x), f (y , f (x, x)), . . . 9 – 21/26 ∨ (1) Ist R ein k-stelliges Relationssymbol aus σ und sind t1 , . . . , tk Terme über σ, so ist R(t1 , . . . , tk ) in PL(σ) (2) Sind F , F1 , F2 in PL(σ), so auch (a) ¬F (b) (F1 ∧ F2 ) (c) (F1 ∨ F2 ) Logik TU Do SoSe 2011 Zusätzliche Klammern in Formeln sind erlaubt ∃ heißt Existenzquantor, ∀ heißt Allquantor Formeln vom Typ (1) heißen atomar Formeln, die nur durch (1) und (2) gebildet werden können, heißen quantorenfrei Wenn σ durch den Zusammenhang klar ist (oder unwichtig), schreiben wir einfach PL statt PL(σ) Umgekehrt: die Signatur σ(F ) einer Formel F ist die Menge der in F vorkommenden Relations-, Funktions- und Konstantensymbole Syntax der Prädikatenlogik: Teilformeln ∀y P(x, g (z)) P(f (z), y ) Relationen und Funktionen Strukturen Syntax der Prädikatenlogik 9 – 22/26 Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen Relationen und Funktionen Strukturen ∀z Einleitende Beispiele in PL(σ) Beispiel ∀z P(x, g (z)) ∨ ∀y P(f (z), y ) hat den Syntaxbaum: Sei σ eine Signatur Die Menge PL(σ) der prädikatenlogischen Formeln über σ ist induktiv wie folgt definiert: C. Schubert (a) ∃x F und (b) ∀x F Terme, die keine Variablen verwenden, nennen wir Grundterme Die Struktur prädikatenlogischer Formeln lässt sich durch Syntaxbäume illustrieren Definition: prädikatenlogische Formeln Logik TU Do SoSe 2011 (3) Ist x eine Variable und F in PL(σ), so sind auch Jede Variable aus PVist ein Term Jedes Konstantensymbol aus σ ist ein Term Ist f ein k-stelliges Funktionssymbol aus σ und sind t1 , . . . , tk Terme über σ, so ist f (t1 , . . . , tk ) ein Term über σ Syntax der Prädikatenlogik: Gültigkeitsbereich von Quantoren Syntax der Prädikatenlogik (2/2) Syntax der Prädikatenlogik Was ist die Reichweite von Quantoren? Bezieht sich ∀z noch auf P(f (z), y ) oder nicht mehr? Soll ∨ oder ∀z eine stärkere Bindungsstärke haben? Strukturen Wir definieren die Menge T (F ) der Teilformeln induktiv wie folgt: Ist F atomar, so ist T (F ) =def {F } T (¬F ) =def {¬F } ∪ T (F ) T (F1 ∧ F2 ) =def {F1 ∧ F2 } ∪ T (F1 ) ∪ T (F2 ) T (F1 ∨ F2 ) =def {F1 ∨ F2 } ∪ T (F1 ) ∪ T (F2 ) T (∃ F ) =def {∃ F } ∪ T (F ) T (∀ F ) =def {∀ F } ∪ T (F ) Syntax der Prädikatenlogik Diese Frage haben wir implizit durch die induktive Definition der prädikatenlogischen Formeln beantwortet Streng genommen müsste die Formel ein äußeres Klammerpaar (· · · ) haben In jedem Fall ist die “äußerste Operation”, durch die die Formel entstanden ist, das “oder”, da andernfalls P(x, g (z)) ∨ ∀y P(f (x), y ) geklammert sein müsste → Syntaxbaum 9 – 23/26 9 – 24/26 Syntax der Prädikatenlogik: Einige Begriffe Jedes Vorkommen einer Variablen x in einer Formel im Wirkungsbereich eines Quantors ∃x oder ∀x heißt gebunden (durch die jeweiligen Quantoren) Jedes andere Vorkommen einer Variablen in einer Formel ist frei Die freien Variablen einer Formel sind alle Variablen, die mindestens einmal frei vorkommen Eine Formel ist geschlossen, wenn sie keine freien Vorkommen von Variablen enthält Die Schreibweise F (x1 , . . . , xk ) soll implizit bedeuten, dass F keine anderen freien Variablen hat als die in x1 , . . . , xk genannten (aber möglicherweise weniger) Logik TU Do SoSe 2011 Relationen und Prädikate Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitende Beispiele Einleitende Beispiele Relationen und Funktionen Strukturen Syntax der Prädikatenlogik In prädikatenlogischen Formeln schreiben wir “R(x, y )” anstelle von “(x, y ) ∈ R” Dieser Notation liegt die (ältere) Auffassung zugrunde, dass R ein Prädikat ist Relationen und Funktionen Strukturen Syntax der Prädikatenlogik Die (modernere) Auffassung, dass R eine Relation ist, ist jedoch für unsere Zwecke praktischer, insbesondere für die Definition der Semantik Für viele Anwendungen (beispielswise in der Wissensrepräsentation) ist jedoch durchaus die Prädikate-Sichtweise fruchtbar Wichtig ist hier, dass die beiden Sichtweisen inhaltlich keinen wesentlichen Unterschied mit sich bringen Sei F1 =def R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y ) Sämtliche Vorkommen von x in F1 sind frei, die Vorkommen von y und z gebunden Die Signatur von F1 ist {P, R, f , g } (Anton,Julius) ∈ P und P(Anton,Julius) bedeuten im Prinzip das Gleiche In Formeln verwenden wir aber ausschließlich die Prädikatenschreibweise In F2 =def P(x) ∨ ∃x R(x, y ) kommt x sowohl frei als auch gebunden vor → Schließlich heißt die Logik ja “Prädikatenlogik” Die Menge der freien Variablen dieser Formel ist also {x, y } Sei F3 =def ∀x [∀y ∃x E (y , x) ∧ E (x, y )]∧ E (x, x) Das x in E (y , x) ist durch den Quantor ∃x gebunden Das x in E (x, y ) ist durch den Quantor ∀x gebunden Das x in E (x, x) ist frei 9 – 25/26 9 – 26/26 Logik TU Do SoSe 2011 Logik für Informatiker Teil 10 — Prädikatenlogik: Normalformen Unser Programm für Heute Logik TU Do SoSe 2011 C. Schubert C. Schubert Semantik PL Semantik PL Formeln erstellen und verstehen Formeln erstellen und verstehen Äquivalenzen und Normalformen 1 Semantik der Prädikatenlogik 2 Formeln erstellen und verstehen 3 Äquivalenzen und Normalformen Äquivalenzen und Normalformen Dr. Christoph Schubert basierend auf Folien von Prof. Thomas Schwentick TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 14. Juni 2011 (15:43 Uhr) 10 – 1/36 Überblick Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen 1 Semantik der Prädikatenlogik 2 Formeln erstellen und verstehen 3 Äquivalenzen und Normalformen Äquivalenzen und Normalformen 10 – 3/36 10 – 2/36 Prädikatenlogische Interpretationen (1/2) Zur Erinnerung: Semantik der Aussagenlogik: Belegung, d.h. Wahrheitswerte für aussagenlogische Variablen Semantik der Modallogik: Kripke-Struktur, d.h. mögliche “Welten” und ihre Beziehungen zueinander (für �, ♦), Wahrheitswerte für Variablen in jeder Welt Semantik der Prädikatenlogik: Wenn wir die Formel F = ∀x∃y E (y , s(x)) interpretieren wollen, so müssen wir festlegen 1 welche “Werte” für x und y zulässig sind 2 welche Bedeutung das Relationssymbol E haben soll 3 welche Bedeutung das Funktionssymbol s haben soll Zusätzlich müssen wir angeben (z.B. für Interpretation von G = E (z, c0 )): (4) welchen Wert das Konstantensymbol c0 annehmen soll (5) wie wir mit freien Variablen (wie z in Formel G ) umgehen wollen. Daher: für (1) – (4) geben wir eine Struktur (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm ) an freien Variablen ordnen wir Elementen von A zu Beispiel: für die Interpretation von F und G : wähle A = N, E = > = { (m, n) ∈ N2 | m > n }, s : N → N, s(n) = n + 1, c0 = 0. Dann sollte F stets wahr sein, der Wahrheitswert von G hängt von der Wahl für z ab (falsch für z = 0, wahr für alle anderen z Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen 10 – 4/36 Prädikatenlogische Interpretationen (2/2) Für die Semantik einer PL-Formel F benötigen wir eine Struktur, in der die Relations-, Funktions- und Konstantensymbole interpretiert werden, sowie eine Zuordnung von Werten zu den freien Variablen von F Formal: Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Prädikatenlogische Interpretationen: Beispiel (1/3) Kürzlich in der Logik-Übung gaben solche Studierende eine korrekte Lösung ab, auf die eine der folgenden Aussagen zutraf: (1) Der Studierende hat die Aufgaben verstanden (2) Der Studierende war bei den jeweils besten Teilnehmern der Übungsgruppen beliebt (3) Der beste Freund des Studierenden war bei allen Studierenden beliebt Modellierung: (1) – (3) machen jeweils eine Aussage über einen Studierenden Für diesen verwenden wir die Variable x Die Funktion f soll jedem Studierenden seine/n beste(n) Freund(in) zuordnen g ordnet jedem Studierenden den besten Studierenden seiner Ü-Gruppe zu P(x, y ) soll ausdrücken, dass x bei y beliebt ist R(x) soll ausdrücken, dass x die Aufgaben verstanden hat Definition 1 Eine Interpretation I = (A, β) besteht aus einer Struktur A mit Grundmenge A und einer partiellen Abbildung β : PV → A (der Belegung) Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Ziel: eine Formel F (x), die wahr wird, falls x einer der in (1)–(3) beschriebenen Studierenden ist Die drei Aussagen lassen sich dann wie folgt ausdrücken: Notation: Ist β eine Belegung mit β(x) = 2, so schreiben wir statt (A, β) auch (A, x �→ 2) Eine Interpretation (A, β) heißt passend für eine PL-Formel F , falls (1) R(x) (2) ∀z P(x, g (z)) (3) ∀y P(f (x), y ) A passend zur Signatur von F ist und β(x) für jede freie Variable x von F definiert ist Die Gesamtformel F ist dann also: R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y ) Entsprechend sind passende Terme definiert “Studierender” und “Freund” stehen hier und im Folgenden jeweils für männliche und weibliche Personen 10 – 5/36 Prädikatenlogische Interpretationen: Beispiel (2/3) Seien Anton, Berta, Julius und Otto in einer ÜG (mit Julius als Bestem) Seien Paula, Richard und Martha in einer anderen ÜG (mit Paula als Bester) Bei Julius sei Anton beliebt, bei Anton sei Otto beliebt, bei Paula seien Anton und Martha beliebt Für alle (bis auf Otto) ist Otto der beste Freund, Ottos bester Freund ist Richard Außerdem habe Berta die Aufgaben verstanden Eine zu F (x) = R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y ) passende Interpretation (A, β), die die obige Situation repräsentiert, ist dann: Logik TU Do SoSe 2011 10 – 6/36 Prädikatenlogische Interpretationen: Beispiel (3/3) Logik TU Do SoSe 2011 C. Schubert C. Schubert Semantik PL Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Eine andere zu F (x) = R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y ) passende Interpretation (A� , β � ): Grundmenge: R Formeln erstellen und verstehen Äquivalenzen und Normalformen � f A sei die Sinus-Funktion � g A sei die Cosinus-Funktion � � P A sei die ≤-Relation (also: (p, q) ∈ P A , falls p ≤ q) � R A = [3, ∞) β � (x) = π/2 Grundmenge: � {Anton, Berta, Julius, Martha, Otto, Paula, Richard} Richard für x = Otto f A (x) = Otto sonst � Julius für x = Anton, Berta, Julius oder Otto g A (x) = Paula für x = Paula, Richard oder Martha β � (y ) = 1 Diese Interpretation hat natürlich nichts mit unserem Problem zu tun! P A = {(Anton, Julius), (Otto, Anton), (Anton, Paula), (Martha, Paula)} R A = {Berta} β(x) = Anton 10 – 7/36 10 – 8/36 Semantik der Prädikatenlogik Die Semantik der Prädikatenlogik ordnet jeder Formel F und jeder passenden Interpretation I einen Wahrheitswert [[F ]]I zu β[x/a] bezeichne die Belegung β̂ , die aus β durch β̂(x) =def a entsteht Ist I = (A, β) , so bezeichnet I [x/a] die Interpretation (A, β[x/a]) Definition: Semantik prädikatenlogischer Formeln Sei I = (A, β) eine Interpretation Der Wert [[t]]I eines (zu I passenden) Terms t ist induktiv wie folgt definiert: Logik TU Do SoSe 2011 Semantik der Prädikatenlogik: Beispiel Sei wieder F = F1 ∨ F2 ∨ F3 mit C. Schubert F1 = R(x) F2 = ∀z P(x, g (z)) F3 = ∀y P(f (x), y ) Semantik PL Formeln erstellen und verstehen Sei I = (A, β) die Interpretation mit Äquivalenzen und Normalformen Grundmenge: � {Anton, Berta, Julius, Martha, Otto, Paula, Richard} Richard für x = Otto f A (x) = Otto sonst � Julius für x = Anton, Berta, Julius oder Otto g A (x) = Paula für x = Paula, Richard oder Martha [[x]]I =def β(x) für Variablen x ∈ PV [[c]]I =def c A für Konstantensymbole c Der Wahrheitswert [[F ]]I einer PL-Formel F ist induktiv wie folgt definiert: → [[F1 ]]I = 0 [[F1 ∧ F2 ]]I :⇐⇒ [[F1 ]]I = 1 und [[F2 ]]I = 1 → Für alle a ∈ A ist [[P(x, g (z))]]I [z/a] = 1 [[¬F ]]I = 1 :⇐⇒ [[F ]]I = 0 Formeln erstellen und verstehen Äquivalenzen und Normalformen Für alle a ∈ A ist [[g (z)]]I [z/a] ∈ {Julius, Paula} [[F1 ∨ F2 ]]I :⇐⇒ [[F1 ]]I = 1 oder [[F2 ]]I = 1 → [[F2 ]]I = 1 [[∃x F ]]I = 1 : ⇐⇒ es gibt ein a ∈ A mit [[F ]]I [x/a] = 1 Eine Interpretation I mit [[F ]]I = 1 heißt Modell von F Statt [[F ]]I = 1 schreiben wir auch I |= F Ist F eine Menge prädikatenlogischer Formeln, so heißt I Modell von F , falls für alle F ∈ F gilt: I |= F Notation: I |= F Eine Formel F heißt erfüllbar, falls sie ein Modell hat, andernfalls unerfüllbar Analog für Mengen F von Formeln Eine Formel F heißt allgemein gültig (oder: Tautologie), falls jede zu F passende Interpretation ein Modell von F ist Beispiel: ∀x P(x) ∨ ∃y ¬P(y ) ist allgemein gültig Beispiel: ∀x ¬P(x) ∧ ∃y P(y ) ist unerfüllbar Bemerkungen: Semantik PL [[R(x)]]I = 0 [[R(t1 , . . . , tk )]]I = 1 :⇐⇒ ([[t1 ]]I , . . . , [[tk ]]I ) ∈ R A Prädikatenlogik: einige Begriffe und Bemerkungen C. Schubert P A = {(Anton, Julius), (Otto, Anton), (Anton, Paula), (Martha, Paula)} R A = {Berta} β(x) = Anton [[f (t1 , . . . , tk )]]I =def f A ([[t1 ]]I , . . . , [[tk ]]I ) für k-stellige Funktionssymbole f und Terme t1 , . . . , tk [[∀x F ]]I = 1 : ⇐⇒ für alle a ∈ A gilt [[F ]]I [x/a] = 1 Logik TU Do SoSe 2011 → [[F ]]I = 1 10 – 9/36 Logik TU Do SoSe 2011 10 – 10/36 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Semantik PL Semantik PL Formeln erstellen und verstehen Formeln erstellen und verstehen Äquivalenzen und Normalformen Der Zusammenhang zwischen unerfüllbaren und allgemein gültigen Formeln ist genauso wie bei aussagenlogischen Formeln: F unerfüllbar ⇐⇒ ¬F allgemeingültig Ist F eine geschlossene Formel mit Modell (A, β), so nennen wir auch A ein Modell von F und schreiben A |= F Für das 2-stellige Relationssymbol “=” erlauben wir immer nur die Interpretation {(a, a) | a ∈ A} 1 Semantik der Prädikatenlogik 2 Formeln erstellen und verstehen 3 Äquivalenzen und Normalformen Äquivalenzen und Normalformen Infix-Schreibweise: “t1 = t2 ” statt “= (t1 , t2 )” Wenn wir die Verwendung von “=” erlauben, sprechen wir von Prädikatenlogik mit Gleichheit Andernfalls: Prädikatenlogik ohne Gleichheit 10 – 11/36 10 – 12/36 Prädikatenlogik: Formeln Erstellen (1) Zur Erinnerung: Modellierung des Übungsgruppen-Szenarios: f (a) ist bester Freund von a g (a) ist bester Studierender in der Übungsgruppe von a P(a, b) bedeutet, dass a bei b beliebt ist R(a) bedeutet, dass a die Aufgaben verstanden hat Wir suchen jetzt jeweils Formeln in der Prädikatenlogik mit Gleichheit für umgangssprachlich formulierte Aussagen: Jeder ist für jemanden der beste Freund Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Umformuliert in “umgangssprachliche Aussage mit Quantoren”: Für jeden Studierenden gibt es einen Studierenden, der ihn als besten Freund hat ∀x ∃y f (y ) = x Prädikatenlogik: Formeln Verstehen (1) Zur Erinnerung: Modellierung des Übungsgruppen-Szenarios: f (a) ist bester Freund von a g (a) ist bester Studierender in der Übungsgruppe von a (a, b) ∈ P falls a bei b beliebt ist a ∈ R falls a die Aufgaben verstanden hat ∀x P(x, f (x)) Für jeden Studierenden gilt: er ist bei seinem besten Freund beliebt Einfacher formuliert: Jeder Studierende ist bei seinem besten Freund beliebt 10 – 13/36 Logik TU Do SoSe 2011 10 – 14/36 Prädikatenlogik: Formeln Verstehen (2) Logik TU Do SoSe 2011 C. Schubert C. Schubert Semantik PL Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Es gibt kein c und für alle a-Positionen x und alle b-Positionen y gilt: x ≤y Für alle Positionen x und y gilt: x hat kein c und falls x eine a-Position und y eine b-Position sind, so gilt x ≤ y � � ∀x ∀y [¬Qc (x)∧ (Qa (x) ∧ Qb (y )) → x ≤ y ] Wir wollen nun PL-Formeln in natürlich-sprachliche Ausdrücke übersetzen: ∀x ∀y [F+1 (x, y ) → (¬Qa (x) ∨ ¬Qa (y ))] Für zwei aufeinander folgende Positionen gilt, dass sie nicht beide a enthalten Im String kommt aa nicht als Teilstring vor Formeln erstellen und verstehen Äquivalenzen und Normalformen ∃x ∀y [y ≤ x ∧ Qa (x)] Es gibt eine Position, für die alle Positionen kleiner oder gleich sind, und die ein a enthält Das letzte Zeichen ist ein a Strings, die abwechselnd aus a’s und b’s bestehen Für je zwei Positionen, die unmittelbar hintereinander stehen, gilt: genau eine hat ein a, die andere ein b Hilfsformel für “unmittelbar hintereinander stehen”: Dann: Äquivalenzen und Normalformen Für alle Studierenden x und alle Studierenden y gilt: falls x und y denselben ÜG-Besten haben, haben ihre besten Freunde auch denselben ÜG-Besten Einfacher formuliert: Sind zwei Studierende in derselben ÜG G , so sind auch ihre besten Freunde in derselben (aber möglicherweise von G verschiedenen) ÜG Es gibt einen Studierenden, so dass alle Studierenden mit demselben ÜG-Besten die Ü-Aufgaben verstanden haben ∃x ∀y (g (x)=g (y ) → R(y )) Wir wollen nun Mengen von Strings durch PL-Formeln charakterisieren: Strings von der Form a∗ b ∗ (beliebig viele a gefolgt von beliebig vielen b) Formeln erstellen und verstehen ∀x ∀y [g (x)=g (y ) → g (f (x)) = g (f (y ))] In einer der ÜGs haben alle die Aufgaben verstanden der Menge A der String-Positionen als Grundmenge, einer 2-stelligen Relation ≤, 1-stelligen Relationen Qa , Qb , Qc Semantik PL Es gibt einen Studierenden x, der die Aufgaben verstanden hat, und der für keinen Studierenden y der ÜG-Beste ist Einfacher formuliert (und auf den Punkt gebracht): Es gibt einen Studierenden, der die Aufgaben verstanden hat, obwohl er nicht Bester seiner ÜG ist Für jeden Studierenden gibt es einen Studierenden, der in derselben ÜG ist (denselben ÜG-Besten hat) und die Aufgaben verstanden hat ∀x ∃y (g (x)=g (y ) ∧ R(y )) Zur Erinnerung: Strings über {a, b, c} werden modelliert durch Strukturen mit C. Schubert ∃x [R(x) ∧ ∀y x�=g (y )] In allen Gruppen hat jemand die Aufgaben verstanden Prädikatenlogik: Formeln Erstellen (2) Logik TU Do SoSe 2011 ∀x ∀y [(F+1 (x, y ) ∧ Qa (x)) → Qb (y )] Für jede Position, die ein a enthält und eine rechte Nachbarposition hat, steht dort ein b Auf jedes a folgt direkt ein b (außer am Ende) F+1 (x, y ) = [x≤y ∧ ¬(y ≤x) ∧ ∀z (z≤x ∨ y ≤z)] ∀x ∀y [F+1 (x, y ) → ((Qa (x) ∧ Qb (y )) ∨ (Qb (x) ∧ Qa (y )))] Strings, die den Teilstring abc enthalten Es gibt drei hintereinander liegende Positionen, die a, b, c enthalten ∃x ∃y ∃z [F+1 (x, y ) ∧ F+1 (y , z)∧ Qa (x) ∧ Qb (y ) ∧ Qc (z)] 10 – 15/36 10 – 16/36 Logik TU Do SoSe 2011 Überblick Äquivalente Formeln und Ersetzungslemma C. Schubert Semantik der Prädikatenlogik 2 Formeln erstellen und verstehen C. Schubert Semantik PL Analog zur Aussagenlogik definieren wir: Semantik PL Formeln erstellen und verstehen Definition 2 Formeln erstellen und verstehen Äquivalenzen und Normalformen 1 Logik TU Do SoSe 2011 Zwei Formeln F1 , F2 heißen äquivalent, falls für jede zu F1 und F2 passende Interpretation I gilt: [[F1 ]]I = [[F2 ]]I Äquivalenzen und Normalformen Das Ersetzungslemma gilt auch völlig analog (wir verzichten wieder auf eine formale Definition der Begriffe “vorkommen” und “ersetzen”) Lemma 3 (Ersetzungslemma der Prädikatenlogik) 3 Seien F1 , F2 , G1 , G2 PL-Formeln mit den folgenden Eigenschaften: Äquivalenzen und Normalformen G1 ist eine Teilformel von F1 G1 ≡ G2 F2 entsteht aus F1 , indem (ein Vorkommen von) G1 durch G2 ersetzt wird Dann gilt: F1 ≡ F2 10 – 17/36 Substitutionen: einleitende Beispiele Logik TU Do SoSe 2011 10 – 18/36 Das Gegenbeispiel C. Schubert Aussagenlogische Variablen und prädikatenlogische Variablen spielen in ihrer Logik völlig unterschiedliche Rollen Deshalb ist der Umgang mit Substitutionen in der Prädikatenlogik völlig anders als in der Aussagenlogik Aussagenlogische Substitutionen ordnen aussagenlogischen Variablen jeweils aussagenlogische Formeln zu Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Prädikatenlogische Substitutionen ordnen prädikatenlogischen Variablen jeweils Terme zu Logik TU Do SoSe 2011 C. Schubert Beispiel Semantik PL Sei F = ∃y E (x, y ) F hat die freie Variable x Intuitiv: F sagt, dass in einem Graphen der x zugeordnete Knoten eine ausgehende Kante hat Substitution σ1 : x �→ a Formeln erstellen und verstehen Äquivalenzen und Normalformen σ1 (F ) = ∃y E (a, y ) Der Knoten a hat eine ausgehende Kante � Substitution σ2 : y �→ x Formal: Eine (prädikatenlogische) Substitution ist eine partielle Funktion σ2 (F ) = ∃x E (x, x)? Es gibt einen Knoten, der eine Kante zu sich selbst hat → Hier ändert die naive Anwendung der Substitution die Semantik völlig σ : PV → PT Wie lässt sich eine Substitution σ auf eine Formel F anwenden? Substitution σ3 : x �→ y Wie soll die Formel σ(F ) definiert sein? Naiv: eine Substitution wird auf eine Formel angewendet, in dem jedes Vorkommen einer Variablen x durch σ(x) ersetzt wird Vorsicht! Hier lauern ein paar Fallstricke σ3 (F ) = ∃y E (y , y )? → Gleiches Phänomen → Dieser Ansatz ist schlecht!!! → Vorsicht bei gebundenen Variablen! 10 – 19/36 10 – 20/36 Substitutionen: Definition (1/3) Logik TU Do SoSe 2011 C. Schubert Semantik PL Wie können wir diese Probleme bei der Definition von σ(F ) vermeiden? Formeln erstellen und verstehen Äquivalenzen und Normalformen Ziel Substitutionen sollen “Äquivalenz erhalten” Logik TU Do SoSe 2011 Substitutionen: Definition (2/3) C. Schubert Beispiel Dieses Beispiel illustriert die Anwendung der Konvention vor einer Substitution Sei F = ∀x [E (x, z) ∧ ∀y ∃x E (y , x)] ∧ E (y , x) Sei σ die Substitution x �→ f (y , z) Die Variable x kommt in F sowohl frei als auch (durch zwei verschiedene Quantoren) gebunden vor Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Für die beiden Quantoren, die x quantifizieren, verwenden wir zwei neue Variablen x1 und x2 → Die gebundenen Vorkommen von x ersetzen wir entsprechend durch x1 und x2 Konvention Bevor wir Substitutionen anwenden, ersetzen wir die gebundenen Variablen durch neue Varablen, so dass Die Variable y kommt in σ(x) vor keine Variable sowohl frei als auch gebunden in F vorkommt, → Wir verwenden für die gebundenen Vorkommen von y die neue Variable y1 keine zwei Quantoren dieselbe Variable binden und Wir erhalten (vor der eigentlichen Anwendung von σ): ∀x1 [E (x1 , z) ∧ ∀y1 ∃x2 E (y1 , x2 )] ∧ E (y , x) keine gebundene Variable in einem Term σ(x) vorkommt Zu beachten: Freie Vorkommen von Variablen (so wie von y im letzten Atom) werden nicht verändert (obwohl y im Bild von σ vorkommt!) Die Anwendung von σ liefert nun: ∀x1 [E (x1 , z) ∧ ∀y1 ∃x2 E (y1 , x2 )] ∧ E (y , f (y , z)) 10 – 21/36 Substitutionen: Definition (3/3) Sei x1 �→ t1 , . . . , xk �→ tk eine Substitution σ Die Anwendung der Ersetzungen einer Substitution erfolgt simultan unter Beachtung der Konvention Für das Resultat schreiben wir σ(F ) oder F [x1 /t1 , . . . , xk /tk ] Beispiel Logik TU Do SoSe 2011 10 – 22/36 Logik TU Do SoSe 2011 Äquivalenzen der Prädikatenlogik (1/2) C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Sei F = ∃y R(x, y , z) C. Schubert Für prädikatenlogische Formeln F , G , H gelten: Formeln erstellen und verstehen Kommutativität Äquivalenzen und Normalformen F ∧G ≡G ∧F F ∨G ≡G ∨F (1) F [x/a] =∃y R(a, y , z) Assoziativität (2) F [x/z] =∃y R(z, y , z) (F ∧ G ) ∧ H ≡ F ∧ (G ∧ H) (3) F [y /z] =∃y R(x, y , z) (F ∨ G ) ∨ H ≡ F ∨ (G ∨ H) (4) F [x/y ] =∃y1 R(y , y1 , z) Distributivität (5) F [x/a, z/b] =∃y R(a, y , b) F ∨ (G ∧ H) ≡ (F ∨ G ) ∧ (F ∨ H) (6) F [x/z, z/a] =∃y R(z, y , a) F ∧ (G ∨ H) ≡ (F ∧ G ) ∨ (F ∧ H) (7) F [x/z, z/x] =∃y R(z, y , x) Semantik PL Satz 1 Idempotenz F ∧F ≡F F ∨F ≡F Absorption F ∧ (F ∨ G ) ≡ F F ∨ (F ∧ G ) ≡ F De Morgansche Regeln ¬(F ∧ G ) ≡ ¬F ∨ ¬G ¬(F ∨ G ) ≡ ¬F ∧ ¬G Doppelnegation ¬¬F ≡ F Lemma 4 (Substitutionslemma) Ist σ eine Substitution und F1 ≡ F2 , so gilt: σ(F1 ) ≡ σ(F2 ) 10 – 23/36 10 – 24/36 Logik TU Do SoSe 2011 Äquivalenzen der Prädikatenlogik (2/2) C. Schubert C. Schubert Semantik PL Semantik PL Formeln erstellen und verstehen Satz 2 Für prädikatenlogische Formeln F und G gelten: (1) ¬∀x F ≡ ∃x ¬F und ¬∃x F ≡ ∀x ¬F Äquivalenzen und Normalformen Beweisidee 1 Die Beweise erfolgen jeweils durch Rückführung auf die Semantik von PL-Formeln (3) ∀x ∀y F ≡ ∀y ∀x F und ∃x ∃y F ≡ ∃y ∃x F Äquivalenzen und Normalformen [[∀x (F ∨ G )]]I = 1 ⇐⇒ für alle a ∈ A gilt: [[F ∨ G ]]I [x/a] = 1 (4) Falls x in G nicht vorkommt: ⇐⇒ für alle a ∈ A gilt: [[F ]]I [x/a] = 1 oder [[G ]]I [x/a] = 1 und ⇐⇒ für alle a ∈ A gilt: [[F ]]I [x/a] = 1 oder [[G ]]I = 1 ∃x (F ∨ G ) ≡ (∃x F ) ∨ G (da x in G nicht vorkommt) (5) Falls x in G nicht vorkommt: ∀x (F ∨ G ) ≡ (∀x F ) ∨ G Formeln erstellen und verstehen Wir betrachten beispielhaft den Beweis der ersten Äquivalenz in (5): (2) (∀x F ) ∧ (∀x G ) ≡ ∀x (F ∧ G ) und (∃x F ) ∨ (∃x G ) ≡ ∃x (F ∨ G ) ∀x (F ∧ G ) ≡ (∀x F ) ∧ G Logik TU Do SoSe 2011 Beweisidee zu Satz 2 und ⇐⇒ für alle a ∈ A gilt [[F ]]I [x/a] = 1 oder es gilt [[G ]]I = 1 ∃x (F ∧ G ) ≡ (∃x F ) ∧ G ⇐⇒ [[∀x F ]]I = 1 oder [[G ]]I = 1 ⇐⇒ [[(∀x F ) ∨ G ]]I = 1 10 – 25/36 Normalformen: Begriffe Logik TU Do SoSe 2011 C. Schubert Definition 5 Eine PL-Formel ist in reduzierter Form, wenn sie nur ∃, ∨, ¬ verwendet, aber nicht ∀ und ∧ Eine PL-Formel F ist in Negations-Normalform (NNF), wenn Negationen in F nur unmittelbar vor atomaren Formeln vorkommen Eine PL-Formel F ist in Pränexform, wenn sie die Gestalt Q1 x1 Q2 x2 · · · Qk xk F � hat, wobei Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen 10 – 26/36 Normalformen: Existenz Zur Erinnerung: reduzierte Form: nur ∃, ∨, ¬, nicht ∀, ∧ Negations-Normalform: Negationen nur unmittelbar vor atomaren Formeln Pränexform: “alle Quantoren vorn und binden unterschiedliche Variablen” Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Lemma 6 die Qi jeweils entweder ∃ oder ∀ sind, die xi paarweise verschieden sind, und F � quantorenfrei, Zu jeder prädikatenlogischen Formel F gibt es jeweils eine äquivalente Formel in (a) reduzierter Form, (also: F � ist atomar oder geklammert!) (b) Negations-Normalform und Beispiele (c) Pränexform ∃x∀y (E (x, y ) ∧ ¬E (y , x)) ist in Pränexform und in NNF, aber nicht in reduzierter Form (a) und (b) lassen sich durch Anwendung von Satz 2(1) und der De Morgan-Regeln beweisen ∃x∀yE (x, y ) ∧ ¬E (y , x) ist in NNF, aber weder in Pränexform noch in reduzierter Form Pränexform und NNF lassen sich auch immer gleichzeitig erreichen Nicht immer gleichzeitig erreichen lassen sich: ∃x ¬[∃y (¬E (x, y ) ∨ E (y , x))] ist in reduzierter Form aber weder in NNF noch in Pränexform NNF und reduzierte Form Pränexform und reduzierte Form 10 – 27/36 10 – 28/36 Logik TU Do SoSe 2011 Umwandlung in Pränexform Beispiel Umwandlung in Pränexform durch Anwendung von Äquivalenzregeln ∀x R(x) ∧ ∃y S(y ) ≡ ∀x [R(x) ∧ ∃y S(y )] (Satz 2(4)) ≡ ∀x ∃y (S(y ) ∧ R(x)) (Satz 2(4)) ≡ ∀x [∃y S(y ) ∧ R(x)] ≡ ∀x ∃y (R(x) ∧ S(y )) Algorithmus zur Berechnung der Pränexform C. Schubert Algorithmus (Berechnung der Pränexform) C. Schubert Semantik PL Im Folgenden steht jedes Qi und jedes Qi� für einen Quantor ∃ oder ∀ Eingabe: PL-Formel F Ausgabe: PL-Formel PF(F ) mit PF(F ) ≡ F und PF(F ) ist in Pränexform Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen (Komm.) (Komm.) Die Umwandlung in Pränexform lässt sich allgemein durch einen rekursiven Algorithmus bewerkstelligen, den wir jetzt betrachten Die Korrektheit dieses Algorithmus lässt sich durch Induktion nach dem Aufbau der Formel F beweisen Damit ergibt sich dann ein Beweis für Lemma 6(c) 1 Wandle F äquivalent so um, dass alle quantifizierten Variablen paarweise verschieden und von den freien Variablen verschieden sind 2 Fallunterscheidung: F ist von der Form: atomar return F ¬G Berechne Q1 x1 · · · Qk xk H:= PF(G ) return Q1 x1 · · · Qk xk (¬H) (wobei ∃ = ∀ und ∀ = ∃) F1 ∨ F2 Berechne Q1 x1 · · · Qk xk G1 := PF(F1 ) und Q1� y1 · · · Ql� yl G2 := PF(F2 ) return Q1 x1 · · · Qk xk Q1� y1 · · · Ql� yl (G1 ∨ G2 ) F1 ∧ F2 Berechne Q1 x1 · · · Qk xk G1 := PF(F1 ) und Q1� y1 · · · Ql� yl G2 := PF(F2 ) returnQ1 x1 · · · Qk xk Q1� y1 · · · Ql� yl (G1 ∧ G2 ) ∃x G Berechne Q1 x1 · · · Qk xk H := PF(G ) (wobei alle xi �= x) return ∃x Q1 x1 · · · Qk xk H ∀x G Berechne Q1 x1 · · · Qk xk H := PF(G ) (wobei alle xi = � x) return∀x Q1 x1 · · · Qk xk H 10 – 29/36 Berechnung der Pränexform: Beispiel Logik TU Do SoSe 2011 C. Schubert Semantik PL Wir betrachten die Formel [R(x) ∨ ∀y P(x, g (y ))] ∨ ¬∀x ∃y P(f (x), y ) Da x gebunden und frei vorkommt und y zweimal quantifiziert wird, ersetzen wir die Variable y im ersten All-Quantor (und ihre Vorkommen) sowie die Variable x im Allquantor: [R(x) ∨ ∀y1 P(x, g (y1 ))] ∨ ¬∀x1 ∃y P(f (x1 ), y ) Da die Formel von der Form F1 ∨ F2 ist, wird zunächst für die beiden Teilformeln die Pränexform bestimmt: Logik TU Do SoSe 2011 Formeln erstellen und verstehen Äquivalenzen und Normalformen Formeln erstellen und verstehen Äquivalenzen und Normalformen 10 – 30/36 Skolemform (1/4) Wir betrachten nun noch zwei weitere Normalformen, die wir im nächsten Kapitel für den Erfüllbarkeitstest benötigen werden Beobachtung: Wenn wir die Erfüllbarkeit einer Formel F durch Umwandlung in eine andere Formel testen wollen, müssen die einzelnen Schritte nicht unbedingt äquivalente Formeln ergeben Es genügt, wenn sich jeweils die Erfüllbarkeit nicht ändert Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Wenn wir Formeln auf Erfüllbarkeit testen wollen, hilft uns diese Beobachtung, Formeln in Formeln mit weniger Quantoren umzuwandeln Dazu definieren wir: Formeln F1 , F2 heißen erfüllbarkeitsäquivalent, wenn sie entweder beide erfüllbar oder beide unerfüllbar sind PF(R(x) ∨ ∀y1 P(x, g (y1 ))) liefert die Formel ∀y1 (R(x) ∨ P(x, g (y1 )) PF(¬∀x1 ∃y P(f (x1 ), y )) führt zum Aufruf PF(∀x1 ∃y P(f (x1 ), y )) und liefert dann ∃x1 ∀y ¬P(f (x1 ), y ) Definition 7 Eine Formel ist in Skolemform, wenn sie die Form ∀x1 · · · ∀xn G hat, wobei Insgesamt erhalten wir also: ∀y1 ∃x1 ∀y [R(x) ∨ P(x, g (y1 )) ∨ ¬P(f (x1 ), y )] G quantorenfrei ist und im Quantoren-Präfix keine Variable mehrfach vorkommt Zu beachten: wie schon bei der Pränexform muss, nach Definition der Syntax prädikatenlogischer Formeln, G also atomar oder durch ein Klammerpaar umschlossen sein 10 – 31/36 10 – 32/36 Skolemform (2/4) Lemma 8 Es gibt einen Algorithmus, der zu jeder prädikatenlogischen Formel eine erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform berechnet Logik TU Do SoSe 2011 C. Schubert Semantik PL Semantik PL Formeln erstellen und verstehen Allgemeiner kann jede Formel durch Anwendung der folgenden Skolem-Regel (und der Äquivalenzumwandlungen) in eine erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform umgewandelt werden: Ist Natürlich ist diese Formel erfüllbar Tun wir trotzdem mal so, als wäre das noch nicht klar: Äquivalenzen und Normalformen F = ∀x1 ∀x2 · · · ∀xk ∃y F � wobei F � eine Formel ist, in der das Funktionssymbol f nicht vorkommt, so ist die Formel ∀x1 ∀x2 · · · ∀xk F � [y /f (x1 , . . . , xk )] Wir wollen den ∃-Quantor loswerden, ohne an der Erfüllbarkeit der Formel etwas zu ändern Etwas genauer sagt die Formel, dass es zu jedem Knoten einen weiteren Knoten gibt, so dass es vom ersten Knoten eine Kante zum zweiten Knoten gibt Wenn G |= F für einen Graphen G = (V , E ) gilt, lässt sich also eine Funktion f : V �→ V finden, so dass jeder Knoten a eine Kante zu f (a) hat Umgekehrt lässt sich eine solche Funktion nur finden, wenn G |= F gilt Also ist die Formel F erfüllbarkeitsäquivalent zu ∀x E (x, f (x)) erfüllbarkeitsäquivalent zu F Zu beachten: F � kann durchaus weitere Quantoren enthalten 10 – 33/36 Die Umwandlung in eine erfüllbarkeitsäquivalente Formel F in Skolemform erfolgt in drei Phasen: (i) Wandle F in eine äquivalente Formel F1 in Pränexform um (ii) Wandle F1 in eine erfüllbarkeitsäquivalente, geschlossene Pränex-Formel F2 um: F2 = ∃x1 · · · ∃xm F1 , wobei x1 , . . . , xm die freien Variablen von F1 sind (iii) Wandle F2 durch Anwendung der Skolem-Regel (von links nach rechts) in eine erfüllbarkeitsäquivalente geschlossene Skolemformel F3 um Formeln erstellen und verstehen Skolem-Regel Die Formel F = ∀x ∃y E (x, y ) sagt aus, dass jeder Knoten eines Graphen mindestens eine ausgehende Kante hat Skolemform (3/4) Logik TU Do SoSe 2011 C. Schubert Äquivalenzen und Normalformen Beispiel Skolemform (3/4): Skolem-Regel Logik TU Do SoSe 2011 C. Schubert 10 – 34/36 Matrixklauselform Die erfüllbarkeitsäquivalente Vereinfachung von Formeln können wir noch etwas verfeinern, damit der quantorenfreie Teil eine günstige Form hat: Sei F eine Formel in Pränexform Sei G = ∀y1 · · · ∀yk H eine zu F erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform Sei H � eine KNF zu H Die Klauselmenge K zu H � nennen wir nun eine Matrixklauselform zu F Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Beispiel Logik TU Do SoSe 2011 C. Schubert Semantik PL Formeln erstellen und verstehen Äquivalenzen und Normalformen Wir betrachten die Formel R(x) ∨ ∀y P(x, g (y ))∨ ¬∀x ∃y P(f (x), y ) Beispiel In Pränexform: ∀y1 ∃x1 ∀y [R(x) ∨ P(x, g (y1 ))∨ ¬P(f (x1 ), y )] Finde erfüllbarkeitsäquivalente Formel in Skolemform zu F = ∀y ∃z ∀w [(¬P(x, y ) ∧ ¬R(y , f (z))) ∨ P(g (x, w ), x)] Diese Formel ist erfüllbarkeitsäquivalent zu: F ist schon in Pränexform ∃x ∀y1 ∃x1 ∀y [R(x) ∨ P(x, g (y1 )) ∨ ¬P(f (x1 ), y )] Wir quantifizieren die freie Variable x: Durch die Ersetzung x �→ b und x1 �→ h(y1 ) erhalten wir die Skolemform: ∀y1 ∀y [R(b) ∨ P(b, g (y1 ))∨ ¬P(f (h(y1 )), y )] ∃x ∀y ∃z ∀w [(¬P(x, y ) ∧ ¬R(y , f (z))) ∨ P(g (x, w ), x)] Der erste ∃-Quantor wird durch eine 0-stellige Funktion, also durch ein Konstantensymbol a, ersetzt: Die entstehende Matrixformel R(b) ∨ P(b, g (y1 )) ∨ ¬P(f (h(y1 )), y ) ist bereits in KNF ∀y ∃z ∀w [(¬P(a, y ) ∧ ¬R(y , f (z))) ∨ P(g (a, w ), a)] Deshalb erhalten wir die Matrixklauselform: {{R(b), P(b, g (y1 )), ¬P(f (h(y1 )), y )}} Der zweite ∃-Quantor wird dann durch eine 1-stellige Funktion h ersetzt: ∀y ∀w [(¬P(a, y ) ∧ ¬R(y , f (h(y )))) ∨ P(g (a, w ), a)] 10 – 35/36 10 – 36/36 Logik TU Do SoSe 2011 Logik für Informatiker Teil 11 — Prädikatenlogik: Erfüllbarkeit Unser Programm für Heute Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution 1 Erfüllbarkeit: Einleitung PLResolution GrundResolution PLResolution Dr. Christoph Schubert 2 Herbrand-Strukturen 3 Grund-Resolution 4 Unifikation und prädikatenlogische Resolution basierend auf Folien von Prof. Thomas Schwentick TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik Sommersemester 2011 Version vom 5. Juli 2011 (11:23 Uhr) 11 – 1/52 Überblick 1 Erfüllbarkeit: Einleitung Logik TU Do SoSe 2011 Zur Erinnerung Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution PLResolution 2 11 – 2/52 Herbrand-Strukturen Erfüllbarkeit Aussagenlogik Resolution Dazu: konjunktive Normalform GrundResolution PLResolution Tableaukalkül Endliche Modelleigenschaft 3 Grund-Resolution Erfüllbarkeit Modallogik Tableaukalkül 4 Endliche Modelleigenschaft Unifikation und prädikatenlogische Resolution 11 – 3/52 11 – 4/52 Logik TU Do SoSe 2011 Prolog (1/2) Prolog: “Programming in Logic” → Deklarative Programmiersprache Wird z.B. für wissensbasierte Systeme verwendet Beispiel-Programm: C. Schubert Einleitung HerbrandStrukturen GrundResolution ancestor(X,Y) :- parent(X,Y). ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y). parent(bob,allen). parent(dave,bob). parent(fred,dave). PLResolution Logik TU Do SoSe 2011 Prolog (2/2) Wie lässt sich die Unerfüllbarkeit der dem Programm ancestor(X,Y) :- parent(X,Y). ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y). parent(bob,allen). parent(dave,bob). parent(fred,dave). und der Zielregel ? :- ancestor(Y,allen). entsprechenden Formeln testen? Einfacher Ansatz: Setze alle möglichen Werte für x und y ein, z.B.: Die Ziel-Regel entspricht der Formel ∃y A(y , allen) Ähnlich wie in den Beispielen der AL-Resolution wird nun versucht, zu zeigen, dass die Menge der Programm-Formeln zusammen mit der negierten Zielformel ∀y ¬A(y , allen) unerfüllbar ist und passende Werte für y , die der Erfüllbarkeit im Wege stehen, zu finden 11 – 5/52 Erfüllbarkeit von PL-Formeln: Beispiel Prädikatenlogische Erfüllbarkeit wirft völlig neue Fragen auf, wie das folgende Beispiel illustriert F := ∀u ∀v ∀w (P(u, v ) ∧ P(v , w ) → P(u, w ))∧ ∀x (¬P(x, x) ∧ P(x, f (x)) A A F hat das Modell A = (N, P , f ) mit A P (n, m) ⇐⇒def n < m, für alle n, m ∈ N � Logik TU Do SoSe 2011 GrundResolution PLResolution 11 – 6/52 Erfüllbarkeit prädikatenlogischer Formeln: Plan (1/2) Logik TU Do SoSe 2011 C. Schubert Unser Ziel ist also ein Erfüllbarkeitstest für PL-Formeln F C. Schubert Einleitung Wichtig: wir betrachten hier und im Folgenden die Prädikatenlogik ohne Gleichheit! Einleitung In Abschnitt 11.2 lernen wir den allgemeinen Ansatz unserer Erfüllbarkeitstests kennen: Herbrand-Strukturen GrundResolution HerbrandStrukturen GrundResolution PLResolution f A (n) = n + 1, für alle n ∈ N A ist ein unendliches Modell Hat F auch ein nicht-leeres, endliches Modell? Nein! Denn angenommen, B = (U, P B , f B ) wäre ein endliches Modell für F Notation: schreibe f statt f B . f 2 (a) ist eine Abkürzung für f (f (a)), analog f i (a) Sei a ∈ U beliebig Da U endlich ist, können die unendlich vielen Folgenglieder a, f (a), f (f (a)), . . . nicht alle verschieden sein Also gibt es i, j mit i < j, so dass gilt: f i (a) = f j (a) Da P transitiv ist und (b, f (b)) ∈ P für jedes b ∈ U gilt, folgt (f i (a), f j (a)) ∈ P Das widerspricht aber der Teilformel ∀x ¬P(x, x) HerbrandStrukturen Wir können dann Atome wie z.B. P(dave, bob) als aussagenlogische Variablen auffassen, und versuchen, die Unerfüllbarkeit der entstehenden aussagenlogischen Formelmenge mit den bekannten Methoden nachzuweisen Es gilt sogar: alle vorkommenden Formeln sind Hornformeln, deshalb ist ein effizienter Erfüllbarkeitstest möglich Schönheitsfehler: für jede k-stellige Relation ergeben sich bei n Grundelementen nk Variablen Wenn Funktionen vorkommen, gibt es sogar unendlich viele Atome . . . ∀x ∀y [∃z (P(x, z) ∧ A(z, y )) → A(x, y )] � Einleitung P(dave, bob) ∧ A(bob, fred) → A(dave, fred) P(bob, fred) ∧ A(fred, allen) → A(bob, allen) und so weiter. . . Zielformel: ¬A(fred, allen), ¬A(bob, allen),... Zielregel: ? :- ancestor(Y,allen). Die Regel ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y) entspricht der PL-Formel Beispiel C. Schubert In Abschnitt 11.3 betrachten wir dann eine Methode, die sich relativ direkt aus der aussagenlogischen Resolution ergibt: Grundresolution HerbrandStrukturen PLResolution Danach werden wir in 11.4 eine etwas zielgerichtetere Methode betrachten: prädikatenlogische Resolution Beide Erfüllbarkeitstest für eine PL-Formel F verwenden die folgenden Schritte: (1) Wandle F in eine erfüllbarkeitsäquivalente geschlossene Skolemformel F � um Recall: F � kann mehr Funktionssymbole als F verwenden (2) Konstruiere die Grundmenge H(F � ) und definiere die Konstanten und Funktionen für ein mögliches Modell H von F � Wir werden sehen: wenn F � ein Modell hat, dann auch ein Herbrand-Modell, dessen Grundmenge H(F � ) eindeutig durch F � bestimmt ist (3) Stelle fest, ob die Relationen für H so definiert werden können, dass sich ein Modell für F � ergibt 11 – 7/52 11 – 8/52 Logik TU Do SoSe 2011 Erfüllbarkeit prädikatenlogischer Formeln: Plan (2/2) Die beiden Methoden unterscheiden sich nur in (3) (Konstruktion der Relationen): Bei der Grundresolution betrachten wir jedes Atom, das aus U und den Funktions- und Relationssymbolen von F gebildet werden kann, als aussagenlogische Variable Dann definieren wir die Menge E (F � ) aller Klauseln, die sich aus F � durch Einsetzen von Grundtermen für die PL-Variablen ergeben Wir werden sehen: F � prädikatenlogisch erfüllbar ⇐⇒ E (F � ) aussagenlogisch erfüllbar Leider liefert das Verfahren für erfüllbare Formeln (in der Regel) kein Ergebnis, aber ein solches Verfahren kann es aus prinzipiellen Gründen gar nicht geben (siehe nächstes Kapitel) Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution 1 Erfüllbarkeit: Einleitung PLResolution Das zweite Verfahren, die prädikatenlogische Resolution, arbeitet zielgerichteter und meist effizienter als die Grundresolution GrundResolution PLResolution 2 Herbrand-Strukturen 3 Grund-Resolution 4 Unifikation und prädikatenlogische Resolution Zu beachten: Im Folgenden werden wir uns meistens auf die Schritte (2) und (3) konzentrieren und deshalb voraussetzen, dass die zu testende Formel schon eine geschlossene Skolemformel ist 11 – 9/52 Logik TU Do SoSe 2011 Das Herbrand-Universum zu einer Skolemformel (1/2) Beispiel 11 – 10/52 Das Herbrand-Universum zu einer Skolemformel (2/2) C. Schubert Sei C. Schubert Einleitung � F1 = ∀x ∀y R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, y ))) Was wissen wir über Modelle A von F1 ? � Sie müssen Elemente aA , b A enthalten HerbrandStrukturen GrundResolution PLResolution Logik TU Do SoSe 2011 Einleitung � � Welches Universum wählen wir für F2 = ∀x P(x) ∧ ¬P(f (x)) ? Kleines Problem: die Formel hat keine Konstantensymbole Wir nehmen in einem solchen Fall immer das Symbol a als Basis für H(F2 ) HerbrandStrukturen GrundResolution PLResolution Also: H(F2 ) =def alle Terme, die sich aus a und f bilden lassen: a, f (a), f (f (a)), f (f (f (a))), . . . Sie müssen auch Elemente f A (aA ), f A (b A ), g A (aA , aA ), g A (aA , b A ), g A (b A , aA ), g A (b A , b A ) enthalten Sie müssen außerdem Elemente wie f A (f A (aA )), f A (g A (aA , aA )), g A (f A (aA ), aA ) enthalten usw. Definition 1 Das Herbrand-Universum H(F ) zu einer Formel F besteht aus allen Termen, die sich aus den in F vorkommenden Konstantensymbolen und Funktionssymbolen bilden lassen Welche dieser Elemente zueinander gleich oder verschieden sind, wissen wir dabei nicht Falls F keine Konstantensymbole enthält, wird a als Konstantensymbol hinzugenommen Unsere Erfüllbarkeitstests versuchen ein Modell zu konstruieren, dessen Grundmenge genau aus allen Termen besteht, die sich aus den in der Formel vorkommenden Konstanten- und Funktionssymbolen bilden lassen Im Falle von F1 enthält H(F1 ) also alle Terme, die sich aus a, b, f , g bilden lassen: a, b, f (a), f (b), g (a, a), g (a, b), g (b, a), f (f (a)), f (g (a, a)), . . . Dieser rein syntaktische Ansatz wurde von Jacques Herbrand entwickelt 11 – 11/52 11 – 12/52 Herbrand-Strukturen: Motivation Logik TU Do SoSe 2011 Beispielformel F2 von der vorherigen Folie hat das Herbrand-Universum a, f (a), f (f (a)), . . . Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen Unser Ziel: ein Modell für eine Skolemformel F finden Erster Schritt: Grundmenge festlegen � Herbrand-Strukturen: Definition GrundResolution PLResolution Definition 2 Sei F eine geschlossene Skolemformel Eine Struktur A heißt Herbrand-Struktur für F , falls gilt: HerbrandStrukturen GrundResolution PLResolution Die Grundmenge von A ist H(F ) Ist c ein Konstantensymbol von F , so ist c A = c Ist f ein k-stelliges Funktionssymbol von F und sind t1 , . . . , tk ∈ H(F ), so ist f A (t1 , . . . , tk ) = f (t1 , . . . , tk ) Zweiter Schritt: Konstanten festlegen Wie soll in A die Konstante a interpretiert werden? Also: wie soll aA gewählt werden? Wir nehmen das Naheliegende: aA =def a Verschiedene Herbrand-Strukturen unterscheiden sich also nur bezüglich ihrer Relationen Dritter Schritt: Funktionen auf der Grundmenge festlegen fA Wie soll definiert sein? Wir wählen auch hier das Naheliegende: f A (t) =def f (t), für jeden Term t Zum Beispiel: f A (a) =def f (a) Ein Herbrand-Modell einer Formel F ist eine Herbrand-Struktur, die ein Modell für F ist Statt Herbrand-Modell sagt man manchmal auch Term-Modell. 11 – 13/52 Satz von Löwenheim-Skolem (1/3) Satz 1 (Löwenheim-Skolem) Jede PL-Formel hat genau dann ein Modell, wenn sie ein Modell mit abzählbar unendlicher Grundmenge hat Logik TU Do SoSe 2011 Satz von Löwenheim-Skolem (2/3) Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen GrundResolution PLResolution Beweisidee 11 – 14/52 Die Richtung “⇐=” ist klar Bemerkungen Wenn wir von einer Formel F ausgehen, die nicht in Skolemform ist, kann H aufgrund der Skolemisierung zusätzliche Funktionen und Konstanten haben Trotzdem ist H dann auch ein Modell für die ursprüngliche Formel F HerbrandStrukturen GrundResolution PLResolution Die zusätzlichen Funktionen stören nicht Für “ =⇒ ” sei F = ∀x1 · · · ∀xl G eine geschlossene Skolemformel Durch Weglassen der zusätzlichen Funktionen und Konstanten kann also ein “genau passendes” Modell für F gewonnen werden Wir zeigen: Hat F ein Modell, so hat F auch ein Herbrand-Modell H Sei A ein Modell für F mit Grundmenge A Wir konstruieren H wie folgt: Falls F ein Funktionssymbol hat, ist die Grundmenge von H abzählbar unendlich Grundmenge H(F ), Konstanten, Funktionen gemäß Definition von Herbrand-Strukturen Ist P ein k-stelliges Relationssymbol von F und sind t1 , . . . , tk ∈ H(F ), so sei P H definiert durch: Falls F keine Funktionssymbole enthält (und H(F ) deshalb nur aus endlich vielen Konstanten besteht), lässt sich trotzdem ein abzählbar unendliches Modell finden (t1 , . . . , tk ) ∈ P H ⇐⇒ A |= P(t1 , . . . , tk ) Man zeigt H |= F mittels Induktion nach der Anzahl der Quantoren in F 11 – 15/52 11 – 16/52 Satz von Löwenheim-Skolem (3/3) Beispiel Dieses Beispiel soll nur die Konstruktion von H im Beweis von Satz 1 illustrieren. Sei dazu wieder � � F = ∀u ∀v ∀w (P(u, v ) ∧ P(v , w ) → P(u, w )) ∧ ∀x (¬P(x, x) ∧ P(x, f (x)) Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Herbrand-Modell: Beispiel C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen GrundResolution PLResolution HerbrandStrukturen Beispiel Sei F3 = ∀x∀y [P(f (x), g (x, y )) ∧ ¬P(g (x, x), f (y ))] Wir versuchen, für F3 ein Herbrand-Modell zu konstruieren Die Definition der Funktionen ist wie zuvor besprochen P A (n, m) : ⇐⇒ n < m, für alle n, m ∈ N f A (n) = n + 1, für alle n ∈ N Wie soll P definiert werden? Das ist hier recht einfach: Wie können wir aus A ein Herbrand-Modell für F gewinnen? Um P(f (x), g (x, y )) für jede Variablenbelegung wahr zu machen, müssen wir alle Paare der Form (f (t1 ), g (t1 , t2 )) mit t1 , t2 ∈ H(F3 ) nach P aufnehmen Universum U von H: a, f (a), f (f (a)), ... Wir wählen aH willkürlich: aH =def 5 Die Funktion f H ist definiert durch: f H (t) =def f (t), für alle t ∈ U Da P dann keine Paare der Form P(g (t1 , t1 ), f (t2 )) enthält, ist die zweite Teilformel ¬P(g (x, x), f (y )) auch für jede Variablenbelegung wahr Wann ist (f i (a), f j (a)) ∈ P H ? Dazu schauen wir, ob ((f i (a))A , (f j (a))A ) ∈ P A ist Dies ist genau dann der Fall, wenn 5 + i < 5 + j ist, also, wenn i < j Also: (f i (a), f j (a)) ∈ P H ⇐⇒def i < j 11 – 17/52 Um die Erfüllbarkeit einer PL-Formel zu testen, können wir also: (1) sie in eine erfüllbarkeitsäquivalente geschlossene Skolemformel F umwandeln, und (2) das Herbrand-Universum H(F ) sowie die Funktionen auf H(F ) konstruieren In Schritt (3) müssen wir dann herausfinden, ob Relationen über H(F ) so gewählt werden können, dass F wahr wird PLResolution H(F3 ) = {a, f (a), g (a, a), f (f (a)), f (g (a, a)), g (a, f (a)), . . .} Wie schon gesehen: F hat das Modell A = (N, P A , f A ) mit Herbrand-Expansionen GrundResolution Logik TU Do SoSe 2011 11 – 18/52 Logik TU Do SoSe 2011 Herbrand-Expansionen: Beispiele (1/2) C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution PLResolution Beispiel � GrundResolution � Für F2 = ∀x P(x) ∧ ¬P(f (x)) gilt: PLResolution H(F2 ) = {a, f (a), f (f (a)), f (f (f (a))), . . .} E (F2 ) = Wir werden jetzt sehen, wie für Schritt (3) aussagenlogische Resolution verwendet werden kann {P(a) ∧ ¬P(f (a)), Dazu definieren wir: wegen x �→ a P(f (a)) ∧ ¬P(f (f (a))), wegen x �→ f (a) Definition 3 P(f (f (a))) ∧ ¬P(f (f (f (a)))), wegen x �→ f (f (a)) Sei F = ∀x1 · · · ∀xl G eine geschlossene Skolemformel mit Matrix-Formel G P(f (f (f (a)))) ∧ ¬P(f (f (f (f (a))))), wegen x �→ f (f (f (a))) . . .} Die Herbrand-Expansion E (F ) von F sei die folgende Menge von PL-Formeln: { G [x1 /t1 , . . . , xl /tl ] | t1 , . . . , tl ∈ H(F ) } Beobachtung: Die Herbrand-Expansion enthält also genau alle Formeln, die sich durch “Einsetzen” der Elemente der Grundmenge H(F ) der Herbrand-Struktur in G ergeben können 11 – 19/52 11 – 20/52 Herbrand-Expansionen: Beispiele (2/2) Beispiel � Für F1 = ∀x ∀y R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a)))∧ � (¬P(b) ∨ ¬R(g (b, y ))) gilt: H(F1 ) = {a, b, f (a), f (b), g (a, a), g (a, b), g (b, a), g (b, b), f (f (a)), f (f (b)), f (g (a, a)), f (g (a, b)), . . .} E (F1 ) = Logik TU Do SoSe 2011 Überblick C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution 1 Erfüllbarkeit: Einleitung PLResolution {R(a) ∧ (P(a) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))), wegen x �→ a, y �→ a R(b) ∧ (P(b) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))) wegen x �→ b, y �→ a R(b) ∧ (P(b) ∨ ¬R(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, b))) wegen x �→ b, y �→ b R(a) ∧ (P(a) ∨ ¬R(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, b))) wegen x �→ a, y �→ b R(f (a)) ∧ (P(f (a)) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))) wegen x �→ f (a), y �→ a R(f (a)) ∧ (P(f (a)) ∨ ¬R(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, b))) wegen x �→ f (a), y �→ b . . .} Logik TU Do SoSe 2011 C. Schubert In der Herbrand-Expansion kommen nur noch Grundterme vor Einleitung Insbesondere kommen keine prädikatenlogischen Variablen mehr vor HerbrandStrukturen → Um ein Modell für F mit Grundmenge H(F ) zu konstruieren, genügt es, eine Wahrheitsbelegung für die atomaren Formeln von E (F ) zu finden, die alle Formeln in E (F ) wahr macht 2 Herbrand-Strukturen 3 Grund-Resolution 4 Unifikation und prädikatenlogische Resolution 11 – 22/52 Erfüllbarkeitstest für prädikatenlogische Formeln Folgerung → Das ist ein aussagenlogisches Erfüllbarkeitsproblem mit unendlich vielen aussagenlogischen Variablen Logik TU Do SoSe 2011 C. Schubert Einleitung Wenn eine Formel F unerfüllbar ist, lässt sich also aus E (F ) die leere Klausel per (aussagenlogischer) Resolution herleiten GrundResolution PLResolution GrundResolution PLResolution 11 – 21/52 Satz von Gödel, Herbrand, Skolem Logik TU Do SoSe 2011 HerbrandStrukturen GrundResolution Wir erhalten den folgenden Algorithmus PLResolution Grundresolutionsalgorithmus Require: geschlossene Skolemformel F Ensure: “unerfüllbar”, falls F unerfüllbar ist, andernfalls “erfüllbar” oder keine Termination 1: M := ∅, i := 0 2: while i < |E (F )| do 3: i := i + 1 4: Gi := i-te Formel von E (F ) 5: M := M ∪ {Gi } 6: if M ist aussagenlogisch unerfüllbar then 7: Return “unerfüllbar”, 8: Return “erfüllbar”, Wir sagen: E (F ) ist aussagenlogisch erfüllbar, wenn es eine Belegung der atomaren Formeln von E (F ) mit Wahrheitswerten gibt, die alle Formeln in E (F ) wahr macht Dann erhalten wir folgenden Satz Satz 2 (Gödel, Herbrand, Skolem) Eine geschlossene Skolemformel F ist genau dann erfüllbar, wenn E (F ) aussagenlogisch erfüllbar ist 11 – 23/52 11 – 24/52 Logik TU Do SoSe 2011 Bemerkungen zum Grundresolutionsalgorithmus C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen Wenn eine Formel F erfüllbar ist und E (F ) unendlich ist, terminiert der Algorithmus nicht Wir sagen, dass das Unerfüllbarkeitsproblem für PL-Formeln semi-entscheidbar ist, weil es einen Algorithmus gibt, der Logik TU Do SoSe 2011 Grundresolutionsalgorithmus: Erstes Beispiel GrundResolution PLResolution für unerfüllbare Formeln anhält und “unerfüllbar” ausgibt und für erfüllbare Formeln nicht terminiert HerbrandStrukturen � � Sei F2 = ∀x P(x) ∧ ¬P(f (x)) H(F2 ) = {a, f (a), f (f (a)), f (f (f (a))), . . .} E (F2 ) = {P(a) ∧ ¬P(f (a)), P(f (a)) ∧ ¬P(f (f (a))), . . .} {P(f (a))} Über semi-entscheidbare Probleme erfahren Sie mehr in der Vorlesung Grundbegriffe der theoretischen Informatik GrundResolution wegen x �→ a wegen x → � f (a) {¬P(f (a))} � Der Algorithmus heißt Grundresolutionsalgorithmus, weil er nur Grundterme verwendet (im Gegensatz zur prädikatenlogischen Resolution) Leider wird nicht immer so schnell eine unerfüllbare Klauselmenge erreicht 11 – 25/52 Logik TU Do SoSe 2011 Grundresolutionsalgorithmus: Zweites Beispiel (1/2) C. Schubert � Sei F1 = ∀x ∀y R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, y ))) H(F1 ) = {a, b, f (a), g (a, a), f (b), g (a, b), g (b, a), g (b, b), f (f (a)), . . .} � E (F1 ) = {R(a) ∧ (P(a) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))) wegen x �→ a, y �→ a (1) ··· ··· R(f (a)) ∧ (P(f (a)) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))) wegen x �→ f (a), y �→ a (5) ··· ··· R(b) ∧ (P(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, f (a)))) wegen x �→ b, y �→ f (a) (8) ··· ··· R(g (b, a)) ∧ (P(g (b, a)) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))) wegen x �→ g (b, a), y �→ a (26) ··· {P(b), ¬R(f (a))} {R(f (a))} Einleitung HerbrandStrukturen GrundResolution 11 – 26/52 Grundresolutionsalgorithmus: Zweites Beispiel (2/2) In diesem Beispiel ergibt also erst die 26. Iteration des Grundresolutionsalgorithmus die Ausgabe “unerfüllbar” Einige Beobachtungen bezüglich des Resolutionsbeweises {P(b), ¬R(f (a))} PLResolution {R(f (a))} {R(g (b, a))} {P(b)} {¬P(b), ¬R(g (b, a))} {¬P(b)} Logik TU Do SoSe 2011 C. Schubert Einleitung HerbrandStrukturen GrundResolution PLResolution � (1) Die Klausel {R(x)} wird zweimal verwendet (2) Der Resolutionsschritt auf der linken Seite verwendet die PL-Klauseln 1 2 P(x) ∨ ¬R(y ) ∨ ¬R(f (a)) mit Substitution x �→ b, y �→ f (a), R(x) mit Substitution x �→ f (a) Die Variable x wird hier also in den beiden Klauseln auf verschiedene Weise substituiert Das ist “erlaubt”, weil alle Variablen durch ∀ quantifiziert sind Durch die Substitution verringert sich die Anzahl der Literale in der ersten Klausel {R(g (b, a))} {¬P(b), ¬R(g (b, a))} {P(b)} PLResolution {¬P(b)} Im Folgenden werden wir sehen, wie solche Substitutionen und dann auch Resolutionsbeweise gezielter gefunden werden können � Dies führt uns zur prädikatenlogischen Resolution 11 – 27/52 11 – 28/52 Logik TU Do SoSe 2011 Überblick C. Schubert Grundresolution ist eine Art “Brute-Force-Ansatz”: 1 Erfüllbarkeit: Einleitung GrundResolution PLResolution 2 3 Herbrand-Strukturen Beispiel Test der Erfüllbarkeit von F2 = ∀x [P(x) ∧ ¬P(f (x))]: mit Grundresolution. Ansatz: Unifikation und prädikatenlogische Resolution {P(x)} {¬P(f (x))} {P(f (a))} {¬P(f (a))} PLResolution x�→a x�→f (a) � {¬P(f (a))} Die prädikatenlogische Resolution sucht gezielt nach “nützlichen” Termen der Herbrand-Expansion, die für Resolutionsschritte verwendbar sind � 4 HerbrandStrukturen GrundResolution Matrixklauselform von F2 : {P(x)}, {¬P(f (x))} H(F2 ) = {a, f (a), f (f (a)), f (f (f (a))), . . .} {P(f (a))} Einleitung “Direkterer” Resolutionsbeweis für die Unerfüllbarkeit von F2 : E (F2 ) = {P(a) ∧ ¬P(f (a)), P(f (a)) ∧ ¬P(f (f (a))), . . .} Grund-Resolution C. Schubert Beispiel Einleitung HerbrandStrukturen Logik TU Do SoSe 2011 Prädikatenlogische Resolution: Vorüberlegungen (1/3) Die Grundresolution erzeugt zuerst “wahllos” die Herbrand-Expansion und versucht dann passende Literale für Resolutionsschritte zu finden Motto: “was passen kann, wird passend gemacht” Könnten wir nicht zielgerichteter vorgehen? 11 – 29/52 Logik TU Do SoSe 2011 Prädikatenlogische Resolution: Vorüberlegungen (2/3) Erfüllbarkeit von C. Schubert F1 = ∀x ∀y [R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, y )))] Matrixklauselform von F1 : Einleitung HerbrandStrukturen GrundResolution {R(x)}, {P(x), ¬R(y ), ¬R(f (a))}, {¬P(b), ¬R(g (b, y ))} PLResolution Gibt Resolutions“baum”: {¬P(b), ¬R(g (b, y ))} y �→a 11 – 30/52 Logik TU Do SoSe 2011 Einschub: Rechnen mit Substitutionen Zur Erinnerung: PL-Substitutionen sind partielle Funktionen PV → PT Schreibweise: σ = {x �→ y , y �→ f (b), z �→ x} Einleitung Alle Zuordnungen einer Substitution σ werden simultan angewendet Ist σ(x) für eine Variable nicht definiert, so bleibt die Variable durch die Anwendung der Substitution unverändert. Somit haben σ(x) ist nicht definiert C. Schubert und σ(x) = x HerbrandStrukturen GrundResolution PLResolution die gleiche Wirkung {R(x)} x�→g (b,a) {¬P(b), ¬R(g (b, a))} {R(g (b, a))} {R(f (a))} {¬P(b)} Komposition von Substitutionen {P(x), ¬R(y ), ¬R(f (a))} x�→f (a) τ ◦ σ bezeichnet die Substitution, die durch Hintereinanderausführung von (zuerst) σ und (dann) τ entsteht x�→b,y �→f (a) {P(b), ¬R(f (a))} Beispiel: {x �→ a, y �→ f (b), z �→ y }◦ {u �→ f (x), v �→ g (y ), y �→ b} = {u �→ f (a), v �→ g (f (b)), x �→ a, y �→ b, z �→ y } {P(b)} � Komposition von Substitutionen und Belegungen Ist A eine Struktur mit aA = 1, b A = 4, f A (3) = 5, σ = {x �→ a, y �→ f (u), z �→ x}, β = {z �→ 2, u �→ 3}, so gilt: Wichtigster Schritt: Substitutionen auf zwei Klauseln anwenden, so dass zwei “resolvierbare” Literale entstehen (und möglicherweise außerdem mehrere Literale zusammen fallen) [[x]](A,β◦σ) = 1 11 – 31/52 und [[y ]](A,β◦σ) = 5 11 – 32/52 Logik TU Do SoSe 2011 Prädikatenlogische Resolution: Vorüberlegungen (3/3) Ein weiteres Beispiel: {¬R(x)}, {R(f (y )), P(y )}, {¬P(x), ¬P(f (b))} C. Schubert {¬R(x)} {R(f (y )), P(y )} {¬P(x), ¬P(f (b))} {¬R(f (a))} {R(f (a)), P(a)} {¬P(f (b))} y �→a x�→f (a) x�→f (b) HerbrandStrukturen GrundResolution Logik TU Do SoSe 2011 C. Schubert Einleitung Problem HerbrandStrukturen Gegeben eine Menge von prädikatenlogischen Literalen L1 , . . . , Lm , finde eine Substitution σ, die σ(L1 ) = · · · = σ(Lm ) GrundResolution PLResolution erfüllt. Eine solche Substitution heißt Unifikator von L1 , . . . , Lm ??? Beobachtung: Die Festlegung auf a im ersten Schritt war eigentlich unnötig Beispiel Besser: neue Variable anstatt a {¬R(x)} {R(f (y )), P(y )} {¬R(f (z))} {R(f (z)), P(z)} L1 = R(x, a, y ), {¬P(x), ¬P(f (b))} y �→z x�→f (z) Für die prädikatenlogische Resolution müssen wir das folgende algorithmische Problem (möglichst effizient) lösen können: Einleitung PLResolution {P(a)} Unifikatoren (1/2) L2 = R(f (z), u, b), L3 = R(v , u, w ) Die Substitution σ � : x�→f (b) {P(z)} u �→ a z�→f (b) {¬P(f (b))} x �→ f (a) {¬P(f (b))} � v �→ f (a) y �→ b w �→ b z �→ a bildet alle Literale auf R(f (a), a, b) ab 11 – 33/52 Unifikatoren (2/2) Um uns im Rahmen eines Resolutionsbeweises möglichst viele Möglichkeiten für spätere Resolutionsschritte zu erhalten, interessieren wir uns für Unifikatoren, die möglichst wenige Festlegungen treffen Definition 4 Ein Unifikator σ heißt allgemeinster Unifikator (MGU) für L1 , . . . , Lm , falls für jeden Unifikator σ1 von L1 , . . . , Lm eine Substitution σ2 existiert mit σ1 = σ2 ◦ σ Logik TU Do SoSe 2011 11 – 34/52 Existenz von Unifikatoren C. Schubert Logik TU Do SoSe 2011 C. Schubert Einleitung Einleitung HerbrandStrukturen Natürlich gibt es nicht für jede Menge von Literalen einen Unifikator HerbrandStrukturen GrundResolution Beispiele GrundResolution PLResolution Beispiele von Literalpaaren ohne Unifikator: PLResolution Verschiedene Relationsnamen: P(a), R(y ) Positives und negatives Literal: P(a), ¬P(y ) Bemerkung: Die Abkürzung MGU steht für “most general unifier” Verschiedene Funktionssymbole: P(a, f (x)), P(y , g (b)) Beispiel Beispiel Die Substitution σ : u �→ a w �→ b y �→ b v �→ f (z) x �→ f (z) ist ein MGU für R(x, a, y ) R(f (z), u, b) R(v , u, w ) und bildet alle Literale auf R(f (z), a, b) ab Variablen-Rekursion: P(a, f (x)), P(y , x) Die Substitution σ (vorherige Folie) � u �→ a v �→ f (a) y �→ b z �→ a w �→ b Der Algorithmus auf der nächsten Folie entscheidet, ob die gegebene Literalmenge einen Unifikator hat und berechnet einen allgemeinsten Unifikator oder x �→ f (a) gibt “nicht unifizierbar” aus lässt sich schreiben als: σ � = {z �→ a} ◦ σ 11 – 35/52 11 – 36/52 Logik TU Do SoSe 2011 Der Unifikationsalgorithmus C. Schubert Unifikationsalgorithmus Einleitung Require: Menge L �= ∅ von PL-Literalen Ensure: Allgemeinster Unifikator σ für L oder “nicht unifizierbar” 1: if es gibt ein positives und ein negatives Literal in L oder es kommen verschiedene Relationssymbole in L vor then 2: Return “nicht unifizierbar” 3: L� := L, σ := ∅ 4: while |L� | > 1 do 5: Wähle zwei Literale L1 , L2 in L� 6: Seien z1 (in L1 ) und z2 (in L2 ) die ersten Zeichen, an denen L1 und L2 verschieden sind 7: if weder z1 noch z2 ist Variable then 8: Return “nicht unifizierbar” 9: if z1 ist Variable then 10: Sei t der in L2 mit z2 beginnende Term 11: if z1 kommt in t vor then 12: Return “nicht unifizierbar” 13: else 14: σ := {z1 �→ t} ◦ σ 15: Wende z1 �→ t auf alle Literale in L� an 16: else 17: Falls z2 ist Variable: analog 18: Return σ HerbrandStrukturen GrundResolution PLResolution Logik TU Do SoSe 2011 Unifikationsalgorithmus: Beispiele (1/4) Beispiel C. Schubert L = {P(f (x), g (y , h(a, z))), P(f (g (a, b)), g (g (u, v ), w ))}, also: |L� | = 2 Einleitung z1 = x, z2 = g GrundResolution Sei L1 = P(f (x), g (y , h(a, z))), L2 = P(f (g (a, b)), g (g (u, v ), w )) Also: t = g (a, b) und x kommt nicht in t vor HerbrandStrukturen PLResolution → σ := {x �→ g (a, b)} L� = {P(f (g (a, b)), g (y , h(a, z))), P(f (g (a, b)), g (g (u, v ), w ))}, |L� | = 2 Sei L1 = P(f (g (a, b)), g (y , h(a, z))) L2 = P(f (g (a, b)), g (g (u, v ), w )) z1 = y , z2 = g t = g (u, v ) und y kommt in t nicht vor → σ := {y �→ g (u, v )} ◦ σ L� = {P(f (g (a, b)), g (g (u, v ), h(a, z))), P(f (g (a, b)), g (g (u, v ), w ))}, immer noch: |L� | = 2 Sei L1 = P(f (g (a, b)), g (g (u, v ), h(a, z))) L2 = P(f (g (a, b)), g (g (u, v ), w )) z1 = h, z2 = w Also: t = h(a, z) und w kommt nicht in t vor → σ := {w �→ h(a, z)} ◦ σ L� = {P(f (g (a, b)), g (g (u, v )), h(a, z))}, also: |L� | = 1 11 – 37/52 Logik TU Do SoSe 2011 Unifikationsalgorithmus: Beispiele (2/4) Sei L1 = P(a, f (x)) Einleitung Einleitung PLResolution L2 = P(y , g (b)) HerbrandStrukturen Beispiel L = {P(a, f (x)), P(y , x)}, also: |L� | = 2 Sei L1 = P(a, f (x)) L2 = P(y , x) z1 = a, z2 = y z1 = a, z2 = y Also: t = a und y kommt nicht in t vor Also: t = a und y kommt nicht in t vor → σ := {y �→ a} � GrundResolution PLResolution → σ := {y �→ a} � L� = {P(a, f (x)), P(a, x))}, immer noch: |L� | = 2 L = {P(a, f (x)), P(a, g (b))}, immer noch: |L | = 2 Sei L1 = P(a, f (x)) Logik TU Do SoSe 2011 C. Schubert GrundResolution L = {P(a, f (x)), P(y , g (b))}, also: |L� | = 2 Unifikationsalgorithmus: Beispiele (3/4) 11 – 38/52 C. Schubert HerbrandStrukturen Beispiel Ausgabe: {x �→ g (a, b), y �→ g (u, v ), w �→ h(a, z)} L2 = P(a, g (b)) Sei L1 = P(a, f (x)) z1 = f , z2 = g L2 = P(a, x) z1 = f , z2 = x Weder z1 noch z2 ist Variable Also: t = f (x) und z2 = x kommt in t vor → nicht unifizierbar → nicht unifizierbar 11 – 39/52 11 – 40/52 Logik TU Do SoSe 2011 Unifikationsalgorithmus: Beispiele (4/4) Der MGU zu einer Literalmenge kann exponentiell groß sein (im Verhältnis zur Gesamtlänge der vorkommenden Literale) Beispiel R(x1 , x2 , x3 , . . . , xn−1 , xn ) R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a) Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution Sei die folgende Literalmenge gegeben Unifikation und prädikatenlogische Resolution (1/2) Beispiel GrundResolution PLResolution {¬R(x)} {R(f (y )), P(y )} {¬R(f (z))} {R(f (z)), P(z)} y �→z x�→f (z) Im ersten Schritt erhalten wir: R(f (x2 , x2 ), x2 , x3 , . . . , xn−1 , xn ) R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a) PLResolution {P(z)} Im zweiten Schritt erhalten wir: R(f (f (x3 , x3 ), f (x3 , x3 )), f (x3 , x3 ), x3 , . . . , xn−1 , xn ) R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a) Ein prädikatenlogischer Resolutionsschritt lässt sich auf Klauseln K1 und K2 anwenden, wenn Im dritten Schritt erhalten wir: ein Literal L1 von K1 mit einem Literal L2 von K2 , das in K2 negiert vorkommt (¬L2 ), unifiziert werden kann (oder umgekehrt) R(f (f (f (x4 , x4 ), f (x4 , x4 )), f (f (x4 , x4 ), f (x4 , x4 ))), f (f (x4 , x4 ), f (x4 , x4 )), f (x4 , x4 ), . . . , xn−1 , xn ) R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a) Die Länge des ersten Terms des ersten Literals wird in jedem Schritt ungefähr verdoppelt 11 – 41/52 Unifikation und prädikatenlogische Resolution (2/2) Logik TU Do SoSe 2011 C. Schubert Wir werden sehen: auch mehrere Literale je Klausel können beteiligt sein Lässt sich für die beiden Klauseln K1 = {P(x, y ), ¬R(g (x), z)} K2 = {R(x, u)} ein Resolutionsschritt anwenden? Einleitung HerbrandStrukturen GrundResolution PLResolution R(g (x), z) und R(x, v ) sind nicht unifizierbar 11 – 42/52 Logik TU Do SoSe 2011 Prädikatenlogische Resolventen Definition 5 C. Schubert � Seien K , K prädikatenlogische Klauseln Einleitung � Seien τ, τ Variablenumbenennungen, so dass H =def τ (K ) und H � =def τ � (K � ) keine Variablen gemeinsam haben Seien L1 , . . . , Lk Literale in H und L�1 , . . . , L�m Literale in H � , so dass {¬L1 , . . . , ¬Lk , L�1 , . . . , L�m } unifizierbar ist mit allgemeinstem Unifikator σ(dabei gelte: ¬¬L = L) HerbrandStrukturen GrundResolution PLResolution Dann heißt R =def σ((H − {L1 , . . . , Lk }) ∪ (H � − {L�1 , . . . , L�m })) prädikatenlogische Resolvente von K und K � Aber: In der Herbrand-Expansion würden beispielsweise R(g (a), a) und ¬R(g (a), a) entstehen, die resolvierbar sind Die Unifikation wird hier nur dadurch verhindert, dass die beiden Klauselmengen gemeinsame Variablen haben Durch Variablenumbenennungen können wir in diesem Fall zwei Literale unifizierbar und damit die Klauseln resolvierbar machen: Beispiel K = {P(x), S(f (x), a)} K � = {¬P(f (x)), ¬P(y ), ¬Q(z)} τ � ={x�→y } τ =∅ Dazu genügt es, in K2 die Variable x in v umzubenennen H = {P(x), S(f (x), a)} Achtung: Es müssen in einer Klausel immer alle Vorkommen einer Variablen umbenannt werden σ={x�→f (u)} H � = {¬P(f (u)), ¬P(y ), ¬Q(z)} σ={y �→f (u)} R = {S(f (f (u)), a), ¬Q(z)} 11 – 43/52 11 – 44/52 Logik TU Do SoSe 2011 Zwischenbemerkung zur Orientierung Logik TU Do SoSe 2011 Das prädikatenlogische Resolutionslemma C. Schubert Einleitung HerbrandStrukturen Wir haben jetzt also eine Methode, ohne den Umweg über die Grundresolution, “direkt in der Prädikatenlogik” Resolution zu verwenden Jetzt müssen wir noch zeigen, dass diese Methode GrundResolution PLResolution (a) korrekt und (b) vollständig C. Schubert Lemma 6 (PL-Resolutionslemma) Einleitung HerbrandStrukturen Es seien (1) K und K � prädikatenlogische Klauseln � � � � (2) τ, τ Variablenumbenennungen, so dass H =def τ (K ) und H =def τ (K ) keine Variablen gemeinsam haben GrundResolution PLResolution (3) L1 , . . . , Lk Literale in H und L�1 , . . . , L�m Literale in H � , so dass {¬L1 , . . . , ¬Lk , L�1 , . . . , L�m } unifizierbar ist mit allgemeinstem Unifikator σ ist (4) R = σ((H \ {L1 , . . . , Lk }) ∪ (H � \ {L�1 , . . . , L�m })) die prädikatenlogische Resolvente von K und K � Für die Korrektheit beweisen wir das folgende Resolutionslemma Für die Vollständigkeit zeigen wir mit dem Lifting-Lemma, dass die prädikatenlogische Resolution alle Grundresolutionen “simulieren” kann (5) A eine zu K und K � passende Struktur Dann gilt: Falls Wichtig: Die Vollständigkeit können wir nur garantieren, weil wir MGUs verwenden! (a) für alle Belegungen β gilt: (A, β) |= K und (b) für alle Belegungen β � gilt: (A, β � ) |= K � , so gilt auch für alle Belegungen γ: (A, γ) |= R Wir werden Lemma 6 nicht beweisen, sondern nur kurz die Beweisidee erläutern. 11 – 45/52 Logik TU Do SoSe 2011 PL-Resolutionslemma: Illustration der Beweisidee C. Schubert � K = {. . . , L, . . . } {. . . , L , . . . } = K � τ� τ H = {M1 , . . . , Mn , L1 , . . . , Lk } {L�1 , . . . , L�m , M1� , . . . , Ml� } = H � σ R= σ {σ(M1 ), . . . , σ(Mn ), σ(M1� ), . . . , σ(Ml� )} Einleitung HerbrandStrukturen GrundResolution PLResolution Sei A eine Struktur, so dass (a) für alle passenden Belegungen β gilt: (A, β) |= K , und (b) für alle passenden Belegungen β � gilt: (A, β � ) |= K � Sei γ eine passende Belegung für R Zu zeigen: (A, γ) |= R Wegen (a) gilt: (A, γ ◦ σ ◦ τ ) |= L für mindestens ein Literal L aus K 1. Fall: τ (L) = Mi , für ein i (im Beispiel: i = 1) =⇒ (A, γ) |= σ(Mi ) 2. Fall: τ (L) = Li , für ein i (Beispiel: i = 1) 11 – 46/52 Das Lifting-Lemma PL-Resolutionslemma zeigt: ein einzelner Resolutionsschritt ist korrekt Daraus folgt die Korrektheit der PL-Resolution Wir müssen noch zeigen, dass sie vollständig ist, dass also für jede unerfüllbare Formel die Unerfüllbarkeit mit PL-Resolution nachgewiesen werden kann Da die Grundresolution ein solches vollständiges Verfahren ist, genügt es uns zu zeigen, das die PL-Resolution “nicht weniger vollständig” ist als die Grundresolution Das folgende Lifting-Lemma zeigt uns, wie wir aus einem Schritt eines Grundresolutionsbeweises einen Schritt eines PL-Resolutionsbeweis gewinnen können Eine Substitution σ heißt Grundsubstitution für eine PL-Klausel K , falls σ(K ) keine Variablen enthält Logik TU Do SoSe 2011 C. Schubert Einleitung HerbrandStrukturen GrundResolution PLResolution Lemma 7 (Lifting-Lemma) Seien K1 , K2 prädikatenlogische Klauseln mit Grundsubstitutionen σ1 , σ2 Seien K1� = σ1 (K1 ) und K2� = σ2 (K2 ) → für alle i gilt dann (A, γ ◦ σ ◦ τ � ) �|= L�i (da σ(L1 ) = σ(¬L�i )) → (A, γ ◦ σ ◦ τ � ) |= L� für ein Literal L� aus K � und τ � (L� ) = Mj� , für ein j (im Beispiel: j = 1) → (A, γ) |= σ(Mj� ) Dann gilt: falls R � aussagenlogische Resolvente von K1� und K2� ist, so gibt es eine PL-Resolvente R von K1 und K2 und eine Grundsubstitution σ mit σ(R) = R � 11 – 47/52 11 – 48/52 Logik TU Do SoSe 2011 Lifting-Lemma: Beispiel Der nicht schwierige aber etwas technische Beweis des Lifting-Lemmas findet sich in [KuK] Wir geben die Idee hier anhand eines Beispiels wieder: K1 = {P(x, y ), ¬R(g (x), f (y ))} K2 = {R(x, y ), R(g (a), z)} x�→a,y �→b K1� = {P(a, b)¬R(g (a), f (b))} C. Schubert Einleitung Einleitung HerbrandStrukturen GrundResolution x�→g (a),y ,z�→f (u) R = {P(a, u)} Für PL-Klauselmengen K definieren wir: Res(K) =def K ∪ {K | K ist PL-Resolvente zweier Klauseln aus K} Res0 (K)=def K HerbrandStrukturen GrundResolution PLResolution Resk (K)=def Res(Resk−1 (K)), für alle k ≥ 1 � Res∞ (K)=def Resk (K) K2 = {R(x, y ), R(g (a), z)} x�→a,y �→b Logik TU Do SoSe 2011 C. Schubert PLResolution K1 = {P(x, y ), ¬R(g (x), f (y ))} Prädikatenlogische Resolution k≥0 x�→g (a),y ,z�→f (b) Satz 3 (PL-Resolutionssatz) K2� = {R(g (a), f (b))} Eine prädikatenlogische Formel F ist genau dann unerfüllbar, wenn für ihre Matrixklauselform K gilt: � ∈ Res∞ (K) u�→b R � = {P(a, b)} 11 – 49/52 Der Resolutionssatz der Prädikatenlogik: Beweis Wir wollen zeigen: Eine prädikatenlogische Formel F ist genau dann unerfüllbar, wenn für ihre Matrixklauselform K gilt: � ∈ Res∞ (K) Notation: Sei ∀K die Formel, die aus der KNF zur Klauselmenge K durch All-Quantifizierung aller vorkommenden Variablen entsteht Korrektheit Vollständigkeit Zu zeigen: � ∈ Res∞ (K) =⇒ F unerfüllbar Zu zeigen: F unerfüllbar =⇒ � ∈ Res∞ (K) Sei also F unerfüllbar Wir zeigen zuerst, dass für jede PL-Klauselmenge K� gilt: ∀K� erfüllbar =⇒ ∀Res(K� ) erfüllbar Sei A ein Modell für ∀K� Sei K ∈ Res(K� ) Resolvente von K1 , K2 ∈ K� Wegen Lemma 6 gilt dann: A |= ∀K → A ist ein Modell für ∀Res(K� ) Der Rest des Korrektheits-Beweises erfolgt wie in Lemma ?? durch Induktion Logik TU Do SoSe 2011 11 – 50/52 Zusammenfassung Logik TU Do SoSe 2011 C. Schubert C. Schubert Einleitung Einleitung HerbrandStrukturen HerbrandStrukturen GrundResolution PLResolution Es ist nicht leicht, die Erfüllbarkeit prädikatenlogischer Formeln zu testen: Wir haben nur Semi-Entscheidungsverfahren für die Unerfüllbarkeit kennen gelernt: GrundResolution PLResolution Der Grundresolutionsalgorithmus führt das Problem auf einen Unentscheidbarkeitstest für eine unendliche Menge aussagenlogischer Klauseln zurück Die prädikatenlogische Resolution versucht, “direkt” einen Unerfüllbarkeitsbeweis zu finden Mit Satz 2 folgt, dass E (F ) unerfüllbar ist → � ∈ Res∞ (E (F )) Es gibt erfüllbare Formeln, die nur unendliche Modelle haben → Es gibt also einen aussagenlogischen Resolutionsbeweis für �, der (endlich viele) Klauseln aus E (F ) verwendet Allerdings: wenn es ein Modell gibt, so auch ein abzählbares Durch Anwendung des Lifting-Lemmas auf jeden einzelnen Resolutionsschritt lässt sich daraus ein prädikatenlogischer Resolutionsbeweis gewinnen 11 – 51/52 11 – 52/52 Logik TU Do SoSe 2011 Unser Programm für Heute C. Schubert C. Schubert Beweiskalküle Beweiskalküle Logik für Informatiker Hilbertkalkül Teil 12 — Prädikatenlogik: Eigenschaften Algorithmen Hilbertkalkül 1 Beweiskalküle Theorien Unvollständigkeit 2 Hilbertkalkül basierend auf Folien von Prof. Thomas Schwentick 3 Algorithmen TU Dortmund Lehrstuhl für Software-Technologie https://ls10-wiki.cs.uni-dortmund.de/logik 4 Theorien 5 Unvollständigkeit Dr. Christoph Schubert Sommersemester 2011 Version vom 12. Juli 2011 (15:52 Uhr) 12 – 1/23 Zuerst betrachten wir den Gödelschen Vollständigkeitssatz, eines der wichtigsten Resultate der Prädikatenlogik Außer der Resolution gibt es noch viele andere Beweiskalküle für die Prädikatenlogik Logik TU Do SoSe 2011 Algorithmen Theorien Unvollständigkeit Übersicht Logik TU Do SoSe 2011 12 – 2/23 Überblick Logik TU Do SoSe 2011 C. Schubert C. Schubert Beweiskalküle Beweiskalküle Hilbertkalkül Algorithmen Hilbertkalkül 1 Beweiskalküle Theorien Theorien Unvollständigkeit Für zwei davon finden sich Folien in diesem Kapitel Hilbertkalkül und Sequenzenkalkül Sie gehören aber nicht zum Stoff der Vorlesung Danach betrachten wir algorithmische Probleme im Zusammenhang der Prädikatenlogik Auswertung von Formeln Erfüllbarkeitstest Dieser ist algorithmisch nicht umfassend lösbar Wir werfen einen Blick auf Theorien, Axiomensysteme, und die Gödelschen Unvollständigkeitssätze Zuletzt vergleichen wir die Prädikatenlogik mit der Aussagenlogik und der Modallogik 12 – 3/23 Algorithmen Unvollständigkeit 2 Hilbertkalkül 3 Algorithmen 4 Theorien 5 Unvollständigkeit 12 – 4/23 Der Vollständigkeitssatz der Prädikatenlogik (1/2) Für jede PL-Formel F bezeichne K(F ) eine eindeutige Matrixklauselform zu F Eindeutigkeit könnte durch einen konkreten Algorithmus erreicht werden Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Beweiskalküle Algorithmen Theorien Für eine Menge G von Formeln sei K(G) =def Unvollständigkeit � F ∈G Logik TU Do SoSe 2011 C. Schubert Hilbertkalkül Definition 1 Der Vollständigkeitssatz der Prädikatenlogik (1/2) Beweisidee 1 Wir skizzieren nur den Beweis für endliche Formelmengen G Nach Definition gilt G |= F genau dann, wenn G ∪ {¬F } unerfüllbar ist Hilbertkalkül Algorithmen Theorien Unvollständigkeit Sei F � die Konjunktion der Formeln in G ∪ {¬F } K(F ) Mit dem Resolutionssatz der Prädikatenlogik folgt dann die Behauptung Ist F eine PL-Formel und G eine Menge von PL-Formeln, so schreiben wir G � F , falls gilt: � ∈ Res∞ (K(G ∪ {¬F })) Bemerkungen Gödel hat den Satz für einen anderen Beweiskalkül bewiesen Er gilt auch für viele weitere Beweiskalküle der Prädikatenlogik (dazu gleich mehr) G � F bedeutet also, dass es einen prädikatenlogischen Resolutionsbeweis für die Unerfüllbarkeit von G ∪ {¬F } gibt Der Satz gilt auch für die Prädikatenlogik mit Gleichheit, der Beweis ist aber komplizierter (auch dazu gleich mehr) Satz 1 (Gödelscher Vollständigkeitssatz (1930)) Für jede PL-Formel F und jede Menge von PL-Formeln G gilt: G |= F ⇐⇒ G � F 12 – 5/23 Der Endlichkeitssatz der Prädikatenlogik Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Satz 2 (Endlichkeitssatz) Eine unendliche Menge G von PL-Formeln ist genau dann erfüllbar, wenn jede endliche Teilmenge von G erfüllbar ist Hilbertkalkül Algorithmen Theorien Unvollständigkeit Beweisidee 2 Der Satz folgt direkt aus dem Vollständigkeitssatz und der Tatsache, dass Resolutionsbeweise nur endlich viele Klauseln verwenden Klar: Ist G erfüllbar, so auch jede (endliche) Teilmenge Andererseits: 12 – 6/23 Prädikatenlogik mit Gleichheit In Kapitel 11 haben wir uns aus Gründen der Einfachheit auf die Prädikatenlogik ohne Gleichheit beschränkt Es stellt sich die Frage, inwieweit die gefundenen Resultate auf die Prädikatenlogik mit Gleichheit übertragbar sind In der Prädikatenlogik mit Gleichheit können Formeln F wie z.B. ∀x f (x) = x formuliert werden Klar: diese Formel ist erfüllbar, aber sie hat kein Herbrand-Modell im Sinne von Kapitel 11 Der Vollständigkeitssatz gilt trotzdem auch für die Prädikatenlogik mit Gleichheit Der Beweis erfordert jedoch eine Modifikation der Definition von Herbrand-Modellen: Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Hilbertkalkül Algorithmen Theorien Unvollständigkeit Statt der Menge aller Terme wird die Menge aller Äquivalenzklassen von Termen verwendet hinsichtlich der Äquivalenzrelation s ∼ t =def F � s = t Das macht den Beweis natürlich nicht gerade einfacher. . . Sei G unerfüllbar → Es gibt einen Resolutionsbeweis für die Unerfüllbarkeit von G → Dieser Beweis verwendet nur Klauseln aus einer endlichen Teilmenge G� ⊆ G → G � ist unerfüllbar Der Endlichkeitssatz gilt entsprechend ebenfalls für die Prädikatenlogik mit Gleichheit Der Satz von Löwenheim-Skolem gilt in einer leicht modifizierten Form: 12 – 7/23 Die Formel ¬∃x ∃y ¬(x = y ) drückt aus, dass eine Struktur höchstens ein Element enthält Sie hat sicher kein abzählbar unendliches Modell Der Satz von Löwenheim-Skolem für die Prädikatenlogik mit Gleichheit garantiert deshalb nur ein abzählbar unendliches oder endliches Modell 12 – 8/23 Logik TU Do SoSe 2011 Überblick Andere Beweiskalküle: Hilbertkalkül C. Schubert Beweiskalküle Hilbertkalkül 1 Beweiskalküle C. Schubert 4 Hilbertkalkül AX sei die Menge aller Formeln, die sich in einer der drei folgenden Formen schreiben lassen: Algorithmen (A1) [F1 → (F2 → F3 )] → [(F1 → F2 ) → (F1 → F3 )] (A2) F1 → (F2 → F1 ) (A3) (¬F1 → ¬F2 ) → (F2 → F1 ) Unvollständigkeit 3 Beweiskalküle Definition 2 Theorien 2 Hilbertkalkül Algorithmen Unvollständigkeit aus AX , oder in G, oder entsteht durch Anwendung einer Schlussregel auf Fj , Fk mit j, k < i Die Schlussregeln sind: G → G� G� G (c) Generalisierung: ∀x G (x) Unvollständigkeit 12 – 9/23 Logik TU Do SoSe 2011 Hilbertkalkül: Beispiel Obwohl der Hilbertkalkül zunächst sehr natürlich wirkt, ist es recht schwierig, mit ihm Beweise zu finden Überblick C. Schubert Beweiskalküle Beweiskalküle Hilbertkalkül Algorithmen Wir betrachten einen Beispielbeweis des aussagenlogischen Hilbertkalküls, der zeigt, dass ∅ �H F → F gilt, dass also F → F eine Tautologie ist (A2) (3) (F → (F → F )) → (F → F ) (MP aus (1) und (2)) (5) F → F (MP aus (3) und (4)) Logik TU Do SoSe 2011 C. Schubert Hilbertkalkül 1 Beweiskalküle (A2) Neben dem Hilberkalkül existieren noch viele weitere “Beweissysteme”, z.B. der Sequenzenkalkül 12 – 11/23 Algorithmen Theorien Unvollständigkeit (1) [F → ((F → F ) → F )] → [(F → (F → F )) → (F → F )] (A1) G 12 – 10/23 Theorien Beispiel (4) F → (F → F ) Theorien Fn = F und jedes Fi ist entweder Theorien (2) F → ((F → F ) → F ) Algorithmen F ist Hilbert-beweisbar aus G (G �H F ), falls es eine Folge F1 , . . . , Fn gibt, mit: Modus ponens: 5 Logik TU Do SoSe 2011 Unvollständigkeit 2 Hilbertkalkül 3 Algorithmen 4 Theorien 5 Unvollständigkeit 12 – 12/23 Algorithmische Auswertung prädikatenlogischer Formeln Wie lässt sich algorithmisch testen, ob, für eine Interpretation I = (A, β) und eine prädikatenlogische Formel F gilt: I |= F ? Wir beschränken uns auf den Fall, dass A endlich ist Eine mögliche Vorgehensweise: Werte F induktiv aus Berechne dazu bottom-up, für alle Teilformeln ψ von F , die Menge aller Belegungen γ der freien Variablen von ψ, die (A, β ∪ γ) |= ψ erfüllen Logik TU Do SoSe 2011 Entscheidungsprobleme für die Prädikatenlogik (1/2) PL-Resolution weist die Unerfüllbarkeit einer PL-Formel nach: Bei Eingabe einer PL-Formel F hat es C. Schubert die Ausgabe “unerfüllbar”, falls F unerfüllbar ist und keine Ausgabe, falls F erfüllbar ist Beweiskalküle Hilbertkalkül Wir hätten gerne ein Verfahren, das bei Eingabe einer PL-Formel F Algorithmen die Ausgabe “unerfüllbar” hat, falls F unerfüllbar ist und die Ausgabe “erfüllbar” hat, falls F erfüllbar ist Theorien Für die Aussagenlogik gibt es solche Verfahren: Unvollständigkeit (a) Das Auswertungsproblem für prädikatenlogische Formeln kann in Zeit O(|A|k+1 |F |) gelöst werden, wobei k die maximale Anzahl freier Variablen einer Teilformel von F ist Beweiskalküle Hilbertkalkül Algorithmen Theorien Unvollständigkeit Falls es kein solches Verfahren für die Prädikatenlogik geben sollte, lässt sich dies beweisen? Entscheidungsproblem zu einer Menge L: Gegeben “Kandidat” x, ist x ∈ L? L heißt entscheidbar, falls es einen Algorithmus gibt, der bei Eingabe x (b) Das Auswertungsproblem für prädikatenlogische Formeln ist vollständig für die Komplexitätsklasse PSPACE die Ausgabe “ja” hat, falls x ∈ L und die Ausgabe “nein” hat, falls x �∈ L Die Komplexitätsklasse PSPACE ist eine Oberklasse von NP: L heißt semientscheidbar, falls es einen Algorithmus gibt, der bei Eingabe x Sie enthält alle algorithmischen Probleme, die sich mit polynomiellem Speicherplatz lösen lassen die Ausgabe “ja” hat, falls x ∈ L und nicht anhält, falls x �∈ L “Vollständig”: Das Problem ist mindestens so schwierig wie alle PSPACE-Probleme Für eine Definition des Begriffes Algorithmus siehe GTI Klar: es gibt Mengen von PL-Formeln die nicht entscheidbar sind, denn: Das Auswertungsproblem für prädikatenlogische Formeln ist also vermutlich noch schwieriger als das Erfüllbarkeitsproblem für aussagenlogische Formeln Es gibt nur abzählbar viele Algorithmen Es gibt überabzählbar viele Mengen von Formeln 12 – 13/23 Wir betrachten jeweils das Entscheidungsproblem zu den folgenden Mengen von PL-Formeln: L1 = Menge der erfüllbaren Formeln L2 = Menge der unerfüllbaren Formeln L3 = Menge der allgemein gültigen Formeln (Tautologien) L4 = Menge der durch endliche Modelle erfüllbaren Formeln Klar: L3 ⊂ L4 ⊂ L1 C. Schubert Wahrheitstafel Resolution und viele Andere Satz 3 Entscheidungsprobleme für die Prädikatenlogik (2/2) Logik TU Do SoSe 2011 Logik TU Do SoSe 2011 Überblick 12 – 14/23 Logik TU Do SoSe 2011 C. Schubert C. Schubert Beweiskalküle Beweiskalküle Hilbertkalkül Algorithmen Hilbertkalkül 1 Beweiskalküle Theorien Algorithmen Theorien Unvollständigkeit Unvollständigkeit 2 Hilbertkalkül 3 Algorithmen 4 Theorien 5 Unvollständigkeit Satz 4 (a) L2 , L3 , L4 sind semientscheidbar, aber nicht entscheidbar (b) L1 ist nicht semientscheidbar Beweisidee 3 Dass L2 und L3 semientscheidbar sind, folgt aus dem Resolutionssatz Die Semientscheidbarkeit von L4 folgt, da die endlichen Strukturen systematisch aufgezählt werden können bis ein endliches Modell gefunden ist Die Unentscheidbarkeit von L2 , L3 , L4 folgt letztlich aus der Unentscheidbarkeit des Halteproblems für Turingmaschinen → siehe GTI Unentscheidbarkeit von L3 : Church und Turing (1936) 12 – 15/23 12 – 16/23 Axiomensysteme und Theorien (1/2) Logik TU Do SoSe 2011 Axiomensysteme und Theorien (1/2) C. Schubert Beweiskalküle Sei eine Signatur fest gewählt Eine Formelmenge T heißt Theorie, falls sie erfüllbar und unter Folgerungen abgeschlossen ist (also: falls T |= F ist F ∈ T ) Hilbertkalkül Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Satz 5 Hilbertkalkül Algorithmen (a) Jede axiomatisierbare Theorie ist semientscheidbar Algorithmen Theorien (b) Jede axiomatisierbare, vollständige Theorie ist entscheidbar Theorien Unvollständigkeit T heißt vollständig, falls für jede geschlossene Formel F gilt: F ∈ T oder ¬F ∈ T Unvollständigkeit Satz 6 (a) Th(N, +) ist entscheidbar Eine Formelmenge F ⊆ T heißt Axiomensystem für T , falls F |= T (b) Th(R, +, ×) ist entscheidbar T heißt endlich axiomatisierbar, falls es ein endliches Axiomensystem hat (c) Th(N, +, ×) ist unentscheidbar T heißt axiomatisierbar, falls es ein entscheidbares Axiomensystem für T gibt (d) Th(N, +, ×) ist nicht axiomatisierbar Ist A eine Struktur, so sei Th(A) die Menge aller in A gültigen geschlossenen Formeln (a): Presburger (1929) Klar: Th(A) ist immer vollständig (b): Tarski (1929) (c),(d): Church (1936) 12 – 17/23 Überblick Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Hilbertkalkül 1 Beweiskalküle Algorithmen Theorien Unvollständigkeit 2 3 Hilbertkalkül Theorien 5 Unvollständigkeit Die Gödelschen Unvollständigkeitssätze Zur Erinnerung: der Gödelsche Vollständigkeitssatz sagt: G |= F ⇐⇒ G � F Eine Formelmenge G heißt widerspruchsfrei, falls es keine Formel F gibt mit G � F und G � ¬F 1. Gödelscher Unvollständigkeitssatz Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Hilbertkalkül Algorithmen Theorien Unvollständigkeit Ist G widerspruchsfrei und “mindestens so ausdrucksstark wie die Peano-Arithmetik”, so gibt es eine Formel F mit G �� F und G �� ¬F Algorithmen 4 12 – 18/23 Beweisidee: Kodiere Formeln und Beweise durch Zahlen (“Gödelisierung”) und wähle dann eine Formel F , die ausdrückt, dass es für sie selbst keinen Beweis gibt Insbesondere gibt es also für die Peano-Arithmetik kein Axiomensystem F , aus dem alle wahren Aussagen in Th(N, +, ×) hergeleitet werden können 2. Gödelscher Unvollständigkeitssatz Die Widerspruchsfreiheit einer solchen Menge G lässt sich nicht aus G beweisen (im Sinne von: �) 12 – 19/23 12 – 20/23 Prädikatenlogik vs. Aussagenlogik Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Hilbertkalkül Vieles ist ähnlich in Aussagenlogik und Prädikatenlogik Aber offensichtlich ist die Prädikatenlogik mächtiger Algorithmen Theorien Unvollständigkeit Prädikatenlogik vs. Modallogik Gemäß Definition ist die Modallogik eine Erweiterung der Aussagenlogik Statt nur über eine Welt kann sie über verschiedene Welten sprechen Wie verhält sich die Modallogik zur Prädikatenlogik? Zur Beantwortung dieser Frage definieren wir für jede Kripkestruktur K = (V , E , P) eine mathematische Struktur K� mit Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Hilbertkalkül Algorithmen Theorien Unvollständigkeit Universum V der 2-stelligen Relation E und einer 1-stelligen Relation PX für jede AL-Variable X die in einer Menge P(s), s ∈ V vorkommt Wie ist denn nun das genaue Verhältnis zwischen den beiden? Aussagenlogik kann als Prädikatenlogik auf Strukturen aufgefasst werden, die ausschließlich 0-stellige Prädikate haben: Aussagenvariablen ≡ Prädikate Satz 7 Vorsicht: manches, was ähnlich heißt, hat unterschiedliche Bedeutung! Aussagenlogische Variablen entsprechen nicht prädikatenlogischen Variablen Aussagenlogische und prädikatenlogische Substitutionen entsprechen sich ebenfalls nicht (und die Notation ist unterschiedlich) Zu jeder ML-Formel F gibt es eine PL-Formel F � (x), mit nur zwei Variablen x, y , so dass für jede Kripkestruktur K und jede Welt s von K gilt: K, s |= F ⇐⇒ (K� , x �→ s) |= F � Die Formel ♦�A lässt sich beispielsweise übersetzen in: F (x) ≡ ∃y [E (x, y ) ∧ (∀x (E (y , x) → PA (x)))] 12 – 21/23 Zusammenfassung Logik TU Do SoSe 2011 C. Schubert Beweiskalküle Hilbertkalkül Gute Nachrichten: F |= F und F � F sind äquivalente Aussagen, jede Folgerung lässt sich also beweisen Um die Unerfüllbarkeit einer Formelmenge zu erkennen, genügt es, ihre endlichen Teilmengen zu betrachten Diese Aussagen gelten auch für die Prädikatenlogik mit Gleichheit Es gibt eine Vielzahl weiterer Kalküle, die F � F äquivalent definieren PL-Formeln können auf endlichen Strukturen algorithmisch ausgewertet werden Algorithmen Theorien Unvollständigkeit Schlechte Nachrichten: Fragen hinsichtlich der Erfüllbarkeit oder Gültigkeit von PL-Formeln sind algorithmisch nicht lösbar Die Gödelschen Unvollständigkeitssätze geben weitere Grenzen der formalen Methode an 12 – 23/23 12 – 22/23 Fakultät für Informatik Lehrstuhl für Software-Technologie Dr. C. Schubert, Dr. I. Battenfeld Logik für Informatiker Zum Substitutionslemma (Beispiel für Beweis mittels Struktureller Induktion) Im folgenden wird eine Aussage auf dem Beweis des Substitutionslemmas (Folie 3-7) mittels Struktureller Induktion bewiesen. Eine Substitution S ordnet jeder Aussagenvariable A eine Formel S(A) zu. Für eine beliebige Formeln F bezeichne S(F ) die Formel, die entsteht, wenn man jede Aussagenvariable A in F durch die Formel S(A) ersetzt. Formell können wir S(F ) wie folgt rekursiv definieren: S(>) = > S(⊥) = ⊥ S(A) = S(A) S(¬F ) = ¬S(F ) S(F1 ∨ F2 ) = S(F1 ) ∨ S(F2 ) S(F1 ∧ F2 ) = S(F1 ) ∧ S(F2 ) Gegegeben eine Belegung α und eine Substitution S wird eine neue Belegung αS definieren durch: αS (A) = [[S(A)]]α (1) Behauptung: Für alle Formeln F gilt [[F ]]αS = [[S(F )]]α . Beweis: Mittels Struktureller Induktion. Dafür sind die folgenden sechs Fälle zu betrachten: (1) Zeige die Behauptung für F = >: Für jede Belegung α gilt [[>]]α = 1 und nach Definition von S(F ) gilt S(>) = >. Also auch [[>]]αS = 1 = [[>]]α = [[S(>)]]α . (2) Zeige die Behauptung für F = ⊥: Analog zu (1). (3) Zeige die Behauptung für F = A für eine Aussagevariable A. Es gilt [[A]]αS = αS (A) = [[S(A)]]α (Definition von [[A]]) (Definition von αS ) (4) Nehme an, die Behauptung gilt für F und zeige damit, dass die Behauptung für ¬F gilt. Zuerst wenden wir die Definition von [[¬F ]]β für eine beliebige Belegung β an: ( 0 falls [[F ]]αS = 1 [[¬F ]]αS = 1 falls [[F ]]αS = 0 Da nach Voraussetzung [[F ]]αS = [[S(F )]]α gilt, erhalten wir: ( 0 falls [[S(F )]]α = 1 [[¬F ]]αS = 1 falls [[S(F )]]α = 0 = [[¬S(F )]]α = [[S(¬F )]]α (Definition S(F )) (5) Nehme an, die Behauptung gilt für F1 und F2 und zeige damit, dass die Behauptung für F1 ∧ F2 gilt. Wir beginnen wieder mit der Definition der Wahrheit für eine Formel der Form F1 ∧ F2 : ( 1 falls [[F1 ]]αS = 1 und [[F2 ]]αS = 1 [[F1 ∧ F2 ]]αS = 0 sonst Nach Voraussetzung gilt die Behauptung für F1 und F2 , d.h. es gilt [[Fi ]]αS = [[S(Fi )]]α . Somit können wir einsetzen: ( 1 falls [[S(F1 )]]α = 1 und [[S(F2 )]]α = 1 [[F1 ∧ F2 ]]αS = 0 sonst = [[S(F1 ) ∧ S(F2 )]]α = [[S(F1 ∧ F2 )]]α (Definition [[−]]) (Definition S(F )) (6) Für eine Formel der Form F1 ∨ F2 verläuft der Beweis analog zu Fall (5): Nehme wieder an, die Behauptung gelte für F1 und F2 und zeige damit, dass die Behauptung für F1 ∨ F2 gilt. ( 1 falls [[F1 ]]αS = 1 oder [[F2 ]]αS = 1 [[F1 ∨ F2 ]]αS = 0 sonst Nach Voraussetzung gilt die Behauptung für F1 und F2 , d.h. es gilt [[Fi ]]αS = [[S(Fi )]]α . Somit können wir einsetzen: ( 1 falls [[S(F1 )]]α = 1 oder [[S(F2 )]]α = 1 [[F1 ∨ F2 ]]αS = 0 sonst = [[S(F1 ) ∨ S(F2 )]]α = [[S(F1 ∨ F2 )]]α (Definition [[−]]) (Definition S(F )) Somit ist die Behauptung für alle Formel gezeigt. 2