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