Melvin Fitting First-Order Logic and Automated Theorem Proving 2. Auflage, Springer-Verlag Buch von M. Fitting Uwe Schöning Logik für Informatiker 5. Auflage, Spektrum Akademischer Verlag Buch von U. Schöning • Formalisierung und Automatisierung rationalen Denkens • Werkzeug für Anwendungen außerhalb der Informatik Künstliche Intelligenz, Wissensrepräsentation • Anwendung innerhalb der Informatik Spezifikation, Programmentwicklung, Programmverifikation Rolle der Logik in der Informatik • Rational richtige Ableitung von neuem Wissen aus gegebenem Ziel Formale Logik Ulrich Furbach Logic for Computer Scientists http://userpages.uni-koblenz.de/∼obermaie/script.htm 2 1 Abfragensprachen für Datenbanken; ... Sprachverarbeitung und Wissensrepräsentation nein: Verifikation von Hardware, Software, Protokollen • Reine Theorie ohne praktischen Nutzen? hoffentlich nein • Unverständlich? ja • Mathematisch? Was ist Logik? Skriptum von U. Furbach Literatur zur Vorlesung e-mail: [email protected] Viorica Sofronie-Stokkermans Logik für Informatiker Logik in der Informatik 4 3 Wenn formulierbare Aussage wahr im Modell, dann entsprechende Aussage wahr in Wirklichkeit Adäquatheit des Modells Modellierung Abstraktion Modellierung 6 5 v(UntenGedrückt) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr F.nach unten Aufzug mitte Unten gedruckt v(MitteGedrückt) = wahr unten mitte oben v(AufzugMitte) = wahr F.nach unten Aufzug oben Mitte gedruckt v(AufzugOben) = wahr unten mitte oben v(FährtNachUnten) = wahr F.nach unten Aufzug oben Mitte gedruckt F.nach unten Aufzug mitte v(FährtNachUnten) = wahr v(MitteGedrückt) = wahr v(AufzugMitte) = wahr v(AufzugOben) = wahr unten mitte oben Aufzug oben Mitte gedruckt v(FährtNachUnten) = wahr v(MitteGedrückt) = wahr v(AufzugMitte) = wahr v(AufzugOben) = wahr unten mitte oben Modellierung: Strukturen v(UntenGedrückt) = wahr v(FährtNachUnten) = wahr F.nach unten Aufzug mitte Unten gedruckt v(MitteGedrückt) = wahr unten mitte oben v(AufzugMitte) = wahr F.nach unten Aufzug oben Mitte gedruckt v(AufzugOben) = wahr unten mitte oben Modellierung: Strukturen 8 7 F.nach unten Aufzug oben Mitte gedruckt unten mitte oben F.nach unten Aufzug mitte Unten gedruckt unten mitte oben F.nach unten Aufzug mitte Aufzug oben Mitte gedruckt Ableitung neuer wahrer Formeln • Deduktionsmechanismus Wann ist eine Formel wahr (in einer Struktur)? Modelle (Strukturen) • Semantik welche Formeln? • Syntax Formale Logik (Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch auswertbar Aussagen beziehen sich auf Strukturen unten mitte oben Modellierung: Strukturen 10 9 AufzugOben ∨ oder → AufzugOben ∧ ¬AufzugUnten Der Aufzug ist oben und der Aufzug ist nicht unten MitteGedrückt → ¬AufzugMitte Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte Beispiele: ¬ nicht Aussagenlogik: Syntax (“wenn, dann”) impliziert Komplexe Aussagen: ∧ und Verknüpft mit logischen Operatoren MitteGedrückt Mittlerer Knopf gedrückt: Beispiele: Aufzug ist oben: Bausteine: Atomare Aussagen Die Welt besteht aus Fakten Aussagenlogik: Syntax 12 11 F.nach unten Aufzug oben Mitte gedruckt Aussagenlogik: Semantik unten mitte oben falsch in: unten mitte oben F.nach unten Aufzug mitte Unten gedruckt AufzugOben ∧ ¬AufzugUnten Der Aufzug ist oben und der Aufzug ist nicht unten wahr in: AufzugOben ∧ ¬AufzugUnten Der Aufzug ist oben und der Aufzug ist nicht unten Aussagenlogik: Semantik 14 13 Q ¬AufzugOben P AufzugUnten → ¬AufzugOben P→Q • Tableaukalkül • Resolutionskalkül • Logische Umformung • Wahrheitstafeln In dieser Vorlesung: Kalkül Deduktionsmechanismus im allgemeinen Aussagenlogik: Deduktionsmechanismus AufzugUnten Syllogismen: Ableitung neuer wahrer Formeln • Deduktionsmechanismus Aussagenlogik: Deduktionsmechanismus 16 15 • Funktionen +, Mitte von, Vater von, Anfang von, ... • Relationen/Eigenschaften rot, rund, gerade, ungerade, prim, mehrstöckig, ... ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, .. =, ≥, ... • Objekte (Elemente) Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ... Reichere Struktur Prädikatenlogik • Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade” erfordert eine Formel für jede Zahl. • Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für jeden Mensch. Beispiele: ... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft 18 17 Beispiel 1 (für alle); Beispiel 2: (es gibt) Vater (Mutter (Jan)) Vater (Mutter (x)) Mann(Jan) Frau(Vater (Jan)) ist-Bruder-von(x, Jan) Mann(Vater (x)) ist-Bruder-von(x, y ) ... 19 20 ist-Bruder-von(Jan, Anna) ist-Bruder-von(x, Anna) Mann(Vater (Jan)) Mann(Anna) Mutter (Anna) Vater (Anna) Anna Mann(x) • Eigenschaften: ist-Bruder-von; Mann; Frau Mutter (Jan) Mutter (x) Jan Vater (Jan) Vater (x) x • Funktionen: Vater, Mutter, Jan, Anna • Objekte (Elemente): Menschen x x gerade(x)∨ gerade(x + 1) ungerade(x) Formeln mit Quantoren: Quantoren: gerade(2), ungerade(5), gerade(100), ungerade(100) gerade(2)∧ ungerade(5) gerade(x) → gerade(x + 1) Formel: Relationen/Eigenschaften: gerade, ungerade Objekte (Elemente): Zahlen Funktionen: +, * Terme: 2 + 3, 3 ∗ (5 + 6), x, x + 2, x ∗ (2 − y ) E A Aussagenlogik: Die Welt besteht aus Fakten A Prädikatenlogik E : für alle • Eigenschaften: studiertIn, schlau • Funktionen: koblenz • Objekte (Elemente): Menschen • Eigenschaften: studiertIn, schlau • Funktionen: landau • Objekte (Elemente): Menschen x(studiertIn(x, landau) ∧ schlau(x)) E “Es gibt jemand, der in Landau studiert und schlau ist” x(studiertIn(x, koblenz) → schlau(x)) A “Alle, die in Koblenz studieren, sind schlau” Beispiel 3 x Mann(Vater (x)) x Mann(Mutter (x)) x, y (ist-Bruder-von(x, y ) → Mann(x)) A A A Formeln mit Quantoren: : es gibt E A Quantoren 22 21 x(Q(x) → R(x)) Q(a) studiertIn(Jan, koblenz) Beispiel: Syllogismen: R(a) x(studiertIn(x, koblenz) → schlau(x)) x(Q(x) → R(x)) Ableitung neuer wahrer Formeln • Deduktionsmechanismus Prädikatenlogik: Deduktionsmechanismus schlau(Jan) 24 23 x(schlau(x) → gute-noten(x)) x(studiertIn(x, koblenz) → gute-noten(x)) x(studiertIn(x, koblenz) → schlau(x)) x(P(x) → R(x)) x(P(x) → Q(x)) A Mann(Vater (Jan))∧ ist-Bruder-von(Jan, Anna) Syllogismen: A Mann(Mutter (Anna)) Ableitung neuer wahrer Formeln A Mann(Vater (Jan)) ∧ Frau(Mutter (Jan)) • Deduktionsmechanismus A Mann(Vater (Jan)) A Formel: Prädikatenlogik: Deduktionsmechanismus A A Beispiel 2: A Das Prinzip 25 Losung Formeln präzise Beschreibung Losung Problem z.B. natürliche Sprache 26 • sicher, d. h., ohne daß ein Eindringling (Charlie) mithören oder sich als Alice oder Bob ausgeben kann. • Annahme: es gibt eine sichere Schlüsselzentrale, mit der Alice und Bob jeweils einen gemeinsamen Schlüssel vereinbart haben. • Wird der gemeinsame Schlüssel über das Netz unverschlüsselt verschickt, könnte Charlie ihn abfangen oder austauschen. • Persönliche Übergabe kommt nicht immer in Frage. Problem: wie kommen die Gesprächspartner an den gemeinsamen Schlüssel? Beispiel: Sicherheitsprotokolle • Nur wer den Schlüssel kennt, kann das Gespräch entschlüsseln. • Alice und Bob vereinbaren einen gemeinsamen Schlüssel und nutzen ihn, um ihr Gespräch zu verschlüsseln. Hilfsmittel: Verschlüsselung • über ein unsicheres Daten- oder Telefonnetz, • Resolutionskalkül Ziel: zwei Personen (Alice und Bob) wollen miteinander kommunizieren Anwendungesbeispiel: Sicherheitsprotokole • Tableaukalkül In dieser Vorlesung: Prädikatenlogik: Deduktionsmechanismus 28 27 Alice leitet den neuen gemeinsamen Schlüssel weiter an Bob. Bob leitet Nachricht weiter an Schlüsselzentrale ( Trust“). ” 30 Schritt 4: Beispiel: Sicherheitsprotokolle Schritt 2: Beispiel: Sicherheitsprotokolle Trust schickt Nachricht an Alice. Darin: ein neuer gemeinsamer Schlüssel, einmal für Alice und einmal für Bob verschlüsselt. Alice schickt (offen) Identifikation und Zufallszahl an Bob. 29 Schritt 3: Beispiel: Sicherheitsprotokolle Schritt 1: Das folgende Schlüsselaustauschverfahren wurde 1993 von den beiden Kryptographen Neuman und Stubblebine vorgeschlagen: Beispiel: Sicherheitsprotokolle 32 31 Wir übersetzen das Problem in Formeln und lassen sie von einem Theorembeweiser untersuchen. Ist das Verfahren sicher? Beispiel: Sicherheitsprotokolle Alice und Bob können nun mit dem gemeinsamen Schlüssel kommunizieren. Schritt 5: Beispiel: Sicherheitsprotokolle 34 33 Beispiel: Sicherheitsprotokolle Formalisierung x[Ik(key (x, b)) ∧ Bk(key (x, a))] Dies ist dann der Fall, wenn er einen Schlüssel zur Kommunikation mit Bob hat, von dem Bob glaubt, es sei ein Schlüssel für Alice. Zum Schluss müssen wir noch formalisieren was es bedeutet, dass der Angreifer Erfolg hat. ... • Wenn Charlie eine Nachricht hat, dann kann er sie an Alice/Bob/Trust abschicken. • Wenn Charlie eine verschlüsselte Nachricht bekommt und den passenden Schlüssel hat, kann er sie entschlüsseln. • Wenn eine Nachricht übermittelt wird, kann Charlie sie mithören. Dann formalisieren wir die Eigenschaften des Angreifers: • Wenn Alice/Bob/Trust eine Nachricht in einem bestimmten Format bekommt, dann schickt er/sie eine andere Nachricht ab. Zuerst formalisieren wir die Eigenschaften des Protokolls: E 36 35 Gültige Formel Modelle: Semantik Korrektheit Vollständigkeit Beweisbare Formel Kalkül Prädikatenlogik Formel Aussagenlogik / Gültige Formel Modelle: Semantik Korrektheit Vollständigkeit Beweisbare Formel Kalkül Deduktion (automatische) Prädikatenlogik Formel Aussagenlogik / Logische Sprache: Syntax Formalisierung Formalisierung Logische Sprache: Syntax Probleme (Beschreibung in natürlicher Sprache) 38 Beweisbare Formel Kalkül Das ganze Bild Korrektheit Vollständigkeit Formel Probleme Logik 37 Gültige Formel Modelle: Semantik Prädikatenlogik Logische Sprache: Syntax Aussagenlogik / Modellierung Formalisierung (Beschreibung in natürlicher Sprache) Probleme Das ganze Bild (Beschreibung in natürlicher Sprache) Das ganze Bild Der Theorembeweiser beweist dann automatisch, dass der Angreifer das Protokoll brechen kann. Die Formalisierung des Protokolls, Formeln (1)-(8) zusammen mit den Angreiferformeln (9)-(20) und der Erfolgsbedingung für den Angreifer kann man nun in einen Theorembeweiser eingeben. Automatische Analyse Logik Logik 40 39 – Vollständigkeit und Korrektheit von Kalkülen – Formel in der “wahren Welt” / (semantisch) gültige Formel, gültige Formel / ableitbare Formel • The Whole Picture: • Beispiel Prädikatenlogik: Syntax, Semantik, Syllogismen - mit Hilfe von Inferenzregeln - bzgl. eines vorgegebenen Axiomensystems Mathematischer Beweis - als Formel: A → B • Beispiel Aussagenlogik: Syntax, Semantik, Syllogismen - haben oft die Form: Wenn A, dann B. Mathematische Aussagen Mathematisches Beweisen • Wesentliche Komponenten für jede Logik: Syntax, Semantik, Deduktionsmechanismus (Kalkül) 42 41 1. Grundlegende Beweisstrategien • Modellierung, Adäquatheit der Modellierung • Ziel und Rolle der Formalen Logik in der Informatik Einführung: Zusammenfassung • 4. Weitere Aussichten - Nichtklassische Logiken; Logiken höherer Stufe - Anwendungen: z.B. Datenbanken oder Verifikation – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux – Syntax und Semantik • 3. Prädikatenlogik – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux – Syntax und Semantik • 2. Aussagenlogik • 1. Einführung: Motivation, Beweisstrategien (insb. Induktion) Inhalt der Vorlesung 44 43 45 √ Beweis: Angenommen, n = k wäre ungerade. Dann ist wegen der bereits bewiesenen Behauptung auch k 2 = n ungerade, und das ist ein Widerspruch zu der Voraussetzung, dass n gerade ist. √ Also ist die getroffene Annahme falsch, d.h., n ist gerade. Behauptung: Ist die Wurzel aus einer geraden natürlichen Zahl n eine natürliche Zahl, so ist diese gerade. - Beweis durch Widerspruch: Beweise dass A ∧ ¬B → falsch - Beweis durch Kontraposition: Beweis von ¬B → ¬A. Mathematische Aussagen der Form A → B (Wenn A, dann B) Grundlegende Beweisstrategien Aus der Möglichkeit, n2 so darzustellen folgt, dass n2 ungerade ist. Beweis: Es sei n eine ungerade natürliche Zahl. Dann lässt sich n als n = 2k + 1 darstellen, wobei k ∈ N. Daraus folgt mit Hilfe der ersten binomischen Formel, dass: 2 2 2 2 n = (2k + 1) = 4k + 4k + 1 = 2 · (2k + 2k) + 1. 46 p q 47 wobei der Bruch p/q in gekürzter 2 p = 2, d.h: p 2 = 2q 2 . q 48 Da 2q 2 eine gerade Zahl ist, ist auch p 2 gerade. Daraus folgt, dass auch p gerade ist, d.h. p = 2r (wobei r ∈ Z). Damit erhält man mit obiger Gleichung: 2q 2 = p 2 = (2r )2 = 4r 2 , und hieraus nach Division durch 2: q 2 = 2r 2 . Mit der gleichen Argumentation wie zuvor folgt, dass q 2 und damit auch q eine gerade Zahl ist. Da p und q durch 2 teilbar sind, erhalten wir einen Widerspruch zur Teilerfremdheit von p und q. Dieser Widerspruch zeigt, dass die √ Annahme, 2 sei eine rationale Zahl, falsch ist und daher das Gegenteil gelten muss. Damit √ ist die Behauptung, dass 2 irrational ist, bewiesen. Form vorliegt (d.h. p und q teilerfremde ganze Zahlen sind). Dann √ Behauptung: 2 6∈ Q. √ √ Beweis: Wir nehmen an dass 2 ∈ Q und somit 2 = - Beweis durch Widerspruch Um A zu beweisen: Annahme: A ist falsch (die Negation von A ist wahr) Zeige, dass dies zu einem Widerspruch führt. Grundlegende Beweisstrategien - Äquivalenzbeweis (A ⇔ B) (A genau dann, wenn B) Beweise dass A → B und dass B → A. (Wenn A, dann B, und wenn B, dann A.) - Direkter Beweis: Annahme: A gilt. Benutze A, Axiome, und Inferenzregeln um B zu beweisen. Behauptung: Das Quadrat einer ungeraden natürlichen Zahl n ist stets ungerade. Mathematische Aussagen, die nicht die Form A → B haben Grundlegende Beweisstrategien Mathematische Aussagen der Form A → B (Wenn A, dann B) Grundlegende Beweisstrategien 1: 2: 3: 4: p p p p = = = = 4k 4k + 1 4k + 2 4k + 3 = 4(k + 1) − 1 Es sei angemerkt, dass die Fallunterscheidung zwar vollständig sein muss, aber die untersuchten Fälle sich nicht gegenseitig ausschließen müssen. - Beweis durch Fallunterscheidung Um B zu beweisen, beweise dass A1 → B, . . . , An → B, wobei A1 ∨ · · · ∨ An ≡ wahr Grundlegende Beweisstrategien 50 49 Im ersten dieser Fälle ist p durch 4 teilbar und damit keine Primzahl, im dritten Fall ist p durch 2 teilbar und somit ebenfalls keine Primzahl. Also muss einer der Fälle zwei oder vier eintreten, das heißt p hat die Form p = 4 · k + 1 oder p = 4 · k − 1 mit k ∈ N. Fall Fall Fall Fall Beweis: Man unterscheidet folgende vier Fälle für p, von denen immer genau einer eintritt: n ∈ N : (n ist gerade und | √ p(n) q(n) √ n ist eine natürliche Zahl → n ist gerade). | {z } {z } Beweis: A(x) : x 2 − 2x + 1 = 0 Sei a = 1. Wir zeigen, dass A(a) wahr ist: Damit folgt x ∈ N : A(x) Behauptung: x ∈ N : x 2 − 2x + 1 = 0 a2 − 2a + 1 = 12 − 2 + 1 = 0. Sei a ein geeignetes Element aus U. Beweise, dass A(a) wahr ist. Damit folgt x ∈ U : A(x). x ∈ U A(x) Aussagen mit Quantoren Grundlegende Beweisstrategien 52 51 Beweis: Sei n beliebig aus N. √ √ Wir zeigen, dass wenn n gerade ist und n eine natürliche Zahl ist, dann n gerade ist. (Dies wurde auf Seite 46 bewiesen.) Behauptung: E Behauptung: Jede Primzahl p≥3 hat die Form p = 4·k + 1 oder p = 4·k − 1 mit k ∈ N. Wähle a beliebig aus U. Beweise, dass p(a) → q(a). Da a beliebig gewählt werden kann, folgt x ∈ U : p(x) → q(x) x ∈ U : (p(x) → q(x)) Aussagen mit Quantoren E - Beweis durch Fallunterscheidung Um B zu beweisen, beweise dass A1 → B, . . . , An → B, wobei A1 ∨ · · · ∨ An ≡ wahr Grundlegende Beweisstrategien E E Grundlegende Beweisstrategien A A A Sei a ein geeignetes Element aus U. Beweis der Implikation p(a) → q(a). Damit folgt x ∈ U : p(x) → q(x). x ∈ U (p(x) → q(x)) Sei a ein geeignetes Element aus U. Beweise, dass A(a) wahr ist. Damit folgt x ∈ U : A(x). Beweise mittels Vollständiger Induktion Grundlegende Beweisstrategien E E x ∈ U A(x) Aussagen mit Quantoren Grundlegende Beweisstrategien E E 54 53 0 ist eine natürliche Zahl Jede natürliche Zahl n hat einen Nachfolger S(n) Aus S(n) = S(m) folgt n = m 0 ist nicht Nachfolger einer natürlichen Zahl Jede Menge X , die 0 und mit jeder natürlichen Zahl n auch deren Nachfolger S(n) enthält, umfasst alle natürlichen Zahlen. (A1) (A2) (A3) (A4) (A5) Idee: Definition der natürlichen Zahlen Induktion über die natürlichen Zahlen Hier: Strukturelle Induktion Noethersche Induktion (noetherian induction/ induction over well-founded partially ordered sets) Generalization Induktion über die natürlichen Zahlen N (natural induction) Einfache Version Wesentliches Beweisprinzip in Mathematik und Logik Induktion 56 55 A so Falls Induktionsbasis Induktionsschritt n∈N:n∈X n ∈N:n ∈X →n+1∈X 0 ∈ X , und Induktionsbasis: Induktionsschritt: (1) (2) für ein beliebiges n ∈ N Beweise p(n) → p(n + 1) Beweise p(0) Struktur eines Induktionsbeweises Induktion über die natürlichen Zahlen A Induktionssatz Gelten die beiden Aussagen: - p(0) und - n ∈ N : p(n) → p(n + 1), dann gilt auch n ∈ N : p(n). X Menge: Jede Menge X , die 0 und mit jeder natürlichen Zahl n auch deren Nachfolger S(n) enthält, umfasst alle natürlichen Zahlen. A (A5) Induktion über die natürlichen Zahlen A A 58 57 1 2 3 Beispiel i=0 Induktionsvoraussetzung p(n) Folgere p(n + 1) aus der n ∈ N gilt p(n) Für ein beliebig gewähltes Beweise p(0) i=0 (2i + 1) = ( i=0 n−1 X i=0 p(n) i=0 2 Folgere p(n + 1) aus p(n) n X 2 (2i + 1) = (n + 1) . p(n + 1) : Für ein beliebig gewähltes n−1 X 2 (2i + 1) = n n ∈ N gilt p(n): Beweise p(0) OK 2 (2i + 1)) + (2n + 1) = n + (2n + 1) = (n + 1) . Induktionsschluss: (3) n X Induktionsvoraussetzung: (2) Beweis: Induktionsbasis: (1) Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 . n−1 X Für alle n ∈ N, (2i + 1) = n2 . n−1 X i=0 p(n) : (2i + 1) = n2 0 Induktionsschluss: Induktionsvoraussetzung: (3) Induktionsbasis: (1) (2) Struktur eines Induktionsbeweises Induktion über die natürlichen Zahlen 60 59 A A n ∈ N : p(n). dann gilt die Aussage n ∈ N : p(n). n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) n ∈ N : p(n). A A Gilt die Aussage: Äquivalent A dann gilt die Aussage A A p(0) und n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1) Gelten die beiden Aussagen: Verallgemeinerte vollständige Induktion Wohlfundierte (Noethersche) Induktion dann gilt die Aussage A p(0) und n ∈ N : ( k ∈ N : (k < n + 1 → p(k)) → p(n + 1)) Gelten die beiden Aussagen: Äquivalent 62 61 n ∈ N : p(n) n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P Beweis: Zu zeigen: P → Q dann gilt Theorem: Falls Wohlfundierte (Noethersche) Induktion Induktionsvoraussetzung: p(k) gilt für alle k < n Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung. Sei n ∈ N, n ≥ n0 . P Q Sei Y = {n ∈ N | ¬p(n)} = 6 ∅. Dann hat Y ein minimales Element m, d.h. m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P. > wohlfundierte Ordnung auf N: es gibt keine unendliche Folge x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . . Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n). E n ∈ N : p(n). A A dann gilt die Aussage n ≥ n0 : P(n) A A p(0) und n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1) Zu zeigen: E Gelten die beiden Aussagen: A A Verallgemeinerte vollständige Induktion Vollständige Induktion A Wohlfundierte (Noethersche) Induktion A 64 63 n ∈ N : p(n) n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) A dann gilt E - < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . ) - < Ordnung auf A - beliebige Menge A statt N Verallgemeinerung n ∈ N : p(n) A n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) A Theorem: Falls A Wohlfundierte (Noethersche) Induktion A P Q Q P Sei Y = {n ∈ N | ¬p(n)} 6= ∅. Dann hat Y ein minimales Element m, d.h. m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P. > wohlfundierte Ordnung auf N: es gibt keine unendliche Folge x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . . Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n). E Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P Beweis: Zu zeigen: P → Q dann gilt Theorem: Falls A A Wohlfundierte (Noethersche) Induktion A 66 65 • Bei Induktionsschritt die Grenzfälle nicht bedacht • Induktionsanfäng inkorrekt • es gibt unendliche absteigende Ketten x1 > x2 > . . . Häufige Fehler bei Induktionsbeweisen Fehlerquellen Multipliziert man diese beiden Produkte miteinander, so erhält man eine Darstellung für n. Da aber ki < n, i = 1, 2 ist nach Induktionsvoraussetzung bereits eine Darstellung als Produkt von Primzahlen für ki bekannt. Fall 2: n keine Primzahl. Dann n = k1 · k2 , mit k1 , k2 ∈ N, k1 , k2 ≥ 2. Fall 1: n Primzahl. Dann lässt sich n als Produkt von Primzahlen darstellen (n = n) Fallunterscheidung: Induktionsvoraussetzung: p(k) gilt für alle k < n Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung. Beweis: Sei n ∈ N, n ≥ 2, beliebig gewählt. Satz: Jede natürliche Zahl n ≥ 2 lässt sich als Produkt von Primzahlen darstellen. p(n): n ≥ 2 → n lässt sich als Produkt von Primzahlen darstellen. Beispiel 68 67 Nun kann die Induktionsbehauptung angewendet werden und alle verbliebenen haben die gleiche Haarfarbe (mit dem rechts außen). Der Mensch links außen wird rausgeschickt. Es bleiben nur n Menschen. n + 1 Menschen werden in eine Reihe gestellt. Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt. Induktionsvoraussetzung: p(n) wahr. p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe Behauptung: Alle Menschen haben die gleiche Haarfarbe Was ist hier falsch? Fehlerquellen Für eine Menge mit nur einem Menschen gilt die Behauptung trivial Induktionbasis: n = 1 p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe Behauptung: Alle Menschen haben die gleiche Haarfarbe Was ist hier falsch? Fehlerquellen 70 69 Bei der strukturellen Induktion werden Eigenschaften für Mengen bewiesen, deren Elemente aus Grundelementen durch eine endliche Anzahl von Konstruktionsschritten (unter Verwendung bereits konstruierter Elemente) bzw. mittels eines Erzeugungssystems entstehen. Bei der vollständigen Induktion werden Eigenschaften der natürlichen Zahlen bewiesen. Strukturelle Induktion Also haben alle n + 1 Menschen die gleiche Haarfarbe. Also haben die beiden außen die gleiche Haarfarbe, wie die in der Mitte, und die haben auch alle die gleiche Haarfarbe Der Mensch rechts außen wird rausgeschickt. Es bleiben nur n Menschen. Die Induktionsbehauptung kann angewendet werden und alle verbliebenen haben die gleiche Haarfarbe (mit dem links außen). n + 1 Menschen werden in eine Reihe gestellt. Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt. Induktionsvoraussetzung: p(n) wahr. p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe Behauptung: Alle Menschen haben die gleiche Haarfarbe Was ist hier falsch? Fehlerquellen 72 71 Wenn f ∈ Σ mit Stelligkeit n und Erzeugungsregel: Wenn n ∈ N, dann gilt n + 1 ∈ N Erzeugungsregel: (3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: N ⊆ A. (2) Falls n ∈ N so n + 1 ∈ N. (1) 0 ∈ N Das bedeutet, dass: (2) für alle Elemente n, falls n ∈ A so n + 1 ∈ A. (1) A enthält 0; N ist die kleinste aller Mengen A mit folgenden Eigenschaften: 0 Basismenge: (1) Menge N aller natürlichen Zahlen Induktive Definitionen: Beispiele • mit der Eigenschaft, dass für alle f ∈ Σ mit Stelligkeit n und alle e1 , . . . , en ∈ M: f (e1 , . . . , en ) ∈ M. M ist die kleinste Menge, • die die Basismenge B enthält, e1 , . . . , en ∈ M, dann gilt f (e1 , . . . , en ) ∈ M. B Basismenge: (Konstruktoren sind Funktionssymbole; für f ∈ Σ, a(f ) ∈ N ist die Stelligkeit von f .) Induktive Definition einer Menge M aus einer Basismenge B mit “Konstruktoren” in Σ. Induktive Definition von Mengen: Induktive Definitionen 74 73 dann gilt wa ∈ Σ∗ Wenn w ∈ Σ∗ und a ∈ Σ, Das leere Wort ǫ ∈ Σ∗ = Tree( , ) Beispiele: Erzeugungsregel: Basismenge: = Tree( , B1 ) B2 Tree(B1 , B2 ) = Tree( Wenn B1 , B2 ∈ Bin, dann ist auch Tree(B1 , B2 ) ∈ Bin. ◦ Baum mit nur einem Knoten. (3) Bin : die Menge aller (vollständigen) binären Bäume , ) Induktive Definitionen: Beispiele (3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: Σ∗ ⊆ A. (2) Falls w ∈ Σ∗ und a ∈ Σ so wa ∈ Σ∗ . (1) ǫ ∈ Σ∗ Das bedeutet, dass: (2) für alle Elemente w , falls w ∈ A und a ∈ Σ, so wa ∈ A. (1) A enthält das leere Wort ǫ Σ∗ ist die kleinste aller Mengen A mit folgenden Eigenschaften: Erzeugungsregel: Basismenge: (2) Menge Σ∗ aller Wörter über ein Alphabet Σ Induktive Definitionen: Beispiele 76 75 Tree(B1 , B2 ) ∈ Bin. Wenn B1 , B2 ∈ Bin, dann ist auch ◦ Baum mit nur einem Knoten. (atomare Formeln) F1 → F2 , F1 ↔ F2 aussagenlogische Formeln dann sind auch ¬F1 , F1 ∧ F2 , F1 ∨ F2 , Wenn F1 , F2 aussagenlogische Formeln sind, Erzeugungsregel: aussagenlogische Formeln ⊥ (falsch), ⊤ (wahr), P0 , P1 , P2 , . . . sind Basismenge: (4) Menge aller aussagenlogischen Formeln Induktive Definitionen: Beispiele (3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: Bin ⊆ A. (2) Falls B1 , B2 ∈ Bin so Tree(B1 , B2 ) ∈ Bin. (1) ◦ ∈ Bin Das bedeutet, dass: (2) für alle Elemente B1 , B2 , falls B1 , B2 ∈ A so Tree(B1 , B2 ) ∈ A. (1) A enthält der Baum mit nur einem Knoten ◦. Bin ist die kleinste aller Mengen A mit folgenden Eigenschaften: Erzeugungsregel: Basismenge: (3) Bin : die Menge aller (vollständigen) binären Bäume Induktive Definitionen: Beispiele 78 77 Induktive Definitionen Wenn f ∈ Σ mit Stelligkeit n und Erzeugungsregel: x ∈ M : P(x) Induktionsschluss: Folgere, dass P(e) gilt. Induktionsvoraussetzung: Wir nehmen an, dass P(e1 ), . . . , P(en ) gelten. Dann e = f (e1 , . . . , en ), mit f ∈ Σ und e1 , . . . , en ∈ M. (2) Sei e ∈ M, e 6∈ B. (1) Induktionsbasis: Beweise, dass für alle b ∈ B, P(b) gilt. Zu zeigen: Strukturelle Induktion (3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: M ⊆ A. (2) Falls e1 , . . . , en ∈ M und f ∈ Σ (mit Stelligkeit n), so f (e1 , . . . , en ) ∈ M. (1) B ⊆ M Dass bedeutet, dass: (2) für alle Elemente e1 , . . . , en ∈ A, und alle f ∈ Σ (mit Stelligkeit n), ist auch f (e1 , . . . , en ) in A. (1) A enthält die Basismenge B M ist die kleinste aller Mengen A mit folgenden Eigenschaften: e1 , . . . , en ∈ M, dann gilt f (e1 , . . . , en ) ∈ M. B Basismenge: Induktive Definition einer Menge M aus einer Basismenge B mit Operationssymbole (“Konstruktoren”) Σ (wobei a(f ) Stelligkeit von f für f ∈ Σ). Induktive Definition von Mengen: A 80 79 Wenn w ∈ Σ∗ und a ∈ Σ, Erzeugungsregel: rev(wa) = a rev(w ) mit w ∈ rev(ǫ) = ǫ Σ∗ und a ∈ Σ. Sei die Umkehrung (Reverse) eines Wortes wie folgt definiert: dann gilt wa ∈ Σ∗ Das leere Wort ǫ ∈ Σ∗ Basismenge: Σ∗ : die Menge aller Wörter über ein Alphabet Σ Beispiel A Da M die kleinste aller Mengen mit Eigenschaften (1) und (2) ist, folgt, dass M ⊆ A = {e | P(e) wahr }, d.h. m ∈ M, P(m) wahr. (2) Da wir, aus der Annahme dass P(e1 ), . . . , P(en ) wahr sind, beweisen können, dass auch P(e) wahr ist, wissen wir, dass falls e1 , . . . , en ∈ A, und f ∈ Σ (mit Stelligkeit n), so f (e1 , . . . , en ) in A. (1) Da bewiesen werden kann, dass für alle b ∈ B, P(b) gilt, wissen wir, dass A die Basismenge B enthält. Beweis: Sei A = {e | P(e) wahr }. Dann gilt P(m) für alle m ∈ M. (Induktionsbasis) (Induktionsvoraussetzung) (Induktionsschritt) (1) bewiesen werden kann, dass für alle b ∈ B, P(b) gilt. 82 81 beliebig. wobei: p(w2 ) : w2 ∈ Σ, p(w2 ) rev(w1 w2 ) rev(w1 (wa)) = rev((w1 w )a) = a rev(w1 w ) a rev(w )rev(w1 ) (a rev(w ))rev(w1 ) = rev(wa)rev(w1 ) rev(w2 )rev(w1 ) = = = = Induktionsschluss: Wir beweisen, dass dann p(w2 ) gilt. 84 (Definition von rev) (Induktionsvoraussetzung) (Definition von rev) rev(w1 w2 ) = rev(w2 )rev(w1 ) Induktionsvoraussetzung: Wir nehmen an, dass p(w ) gilt, d.h. dass rev(w1 w ) = rev(w )rev (w1 ). (2) Sei w2 ∈ Σ∗ , w2 6= ǫ. Dann w2 = wa. Zu zeigen: wobei: p(w2 ) : w1 , w2 ∈ Σ, rev(w1 w2 ) = rev(w2 )rev (w1 ) Sei w1 ∈ Σ∗ , beliebig. Zu zeigen: Beispiel Beweis: rev(w1 ǫ) = rev(w1 ) = ǫrev (w1 ) = rev(ǫ)rev (w1 ). 83 rev(w1 w2 ) = rev(w2 )rev(w1 ) (1) Induktionsbasis: Wir zeigen, dass die Eigenschaft gilt für w2 = ǫ (d.h. dass P(ǫ) : rev(w1 ǫ) = rev(ǫ)rev(w1 ) wahr ist). Induktion über die Struktur von w2 . Zu zeigen: w2 ∈ Σ∗ , p(w2 ) Sei w1 ∈ A (2) falls e = f (e1 , . . . , en ) mit f ∈ Σ unter der Annahme dass P(e1 ), . . . , P(en ) gelten wir beweisen können, dass auch P(e) gilt Beispiel w1 , w2 ∈ Σ∗ , rev(w1 w2 ) = rev(w2 )rev (w1 ) Σ∗ , Zu zeigen: A Satz. Falls: A Strukturelle Induktion A B2 Falls B n ≥ 1 Blätter hat, dann besitzt B genau n − 1 innere Knoten. Beweis: Sei B Baum, der nur aus einem Knoten besteht. Dann besteht T nur aus einem Blatt, und B hat keinen inneren Knoten. d.h. P(B) gilt. (1) Induktionsbasis: Wir zeigen, dass P(B) gilt wenn B nur aus einem Knoten ◦ besteht. P(B) : Behauptung: Für alle B ∈ Bin, falls B n Blätter hat, so besitzt B genau n − 1 innere Knoten. Beispiel 2 B1 Tree(B1 , B2 ) 85 86 nach Induktionsvoraussetzung 1 + (n1 − 1) + (n2 − 1) (n1 + n2 ) − 1 = n − 1. = = • Strukturelle Induktion • Fehlerquellen • Induktion über die natürlichen Zahlen • Grundlegende Beweisstrategien Zusammenfassung B ∈ Bin, P(B) gilt. nach Definition von B = Tree(B1 , B2 ) 1 + m1 + m2 = Somit ist es bewiesen, dass m • mit m, m1 , m2 als Anzahl innerer Knoten von B, B1 bzw. B2 : • n = n1 + n2 , wobei n, n1 , n2 Anzahl der Blätter von B, B1 bzw. B2 sind. Beweis: Sei B = Tree(B1 , B2 ). Dann gilt: Induktionsschluss: Wir beweisen, dass P(B) gilt. Wenn B1 , B2 ∈ Bin, dann ist auch Tree(B1 , B2 ) ∈ Bin. Induktionsvoraussetzung: Wir nehmen an, dass P(B1 ), P(B2 ) gelten. ◦ Baum mit nur einem Knoten. Erzeugungsregel: (2) Sei B ∈ Bin, B nicht in der Basismenge, d.h. B = Tree(B1 , B2 ). Beispiel 2 ... ctd. Basismenge: Bin : Menge allen (vollständigen) binären Bäume Beispiel 2 A 88 87 Beispiel: Das 8-Damen Problem Man platziere acht Damen so auf einem Schachbrett, dass sie sich gegenseitig nicht bedrohen. 23.04.2013 Teil 1 2. Aussagenlogik 90 89 91 D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4 • keine andere Dame auf Feld (4,8), (6,6), (7,5), (8,4) D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3 92 • keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3) D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87 • keine andere Dame auf Feld (1,7), (2,7), (3,7), (4,7),(6,7), (7,7), (8,7) D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1 • keine andere Dame auf Feld (5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1) Falls auf dem Feld (5, 7) eine Dame steht: Einschränkungen pro Feld: Fij Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr. Beispiel: Das 8-Damen Problem Wir benutzen kartesische Koordinaten zur Notation von Positionen Mit der Vorstellung, dass Dij den Wert wahr hat, wenn auf dem Feld (i, j) eine Dame steht. Dij Für jedes Feld des Schachbretts eine aussagenlogische Variable Beschreibung des Problems Beispiel: Das 8-Damen Problem {z F57 } ist. • Rk für alle 1 ≤ k ≤ 8 • Fij für alle 1 ≤ i, j ≤ 8 Lösung des 8-Damen Problems: Eine aussagenlogische Struktur beschreibt eine Lösung des 8-DamenProblems genau dann, wenn sie ein Modell der Formeln ⊥ Symbol für die Formel “falsch” ( ) die beiden Klammern ↔ Symbol für Äquivalenz (“genau dann, wenn”) → Implikationssymbol (“wenn . . . dann”) ∨ Disjunktionssymbol (“oder”) ∧ Konjunktionssymbol (“und”) ¬ Negationssymbol (“nicht”) ⊤ Symbol für die Formel “wahr” Syntax der Aussagenlogik: Logische Zeichen Modell für Fij (Rk ): Wahrheitswerte für die atomaren Aussagen Dij so dass Fij wahr (bzw. Rk wahr). 94 93 Ableitung neuer wahrer Formeln • Deduktionsmechanismus Wann ist eine Formel wahr (in einer Struktur)? Modelle (Strukturen) • Semantik welche Formeln? • Syntax Formale Logik Struktur: Wahrheitswerte für die atomaren Aussagen Dij Beispiel: Das 8-Damen Problem Rk := D1,k ∨ D2,k ∨ D3,k ∨ D4,k ∨ D5,k ∨ D6,k ∨ D7,k ∨ D8,k Für jedes k mit 1 ≤ k ≤ 8: Globale Einschränkungen | D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4 D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3 D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87 D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1 Einschränkungen pro Feld: Fij Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr. Beispiel: Das 8-Damen Problem 96 95 Π = {P0 , P1 , . . . } Elemente von ForΠ . ¬F , (F ∧ G ), (F ∨ G ), (F → G ), (F ↔ G ) • Wenn F , G ∈ ForΠ , dann auch • Π ⊆ ForΠ • ⊤ ∈ ForΠ und ⊥∈ ForΠ Die kleinste Menge mit: Definition: Menge ForΠ der Formeln über Π: Formeln der Aussagenlogik • Aussagenvariablen • Atome • atomare Aussagen Bezeichnungen für Symbole in Π oder Π = {P0 , . . . , Pn } Abzählbare Menge von Symbolen, etwa Vokabular der Aussagenlogik 98 97 (F ↔ G ) | (Äquivalenz) (Implikation) (Disjunktion) (Konjunktion) (Negation) (atomare Formel) (Verum) (Falsum) >p ∧ >p ∨ >p → >p – ∨ und ∧ sind assoziativ und kommutativ, – ¬ ↔ (Präzedenzen), • Klammereinsparungen werden nach folgenden Regeln vorgenommen: Konventionen zur Notation (F → G ) (F ∧ G ) | (F ∨ G ) ¬F | | P, | | ⊤ | P∈Π ⊥ ::= Menge der Formeln über Π: F, G, H ForΠ Aussagenformeln 100 99 >p ∧ >p ∨ >p → >p ↔ sind Formeln D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1 “Wenn auf dem Feld (5, 7) eine Dame steht, kann keine Dame auf Feld (5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1) stehen”: Formeln Beispiel 1 B 7→ falsch, F 7→ wahr, E 7→ wahr B 7→ wahr, F 7→ wahr, E 7→ falsch • Bier, Fisch, keine Eiscreme erfüllt alle Diätregeln Formalisierung: • kein Bier, Fisch und Eiscreme erfüllt 3. Diätregel nicht! z.B.: Wir möchten wissen, welche Menüs solche Diätregeln erfüllen. ◮ E ∨¬B→ ¬F ◮ F ∧B→ ¬E ◮ E ∨¬B→ ¬F Wenn ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht an. ◮ F ∧B→ ¬E Immer wenn ich Fisch und Bier zur selben Mahlzeit habe, verzichte ich auf Eiscreme. ◮ ¬B→F ◮ ¬B→F 102 101 Beispiel 1 Wenn ich kein Bier zu einer Mahlzeit trinke, dann habe ich immer Fisch. Di,j bedeutet: Auf dem Feld (i, j) steht eine Dame. (Präzedenzen), Aussagenlogische Variablen Beispiel: 8-Damenproblem Wir schreiben P ∧ Q ∧ R statt (P ∧ Q) ∧ R. ⊥, P, ¬Q, P ∧ ¬Q, (P ∨ (¬R ∧ ⊤)) Beispiele: Π = {P, Q, R} – ∨ und ∧ sind assoziativ und kommutativ, – ¬ • Klammereinsparungen werden nach folgenden Regeln vorgenommen: Konventionen zur Notation 104 103 Wir werden Wertebelegungen auch Aussagenlogische Strukturen, Aussagenlogische Modelle oder Interpretationen nennen. A : Π → {0, 1} Eine Valuation (Wertebelegung) ist eine Abbildung Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus dem Kontext zur Verfügung stehen. Aussagenvariablen für sich haben keine Bedeutung. Π eine aussagenlogische Signatur Semantik der Aussagenlogik A(B) = 1, A(F ) = 1, A(E ) = 0 • Bier, Fisch, keine Eiscreme erfüllt alle Diätregeln A : {B, F , E } → {0, 1} A(B) = 0, A(F ) = 1, A(E ) = 1 0:falsch, 1:wahr Formalisierung: • kein Bier, Fisch und Eiscreme erfüllt 3. Diätregel nicht! z.B.: Wir möchten wissen, welche Menüs solche Diätregeln erfüllen. ◮ E ∨¬B→ ¬F ◮ F ∧B→ ¬E ◮ ¬B→F Beispiel 1 106 105 1 0 0 C Semantik der Aussagenlogik (Bei drei Symbolen gibt es 8 mögliche Modelle) A∗ (P) = A(P) A∗ (⊤) = 1 A∗ (⊥) = 0 A∗ : ForΠ → {0, 1} wird wie folgt definiert: Sei A : Π → {0, 1} eine Wertebelegung. Auswertung von Formeln B A Beispiel: A : Π → {0, 1} Eine Wertebelegung ist eine Abbildung Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus dem Kontext zur Verfügung stehen. Aussagenvariablen für sich haben keine Bedeutung. Π eine aussagenlogische Signatur Semantik der Aussagenlogik 108 107 0 1 A∗ (F ) falls =0 A∗ (F ) = 1 falls 109 A∗ (F1 ) = A∗ (F2 ) = 0 A∗ (F1 ) = 1 oder A∗ (F2 ) = 1 falls falls 0 A (F1 ∧ F2 ) = 1 ∗ A∗ (F1 ) = 0 oder A∗ (F2 ) = 0 A∗ (F1 ) = A∗ (F2 ) = 1 falls falls 1 A (F1 → F2 ) = 0 1 A∗ (F1 ↔ F2 ) = 0 sonst falls falls falls A∗ (F1 ) = A∗ (F2 ) A∗ (F1 ) = 1 und A∗ (F2 ) = 0 A∗ (F1 ) = 0 oder A∗ (F2 ) = 1 A∗ : ForΠ → {0, 1} wird wie folgt definiert: ∗ Sei A : Π → {0, 1} eine Wertebelegung. A∗ : ForΠ → {0, 1} wird wie folgt definiert: Auswertung von Formeln Sei A : Π → {0, 1} eine Wertebelegung. 110 A∗ (F1 ) = A∗ (F2 ) = 1 A∗ (F1 ) = 0 oder A∗ (F2 ) = 0 falls falls Semantik der Aussagenlogik 0 1 0 ∗ A (F1 ∨ F2 ) = 1 A∗ (F1 ∧ F2 ) = Auswertung von Formeln Semantik der Aussagenlogik A∗ (¬F ) = Sei A : Π → {0, 1} eine Wertebelegung. A∗ : ForΠ → {0, 1} wird wie folgt definiert: Sei A : Π → {0, 1} eine Wertebelegung. Auswertung von Formeln Semantik der Aussagenlogik A∗ : ForΠ → {0, 1} wird wie folgt definiert: Auswertung von Formeln Semantik der Aussagenlogik 112 111 1 1 0 0 1 0 1 → 0 1 1 0 0 1 1 0 1 0 ↔ 0 1 0 0 1 0 ∨ 1 0 1 1 1 1 Wir schreiben normalerweise A statt A∗ . z.B. : B∨ (0, 1) = (0 ∨ 1) = 1; B→ (1, 0) = (1 → 0) = 0 Bρ (x, y ) berechnet entschpr. der Wahrheitstafel für ρ A∗ (F ρG ) = Bρ (A∗ (F ), A∗ (G )) A∗ (¬F ) = 1 − A∗ (F ) A∗ (P) = A(P) A (⊤) = 1 ∗ A (⊥) = 0 ∗ Sei A : Π → {0, 1} eine Π-Valuation. A∗ : ForΠ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert: Auswertung von Formeln Semantik der Aussagenlogik 1 1 0 0 0 1 0 ∧ ¬P P Wahrheitstafel für die logischen Operatoren 114 113 0 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 B A C 1 1 1 1 1 0 1 0 (A ∨ C ) F = (A ∨ C ) ∧ (B ∨ ¬C ) 0 (1 ∧ (0 ∨ ¬1)) → 1 1 = (A(P) ∧ (A(Q) ∨ ¬A(P))) → A(R) (A∗ (P) ∧ A∗ (Q ∨ ¬P)) → A∗ (R) A∗ (P ∧ (Q ∨ ¬P) → A∗ (R) = = = = 0 1 0 1 0 1 0 1 ¬C 1 1 0 1 1 1 0 1 (B ∨ ¬C ) 1 1 0 1 1 0 0 0 (A ∨ C ) ∧ (B ∨ ¬C ) Wahrheitstabellen: Beispiel A∗ ((P ∧ (Q ∨ ¬P)) → R) Sei A : {P, Q, R} → {0, 1} mit A(P) = 1, A(Q) = 0, A(R) = 1. Beispiel 116 115 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 (A ∨ C ) 0 1 0 1 0 1 0 1 ¬C 1 1 0 1 1 1 0 1 (B ∨ ¬C ) Beispiel 1 1 0 1 1 0 0 0 (A ∨ C ) ∧ (B ∨ ¬C ) A |= {(A ∨ C ), (B ∨ ¬C )} A |= (A ∨ C ) ∧ (B ∨ ¬C ) Sei A : {P, Q, R} → {0, 1} mit A(P) = 0, A(Q) = 1, A(R) = 1. 1 0 0 0 0 C B A F = (A ∨ C ) ∧ (B ∨ ¬C ) A |= M Notation: A |= F A∗ (F ) = 1 für alle F ∈ M Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls A (F ) = 1. ∗ Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls Modell einer Formel(menge) 118 117 gdw. gdw.: A |= A(F ) = 1. 1 1 0 0 1 1 0 0 B 1 0 1 0 1 0 1 0 C 1 1 1 1 1 0 1 0 (A ∨ C ) 0 1 0 1 0 1 0 1 ¬C 1 1 0 1 1 1 0 1 (B ∨ ¬C ) 1 1 0 1 1 0 0 0 (A ∨ C ) ∧ (B ∨ ¬C ) F ist erfüllbar (also ist F nicht unerfüllbar): A2 (F ) = 1 für A : {P, Q, R} → {0, 1} mit A(P) = 0, A(Q) = 1, A(R) = 1. F ist nicht allgemeingültig: A1 (F ) = 0 für A1 : {P, Q, R} → {0, 1} mit A(P) = A(Q) = A(R) = 0. 1 1 1 1 0 0 0 0 A F = (A ∨ C ) ∧ (B ∨ ¬C ) Beispiel Sonst heißt F unerfüllbar (oder eine Kontradiktion). Definition: F heißt erfüllbar gdw. es A : Π → {0, 1} gibt, so dass A |= F . Notation: |= F Definition: F ist (allgemein-) gültig (oder eine Tautologie) F , für alle A : Π → {0, 1} Notation: A |= F Definition: F gilt in A (oder A ist Modell von F ) Gültigkeit und Erfüllbarkeit 120 119 1 1 1 1 122 0 0 1 (((p → q) ∧ (q → r )) ∧ p) → r (6) 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 C B A 1 1 1 1 0 1 0 1 (A ∨ C ) 1 1 1 0 1 1 1 0 (B ∨ ¬C ) 1 1 1 0 0 1 0 0 (A ∨ C ) ∧ (B ∨ ¬C ) G = (A ∨ B) Überprüfe, ob F |= G : Ja, F |= G F = (A ∨ C ) ∧ (B ∨ ¬C ) Beispiel Erweiterung auf Formelmengen N in natürlicher Weise, z.B.: N |= G gdw.: für alle A : Π → {0, 1} gilt: falls A |= F , für alle F ∈ N, so A |= G . Notation: F ≡ G . Definition: F und G sind äquivalent gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G . Notation: F |= G (p → q) → [(q → r ) → (p → r )] q → (p ∨ q) p → (p ∨ q) 121 Folgerung und Äquivalenz 1 1 1 1 1 1 0 0 (A ∨ B) Definition: F impliziert G (oder G folgt aus F ), gdw.: für alle A : Π → {0, 1} gilt: Wenn A |= F , dann A |= G . (5) (4) (p ∧ (p → q)) → q (p ∧ q) → p (2) (3) (p ∧ q) → q (p → ¬p) → (¬p) (1) Die folgenden Formeln sind Tautologien: Beispiele • Die Negation einer Kontradiktion ist eine Tautologie • Die Negation einer Tautologie ist eine Kontradiktion Beispiel: p ∧ ¬p Kontradiktionen: Formel, die stets falsch sind. p ↔ ¬¬p (Prinzip der doppelten Negation) Beispiele: p ∨ (¬p) (Prinzip vom ausgeschlossenen Dritten) (Tertium non datur) Tautologien: Formel, die stets wahr sind. Tautologien und Kontradiktionen 124 123 G = (A ∨ B) 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 C 1 1 1 0 0 1 0 0 (A ∨ C ) ∧ (B ∨ ¬C ) Zusammenfassung 1 1 1 0 1 1 1 0 (B ∨ ¬C ) Folgerung und Äquivalenz Tautologien und Kontradiktionen Gültigkeit und Erfüllbarkeit Modell einer Formel(menge) Auswertung von Formeln / Wahrheitstabellen Wahrheitstafel für die logischen Operatoren Wertebelegungen (Valuationen, Modelle) • Semantik 1 1 1 1 0 1 0 1 (A ∨ C ) • Syntax (Formeln) B A Überprüfe, ob F |= G : Ja, F |= G .... aber es ist nicht wahr dass G |= F (Notation: G 6|= F ) F = (A ∨ C ) ∧ (B ∨ ¬C ) Beispiel 1 1 1 1 1 1 0 0 (A ∨ B) 126 125 127 128 gdw. A(¬F )=0 für alle A:Π→{0, 1} gdw. ¬F unerfüllbar Beweis 1: Aus der Wahrheitstafel. Beweis 2: F allgemeingültig gdw. A(F )=1 für alle A:Π→{0, 1} Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar. • Die Negation einer Tautologie ist eine Kontradiktion • Die Negation einer Kontradiktion ist eine Tautologie Kontradiktionen, unerfüllbare Formeln: Formel, die stets falsch sind. Tautologien, allgemeingültige Formeln: Formeln, die stets wahr sind. Tautologien und Kontradiktionen 30.04.2012 Teil 2 2. Aussagenlogik Erweiterung auf Formelmengen N in natürlicher Weise, z.B.: N |= G gdw.: für alle A : Π → {0, 1} gilt: falls A |= F , für alle F ∈ N, so A |= G . Notation: F |= G Definition: F impliziert G (oder G folgt aus F ), gdw.: für alle A : Π → {0, 1} gilt: Wenn A |= F , dann A |= G . Folgerung Es existieren viel bessere Methoden als Wahrheitstafeltests um die Erfüllbarkeit einer Formel zu überprüfen. ⇒ Das Erfüllbarkeitsproblem ist entscheidbar (Cook’s Theorem: NP-vollständig) ⇒ Wahrheitstafel ⇒ 2n Wertbelegungen notwendig um zu überprüfen, ob F erfüllbar ist oder nicht. F enthält n Aussagenvariablen: Erfüllbarkeitstest: Jede Formel F enthält endlich viele Aussagenvariablen. A(F ) ist nur von den Werten dieser Aussagenvariablen abhängig. Erster Kalkül: Wahrheitstafelmethode 130 129 (Kontraposition) Wichtige Äquivalenzen (P → Q) ≡ (¬Q → ¬P) (F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H)) (F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H)) (F ∨ (F ∧ G )) ≡ F (F ∧ (F ∨ G )) ≡ F (F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H) (F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H) (F ∨ G ) ≡ (G ∨ F ) (F ∧ G ) ≡ (G ∧ F ) (F ∨ F ) ≡ F (F ∧ F ) ≡ F (Distributivität) (Absorption) (Assoziativität) (Kommutativität) (Idempotenz) Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig: Beispiel: Zwei Formeln sind logisch äquivalent, wenn sie in den gleichen Modellen wahr sind Notation: F ≡ G . Definition: F und G sind äquivalent gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G . Äquivalenz 132 131 (Elimination Äquivalenz) F ↔ G ≡ (F → G ) ∧ (G → F ) (F ∨ G ) ≡ F , falls G unerfüllbar (F ∧ G ) ≡ ⊥, falls G unerfüllbar (F ∨ G ) ≡ ⊤, falls G Tautologie (F ∧ G ) ≡ F , falls G Tautologie (Tautologieregeln) (Tautologieregeln) Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig: Wichtige Äquivalenzen (Elimination Implikation) (Kontraposition) (F → G ) ≡ (¬G → ¬F ) (F → G ) ≡ (¬F ∨ G ) (De Morgan’s Regeln) (Doppelte Negation) ¬(F ∨ G ) ≡ (¬F ∧ ¬G ) ¬(F ∧ G ) ≡ (¬F ∨ ¬G ) (¬¬F ) ≡ F Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig: Wichtige Äquivalenzen 134 133 (Tertium non datur) (F ∨ F ) ≡ F (F ∨ G ) ≡ (G ∨ F ) F ↔ G ≡ (F → G ) ∧ (G → F ) (F → G ) ≡ (¬F ∨ G ) (F → G ) ≡ (¬G → ¬F ) ¬(F ∨ G ) ≡ (¬F ∧ ¬G ) ¬(F ∧ G ) ≡ (¬F ∨ ¬G ) (¬¬F ) ≡ F (F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H)) (F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H)) (F ∨ (F ∧ G )) ≡ F (F ∧ (F ∨ G )) ≡ F (F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H) (F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H) (F ∧ F ) ≡ F (F ∧ G ) ≡ (G ∧ F ) (Elimination Äquivalenz) (Elimination Implikation) (Kontraposition) (De Morgan’s Regeln) (Doppelte Negation) (Distributivität) (Absorption) (Assoziativität) (Kommutativität) (Idempotenz) Wichtige Äquivalenzen (Zusammengefasst) (A ∧ ⊥) ≡ ⊥ (A ∧ ⊤) ≡ A (A ∨ ¬A) ≡ ⊤ (A ∧ ¬A) ≡ ⊥ Wichtige Äquivalenzen mit ⊤/⊥ 136 135 → H Teilformel von F H Teilformel von F (C ∧ (A ∨ B)) ≡ (C ∧ (B ∨ A)) impliziert A∨B ≡B ∨A Beispiel: Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend) ein Vorkommen von F in H durch G ersetzt wird. Theorem. Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens) einem Vorkommen der Teilformel F . Substitutionstheorem H Teilformel von F1 oder F2 (wo ρ ∈ {∨, ∧, ⇒, ⇔}) • F = F1 ρ F2 • F ist eine Teilformel von F • F = ¬G und → H Teilformel von G Eine Formel F , die als Teil einer Formel G auftritt, heißt Teilformel von G . Terminologie 138 137 Annahme: p(H ′ ) gilt für alle dir. Teilformeln H ′ von H. ′ I .V . 139 Somit ist bewiesen, dass H ≡ H . 140 Dann für alle A : Π → {0, 1}: A(H)=A(¬H1 )=¬A(H1 ) = ¬A(H1′ )=A(¬H1′ )=A(H ′ ). Da H = ¬H1 , ist H ′ = ¬H1′ . Fall 2.1: H = ¬H1 . Da F 6= H, ist F eine Teilformel von H1 . Induktionvoraussetzung: p(H1 ) gilt, d.h. H1 ≡ H1′ , wobei H1′ aus H1 hervorgeht, indem (irgend) ein Vorkommen von F in H1 durch G ersetzt wird. Induktionsschritt: Beweis, dass p(H) gilt (durch Fallunterscheidung): Induktionsvoraussetzung: Fall 2: F 6= H. Fall 1: F = H. Dann H ′ = G (wie vorher), so H = F ≡ G = H ′ . Beweis: (Fortsetzung) Sei H eine Formel, H 6∈ {⊥, ⊤} ∪ Π. Sei F eine Teilformel von H. Substitutionstheorem Aber dann: H = F ≡ G = H ′ . Beweis: Falls H∈{⊥, ⊤}∪Π und F Teilformel von H, so muss F = H sein. Dann ist die Formel H ′ , die aus H hervorgeht, indem F (= die ganze Formel H) durch G ersetzt wird, gleich G . Induktionsbasis: Beweisen, dass p(H) für alle Formeln H in {⊥, ⊤} ∪ Π gilt. Beweis: Strukturelle Induktion. Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend) p(H) ein Vorkommen von F in H durch G ersetzt wird. Theorem. Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens) einem Vorkommen der Teilformel F . Substitutionstheorem I .V . Wenn F und G logisch äquivalent sind, kann F in G umgeformt werden. Theorem Äquivalenzumformung bildet mit den aufgelisteten wichtigen Äquivalenzen einen vollständigen Kalkül: • Anwendung des Substitutionstheorems • (Wiederholte) Ersetzung einer (Unter-)Formel durch äquivalente Formel Definition: Äquivalenzumformung Ein zweiter Kalkül: Logische Umformung Fall 2.2.2 F ist eine Teilformel von H2 . Analog. Somit ist bewiesen, dass H ≡ H . ′ Dann für alle A : Π → {0, 1}: A(H)=A(H1 op H2 )=A(H1 ) op A(H2 ) = A(H1′ ) op A(H2 )=A(H1′ op H2 ) = A(H ′ ). Da H = H1 op H2 , und F in H1 vorkommt, so H ′ = H1′ op H2 . Fall 2.2.1 F ist eine Teilformel von H1 . Induktionvoraussetzung: p(H1 ) gilt, d.h. H1 ≡ H1′ , wobei H1′ aus H1 hervorgeht, indem (irgend) ein Vorkommen von F in H1 durch G ersetzt wird. Fall 2.2: H = H1 op H2 . Da F 6= H, ist F Teilformel von H1 oder von H2 . Beweis: (Fortsetzung) Induktionsschritt: Beweis, dass p(H) gilt (durch Fallunterscheidung): Substitutionstheorem 142 141 ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Äquivalenzen mit ⊥) (Kommutativität) (Distributivität) (Äquivalenzen mit ⊥) (Kommutativität) (Distributivität) (Doppelte Negation) F |= G Beweis: (Äquivalenzen mit ⊥) Allgemeingültigkeit/Folgerung für alle A : Π → {0, 1}, A(F → G ) = 1 g.d.w. |= F → G g.d.w. für alle A : Π → {0, 1}, falls A(F ) = 1 so A(G ) = 1 für alle A : Π → {0, 1}, (A(F ) → A(G )) = 1 g.d.w. g.d.w. Theorem. F |= G gdw. |= F → G . F , G Formeln ≡ ⊥ ∨ ⊥≡⊥ 144 143 (Doppelte Negation, De Morgan, ∨) (De Morgan’s Regel,∨) (Elimination Implikation) (Elimination Implikation) ≡ ((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität) ≡ (¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) ≡ (¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) ≡ (¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) ≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) ≡ (¬P ∨ Q) ∧ ≡ (¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) ≡ (¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) ≡ (¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (P → Q) ∧ ¬((Q → R) → (P → R)) Beispiel Es folgt, dass 1 = A(F → G ) = (A(F ) → A(G )) = (1 → A(G )) = A(G ), so A(G ) = 1. Dann (i) A(F ) = 1 und (ii) [A(H) = 1 für alle Formeln H ∈ N], also A(F → G ) = 1. Sei A : Π → {0, 1} mit A(H) = 1 für alle Formeln H ∈ N ∪ {F }. Wir beweisen, dass N ∪ {F } |= G , d.h. für alle A : Π → {0, 1} falls [A(H) = 1 für alle Formeln H ∈ N ∪ {F }] so A(G ) = 1. Annahme: N |= F → G d.h. für alle A:Π→{0, 1}, falls [A(H)=1 für alle Formeln H∈N] so A(F → G )=1. Beweis: “⇐” Theorem. N ∪ {F } |= G gdw. N |= F → G . F , G Formeln; N Formelmenge. Allgemeingültigkeit/Folgerung Fall 2: A(F ) = 1, d.h. [A(H) = 1 für alle Formeln H ∈ N ∪ {F }]. Dann A(G ) = 1 und somit A(F → G ) = 1. Fall 1: A(F ) = 0. Dann A(F → G ) = 1. Sei A : Π → {0, 1} mit A(H) = 1 für alle Formeln H ∈ N. Wir beweisen, dass N |= F → G , d.h. für alle A : Π → {0, 1} falls [A(H) = 1 für alle Formeln H ∈ N] so A(F → G ) = 1. Annahme: N ∪ {F } |= G d.h. für alle A:Π→{0, 1}, falls [A(H)=1 für alle Formeln H∈N∪{F }] so A(G )=1. Beweis: “⇒” Theorem. N ∪ {F } |= G gdw. N |= F → G . F , G Formeln; N Formelmenge. Allgemeingültigkeit/Folgerung 146 145 g.d.w. für alle A : Π → {0, 1}, A(F ) = A(G ) |= F ↔ G Allgemeingültigkeit/Folgerung: Zusammenfassung g.d.w. g.d.w. für alle A : Π → {0, 1}, A(F ↔ G ) = 1 g.d.w. für alle A : Π → {0, 1}, (A(F ) ↔ A(G )) = 1 Theorem. F ≡ G gdw. |= F ↔ G . Theorem. N ∪ {F } |= G gdw. N |= F → G . Theorem. F |= G gdw. |= F → G . F , G Formeln; N Formelmenge. F ≡F Beweis: Theorem. F ≡ G gdw. |= F ↔ G . F , G Formeln. Allgemeingültigkeit/Folgerung 148 147 ¬(F → G ) unerfüllbar. F ∧ ¬G unerfüllbar. gdw. gdw. d.h. F → G allgemeingültig |= F → G gdw. Dann [A(H)=1 für alle Formeln H∈N] und A(¬G ) = 1 (d.h. A(G ) = 0). Widerspruch. Beweis durch Widerspruch: Wir nehmen an, N ∪ ¬G erfüllbar, d.h. es gibt A:Π→{0, 1}, mit [A(H)=1 für alle Formeln H∈N ∪ {¬G }]. Zu zeigen: N ∪ ¬G unerfüllbar. Annahme: N |= G d.h. für alle A:Π→{0, 1}, falls [A(H)=1 für alle Formeln H∈N] so A(G )=1. Beweis: “⇒” Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar. F , G Formeln; N Formelmenge. Unerfüllbarkeit/Allgemeingültigkeit/Folgerung ... da ¬(F → G ) ≡ ¬(¬F ∨ G ) ≡ ¬¬F ∧ ¬G ≡ F ∧ ¬G . F |= G Beweis: Theorem. F |= G gdw. F ∧ ¬G ist unerfüllbar. Beweis auf Seite 128. Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar. F , G Formeln. Unerfüllbarkeit/Allgemeingültigkeit/Folgerung 150 149 Notation: N |= ⊥ für N unerfüllbar. Nota bene: falls N unerfüllbar, so N |= G für jede Formel G ... auch für ⊥. Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar. Theorem. F |= G gdw. F ∧ ¬G ist unerfüllbar. Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar. F , G Formeln; N Formelmenge. Unerfüllbarkeit/Allgemeingültigkeit/Folgerung: Zusammenfassung Es folgt, dass A(G ) = 1. Falls A(G ) = 0, wäre A ein Modell für N ∪ {¬G }. Das ist aber unmöglich, da wir angenommen haben, dass N ∪ {¬G } unerfüllbar ist. Beweis: Sei A:Π→{0, 1}, mit [A(H)=1 für alle Formeln H∈N]. Zu zeigen: N |= G d.h. für alle A:Π→{0, 1}, falls [A(H)=1 für alle Formeln H∈N] so A(G )=1. Annahme: N ∪ ¬G unerfüllbar. Beweis: “⇐” Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar. F , G Formeln; N Formelmenge. Unerfüllbarkeit/Allgemeingültigkeit/Folgerung 152 151 06.05.2013 Teil 3 2. Aussagenlogik • Unerfüllbarkeit/Allgemeingültigkeit/Folgerung • Ein zweiter Kalkül: Logische Umformung • Wichtige Äquivalenzen 153 154 Literale: P, ¬P, Q, ¬Q, R, ¬R Atome: P, Q, R Beispiel. Sei Π = {P, Q, R}. Negation eines Atoms • Literal: Atom, oder Definition: • Atom: aussagenlogische Variable Normalformen Dazu brauchen wir “Normalformen” (für Formeln und/oder Formelmengen) • Folgerung, Äquivalenz Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit • Erster Kalkül: Wahrheitstafelmethode Unser Ziel • Erfüllbarkeit, Allgemeingültigkeit Zusammenfassung 156 155 • Solche Formeln können durch Umformungen hergestellt werden ⊤ P ∧P P ∧Q P ∧ (Q ∨ R) P ∨Q • Solche Formeln können aus einer Wahrheitstafel abgelesen werden • Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig • Zu jeder aussagenlogischen Formel gibt es: - eine äquivalente Formel in KNF - eine äquivalente Formel in DNF Eigenschaften: Normalformen (P ∨ ¬Q) ∧ (Q ∨ ¬R ∨ ¬S) 158 157 ⊥ P ∨P P ∨Q P ∨ (Q ∧ R) P ∧Q (P ∧ ¬Q) ∨ (Q ∧ ¬R ∧ ¬S) Beispiele: mehrstellig, einstellig oder nullstellig Disjunktive Normalform (DNF): Eine Disjunktion von Konjunktionen von Literalen. Definition: Normalformen Beispiele: mehrstellig, einstellig oder nullstellig Konjunktive Normalform (KNF): Eine Konjunktion von Disjunktionen von Literalen, d.h., eine Konjunktion von Klauseln Definition: Normalformen • die nullstellige Disjunktion (leere Klausel) ⊥ • einstellige Disjunktionen P • mehrstellige Disjunktionen (P ∨ ¬Q ∨ R), (P ∨ P ∨ ¬Q) Klausel: Eine Disjunktion von Literalen Definition: Negation eines Atoms • Literal: Atom, oder Definition: • Atom: aussagenlogische Variable Normalformen 160 159 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 (P ∨ Q) 0 0 0 0 1 1 1 1 ¬P 0 0 0 0 0 1 1 0 (¬P ∧ Q) 0 1 0 1 0 1 1 1 ((¬P ∧ Q) ∨ R) 1 0 1 0 1 1 0 0 F 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 (P ∨ Q) 0 0 0 0 1 1 1 1 ¬P 0 0 0 0 0 1 1 0 (¬P ∧ Q) 0 1 0 1 0 1 1 1 ((¬P ∧ Q) ∨ R) 1 0 1 0 1 1 0 0 F 0 1 0 1 0 0 1 1 ¬F KNF für F : (P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R) DNF für ¬F : (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ R) ∨ (P ∧ ¬Q ∧ ¬R) ∨ (P ∧ Q ∧ ¬R) 1 0 1 1 0 0 0 R Q (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R) Beispiel: KNF (¬P ∧ Q ∧ ¬R) ∨ (¬P ∧ Q ∧ R) ∨ (P ∧ ¬Q ∧ R) ∨ (P ∧ Q ∧ R) 1 0 1 0 1 P F : DNF: 1 0 0 0 0 0 0 R Q (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R) P F : Beispiel: DNF 162 161 A(F )=1 A(Pn ) ∧ · · · ∧ Pn A:{P1 ,...,Pn }→{0,1} A(P1 ) (P1 A:{P1 ,...,Pn }→{0,1} _ ) A:{P1 ,...,Pn }→{0,1} A(F )=1 A(P1 ) (P1 A:{P1 ,...,Pn }→{0,1} _ A(Pn ) ∧ · · · ∧ Pn ) A(F )=0 KNF für F: ¬F ′ , wobei F ′ die DNF von ¬F ist. ^ 1−A(P1 ) 1−A(Pn ) KNF für F : (P1 ∨ · · · ∨ Pn ) wobei: P 0 = ¬P P1 = P DNF für F : Normalformen A(F )=1 Theorem Für alle Interpretationen A′ : {P1 , . . . , Pn } → {0, 1}: _ A(P ) A(P ) A′ (F ) = 1 gdw. A′ ( (P1 1 ∧ · · · ∧ Pn n )) = 1. wobei: P 0 = ¬P P1 = P DNF für F : Normalformen 164 163 Eine logische Formel ist in Negationsnormalform (NNF), falls die Negationsoperatoren in ihr nur direkt über atomaren Aussagen vorkommen. 7→ Negationsnormalform (NNF) Verwende de Morgans Regeln und ¬¬A ≡ A 3. “Nach innen schieben” von ¬ Verwende A → B ≡ (¬A ∨ B) 2. Elimination von → Verwende A ↔ B ≡ (A → B) ∧ (B → A) 1. Elimination von ↔ Vier Schritte: Umformung in KNF • Solche Formeln können durch Umformungen hergestellt werden • Solche Formeln können aus einer Wahrheitstafel abgelesen werden • Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig • Zu jeder aussagenlogischen Formel gibt es: - eine äquivalente Formel in KNF - eine äquivalente Formel in DNF Eigenschaften: Normalformen 166 165 P ↔ (Q ∨ R) (¬P ∨ Q ∨ R) ∧ (¬Q ∨ P) ∧ (¬R ∨ P)) 4. “Nach innen schieben” von ∨ (¬P ∨ Q ∨ R) ∧ ((¬Q ∧ ¬R)) ∨ P) 3. “Nach innen schieben” von ¬ (¬P ∨ Q ∨ R) ∧ (¬(Q ∨ R) ∨ P) 2. Elimination von → (P → (Q ∨ R)) ∧ ((Q ∨ R) → P) 1. Elimination von ↔ Gegeben: Umformung in KNF: Beispiel Verwende Distributivität von ∨ über ∧ 4. “Nach innen schieben” von ∨ Verwende de Morgans Regeln und ¬¬A ≡ A 3. “Nach innen schieben” von ¬ Verwende A → B ≡ (¬A ∨ B) 2. Elimination von → Verwende A ↔ B ≡ (A → B) ∧ (B → A) 1. Elimination von ↔ Vier Schritte: Umformung in KNF (NNF) (NNF) 168 167 P ↔ (Q ∨ R) (¬P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ P) ∨ (R ∧ P) ≡⊥ ((R ∧ ¬R) ∧¬Q) ∨ (R ∧ P) | {z } ≡⊥ ≡⊥ ∨ ((Q ∧ ¬Q) ∧¬R) ∨ (Q ∧ P) ∨ | {z } (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ P) | {z } ≡ (R ∧ ¬Q ∧ ¬R) ∨ (R ∧ P) (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ P) ∨ (Q ∧ ¬Q ∧ ¬R) ∨ (Q ∧ P) ∨ ≡ ≡ (NNF) (¬P ∧ ((¬Q ∧ ¬R) ∨ P)) ∨ (Q ∧ ((¬Q ∧ ¬R) ∨ P)) ∨ (R ∧ ((¬Q ∧ ¬R) ∨ P)) 2. “Nach innen schieben” von ∧ (¬P ∨ Q ∨ R) ∧ ((¬Q ∧ ¬R) ∨ P) 1. Negationsnormalform (NNF) (s. Seite 168): Gegeben: Umformung in DNF: Beispiel Verwende Distributivität von ∧ über ∨ 4. “Nach innen schieben” von ∧ Verwende de Morgans Regeln und ¬¬A ≡ A 3. “Nach innen schieben” von ¬ Verwende A → B ≡ (¬A ∨ B) 2. Elimination von → Verwende A ↔ B ≡ (A → B) ∧ (B → A) 1. Elimination von ↔ Vier Schritte: Umformung in DNF 170 169 (P1,f (1) ∨ · · · ∨ Pn,f (n) ) KNF (A2 ) 171 Länge: 22 Länge: 21 172 (((P11 ∨P21 ∨P32 )∧(P12 ∨P21 ∨P32 )∧(P11 ∨P22 ∨P32 )∧(P12 ∨P22 ∨P32 ) Länge: 23 ≡ (((P11 ∨P21 ∨P31 )∧(P12 ∨P21 ∨P31 )∧(P11 ∨P22 ∨P31 )∧(P12 ∨P22 ∨P31 )∧ (((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨P32 ) ≡ (((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨P31 )∧ A 2 ≡ ((P11 ∨P21 )∧(P 12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨(P31 ∧P32 ) | {z } n = 3 : A3 = (P11 ∧P12 )∨(P21 ∧P22 )∨(P31 ∧P32 ) | {z } ≡ (P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ) ≡ ((P11 ∧P12 )∨P21 )∧((P11 ∧P12 )∨P22 ) n = 2 : A2 = (P11 ∧P12 )∨(P21 ∧P22 ) An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) n = 1 : A1 = P11 ∧P12 Gegeben: Beispiel zur exponentiellen Länge der KNF f :{1,...,n}→{1,2} ^ An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) Zu An äquivalente KNF Gegeben: Beispiel zur exponentiellen Länge der KNF ≡ ≡ ≡ An+1 = ≡ 2n 173 2n 174 ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),1 ) ∧ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),2 ) (C1 ∨ P(n+1),1 ) ∧ · · · ∧ (C2n ∨ P(n+1),1 ) ∧ (C1 ∨ P(n+1),2 ) ∧ · · · ∧ (C2n ∨ P(n+1),2 ) {z } | {z } | KNF (An ) (C1 ∧ · · · ∧ C2n ) ∨ (P(n+1),1 ∧ P(n+1),2 ) | {z } An (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) ∨ (P(n+1),1 ∧ P(n+1),2 ) ((P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )) ∨ (P(n+1),1 ∧ P(n+1),2 ) | {z } Beweis durch Induktion Induktionsvoraussetzung: KNF von An hat 2n Klausel KNF (An ) = C1 ∧ · · · ∧ C2n , Ci = (Li1 ∨ · · · ∨ Lini ) Klausel Induktionsschritt: Zu zeigen: KNF von An+1 hat 2n+1 Klausel • Klausel in KNF von An : 2n Gegeben: An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) Beispiel zur exponentiellen Länge der KNF Beweis durch Induktion Induktionsbasis: n = 1 : A1 in KNF, 21 Klausel. • Klausel in KNF von An : 2n Gegeben: An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) Beispiel zur exponentiellen Länge der KNF =⊤ = leere Konjunktion • Leere Menge von Klausels =⊥ = leere Disjunktion = leere Menge von Literalen • Leere Klausel Bedeutung der leeren Menge KNF: Mengenschreibweise { {P, Q, R}, {P, Q, ¬R}, {¬P, Q, R}, {¬P, ¬Q, R} } (P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R) Beispiel: Formel in KNF als Menge von Klauseln Klausel als Menge von Literalen Notation: KNF: Mengenschreibweise 176 175 (L1 ∨ · · · ∨ Lp ) = K (L1 ∨ · · · ∨ Lp ) ∧ ((L1 ∨ · · · ∨ Lp ) ∨ Lp+1 ∨ . . . Lm ) Ist F erfüllbar? Frage: NB: F allgemeingültig gdw. ¬F nicht erfüllbar Eine aussagenlogische Formel F Gegeben: Definition: SAT-Problem Das SAT-Problem (Erfüllbarkeitsproblem) ≡ K ∧ K′ = F enthält K ∧ K ′ K = {L1 , . . . , Lp } ⊆ {L1 , . . . , Lp , Lp+1 , . . . , Lm } = K ′ Beweis: dann entsteht eine äquivalente Formel, wenn K ′ weggelassen wird. K ⊂ K′ Theorem (Subsumption Regel) Enthält eine KNF-Formel (= Klauselmenge) Klauseln K , K ′ mit Vereinfachung der KNF: Subsumption 178 177 (Absorption) • SAT-Problem (Erfüllbarkeitsproblem) Definition Erfüllbarkeitsproblem für DNF Formeln • Normalformen Atome, Literale, Klauseln Konjunktive und Disjunktive Normalform Ablesen von DNF und KNF aus Wahrheitstafeln Umformen in KNF/DNF Mengenschreibweise Subsumption Zusammenfassung 180 179 Lij ) in DNF V gdw. ( m j=1 Lij ) unerfüllbar für alle i = 1, . . . , n Vm gdw. ( j=1 Lij ) enthält zwei komplementare Literale für alle i j=1 Vm i=1 ( Wn F unerfüllbar Sei F = Erfüllbarkeitsproblem für DNF Formeln Das SAT-Problem (Erfüllbarkeitsproblem) unerfüllbar unerfüllbar unerfüllbar unerfüllbar erfüllbar (P ∧ ¬Q ∧ ¬P) ∨ (P ∧ Q ∧ ¬R ∧ ¬Q) | {z } | {z } erfüllbar (P ∧ ¬Q) ∨ (P ∧ Q ∧ ¬R ∧ ¬Q) {z } | {z } | Beispiele: Erfüllbarkeitsproblem für DNF Formeln W V Sei F = ni=1 ( m j=1 Lij ) in DNF V F unerfüllbar gdw. ( m j=1 Lij ) unerfüllbar für alle i = 1, . . . , n V gdw. ( m j=1 Lij ) enthält zwei komplementare Literale für alle i Das SAT-Problem (Erfüllbarkeitsproblem) 07.05.2012 Teil 4 2. Aussagenlogik 182 181 Tautologie ∧ (P ∨ Q ∨ ¬R ∨ ¬Q) | {z } Tautologie Tautologie (allgemeingültig) keine Tautologie (nicht allgemeingültig) Ist F erfüllbar? Frage: Theorem (ohne Beweis) SAT ist ein NP-vollständiges Problem Eine aussagenlogische Formel F Gegeben: Definition: SAT-Problem Das SAT-Problem (Erfüllbarkeitsproblem) Tautologie (P ∨ ¬Q ∨ ¬P) ∧ (P ∨ Q ∨ ¬R ∨ ¬Q) | {z } | {z } erfüllbar (keine Tautologie) (P ∨ ¬Q) | {z } Beispiele: Allgemeingültigkeit für KNF Formeln V W Wm F = ni=1 ( m j=1 Lij ) in KNF ist allgemeingültig gdw. jede Disjunktion j=1 Lij zwei komplementare Literale enthält. Erfüllbarkeitsproblem für DNF Formeln W V Sei F = ni=1 ( m j=1 Lij ) in DNF V F unerfüllbar gdw. ( m j=1 Lij ) unerfüllbar für alle i = 1, . . . , n V gdw. ( m j=1 Lij ) enthält zwei komplementare Literale für alle i Das SAT-Problem (Erfüllbarkeitsproblem) 184 183 • Wenn es stimmt, dass NP 6= P, dann ist SAT nicht in polynomieller Zeit entscheidbar • Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem kann in polynomieller Zeit auf SAT reduziert werden • Erfüllbarkeit für Formeln in 3-KNF: NP-vollständig • Erfüllbarkeit für Formeln in KNF: NP-vollständig Theorem (Beweisidee) (ohne Beweis) k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben • SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar Definition: Teilklassen des Erfüllbarkeitsproblems “SAT ist NP-vollständig” heißt: 186 185 Beispiele: P ∧ ¬Q 1-KNF (P ∨ P) ∧ (¬P ∨ Q) ∧ (R ∨ ¬Q) 2-KNF (P ∨ P ∨ Q) ∧ (P ∨ ¬Q ∨ R) 3-KNF Alternative Definition (nicht allgemeiner): k-KNF Formel: KNF-Formeln, deren Klauseln genau k Literale haben Beispiele: P ∧ ¬Q 1-KNF P ∧ (¬P ∨ Q) ∧ (R ∨ ¬Q) 2-KNF (P ∨ Q) ∧ (P ∨ ¬Q ∨ R) 3-KNF Definition: k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben Teilklassen des Erfüllbarkeitsproblems Zur Erinnerung: NP-Vollständigkeit SAT ist in NP: • Rate eine “Lösung” (Interpretation A mit A(F ) = 1) • Überprüfe, ob A wirklich eine “Lösung” ist (i.e. ob A(F ) = 1) kann in Polynomialzeit überprüft werden Ein Entscheidungsproblem ist genau dann in NP, wenn eine gegebene Lösung für das entsprechende Suchproblem in Polynomialzeit überprüft werden kann. • NP ist die Klasse aller Probleme, die nichtdeterministisch in polynomieller Zeit entscheidbar sind. • P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar sind. Zur Erinnerung: NP 188 187 Was machen wir mit k-Klauseln für k > 3? Aus einer 1- bzw 2-Klausel können wir leicht eine äquivalente 3-Klausel machen, indem wir ein Literal wiederholen. Eine k-Klausel sei eine Klausel mit k Literalen. F ist erfüllbar gdw. F ′ ist erfüllbar. Gegeben sei eine Formel F in KNF. Wir transformieren F in eine Formel F ′ in 3-KNF, so dass: Wir zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT Problem reduzierbar ist. Beweis (Teil 2) Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT • Um zu zeigen, dass 3-SAT ebenfalls NP-vollständig ist, müssen wir zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT Problem reduzierbar ist. 189 190 C = P ∨ ¬Q ∨ ¬R ∨ S 7→ (P ∨ ¬Q ∨ H) ∧ (¬H ∨ ¬R ∨ S). Beispiel wobei H eine zusätzlich eingeführte Hilfsvariable bezeichnet. C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ), In einer Klauseltransformation ersetzen wir C durch die Teilformel C = L1 ∨ L2 ∨ L3 ∨ L4 . Sei C beispielsweise eine 4-Klausel der Form Beweis (Teil 3) Beweis • 3-SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP. Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT 192 191 193 Also ist F ′ in beiden Fällen erfüllbar. 2) Falls L3 oder L4 den Wert 1 haben, so ist F ′ für A(H) = 1 erfüllt. 1) Falls L1 oder L2 den Wert 1 haben, so ist F ′ für A(H) = 0 erfüllt. Die Erfüllbarkeitsäquivalenz folgt analog zum Fall k = 4. ersetzt. (L1 ∨ L2 ∨ ... ∨ Lk−2 ∨ H) ∧ (¬H ∨ Lk−1 ∨ Lk ) wird durch eine Formel der Form L1 ∨ L2 ∨ · · · ∨ Lk−1 ∨ Lk Wir verallgemeinern die Klauseltransformation für k ≥ 4: C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ), F ′ sei aus F entstanden durch Ersetzung von C durch C0 . zu zeigen: F ′ erfüllbar gdw. F erfüllbar “⇐” Sei A eine erfüllende Belegung für F . A weist mindestens einem Literal aus C den Wert 1 zu. Wir unterscheiden zwei Fälle: Beweis (Teil 6) Beweis (Teil 4) Jede Klausel der Form Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT In beiden Fällen erfüllt A somit auch C , i.e. auch F . 2) Falls A(H) = 1, so muss A(L3 ) = 1 oder A(L4 ) = 1 1) Falls A(H) = 0, so muss A(L1 ) = 1 oder A(L2 ) = 1. Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT zu zeigen: F ′ erfüllbar gdw. F erfüllbar F ′ sei aus F entstanden durch Ersetzung von C durch C0 . wobei H eine zusätzlich eingeführte Hilfsvariable bezeichnet. C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ), In einer Klauseltransformation ersetzen wir C durch die Teilformel 194 C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ), F ′ sei aus F entstanden durch Ersetzung von C durch C0 . zu zeigen: F ′ erfüllbar gdw. F erfüllbar Sei C beispielsweise eine 4-Klausel der Form “⇒” Sei A eine erfüllende Belegung für F ′ . Wir unterscheiden zwei Fälle: Beweis (Teil 5) Beweis (Teil 3) C = L1 ∨ L2 ∨ L3 ∨ L4 . Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT Theorem Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 3-SAT 196 195 (P ∨ ¬Q ∨ R ∨ H2 ) ∧ (¬H2 ∨ S ∨ H1 ) ∧ (¬H1 ∨ U ∨ ¬V ) (¬H2 ∨ S ∨ H1 ) ∧ (¬H1 ∨ U ∨ ¬V ) (P ∨ ¬Q ∨ H3 ) ∧ (¬H3 ∨ R ∨ H2 )∧ (P ∨ ¬Q ∨ R ∨ S ∨ H1 ) ∧ (¬H1 ∨ U ∨ ¬V ) • Erfüllbarkeit für Formeln in DNF: polynomiell entscheidbar W V F = ni=1 ( m j=1 Lij ) Formel in DNF unerfüllbar gdw. für alle Vm i, ( j=1 Lij ) enthält zwei komplementäre Literale. P: Kopf → P: Fakt →P P1 ∧ · · · ∧ Pn : Rumpf PA ∧ · · · ∧ Pn → P • Erfüllbarkeit für Formeln in 2-KNF: polynomiell entscheidbar (nächste Vorlesung) P1 ∧ · · · ∧ Pn → P ¬P1 ∨ · · · ∨ ¬Pn Notation: als Implikation ¬P1 ∨ · · · ∨ ¬Pn ∨ P (ohne Beweis) • Erfüllbarkeit für Formeln in 3-KNF (3-SAT): NP-vollständig • Erfüllbarkeit für Formeln in KNF: NP-vollständig Theorem k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben Horn-Formel: Formel in KNF, in der jede Klausel höchstens ein positives Literal enthält Horn-Formeln Defintion: 198 197 • Erfüllbarkeit für Formeln in DNF: polynomiell entscheidbar • Teilklassen des Erfüllbarkeitsproblems Bis jetzt (P ∨ ¬Q ∨ H1 ) ∧ (¬H1 ∨ ¬R ∨ S) ∧ (¬P ∨ Q ∨ H2 ) ∧ (¬H2 ∨ R ∨ ¬S) (P ∨ ¬Q ∨ H1 ) ∧ (¬H1 ∨ ¬R ∨ S) ∧ (¬P ∨ Q ∨ R ∨ ¬S) (P ∨ ¬Q ∨ ¬R ∨ S) ∧ (¬P ∨ Q ∨ R ∨ ¬S) (Beweisidee) • Erfüllbarkeit für Formeln in 2-KNF: polynomiell entscheidbar (ohne Beweis) • Erfüllbarkeit für Formeln in KNF: NP-vollständig • Erfüllbarkeit für Formeln in 3-KNF: NP-vollständig Theorem k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben Definition: Teilklassen des Erfüllbarkeitsproblems • Das SAT-Problem (Erfüllbarkeitsproblem) 7→ 7→ Beispiel 2: 7→ 7→ 7→ (P ∨ ¬Q ∨ R ∨ S ∨ U ∨ ¬V ) Beispiel 1: Beispiele 200 199 Q, S → →R {Q, ¬R, ¬S} {¬Q, ¬S} {R} {¬Q, P} Q ∨ ¬R ∨ ¬S ¬Q ∨ ¬S R ¬Q ∨ P Implikationen Beweis: Sei A : Π → {0, 1} mit A(P) = 0 für alle P ∈ Π. Dann A(F ) = 1. Lemma. Sei F Hornformel die keine Fakten enthält. Dann ist F erfüllbar. Theorem Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar. Erfüllbarkeitsproblem für Horn-Formeln Q→P R, S → Q P→ Literalmengen {¬P} Klausel ¬P Horn Formel: Beispiele 202 201 Ein Atom in F zu markieren, bedeutet, es an allen Stellen seines Auftretens in F zu markieren (die Klausel Di enthält höchstens ein positives Literal) Eingabe: F = D1 ∧ · · · ∧ Dn eine Hornformel Erfüllbarkeitstest für Horn-Formeln Wiederhole das Verfahren für F ′ , entstanden aus F durch Ersetzung von P mit ⊤. Sonst: Für alle Fakten → P in F : A(P) := 1; Falls keine Fakten in F : F erfüllbar. Ziel: A : Π → {0, 1} mit A(F ) = 1. Beweis: (Idee) Theorem Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar. Erfüllbarkeitsproblem für Horn-Formeln 204 203 vollständig markiert ist und die rechte Seite nicht keine Implikation gibt,deren linke Seite Beispiel 2 Markierte Atome: wahr; nicht markierte Atome: falsch. (Q → S) ((Q ∧ S ∧ U) → W ) ((U ∧ T ∧ Z ) → P) (S → U) (W → T ) ∧ ∧ ∧ ∧ ∧ ∧ (P → R) (⊤ → Q) ∧ (P → ⊥) Konjunktion von Implikationen: Q, S, U → W U, T , Z → P S →U W →T Q →S P →R →Q P → vollständig markiert ist und die rechte Seite nicht Modell: A(P) = A(Q) = A(R) = A(S) = A(T ) = A(U) = A(W ) = A(Z ) = 0 Q, S, U → W U, T , Z → P S →U W →T keine Implikation gibt,deren linke Seite Q→S Keine Schritte möglich, da es Markierte Atome und Erklärung: Erfüllbar P →R P → (¬P) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧ 206 wegen W → T Keine weiteren Schritte möglich, da es {Q, S, U, W , T } wegen Q, S, U → W wegen S → U wegen Q → S {Q, S, U, W } {Q, S, U} initialer Fakt wegen ⊤ → Q Modell: A(Q) = A(S) = A(U) = A(W ) = A(T ) = 1, A(P) = A(R) = A(Z ) = 0 Q, S, U → W U, T , Z → P S →U W →T Q→S P →R {Q, S} {Q} (¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W ) Beispiel 1 205 P → →Q Erfüllbar Markierte Atome und Erklärung: (¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W ) (¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧ (¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W ) GOTO 1 ELSE markiere überall B in F THEN Ausgabe: unerfüllbar IF B leer ELSE wähle die erste solche Klausel THEN Ausgabe: erfüllbar alle Atome in A1 , . . . , An markiert aber B nicht IF keine Klausel A1 ∧ · · · ∧ An → B in F , so dass ELSE markiere alle Fakten in F (Atome A mit → A in F ) THEN Ausgabe: erfüllbar IF keine Fakten (Klausel “→ A”) vorhanden Beispiel 1 (¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧ 1: 0: Erfüllbarkeitstest für Horn-Formeln 208 207 Zusammenfassung Q, S, U → leer Q, S, U markiert, aber Kopf von Unerfüllbar wegen S → U wegen Q → S initialer Fakt wegen ⊤ → Q {Q, S, U} {Q, S} {Q} • Erfüllbarkeitstest für Hornformeln • Horn-Formeln • SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT) Q, S, U → U, T , Z → P S →U W →T Q→S P →R →Q P → Markierte Atome und Erklärung: (¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U) (¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧ Beispiel 3 210 209 Komplexität: |F | × |F | Wiederhole das Verfahren für F ′ , entstanden aus F durch Ersetzung von P mit ⊤. Sonst: Für alle Fakten → P in F : A(P) := 1; Falls keine Fakten in F : F erfüllbar. Ziel: A : Π → {0, 1} mit A(F ) = 1. Beweis: (Idee) Theorem Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar. Erfüllbarkeitsproblem für Horn-Formeln 14.05.2012 Teil 5 2. Aussagenlogik 212 211 1. Resolution Semantische Tableaux 2. Formelmengen Resolution 1. Formeln in KNF (Mengen von Klauseln) (für Formeln und/oder Formelmengen) Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit Unser Ziel 214 213 W Q, S, U → W Mengenschreibweise: Klauselschreibweise: Horn Klauseln: A(P) = A(R) = A(Z ) = 0 P, P1 . . . Pn → Q P1 . . . Pn → Q Bemerkung {¬P, ¬P1 , ¬Pn , Q} {¬P1 , . . . , ¬Pn , Q} ¬P ∨ ¬P1 . . . ¬Pn ∨ Q ¬P1 ∨ · · · ∨ ¬Pn ∨ Q {P} P P wegen W → T wegen Q, S, U → W Q 7→ ⊤ T 7→ ⊤ W 7→ ⊤ U 7→ ⊤ S 7→ ⊤ 216 215 A(Q) = A(S) = A(U) = A(W ) = A(T ) = 1 Modell: {Q, S, U, W , T } {Q, S, U, W } wegen S → U wegen Q → S initialer Fakt wegen ⊤ → Q {Q, S, U} {Q, S} {Q} Markierte Atome und Erklärung: Markierte Atome: wahr; nicht markierte Atome: falsch. ¬Z ∨ P U, T , Z → P U S T Q→S W →T S →U Q ¬P ∨ R →Q ¬P P → P →R Klauseln Implikationen (¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W ) (¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧ Motivation P→C C {¬P} {P} ∪ C C Verallgemeinerung? {¬P} ∪ C C 7→ Das Resolutionkalkül Ziel: Kalkül mit der Eigenschaft dass: (1) falls M unerfüllbar ⊥ ist aus M ableitbar (2) falls ⊥ aus M ableitbar, M unerfüllbar. ist nicht erfüllbar, aber mit 1-Resolution ist aus M nichts ableitbar, also auch nicht ⊥. M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }} Die Klauselmenge Nicht geeignet für Erfüllbarkeitsüberprüfung beliebiger Klauselmengen: {P} Mengenschreibweise: 1-Resolution (unit resolution) P Syllogismus (in der ersten Vorlesung erwähnt): Verallgemeinerung? 218 217 C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P} Definition: • C1 , C2 Klauseln (können leer sein) • P eine aussagenlogische Variable wobei C1 ∪ {P} {¬P} ∪ C2 C1 ∪ C2 Definition: Resolutionsregel (einzige Regel des Kalküls) Resolutionskalkül • Operiert auf Klauseln (in Mengenschreibweise) • Eine einzige Regel • Voraussetzung: Alle Formeln in konjunktiver Normalform • Widerlegungskalkül: Testet auf Unerfüllbarkeit Wesentliche Eigenschaften Der aussagenlogische Resolutionkalkül 220 219 {{¬P, Q}, {¬Q, R}, {P}, {¬R}} ¬[(P → Q) → ((Q → R) → (P → R))] Klauselnormalform: unerfüllbar ist. {¬P1 } ⊥ (P → Q) → ((Q → R) → (P → R)) Dazu zeigen wir, dass ist allgemeingültig Zu zeigen: {P1 } {¬P1 , P2 } {¬P1 , ¬P2 } {¬P1 } {P1 , P2 } {P1 , ¬P2 } {P1 } Resolution: Weiteres Beispiel also: M unerfüllbar Insgesamt: M ⊢Res ⊥ Resolution: M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }} Gegeben die Klauselmenge: Resolution: Beispiel 222 221 Heuristik: Immer möglichst kleine Klauseln ableiten • {A, B, C } und {¬A, ¬B, D} haben NICHT {C , D} als Resolvente • Zwei Klauseln können mehr als eine Resolvente haben z.B.: {A, B} und {¬A, ¬B} Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten Resolution: Bemerkungen aus (4) und (6) {Q} {R} (5) (6) ⊥ aus (1) und (3) aus (2) und (5) {¬R} (4) (7) gegeben gegeben {P} (3) gegeben gegeben {¬P, Q} {¬Q, R} (2) (1) Ableitung der leeren Klausel aus M: M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}} Klauselnormalform: Resolution: Weiteres Beispiel 224 223 E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 } ¬P1 ∨ P2 P1 ∨ P2 P2 ∨ P2 ¬P1 ∨ P2 ¬P1 ∨ ¬P2 ¬P1 ∨ ¬P1 Resolutionsregel: Faktorisieren: ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P1 ∨ P1 P1 ∨ ¬P2 ¬P1 ∨ ¬P2 ¬P2 ∨ ¬P2 C ∨L∨L C ∨L C1 ∨ P ¬P ∨ C2 C1 ∨ C2 Ohne Mengenschreibweise Auf diese Weise ist ⊥ nicht herleitbar P1 ∨ ¬P2 ¬P1 ∨ P2 ¬P1 ∨ P1 P1 ∨ ¬P2 ¬P1 ∨ P2 ¬P2 ∨ P2 226 225 ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P2 ∨ P2 P1 ∨ ¬P2 P1 ∨ P2 P1 ∨ P1 Es gibt folgende Resolutionsmöglichkeiten (ohne Mengenschreibweise) ist unerfüllbar. Die Menge Notwendigkeit der Mengenschreibweise E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 } P1 ∨ ¬P2 ¬P1 ∨ P2 ¬P1 ∨ P1 P1 ∨ ¬P2 ¬P1 ∨ ¬P2 ¬P2 ∨ ¬P2 also: M unerfüllbar Insgesamt: M ⊢Res ⊥ Resolution: {P1 } {¬P1 } ⊥ {¬P1 , P2 } {¬P1 , ¬P2 } {¬P1 } {P1 , P2 } {P1 , ¬P2 } {P1 } 228 227 ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P2 ∨ P2 P1 ∨ ¬P2 P1 ∨ P2 P1 ∨ P1 M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }} Gegeben die Klauselmenge: Resolution: Beispiel P1 ¬P1 ⊥ ¬P1 ∨ P2 ¬P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ P2 ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P1 ∨ ¬P1 P2 ∨ P2 ¬P1 ∨ P1 P1 ∨ P1 ¬P1 ∨ ¬P1 P2 ∨ P2 ¬P2 ∨ ¬P2 P1 ¬P1 P2 ¬P2 P1 ∨ ¬P2 ¬P1 ∨ P2 ¬P2 ∨ P2 Es gibt folgende Resolutionsmöglichkeiten (mit Faktorisieren) ist unerfüllbar. Die Menge Resolution mit Faktorisierung n∈N Resn (F ) {R} (6) gegeben Beweis für ⊥ aus M (Widerspruch) aus (4) und (6) Cn = C und für alle 1 ≤ i ≤ n: (Ci ∈ F oder Ci Resolvente für j1 , j2 <i). aus (2) und (5) aus (1) und (3) gegeben ⊥ {Q} {¬R} {P} (7) (5) (4) (3) gegeben gegeben {¬P, Q} {¬Q, R} (1) (2) M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}} Klauselnormalform: Resolution: Weiteres Beispiel Definition: Beweis für C (aus F ): C1 , . . . Cn , wobei: 230 aus (2) und (5) {Q} (5) {R} mit aus (1) und (3) {¬R} (4) (6) Cj1 Cj2 Ci 229 gegeben gegeben {P} (3) Beweis für {R} aus M gegeben gegeben {¬P, Q} {¬Q, R} (1) (2) M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}} Klauselnormalform: Resolution: Weiteres Beispiel Notation: Falls C ∈ Res⋆ (F ), so schreiben wir F ⊢Res C . auf F ) (bezeichnet die Vereinigung der Resolventen aus aller möglichen Resolutionsschritte Res⋆ (F ) = S Resn+1 (F ) = Res(Resn (F )) Res0 (F ) = F Res(F ) = F ∪ {R | R ist eine Resolvente zweier Klauseln aus F } Sei F eine Klauselmenge und Resolution • Zeigen, dass M ⊢Res ⊥ gdw. M unerfüllbar. • Formalisieren, was M ⊢Res ⊥ bedeutet Ziele: Resolution 232 231 Erklärung 2: Es gibt keine Wertebelegung A die alle Klauseln in M ∪ {⊥} wahr macht (d.h. so dass: A(D) = 1 für alle Klauseln D in M und A(⊥) = 1). Erklärung 1: Falls M = {C1 , . . . , Cn } so M ∪ {⊥} ist eine Notation für C1 ∧ · · · ∧ Cn ∧ ⊥. Aber C1 ∧ · · · ∧ Cn ∧ ⊥ ≡ ⊥, so ist C1 ∧ · · · ∧ Cn ∧ ⊥ unerfüllbar (also auch M ∪ {⊥}). Da M ≡ M ∪ {⊥}, ist auch M unerfüllbar. Dann, falls M ⊢Res ⊥, so ⊥∈ Res∗ (M), d.h. M ≡ M ∪ {⊥}. Aber M ∪ {⊥} ist unerfüllbar, deshalb ist auch M unerfüllbar. (Theorem auf Seite 236). (NB: M ∪ {C } Notation für M ∧ C .) Beweis: Wir werden zeigen, dass falls C ∈ Res∗ (M), so M ≡ M ∪ {C }. Theorem (Korrektheit) Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar. Resolution: Korrektheit Theorem (Vollständigkeit) Für eine Menge M von Klauseln gilt: Falls M unerfüllbar, so M ⊢Res ⊥. Theorem (Korrektheit) Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar. Resolution: Korrektheit und Vollständigkeit 234 233 • Sei A : Π → {0, 1} mit A(F ∧ C ) = 1. Dann A(F ) = 1 und A(C ) = 1, so A(F ) = 1. Dann A(C ) = 1, so (A(F ) = 1 und A(C ) = 1), d.h. A(F ∧ C ) = 1. • Sei A : Π → {0, 1} mit A(F ) = 1. Induktion: Für alle m ∈ N gilt: Falls D ∈ Resm (F ), so A(D) = 1. (folgt aus: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2 ) Beweis: Annahme: C ∈ Resn (F ). Zu zeigen: F ≡ F ∧ C , i.e.: Für alle A : Π → {0, 1} gilt: A(F ) = 1 gdw. (A(F ) = 1 und A(C ) = 1). Theorem: Falls C ∈ Res⋆ (F ), so F ≡ F ∪ {C }. Resolution: Korrektheit Fall 2: A(C1 ) = 0. Dann A(P) = 1. Da A(C2 ∨ ¬P) = 1, so A(C2 ) = 1, d.h. A(C1 ∨ C2 ) = 1. Fall 1: A(C1 ) = 1. Dann A(C1 ∨ C2 ) = 1. Zu zeigen: A(C1 ∨ C2 ) = 1. Sei A Interpretation mit A(C1 ∨ P) = 1 und A(C2 ∨ ¬P) = 1. Beweis: Lemma: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2 Resolution: Korrektheit 236 235 2. Aussagenlogik Falls M unerfüllbar, so M ⊢Res ⊥ Sei M Menge von Klauseln mit n Aussagenvariablen. 28.05.2012 Teil 6 p(n): Beweis: Induktion: Theorem. Für jede endliche Menge M von Klauseln gilt: falls M unerfüllbar, so M ⊢Res ⊥. Resolution: Vollständigkeit 238 237 Falls M ⊢Res ⊥, so M unerfüllbar. heute Theorem (Vollständigkeit) Für eine Menge M von Klauseln gilt: Falls M unerfüllbar, so M ⊢Res ⊥. letzte Vorlesung Theorem (Korrektheit) Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar. Resolution: Korrektheit und Vollständigkeit • Zeigen, dass das Verfahren terminiert. Vollständigkeit: Falls M unerfüllbar, so M ⊢Res ⊥ Korrektheit: • Zeigen, dass M ⊢Res ⊥ gdw. M unerfüllbar. • Formalisieren, was M ⊢Res C bedeutet Ziele: Resolution 240 239 ¬Pn+1 zurück: D1′ , D2′ , . . . , Dk′ Beweis (aus M) für ⊥ oder ¬Pn+1 M1 ⊢Res ⊥, i.e. es gibt D1 , D2 , . . . , Dk Beweis (aus M1 ) für ⊥ Pn+1 zurück: C1′ , C2′ , . . . , Cm′ Beweis (aus M) für ⊥ oder Pn+1 M0 ⊢Res ⊥, i.e. es gibt C1 , C2 , . . . , Cm Beweis (aus M0 ) für ⊥ Induktionsvoraussetzung: • M0 , M1 unerfüllbar • M0 , M1 enthalten nur Aussagenvariablen {P1 , . . . , Pn } Fakten: M1 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊤: - ¬Pn+1 wird aus allen Klauseln gelöscht, - Klauseln, die Pn+1 enthalten werden ebenfalls gelöscht M0 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊥: - Pn+1 wird aus allen Klauseln gelöscht, - Klauseln, die ¬Pn+1 enthalten werden ebenfalls gelöscht Resolution: Vollständigkeit Induktionsbasis: n = 0. Dann M = {⊥}, d.h. M ⊢Res ⊥ Falls M unerfüllbar, so M ⊢Res ⊥ ⇒ M ⊢Res ⊥ Sei M Menge von Klauseln mit n Aussagenvariablen. 241 242 7→ nicht mehr als (22n )2 mögliche Anwendungen der Resolutionsregel. Beweis: Es gibt nicht mehr als 22n Klauseln (in Mengennotation) mit n Aussagenvariablen. Theorem. Aussagenlogische Resolution (für Klauselmengen in Mengennotation) terminiert, für jede endliche Menge von Klauseln. Terminierung Theorem. Für jede Menge M von Klauseln gilt: falls M unerfüllbar, so M ⊢Res ⊥. Es gilt auch: Beweis: Induktion: p(n): Theorem. Für jede endliche Menge M von Klauseln gilt: falls M unerfüllbar, so M ⊢Res ⊥. Resolution: Vollständigkeit Theorem. Für jede endliche Menge M von Klauseln gilt: falls M unerfüllbar, so M ⊢Res ⊥. Resolution: Vollständigkeit 244 243 {¬P} ∪ C C {¬P} {P} ∪ C C ist nicht erfüllbar, aber mit 1-Resolution ist aus M nichts ableitbar, also auch nicht ⊥. M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }} Die Klauselmenge Der 1-Resolutionskalkül ist nicht vollständig. {P} Die 1-Resolution (unit resolution) benutzt dieselbe Notation wie im Resolutionskalkül. Die 1-Resolutionsregel ist ein Spezialfall der allgemeinen Resolutionsregel: 1-Resolution 7→ Erfüllbarkeit von F ist polynomiell entscheidbar. Wenn wir Res∗ (F ) berechnen: nicht mehr als (4n2 )2 Resolutionsschritte notwendig. F ist erfüllbar gdw. ⊥6∈ Res∗ (F ) Wenn F n Aussagenvariablen enthält, gibt es 2n mögliche Literale, und ≤ 4n2 nicht-leere verschiedene 2-KNF Klauseln. Fakt: Resolventen sind immer auch in 2-KNF. Resolutionschritt; Resolvente L1 ∨ L2 (Mengennotation) Fall 2: Es gibt Klauseln C1 = L1 ∨ P, C2 = L2 ∨ ¬P Fall 1: Für jede Aussagenvariable P, entweder enthalten alle Klauseln P oder ¬P: erfüllbar. Beweis (Krom, 1967) Theorem Erfüllbarkeit für Formeln in 2-KNF (2SAT) ist polynomiell entscheidbar 2-SAT 246 245 Semantische Tableaux 2. Formelmengen Resolution 1. Formeln in KNF (Mengen von Klauseln) (für Formeln und/oder Formelmengen) Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit Unser Ziel Semantische Tableaux 2. Formelmengen Resolution 1. Formeln in KNF (Mengen von Klauseln) (für Formeln und/oder Formelmengen) Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit Unser Ziel bis jetzt 248 247 • Mehr als eine Regel Nachteile • Falls Formelmenge erfüllbar ist (Test schlägt fehl), wird ein Gegenbeispiel (eine erfüllende Interpretation) konstruiert • Formeln müssen nicht in Normalform sein • Intuitiver als Resolution Vorteile 250 • Top-down-Analyse der gegebenen Formeln Der aussagenlogische Tableaukalkül • F ∧G • ¬(F ∨ G ) • Beweis durch Fallunterscheidung ¬F F F ¬(F → G ) ¬¬F F α1 ¬(F ∨ G ) F ∧G α Zuordnungsregeln Formeln / Unterformeln • ¬(F → G ) • ¬(F ∨ G ) • F ∧G • ¬¬F ¬G ¬G G α2 Formeltypen Konjunktive Formeln: Typ α • F →G • F ∨G • ¬(F ∧ G ) Disjunktive Formeln: Typ β • ¬(F → G ) • ¬¬F 249 Formeltypen Konjunktive Formeln: Typ α • Widerlegungskalkül: Testet auf Unerfüllbarkeit Wesentliche Eigenschaften Der aussagenlogische Tableaukalkül 252 251 β2 β ⊥ ¬φ φ β1 | β2 α2 α1 α Widerspruch Disjunktiv Konjunktiv q p | ⊥ φ ¬φ \ / p∨q p∧q | p | q Regeln des (aussagenlogischen) Tableaukalküls G G F ¬F ¬G F →G ¬F ¬(F ∧ G ) F ∨G β1 β Zuordnungsregeln Formeln / Unterformeln • F →G • F ∨G • ¬(F ∧ G ) Disjunktive Formeln: Typ β Formeltypen 254 253 ¬Q ¬Q Q ¬Q ¬¬R R (9) ¬Q (8) ¬(Q ∨ ¬R) (7) P ¬Q ∨ ¬R P ∧ ¬(Q ∨ ¬R) (11) (10) (4) ¬P | Q ¬(Q ∨ ¬R) P ¬R XXXX X (2) 1.(1) (6) (5) (3) ¬P | ¬Q P | Q P ¬¬P Dieses Tableau ist nicht “maximal”, aber der erste “Ast” ist. Dieser Ast ist nicht “geschlossen” (enthält keinen Widerspruch), also ist die Menge {1, 2} erfüllbar. (Diese Begriffe werden auf den nächsten Seiten erklärt.) Ein Tableau für {P ∧ ¬(Q ∨ ¬R), ¬Q ∨ ¬R} ¬(P ∧ Q) P ∨Q P→Q P ¬P P Instanzen der β-Regel ¬(P → Q) ¬(P ∨ Q) P ∧Q Instanzen der α-Regel Instanzen der α und β-Regel 256 255 Definition. Ein Tableau für M, das geschlossen ist, ist ein Tableaubeweis für (die Unerfüllbarkeit von) M Definition. Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist. Definition. Ast B eines Tableaus für M ist geschlossen, wenn es eine Formel F existiert, so dass B die Formeln F und ¬F enthält. Definition Tableauast: Maximaler Pfad in einem Tableau (von Wurzel zu Blatt) Formale Definition des Kalküls Nota bene: Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M 258 257 Dann ist T ′ ein Tableau für M. T ′ entstehe durch Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) • F eine Formel auf B oder in M, die kein Literal ist • B ein Ast von T • T ein Tableau für M Erweiterung Initialisierung Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M Sei M eine Formelmenge Formale Definition des Kalküls Definition Tableau: Binärer Baum, dessen Knoten mit Formeln markiert sind Formale Definition des Kalküls Dieselbe Formel kann mehrfach (auf verschiedenen Ästen) verwendet werden Nota bene: • Nicht-verzweigende Regeln zuerst: α vor β Heuristik • Der Kalkül aber nicht: Auswahl der nächsten Formel, auf die eine Regel angewendet wird • Die Regeln sind alle deterministisch Determinismus Determinismus von Kalkül und Regeln 260 259 P β [41 ] (11) S XXXX X geschlossenes Tableau. (10) α [52 ] ¬S (7) β [42 ] (9) Q→R β [22 ] α [51 ] ¬(Q → R) (6) β [21 ] α [32 ] ¬((Q → R) ∨ S)) (5) ¬P α [31 ] (8) α [12 ] P∨S (4) hhhhh hhhh α [11 ] (P → (Q → R)) ¬((P ∨ S) → ((Q → R) ∨ S)) (2) (3) ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))] Beispiel (1) unerfüllbar ist. ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))] Wir zeigen, dass (P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig Zu zeigen: Beispiel 262 261 Klauseltableau • Alle Knoten im Tableau enthalten Literale • Erweiterungsregel kann Verzweigungsgrad > 2 haben • Keine α-Regel Änderungen M Menge von Klauseln 3.06.2013 Teil 7 2. Aussagenlogik 264 263 Q ⊥ P ⊥ ⊥ R ⊥ ¬P ⊥ ¬Q ⊥ Falls M erfüllbar ist, hat M kein geschlossenes Tableau. ... alternativ: Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt (d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar. Korrektheit: “⇐” Eine Formelmenge M ist unerfüllbar genau dann, wenn es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt Theorem. Korrektheit und Vollständigkeit des Tableaukalküls ⊥ P g 1. VVVVV VVVV ggggg VV ggggg g ¬P K Q K u LLLL u K u K uu uuu ¬Q P ¬Q p P III PPP s ppp sss M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } Klauseltableau: Beispiel 266 265 ... Also: Kein geschlossenes Tableau für erfüllbare Formelmenge Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar Ein Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Ein Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist Definition. ... alternativ: Falls M erfüllbar ist, hat M kein geschlossenes Tableau. Theorem (Korrektheit) Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt (d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar. Kern des Korrektheitsbeweises Falls M unerfüllbar ist, gibt es einen Tableaubeweis für (die Unerfüllbarkeit von) M (d.h. ein Tableau für M, das geschlossen ist). Vollständigkeit: “⇒” Eine Formelmenge M ist unerfüllbar genau dann, wenn es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt Theorem. Korrektheit und Vollständigkeit des Tableaukalküls 268 267 p(n): Falls M erfüllbar und das Tableau T in n Schritten aus M gebildet wurde, ist T erfüllbar p(n): Falls M erfüllbar und das Tableau T in n Schritten aus M gebildet wurde, ist T erfüllbar Fall 1: B ′ 6= B. Dann ist B ′ auch Ast in T , d.h. T erfüllbar. Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ . Sei T ein in n + 1 Schritten gebildetes Tableau für M. Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und eine Formel F auf B, die kein Literal ist, so dass T durch die Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist. Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1). Beweis: Induktion Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar 270 p(n): Falls M erfüllbar und das Tableau T in n Schritten aus M gebildet wurde, ist T erfüllbar Fall 2b: β-Regel angewandt F ≡F1 ∨F2 . Dann 1=A(F )=A(F1 )∨A(F2 ), so A(F1 )=1 oder A(F2 )=1. Dann A|=NB ∪{Fi }, i=1 oder 2, d.h. A Modell für alle Formeln auf der Erweiterung von B mit F1 oder F2 , so T erfüllbar. Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B. Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ . Sei T ein in n + 1 Schritten gebildetes Tableau für M. Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist. Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1). Beweis: Induktion Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist. Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist. Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Fall 2a: α-Regel angewandt F ≡ F1 ∧ F2 . Dann ist A Modell für NB ∪ {F1 , F2 }, d.h.: die Erweiterung von B mit dieser α-Regel ist erfüllbar, so T erfüllbar. Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B. Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ . Sei T ein in n + 1 Schritten gebildetes Tableau für M. Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist. Lemma 1: Beweis 269 p(n): Falls M erfüllbar und das Tableau T in n Schritten aus M gebildet wurde, ist T erfüllbar Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1). Beweis: Induktion Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist. Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Lemma 1: Beweis Lemma 1: Beweis da M erfüllbar ist, ist ein solches Tableau erfüllbar Initialisierung Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M Induktionsbasis: T wurde in einem Schritt gebildet. Beweis: Induktion Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar Definition. Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist. Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Lemma 1: Beweis 272 271 “falls es keinen Tableaubeweis für die Unerfüllbarkeit von M gibt (d.h. “maximales Tableau’” für M nicht geschlossen) so ist M erfüllbar” ... alternativ: Theorem (Vollständigkeit) Falls M unerfüllbar, so gibt es einen Tableaubeweis für die Unerfüllbarkeit von M (d.h. einen Tableau für M, das geschlossen ist). Theorem (Korrektheit) Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt (d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar. Korrektheit und Vollständigkeit Falls die Menge der Formeln auf B (und M) erfüllbar ist, kann B nicht Formeln F und ¬F enthalten, d.h. B kann nicht geschlossen sein. Annahme: T erfüllbar. Dann hat T einen erfüllbaren Ast B. Beweis: Kontraposition Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist Definition. Lemma 2: Beweis 274 273 1: A, ¬A ∈ B: unmöglich, da B offen ist. 2: A, L ∈ B mit L Literal in D. N erfüllbar gdw. N\{D ∨ ¬A} erfüllbar. 3: L, ¬A ∈ B, mit L Literal in C . N erfüllbar gdw. N\{C ∨ A} erfüllbar. 4: L1 , L2 ∈ B, mit L1 Literal in C , L2 Literal in D. N erfüllbar gdw. N\{C ∨ A, D ∨ ¬A} erfüllbar. N 7→ N ′ , N ′ Klauselmenge ohne komplementäre Literale und ohne ⊥ Die Erfüllbarkeit von N ′ folgt aus der Vollständigkeit der Resolution. Fall Fall Fall Fall Annahme: C nicht leer. Da B voll expandiert ist, wurde die β-Regel für C ∨ A angewandt (auch für D ∨ ¬A falls D nicht leer). Sei N die Menge der Formeln auf B. Da B offen ist, ist ⊥ nicht in N. Seien C ∨ A, D ∨ ¬A zwei Klauseln in N die komplementäre Literale enthalten. Einer von C , D ist nicht leer (sonst wäre B geschlossen). Beweis: (für klausale Tableaux) Lemma 3. Sei B offener Ast in voll expandiertem Tableau. Dann ist die Menge der Formeln in B erfüllbar. Lemma 3: Beweis ... Also: Voll expandiertes Tableau für unerfüllbares M ist geschlossen Lemma 3. Sei B offener Ast in voll expandiertem Tableau. Dann ist die Menge der Formeln in B erfüllbar. angewendet worden ist. • auf jedem offenen Ast • auf jede passende Formel • jede Regel Ein Tableau heißt voll expandiert, wenn Definition. Kern des Vollständigkeitsbeweises 276 275 Zuerst {¬P, Q}: OK Zuerst {¬P, R}: Sackgasse Beispiel: M = {{P}, {¬Q}, {¬P, Q}, {¬P, R}} (bei schwacher Konnektionsbedinung nicht) Bei starker Konnektionsbedingung kann ungünstige Erweiterung in Sackgasse führen. Jedoch Theorem (hier ohne Beweis) Regularität, starke und schwache Konnektionsbedingung erhalten Vollständigkeit. Klauseltableau: Einschränkungen des Suchraums Bei Erweiterung von Ast B muss mindestens eines der neuen Literale komplementär zum Blatt von B sein – außer beim ersten Schritt. Starke Konnektionsbedingung (Modellelimination) Bei Erweiterung von Ast B muss mindestens eines der neuen Literale komplementär zu Literal in B sein. Schwache Konnektionsbedingung (Connection calculus) Kein Literal darf auf einem Ast mehr als einmal vorkommen Regularität: Klauseltableau: Einschränkungen des Suchraums 278 277 M ∧ V ∧ P ∧ ¬F Wir zeigen, dass die folgende Konjunktion unerfüllbar ist: (¬F → (V ∧ M), (M ∧ F ))∧ ((M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P))∧ (¬P → (F ∧ M ∧ ¬V ))∧ ((P ∧ ¬F ) ∨ (V ∧ ¬P))∧ ¬M ∨ ¬V ∨ ¬P ∨ F (Negation der Behauptung) {¬F → (V ∧ M), (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P), ¬P → (F ∧ M ∧ ¬V ), (P ∧ ¬F ) ∨ (V ∧ ¬P)} |= Zu zeigen: M ∧ V ∧ P ∧ ¬F Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug. Behauptung Klauseltableau: Weiteres Beispiel (P ∧ ¬F ) ∨ (V ∧ ¬P) Auch dem Baby soll einer seiner Wünsche erfüllt werden: erstens einen Pool und nicht fliegen oder zweitens Vollpension, dann aber ohne Pool. ¬P → (F ∧ M ∧ ¬V ) Gibt es keinen Pool, so besteht Tochter Lisa auf einer Flugreise und Urlaub am Meer und darauf, dass keine Vollpension gebucht wird. (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P) Die Mutter möchte mindestens einen ihrer drei Wünsche erfüllt sehen: ans Meer fliegen, oder am Meer ohne Pool, oder Vollpension und Pool. ¬F → (V ∧ M) Falls sie nicht mit dem Flugzeug fliegen, besteht der Vater auf Vollpension am Meer. Signatur: F : Flugreise V : Vollpension M: Meer P: Pool Klauseltableau: Weiteres Beispiel 280 279 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) • mit starker Konnektionsbedingung • mit Regularität • bei Beginn mit Klausel (1) Konstruktion des Konnektionstableaus Beobachtung Nahezu deterministische Beweiskonstruktion Dann: F ∨V F ∨M M∨V M∨P M ∨ ¬P ∨ V F ∨M∨V F ∨M∨P F ∨ ¬P ∨ V P ∨F P ∨M P ∨ ¬V P ∨V ¬F ∨ V ¬F ∨ ¬P ¬M ∨ ¬V ∨ ¬P ∨ F Klauseltableau: Weiteres Beispiel Negation der Behauptung (P ∧ ¬F ) ∨ (V ∧ ¬P) ¬P → (F ∧ M ∧ ¬V ) (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P) ¬F → (V ∧ M) Klauseltableau: Weiteres Beispiel 282 281 F V F P V P F 1 2. Aussagenlogik F ∨V F ∨M M∨V M∨P M ∨ ¬P ∨ V F ∨M∨V F ∨M∨P F ∨ ¬P ∨ V P ∨F P ∨M P ∨ ¬V P ∨V ¬F ∨ V ¬F ∨ ¬P ¬M ∨ ¬V ∨ ¬P ∨ F 4.06.2013 Teil 8 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) P F P F V M M V V Klauseltableau: Weiteres Beispiel P F 284 283 • Terminierung • Strikte Tableaux • Schwache und starke Konnektionsbedingung • Regularität • Klauseltableau • Korrektheit und Vollständigkeit • Formale Definition des Kalküls • Tableauregeln (mit uniformer Notation) Beweis durch Widerspruch und Fallunterscheidung Zusammenfassung: Tableaukalkül Dann sind alle Äste in T endlich, und so ist auch T endlich (König’s Lemma). Beweis: Neue Formeln mit denen ein Tableau erweitert wird sind ⊥, (⊤) oder Teilformeln der Formel, auf der die Erweiterungsregel angewandt wird. Da T strikt ist, wird für jede Formel F die entsprechende Erweiterungsregel höchstens einmal auf jeden Ast, der die Formel enthält, angewandt. Theorem. Sei T ein striktes aussagenlogisches Tableau. Dann ist T endlich. Definition. Ein Tableau ist strikt, falls für jede Formel F die entsprechende Erweiterungsregel höchstens einmal auf jeden Ast, der die Formel enthält, angewandt wurde. Terminierung 286 285