Logik für Informatiker Wintersemester 2007/08 Thomas Schwentick Teil A: Aussagenlogik 2. Grundlagen Version von: 2. November 2007(16:19) Inhalt 2.1 Beispiele 2.2 Syntax 2.3 Semantik 2.4 Modellierung mit AL: Beispiele 2.5 Einige Grundbegriffe 2.6 Äquivalenzen und Normalformen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 1 Gründe für formale Logik: Präzision (1) Keine zwei Spieler haben in allen Spielen gleich gut gespielt • = höchstens ein Spieler hat in allen Spielen gleich gut gespielt? • = es gab keine zwei Spieler, für die in jedem Spiel galt, dass beide gleich gut gespielt haben? (2) „Jetzt trinken wir beide mal ein schönes Pils“ (Generaldirektor Haffenloher) • „Eins? Zusammen?“ (Barkeeper) (3) Ich fahre im März oder April nach Spanien • Stimmt das auch noch, wenn ich am 15.3. und am 18.4. nach Spanien fahre? • Formale Logik hat eine eindeutige Semantik und erlaubt daher, Zusammenhänge präzise zu beschreiben • Aussagen wie (1) und (2): Prädikatenlogik (später) • Aussage (3): Aussagenlogik (jetzt) Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 2 Gründe für formale Logik: Ausnutzen von Struktur Eine schlüssige Überlegung • Wenn der Zug zu spät kommt und keine Taxis am Bahnhof sind, kommt Jane zu spät zu ihrem Termin • Jane ist pünktlich • Der Zug ist zu spät ➨ Also gibt es Taxis am Bahnhof Noch eine schlüssige Überlegung • Falls es regnet und John seinen Schirm nicht dabei hat, wird er nass • John wird nicht nass • Es regnet ➨ Also hat er seinen Schirm dabei (Beispiele aus [HR]) Logik für Inf. / Schwentick / WiSe 07/08 • Die beiden Beispiele sind sehr ähnlich • In beiden Fällen haben wir es mit 3 elementaren Aussagen zu tun: (1) Der Zug ist zu spät (2) Es gibt Bahnhof Taxis am (3) Jane kommt zu spät Es regnet John hat seinen Schirm dabei John wird nass • In beiden Fällen ist die Struktur der Argumentation gleich: – Falls (1) gilt und (2) nicht gilt, so gilt (3) – (3) gilt nicht – (1) gilt ➨ Also gilt (2) • Erkenntnisse: – Die Argumentation ist unabhängig vom Inhalt der Aussagen (1) - (3) – Es kommt nur auf den logischen Zusammenhang zwischen den Aussagen an A: Aussagenlogik - 2. Grundlagen Folie 3 Gründe für formale Logik: Problemlösen Eine typische Logelei Angela: „Franz oder ich werden an der Regierungskoalition beteiligt sein.“ Franz: „Entweder Joschka oder ich werden an der Regierung beteiligt sein.“ Joschka: „Entweder Angela oder ich werden in der Opposition sein.“ • Das lässt sich wie folgt formalisieren: (F ∨ A) ∧ (J ↔ ¬F ) ∧ (A ↔ ¬J ) • Dabei steht A für „Angela ist an der Regierung beteiligt“ etc. • Durch Ausprobieren aller Möglichkeiten ergibt sich: Nur die Variablenbelegung J 7→ 0, F 7→ 1, A 7→ 1 macht die Formel wahr • Erkenntnis: Die logische Formalisierung erlaubt die Anwendung systematischer Methoden zur Lösung von Problemen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 4 Aussagen und Aussagenvariablen • Die Aussagenlogik ist (nicht sehr • Was unterscheidet Aussagen von anderen überraschend) die „Logik der Aussagen“ • Was ist eine Aussage? – Beispiele für Aussagen: ∗ Der Zug ist pünktlich ∗ Alle Marsianer lieben Pizza ∗ Der BVB wird Meister der Saison 2007/08 ∗ Jede gerade Zahl, die größer als 2 ist, ist die Summe zweier Primzahlen – Keine Aussagen sind: ∗ Geben Sie mir mal das Salz, bitte? ∗ Alles Gute! ∗ Möge das bessere Team gewinnen! Logik für Inf. / Schwentick / WiSe 07/08 Sätzen? – Aussagen können wahr oder falsch sein • Gemäß dieser Erkenntnis wählen wir unsere Abstraktion von Aussagen: etwas, das wahr oder falsch sein kann ➞ Statt sprachlicher Aussagen verwenden wir Variablen, die die Werte wahr oder falsch annehmen können • Solche Variablen nennen wir dann Aussagevariablen A: Aussagenlogik - 2. Grundlagen Folie 5 Inhalt 2.1 Beispiele 2.2 Syntax 2.3 Semantik 2.4 Modellierung mit AL: Beispiele 2.5 Einige Grundbegriffe 2.6 Äquivalenzen und Normalformen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 6 Aussagenlogik: Syntax • Sei AV eine Menge aussagenlogischer • Variablen AV enthalte mindestens A, B, C sowie Ai, für alle i ∈ N Def. 2.1 [Syntax aussagenlogischer Formeln] • Die Menge AL der aussagenlogischen Formeln ist die kleinste Menge, die die folgenden Eigenschaften hat. (1) wahr und falsch sind in AL (2) Jedes Element aus AV ist in AL (3) Sind F , F1 und F2 in AL, so auch (Negation) – ¬F , – (F1 ∧ F2 ), (Konjunktion) (Disjunktion) – (F1 ∨ F2 ), Beispiel • Formeln sind: – ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) – ((A ∨ ¬wahr) ∧ ¬¬B) – (A ∧ ¬A) • Keine Formeln sind: – A ∧ ¬B) – A ∧ B ∨ A2 – ((A ∨ B)) • Die Struktur einer aussagenlogischen Formel lässt sich durch ihren Syntaxbaum veranschaulichen: ∧ • Formeln der Typen (1) und (2) nennen wir • • atomar Wir nennen wahr und falsch Wahrheitswerte Abkürzungen: 1 statt wahr, 0 statt falsch Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen ∨ A1 ¬ A2 A1 ∧ ¬ A3 Folie 7 Exkurs: Induktive Definitionen • Die Definition von AL ist ein Beispiel für eine • • induktive Definition einer Menge: – Zuerst werden gewisse Grundelemente der Menge definiert (hier: die aussagenlogischen Variablen, sowie wahr und falsch) – Dann wird beschrieben, wie aus gegebenen Elementen der Menge neue Elemente gewonnen werden – Implizit oder explizit gilt zusätzlich: es gibt keine anderen Elemente als die so konstruierbaren Ein (hoffentlich) bekanntes Beispiel einer induktiven Definition: – 0∈N – n∈N ⇒ n+1∈N Induktive Definitionen von Mengen erlauben: – induktive Beweise von Eigenschaften aller Elemente der Menge und – induktive Definitionen von Funktionen auf den Elementen der Menge Logik für Inf. / Schwentick / WiSe 07/08 • Als Beispiel definieren wir die Tiefe d(F ) einer aussagenlogischen Formel: – d(A) =def d(wahr) =def d(falsch) =def 0 d(F ) + 1 – d(¬F ) =def – d((F1 ∨ F2 )) =def d((F1 ∧ F2 )) =def 1 + max(d(F1 ), d(F2 )) • Sei noch |F | =def Länge von F als String • Dann lässt sich die Behauptung d(F ) ≤ |F | induktiv beweisen: – d(F ) = 0 < |F | für atomare Formeln – d(¬F ) = d(F ) + 1 ≤ |F | + 1 = |¬F | – d((F1 ∧ F2 )) = 1 + max(d(F1 ), d(F2 )) ≤ 1 + max(|F1 |, |F2 |) ≤ |(F1 ∧ F2 )| A: Aussagenlogik - 2. Grundlagen Folie 8 Inhalt 2.1 Beispiele 2.2 Syntax 2.3 Semantik 2.4 Modellierung mit AL: Beispiele 2.5 Einige Grundbegriffe 2.6 Äquivalenzen und Normalformen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 9 Aussagenlogik: Semantik • Bisher haben wir nur definiert, wie • • • • ➞ aussagenlogische Formeln aussehen (Syntax) Jetzt definieren wir, was sie bedeuten (Semantik) Was soll beispielsweise Die Formel F = ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) bedeuten? F stellt eine Beziehung her zwischen den Werten der aussagenlogischen Variablen und einem Wahrheitswert Genauer: für jede Wahl von Wahrheitswerten für die Variablen von F ergibt sich ein einzelner Wahrheitswert Diese Zuordnung soll gerade die Semantik von F sein Logik für Inf. / Schwentick / WiSe 07/08 • Eine (Wahrheits-)Belegung α ist eine partielle Funktion α : AV → {0, 1} • Eine Belegung α heißt passend für eine Formel F , wenn α(X) für alle in F vorkommenden Variablen X definiert ist • Die Semantik von F ordnet jeder passenden Belegung α einen Wahrheitswert α(F ) zu Semantik aussagenlogischer Formeln • Sei F ∈ AL • Sei α eine zu F passende Belegung • Dann ist α(F ) =def – 0, falls F = 0 – 1, falls F = 1 – α(X), falls F = X und X ∈ AV – 1 − α(G), falls F = ¬G – min(α(F1 ), α(F2 )), falls F = F1 ∧ F2 – max(α(F1 ), α(F2 )), falls F = F1 ∨ F2 A: Aussagenlogik - 2. Grundlagen Folie 10 Aussagenlogik: Semantik (Beispiel) Beispiel • Sei F die Formel ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) • Sei die Belegung α wie folgt gegeben: X α(X) A1 0 A2 1 A3 0 • Dann ist α(((A1 ∨A2 ) ∧ ¬(A1 ∧ ¬A3 ))) = min(α((A1 ∨ A2 )), α(¬(A1 ∧ ¬A3 ))) = min(max(α(A1 ), α(A2 )), 1 − min(α(A1 ), 1 − α(A3 ))) = min(max(0, 1), 1 − min(0, 1 − 0)) =1 • Wie aus der Vorlesung Rechnerstrukturen bekannt ist, lässt sich die Semantik einer aussagenlogischen Formel F in einer Wahrheitstabelle repräsentieren Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 11 Wahrheitstabelle (Beispiel) Beispiel • Sei F wieder die Formel ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) • Dann ist die Semantik von F durch die folgende Wahrheitstabelle gegeben: α(A1 ) 0 0 0 0 1 1 1 1 α(A2 ) 0 0 1 1 0 0 1 1 α(A3 ) 0 1 0 1 0 1 0 1 α(F ) 0 0 1 1 0 1 0 1 • Jede Zeile der Wahrheitstabelle entspricht also genau einer Belegung α der Variablen von F • Künftig werden wir das „α“ in Tabellenköpfen weglassen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 12 Abkürzende Schreibweisen • Wir lassen Klammern weg, wenn dadurch keine Missverständnisse entstehen: – Statt ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) schreiben wir beispielsweise (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ) – Weitere Fälle, in denen Klammern eingespart werden können, lernen wir bald kennen • Und weiterhin: 0 für falsch und 1 für wahr • Wir vereinbaren die logischen Operatoren → und ↔ als abkürzende Schreibweisen wie folgt: – F1 → F2 für ¬F1 ∨ F2 – F1 ↔ F2 für (F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 ) • Die entsprechenden Wahrheitstabellen: F1 F2 F1 → F2 0 0 1 1 1 0 1 0 0 1 1 1 Logik für Inf. / Schwentick / WiSe 07/08 F1 0 0 1 1 A: Aussagenlogik - 2. Grundlagen F2 0 1 0 1 F1 ↔ F2 1 0 0 1 Folie 13 Inhalt 2.1 Beispiele 2.2 Syntax 2.3 Semantik 2.4 Modellierung mit AL: Beispiele 2.5 Einige Grundbegriffe 2.6 Äquivalenzen und Normalformen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 14 Modellierung mit Aussagenlogik: Erstes Beispiel Beispiel • „Das Fluchtauto war rot oder grün und hatte weder vorne noch hinten ein Nummernschild“ • Elementare Aussagen: – A1 : Das Fluchtauto war rot – A2 : Das Fluchtauto war grün – A3 : Das Fluchtauto hatte vorne ein Nummernschild – A4 : Das Fluchtauto hatte hinten ein Nummernschild • Gesamtaussage: (A1 ∨ A2 ) ∧ (¬A3 ∧ ¬A4 ) (Beispiel aus [MG]) Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 15 Modellierung mit Aussagenlogik: Zweites Beispiel Beispiel • „Platon hatte Recht mit seiner Einschätzung des Sokrates genau • • dann, wenn Sokrates kein großer Philosoph war“ „Wenn Sokrates ein großer Philosoph war, dann hatte Aristoteles Recht mit seiner Einschätzung des Platon“ „Aristoteles hatte nur dann Recht mit seiner Einschätzung des Platon, falls Platon Recht hatte mit seiner Einschätzung des Sokrates“ • Elementare Aussagen: – S : „Sokrates war ein großer Philosoph“ – A: „Aristoteles hat Recht mit seiner Einschätzung des Platon“ – P : „Platon hat Recht mit seiner Einschätzung des Sokrates“ • Teilaussagen: – P ↔ ¬S – S →A – A→P • Gesamtaussage: ((P ↔ ¬S) ∧ (S → A)) ∧ (A → P ) (Beispiel aus [KuK]) Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 16 Modellierung mit Aussagenlogik: Drittes Beispiel Beispiel • Anfangs sind alle Felder verdeckt • Einige der Felder enthalten eine Mine,alle anderen sind leer • Durch Anklicken mit der linken Maustaste kann man ein Feld • • aufdecken: – Klickt man auf eine Mine, so hat man verloren. – Klickt man auf ein leeres Feld, so wird die Anzahl der Minen auf benachbarten Feldern angezeigt Durch Klicken mit der rechten Maustaste kann man ein Feld mit einem Fähnchen markieren Ziel des Spiels ist es, alle Felder aufzudecken, die keine Mine enthalten (Beispiel aus [MG]) Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 17 Modellierung mit Aussagenlogik: Drittes Beispiel (Forts.) Beispiel: Verwendete Variablen • Wir betrachten den Fall eines Spielfeldes mit 8 × 8 Feldern • Wir nennen ein Paar (i, j) ∈ {1, . . . , 8} × {1, . . . , 8} ein Feld • Wir verwenden die folgenden aussagenlogischen Variablen für jedes Feld q = (i, j): – A•q soll intuitiv bedeuten: Feld q ist vermint – Ak q soll intuitiv bedeuten: Feld q hat k verminte Nachbarfelder (für jedes k ∈ {0, . . . , 8}) Beispiel: Gültige Formeln • Für jedes Feld q : 8 _ 1 – Fq =def Ak q k=0 ≤ k < l ≤ 8: 2 l) Fq,k,l =def ¬(Ak ∧ A q q – Für jede Menge N von Nachbarfeldern von q : 3 =def Fq,N 8 _ ^ Ak A•q0 → q – Für alle 0 q0 ∈N – Für jedes k k=|N| ∈ {1, . . . , 8}: 4 Fq,k =def W V k Aq → N∈N(q,k) q0 ∈N A•q0 (dabei bezeichne N (q, k) die Menge der k-elementigen Nachbarfeldermengen von q ) Logik für Inf. / Schwentick / WiSe 07/08 • F bezeichne die Menge all dieser Formeln A: Aussagenlogik - 2. Grundlagen Folie 18 Modellierung mit Aussagenlogik: Drittes Beispiel (Forts.) Beispiel: Schlüsse Ziehen • Zu Beginn des Spiels wissen wir nur, dass alle Formeln aus F gültig sein müssen • Angenommen, wir klicken auf Feld (4, 4) und es erscheint die Zahl 2 • Dann wissen wir: – A2 (4,4) = 1 – Ak (4,4) = 0, für alle k 6= 2 – A•(4,4) = 0 • Zusammen mit den Formeln aus F folgt dann zum Beispiel, dass ¬((A•(3,5) ∧ A•(4,5) ) ∧ A•(5,5) ) gültig sein muss • Aus der Menge F und den gültigen Formeln, die sich aus den Informationen über angeklickte Felder ergeben, kann also auf die Gültigkeit weiterer Formeln geschlossen werden • Wir können gefahrlos das Feld q = (i, j) anklicken, wenn wir die Gültigkeit der Formel ¬A• q erschließen können Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 19 Inhalt 2.1 Beispiele 2.2 Syntax 2.3 Semantik 2.4 Modellierung mit AL: Beispiele 2.5 Einige Grundbegriffe 2.6 Äquivalenzen und Normalformen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 20 Erfüllbare und allgemein gültige Formeln • Eine Belegung α mit α(F ) = 1 heißt Modell von F (Andere Notation: α |= F ) • Ist F eine Menge von aussagenlogischen Formeln, so heißt α Modell von F , falls für alle F ∈ F gilt: α(F ) = 1 • Eine Formel F heißt erfüllbar, falls sie ein Modell hat, andernfalls unerfüllbar • Analog für Mengen F von Formeln • Eine Formel F heißt allgemein gültig (oder: Tautologie), falls jede zu F passende Belegung ein Modell von F ist Beobachtung 2.2 Eine Formel F ist genau dann allgemein gültig, wenn ¬F unerfüllbar ist Beweisidee • Angenommen, α(F ) = 1, für jede passende Belegung α ➨ α(¬F ) = 1 − α(F ) = 0, für jede passende Belegung α ➨ ¬F unerfüllbar • (Und umgekehrt) • Die Menge AL ist also wie folgt strukturiert: Beispiel allgemein gültig • (A1 ∧ ¬A1 ) ist unerfüllbar • (A1 ∨ ¬A1 ) ist allgemein gültig • A1 ∨ A2 ist erfüllbar aber nicht allgemein erfüllbar aber nicht allgemein gültig gültig • {(A1 ∨ ¬A2 ), A2 , ¬A1 } ist unerfüllbar Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen unerfüllbar Folie 21 Inhalt 2.1 Beispiele 2.2 Syntax 2.3 Semantik 2.4 Modellierung mit AL: Beispiele 2.5 Einige Grundbegriffe 2.6 Äquivalenzen und Normalformen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 22 Äquivalenz von Formeln • Zwei Formeln F1 , F2 heißen äquivalent, falls für jede zu F1 und F2 passende Belegung α gilt: α(F1 ) = α(F2 ) – Schreibweise: F1 ≡ F2 Beispiel • A ∧ (A ∨ B) ≡ A • A ∨ B 6≡ A ∧ B • Wir beweisen als nächstes zwei nützliche Lemmas: – Mit dem Substitutionslemma können wir aus „einfachen“ Äquivalenzen neue Äquivalenzen folgern, indem wir Variablen konsistent durch Formeln ersetzen – Das Ersetzungslemma erlaubt uns eine Teilformel einer Formel durch eine äquivalente Teilformel zu ersetzen • Beispiel: – Natürlich gilt: ¬(A ∨ B) ≡ ¬A ∧ ¬B – Können wir daraus auch ¬(F1 ∨ F2 ) ≡ ¬F1 alle Formeln F1 , F2 folgern? – Ja, dank Substitutionslemma Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen ∧ ¬F2 für Folie 23 Das Substitutionslemma • Wir formalisieren „Variablen konsistent durch Formeln ersetzen“ durch den Begriff der Substitution • Eine Substitution S ist eine Funktion AV → AL • Für eine Substitution S und eine Formel F sei S(F ) die Formel, die aus F entsteht, indem jede in F vorkommende Variable X durch S(X) ersetzt wird Beispiel • Sei F = ¬(A ∨ B) • Sei S(A) = (A1 ∧ B), S(B) = B • Dann: S(F ) = ¬((A1 ∧ B) ∨ B) Lemma 2.3 (Substitutionslemma) Ist S eine Substitution und gilt F1 gilt auch S(F1 ) ≡ S(F2 ) ≡ F2 , so Beweisidee • Sei für eine Belegung α die Belegung αS definiert durch: αS (X) =def α(S(X)) • Dann gilt für alle F, α, S : α(S(F )) = αS (F ) (Der Beweis lässt sich durch Induktion nach der Struktur von F führen) ➨ Für jede Belegung α gilt: α(S(F1 )) = αS (F1 ) = αS (F2 ) (F1 ≡ F2 ) = α(S(F2 )) • Bemerkung: – Wir schreiben meistens S(X) nur für die relevanten Variablen auf – Für alle übrigen Variablen X gelte dann stillschweigend S(X) = X Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 24 Das Ersetzungslemma • Wenn wir in einer Formel F eine Teilformel G1 durch eine äquivalente Teilformel G2 ersetzen, erhalten wir dann eine zu F äquivalente Formel? – Ja: Ersetzungslemma Beispiel • Wir wissen: ¬(A ∨ B) ≡ ¬A ∧ ¬B • Wir wollen daraus zum Beispiel folgern: ¬(A ∨ B) ∧ C ≡ (¬A ∧ ¬B) ∧ C Lemma 2.4 (Ersetzungslemma) • Sei F1 eine Formel, in der eine Teilformel G1 vorkommt • Sei G1 ≡ G2 • Sei F2 die Formel, die aus F1 entsteht, indem (ein Vorkommen von) G1 durch G2 ersetzt wird • Dann gilt: F1 ≡ F2 • Ohne Beweis Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 25 Äquivalenzen der Aussagenlogik Satz 2.5 • Für aussagenlogische Formeln F, F1 , F2 , F3 • Der Beweis erfolgt jeweils wie folgt: – Beweise die Äquivalenz für den Fall Fi = Ai durch Aufstellen der Wahrheitstabelle – Folgere den allgemeinen Fall dann mit dem Substitutionslemma (Ai 7→ Fi) gelten: Kommutativität – F1 ∧ F2 ≡ F2 ∧ F1 – F1 ∨ F2 ≡ F2 ∨ F1 Assoziativität – (F1 ∧ F2 ) ∧ F3 ≡ F1 ∧ (F2 ∧ F3 ) – (F1 ∨ F2 ) ∨ F3 ≡ F1 ∨ (F2 ∨ F3 ) Idempotenz – F ∧F ≡F – F ∨F ≡F Absorption – F1 ∧ (F1 ∨ F2 ) ≡ F1 – F1 ∨ (F1 ∧ F2 ) ≡ F1 Distributivität – F1 ∨ (F2 ∧ F3 ) ≡ (F1 ∨ F2 ) ∧ (F1 ∨ F3 ) – F1 ∧ (F2 ∨ F3 ) ≡ (F1 ∧ F2 ) ∨ (F1 ∧ F3 ) Doppelnegation – ¬¬F ≡ F De Morgansche Regeln – ¬(F1 ∧ F2 ) ≡ ¬F1 ∨ ¬F2 – ¬(F1 ∨ F2 ) ≡ ¬F1 ∧ ¬F2 Logik für Inf. / Schwentick / WiSe 07/08 • Wegen der Assoziativität können wir schreiben: – F1 ∧ F2 ∧ F3 statt F1 ∧ (F2 ∧ F3 ) – F1 ∨ F2 ∨ F3 statt F1 ∨ (F2 ∨ F3 ) • Außerdem: – Statt F1 ∧ · · · ∧ Fn schreiben Vn wir auch: i=1 Fi A: Aussagenlogik - 2. Grundlagen ∨ · · · ∨ Fn schreiben Wn wir auch: i=1 Fi – Statt F1 Folie 26 Normalformen der Aussagenlogik: NNF • Normalformen beschreiben Formeln, die Beweisskizze bestimmte syntaktische Eigenschaften haben • Durch Induktion nach der Struktur von F • Wir betrachten drei Normalformen: – Negations-Normalform – Konjunktive Normalform – Disjunktive Normalform • Eine AL-Formel F ist in Negations-Normalform (NNF), falls sie Negationszeichen nur unmittelbar vor Variablen enthält Beispiel • A1 ∨ ¬(A2 ∨ ¬A3 ) ist nicht in NNF • A1 ∨ (¬A2 ∧ A3 ) ist in NNF Satz 2.6 • Zu jeder AL-Formel F gibt es eine äquivalente Formel F 0 in NNF Logik für Inf. / Schwentick / WiSe 07/08 lässt sich zeigen, dass der folgende Algorithmus eine solche Formel F 0 berechnet Algorithmus NNF Eingabe: AL-Formel F Ausgabe: AL-Formel F 0 ≡ F in NNF 1: case F ist von der Form 2: ¬¬G: 3: RETURN NNF(G) 4: ¬(F1 ∨ F2 ): 5: RETURN NNF(¬F1 ) ∧ NNF(¬F2 ) 6: ¬(F1 ∧ F2 ): 7: RETURN NNF(¬F1 ) ∨ NNF(¬F2 ) 8: F1 ∨ F2 : 9: RETURN NNF(F1 ) ∨ NNF(F2 ) 10: F1 ∧ F2 : 11: RETURN NNF(F1 ) ∧ NNF(F2 ) 12: 0,1, X , oder ¬X : 13: RETURN F A: Aussagenlogik - 2. Grundlagen Folie 27 Normalformen der Aussagenlogik: KNF und DNF • Ein Literal L ist eine Formel von der Form X oder ¬X mit X ∈ AV • Eine disjunktive Wk Klausel ist eine Disjunktion i=1 Li von Literalen • Eine konjunktive Vk Klausel ist eine Konjunktion i=1 Li von Literalen • Eine AL-Formel F ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion disjunktiver Klauseln ist • Eine AL-Formel F ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion konjunktiver Klauseln ist Logik für Inf. / Schwentick / WiSe 07/08 Beispiel • • • • ¬A2 ist ein (negatives) Literal A3 ist ein (positives) Literal ¬¬A1 ist kein Literal (A1 ∨A2 ∨¬A4 )∧(¬A3 ∨A4 )∧A3 ist in KNF • ¬A3 ∨(A1 ∧A2 )∨(A3 ∧A2 ∧¬A1 ) ist in DNF • Zusätzlich vereinbaren wir: – Die Formeln 0 und 1 sind in KNF und • DNF Beobachtung: KNF-Formeln und DNF-Formeln sind auch in NNF A: Aussagenlogik - 2. Grundlagen Folie 28 Berechnung der KNF Beweisskizze Satz 2.7 • Sei F eine AL-Formel • Dann gibt es eine zu F äquivalente KNF-Formel F1 und eine zu F äquivalente DNF-Formel F2 • F1 und F2 können durch einen Algorithmus berechnet werden • Wir geben einen Algorithmus zur Berechnung von F1 an: Algorithmus KNF Eingabe: AL-Formel F Ausgabe: AL-Formel F 0 ≡ F in KNF 1: Bringe F in NNF 2: if F ist von der Form F1 ∧ F2 then 3: RETURN KNF(F1 ) ∧ KNF(F2 ) 4: if F lässt sich schreiben als F1 ∨ (F2 ∧ F3 ) then 5: RETURN KNF(F1 ∨ F2 ) ∧ KNF(F1 ∨ F3 ) 6: else 7: RETURN F • Die Korrektheit des Algorithmus lässt sich durch Induktion nach der Länge von F beweisen • Bemerkung: der Algorithmus lässt eine ➨ Logik für Inf. / Schwentick / WiSe 07/08 gewisse Wahlfreiheit das Ergebnis ist nicht eindeutig bestimmt A: Aussagenlogik - 2. Grundlagen Folie 29 KNF: Beispiel-Berechnung Beispiel • Sei F = (A ↔ (B ∧ ¬C)) ∧ (¬B → A) (aus [KuK]) • Ersetzung der Abkürzungen ↔ und → ergibt: ((A ∧ (B ∧ ¬C)) ∨ (¬A ∧ ¬(B ∧ ¬C))) ∧ (B ∨ A) • NNF: ((A ∧ (B ∧ ¬C)) ∨ (¬A ∧ (¬B ∨ C)))∧(B ∨ A) • Die Formel ist von der Form F1 ∧ F2 und F2 = B ∨ A ist schon in KNF ➞ Es genügt F1 =((A ∧ (B ∧ ¬C))∨(¬A ∧ (¬B ∨ C))) weiter zu bearbeiten F1 ist von der Form F1 ∨ (F2 ∧ F3 ) • ➞ ((A ∧ (B ∧ ¬C)) ∨ ¬A)∧((A ∧ (B ∧ ¬C)) ∨ (¬B ∨ C)) • Diese Formel ist von der Form F10 ∧ F20 , deshalb werden die beiden Teilformeln unabhängig weiter behandelt • Aus F10 = ((A ∧ (B ∧ ¬C)) ∨ ¬A) wird im nächsten Schritt (A ∨ ¬A)∧((B ∧ ¬C) ∨ ¬A) • Die rechte Teilformel davon wird schließlich zu (B ∨ ¬A) ∧ (¬C ∨ ¬A) • Aus F20 = (A ∧ (B ∧ ¬C)) ∨ (¬B ∨ C) wird (A ∨ (¬B ∨ C))∧((B ∧ ¬C) ∨ (¬B ∨ C)) • Die rechte Teilformel davon wird schließlich zu (B ∨ ¬B ∨ C) ∧ (¬C ∨ ¬B ∨ C) • Insgesamt: (A ∨ ¬A) ∧ (B ∨ ¬A) ∧ (¬C ∨ ¬A)∧ (A ∨ ¬B ∨ C) ∧ (B ∨ ¬B ∨ C) ∧ (¬C ∨ ¬B ∨ C) ∧ (B ∨ A) Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 30 NNF, DNF, KNF: Bemerkungen Beweisskizze Wk • Die Berechnung der DNF verläuft analog • Sei F = i=1 Fi eine DNF-Formel für • Bei der Umwandlung einer Formel F in NNF Parity(A1 , . . . , An) ist die Ziel-Formel F 0 nicht viel größer als ➨ Jede Klausel Fi enthält alle Variablen F : |F 0| ≤ 2|F | – Denn: angenommen Aj ist nicht in Fi • Die Umwandlung in DNF oder KNF kann zu – Sei α eine Belegung, die Fi wahr einem wesentlich größeren Zuwachs führen • Sei Parity(A1 , . . . , An) wahr genau dann, wenn eine ungerade Anzahl der Ai wahr ist ➨ macht Die Belegung α0 , in der der Wert für Aj geändert wird, macht F auch wahr Widerspruch! Satz 2.8 (a) Jede KNF-Formel F für Parity(A1 , . . . , An) hat mindestens 2n−1 Klauseln (b) Jede DNF-Formel F für Parity(A1 , . . . , An) hat mindestens 2n−1 Klauseln Logik für Inf. / Schwentick / WiSe 07/08 • Es gibt 2n−1 Belegungen der Variablen, die F wahr machen ➨ Für jede dieser Belegungen gibt es eine andere Klausel ➨ Behauptung • KNF: analog A: Aussagenlogik - 2. Grundlagen Folie 31 Zusammenfassung • • • • Beispiele der Modellierung mit Aussagenlogik Syntax und Semantik der Aussagenlogik Wahrheitstabellen Wichtige Grundbegriffe wie „erfüllbar“, „allgemein gültig“ • Äquivalenzen der Aussagenlogik • Normalformen: – Negations-Normalform – Disjunktive Normalform – Konjunktive Normalform Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 32 Schlussbemerkungen Notationsunterschiede • Die Vorlesung verwendet teilweise eine andere Notation als das Buch [KuK] • Die (neuen) Notationsunterschiede werden jeweils am Ende eines Kapitels zusammengestellt • (Falls Ihnen weitere Unterschiede auffallen, bitte melden...) KuK Hier M M̂ ⇒ AV Bemerkungen AL → → ist allgemein üblich - ⇒ wird in der Vorlesung als Metasymbol verwendet ⇔ ↔ dito Quellen [MG ] Das Minesweeper-Beispiel ist der Logik-Vorlesung von Martin Grohe (HU Berlin) entnommen Logik für Inf. / Schwentick / WiSe 07/08 A: Aussagenlogik - 2. Grundlagen Folie 33