Formale Methoden 2 Gaetano Geck Lehrstuhl I – Logik in der Informatik WS 2014/2015 Teil 3: Logik 1 Aussagenlogik Einleitung Eigenschaften Äquivalenz Folgerung Normalformen 2 Prädikatenlogik Logik / Aussagenlogik Motivation: Psychologisches Experiment (1/2) Der Psychologe Peter Wason hat 1966 folgendes logisches Denkspiel durchgeführt. Nur circa 10 % der Probanden kamen auf die richtige Antwort. Kartentypen Spielkarten haben eine Vorderseite vom Typ eine Rückseite vom Typ oder oder Gegebene Karten Vor Ihnen liegen folgende vier Karten Frage Wie viele Karten müssen Sie wenden, um herauszufinden, ob die vor Ihnen liegenden Karten die folgende Regel erfüllen? Wenn eine Karte die Rückseite FM2 (WS 2014/15, Geck) hat, dann hat sie auch die Vorderseite . 106 Logik / Aussagenlogik Motivation: Psychologisches Experiment (2/2) Die Psychologen Cosmides und Tooby haben 1992 herausgefunden, dass in einem „sozialen Kontext“ die Erfolgswahrscheinlichkeit der Probanden deutlich höher ist. Kartentypen Spielkarten haben eine Vorderseite vom Typ eine Rückseite vom Typ 16 14 Bier Saft oder oder Gegebene Karten Vor Ihnen liegen folgende vier Karten 14 Bier 16 Saft Frage Wie viele Karten müssen Sie wenden, um herauszufinden, ob die vor Ihnen liegenden Karten die folgende Regel erfüllen? 16 Bier Wenn eine Karte die Rückseite FM2 (WS 2014/15, Geck) hat, dann hat sie auch die Vorderseite . 107 Logik / Aussagenlogik Einleitung Beobachtung Aller Unterschiede bei den Probanden zum Trotz sind beide Experimente formal (der Form nach) gleich. Formale Logiken: In formalen Logiken steht die Gültigkeit von Schlussfolgerungen ohne Bezug auf den semantischen Gehalt von Aussagen im Vordergrund. Beispiel: „Es gibt ein blaues Einhorn oder es gibt kein blaues Einhorn“ ist wahr, unabhängig von der Existenz blauer Einhörner. Formale Logiken bedienen sich einer speziellen Notation, um Mehrdeutigkeiten zu vermeiden, und bilden damit formale Sprachen1 . Dabei muss 1 erstens die Syntax (Grammatik) der formalen Sprache und 2 zweitens die Semantik (Bedeutung) der formalen Sprache definiert werden. Bemerkung Es gibt viele verschiedene Logiken, die sich in Syntax und Semantik und damit oftmals auch in ihrer Ausdrucksstärke unterscheiden. Einige Sachverhalte können in einigen Logiken ausgedrückt werden, in anderen nicht. Beschreibungen können in einigen Logiken kürzer sein als in anderen. Wir betrachten zwei Logiken: die Aussagenlogik und die Prädikatenlogik. 1 Im Unterschied zu natürlichen Sprachen. FM2 (WS 2014/15, Geck) 108 Logik / Aussagenlogik Syntax Einzelne Aussagen werden durch Variablen repräsentiert. Wir setzen eine nichtleere Menge AV aussagenlogischer Variablen voraus. Oftmals nutzen wir A, B, C ∈ AV (auch mit Indizes, etwa A1 , A2 , A3 , · · · ∈ AV). Ausgehend von AV und zwei ausgezeichneten Formeln >, ⊥ definieren wir induktiv: Definition 1.1 (Syntax aussagenlogischer Formeln) Die Menge AL aussagenlogischer Formeln ist die kleinste Menge, für die gilt > ∈ AL und ⊥ ∈ AL für jede Variable X ∈ AV gilt X ∈ AL für alle ϕ ∈ AL ist ¬ϕ ∈ AL (Negation von ϕ) für alle ϕ, ψ ∈ AL ist (ϕ ∧ ψ) ∈ AL (Konjunktion von ϕ und ψ) für alle ϕ, ψ ∈ AL ist (ϕ ∨ ψ) ∈ AL (Disjunktion von ϕ und ψ) Beispiele 1.2 Formeln: A, keine Formeln: (A ∧ ⊥), A>, ¬(A ∧ ⊥) ∨ B ∨ (A ∧ C) ∧A, (A ∧ ∧B), (A ∧ B ∧ C) Frage Ist > ∨ (A ∨ ¬A) ∧ ¬¬⊥ FM2 (WS 2014/15, Geck) eine Formel? 109 Logik / Aussagenlogik Semantik Definition 1.3 Eine Belegung ist eine partielle Abbildung α : AV*{0, 1}. Sie heißt passend zu einer Formel ϕ ∈ AL, wenn sie für jede Variable X in ϕ definiert ist, X ∈ D(α). Beispiel 1.4 Die Belegung α : AV *{0, 1} mit α(A) = 1, α(B) = 0, α(C) = 1 passt zu den Formeln (A ∧ B) und (C ∨ ¬B) ∧ A , nicht jedoch zur Formel (A ∧ E), da E < {A, B, C} = D(α). Definition 1.5 (Semantik aussagenlogischer Formeln) Der Wert [[ϕ]]α einer Formel ϕ unter einer Belegung α ist induktiv definiert durch [[⊥]]α = 0 und [[>]]α = 1; [[X]]α = α(X) für jede Variable X ∈ AV; ( 0 falls [[ϕ]]α = 1 [[¬ϕ]]α = 1 falls [[ϕ]]α = 0 FM2 (WS 2014/15, Geck) ( 0 1 falls [[ϕ]]α = 0 oder [[ψ]]α = 0 falls [[ϕ]]α = 1 = [[ψ]]α . ( 1 0 falls [[ϕ]]α = 1 oder [[ψ]]α = 1 falls [[ϕ]]α = 0 = [[ψ]]α . [[(ϕ ∧ ψ)]]α = [[(ϕ ∨ ψ)]]α = 110 Logik / Aussagenlogik Semantik: Auswertung Die induktive Definition des Wertes erlaubt eine rekursive Auswertung Beispiel 1.6 (Rekursive Auswertung) Wir betrachten die Formel ϕ = ¬ (A ∨ ¬A) ∧ B ∨ A und die Belegung α : AV*{0, 1} mit α(A) = 0 und α(B) = 1. Ziel: Bestimme [[ϕ]]α 0 [[¬ (A ∨ ¬A) ∧ B ∨ A]]α 0 [[¬ (A ∨ ¬A) ∧ B ]]α [[A]]α 0 1 [[ (A ∨ ¬A) ∧ B ]]α 1 [[A ∨ ¬A]]α 0 [[A]]α [[B]]α 1 [[¬A]]α 1 [[A]]α 0 FM2 (WS 2014/15, Geck) 111 Logik / Aussagenlogik Semantik: Auswertung (Wahrheitstabellen) Der Wahrheitsgehalt einer Formel hängt im Allgemeinen von der Belegung ihrer Variablen ab. Eine Formel mit n Variablen besitzt genau 2n verschiedene Belegungen (die nur für diese Variablen definiert sind). Die Werte der Formel (sowie ihrer Teilformeln2 ) unter allen Belegungen können in einer (vollständigen) Wahrheitstabelle dargestellt werden. Beispiel 1.7 (Vollständige Wahrheitstabelle) Die Formel ϕ = (¬A ∨ B) ∧ (A ∨ ¬B) besitzt vier verschiedene Belegungen, die zu folgender Wahrheitstabelle führen α α0,0 α0,1 α1,0 α1,1 2 [[A]]α 0 0 1 1 [[B]]α 0 1 0 1 [[¬A]]α 1 1 0 0 [[¬B]]α 1 0 1 0 [[(¬A ∨ B)]]α 1 1 0 1 [[(A ∨ ¬B)]]α 1 0 1 1 [[ϕ]]α 1 0 0 1 Eine Teilformel von ϕ ist ein Teilwort, welches selbst eine Formel ist. FM2 (WS 2014/15, Geck) 112 Logik / Aussagenlogik Semantik: Wahrheitstabellen der Operatoren Die Semantik der aussagenlogischen Operatoren ¬, ∧, ∨ kann auch durch Wahrheitstabellen dargestellt werden. [[ϕ]]α [[ψ]]α [[ϕ ∧ ψ]]α [[ϕ]]α [[ψ]]α 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 Wir definieren außerdem als abkürzende Schreibweise die Operatoren (Syntaktische) Implikation: ϕ→ψ ≡ (¬ϕ ∨ ψ) (Syntaktische) Äquivalenz: ϕ↔ψ ≡ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) [[ϕ]]α 0 1 [[¬ϕ]]α 1 0 [[ϕ ∨ ψ]]α 0 1 1 1 Aufgabe Stellen Sie die Wahrheitstabellen von ϕ→ψ und ϕ↔ψ auf. Lösung [[ϕ]]α 0 0 1 1 FM2 (WS 2014/15, Geck) [[ψ]]α 0 1 0 1 [[ϕ→ψ]]α 1 1 0 1 [[ϕ]]α 0 0 1 1 [[ψ]]α 0 1 0 1 [[ϕ↔ψ]]α 1 0 0 1 113 Logik / Aussagenlogik Eigenschaften: Erfüllbarkeit (1/2) Definition 1.8 Sei ϕ eine aussagenlogische Formel und α eine zu ihr passende Belegung, dann heißt α erfüllend für ϕ genau dann, wenn [[ϕ]]α = 1 gilt. Beispiel 1.9 Wir betrachten die Formel ϕ = (¬A ∨ B) ∧ (A ∨ ¬B) mit der vollständigen Wahrheitstabelle α α0,0 α0,1 α1,0 α1,1 [[A]]α 0 0 1 0 [[B]]α 0 1 0 0 [[¬A]]α 1 1 0 1 [[¬B]]α 1 0 1 1 [[(¬A ∨ B)]]α 1 1 0 1 [[(A ∨ ¬B)]]α 1 0 1 1 [[ϕ]]α 1 0 0 1 Die Belegungen α0,0 und α1,1 sind erfüllend für ϕ. Die Belegungen α0,1 und α1,0 sind nicht erfüllend für ϕ. FM2 (WS 2014/15, Geck) 114 Logik / Aussagenlogik Eigenschaften: Erfüllbarkeit (2/2) Definition 1.10 Sei ϕ eine aussagenlogische Formel, dann heißt ϕ erfüllbar, wenn es eine passende erfüllende Belegung für sie gibt; unerfüllbar, wenn es keine passende erfüllende Belegung für sie gibt; allgemeingültig oder Tautologie, wenn jede zu ihr passende Belegung erfüllend ist. Frage Betrachten Sie die Formel ϕ aus Beispiel 1.9. Ist ϕ erfüllbar? Ist ϕ unerfüllbar? Ist ϕ allgemeingültig? Aufgabe Geben Sie eine aussagenlogische Formel mit mindestens einer Variablen an, die unerfüllbar ist. Geben Sie eine aussagenlogische Formel mit mindestens einer Variablen an, die eine Tautologie ist. FM2 (WS 2014/15, Geck) 115 Logik / Aussagenlogik Eigenschaften: Äquivalenz Definition 1.11 (Semantische Äquivalenz) Aussagenlogische Formeln ϕ und ψ sind äquivalent, ϕ ≡ ψ, wenn für jede Belegung α, die sowohl zu ϕ als auch zu ψ passt, die Gleichung [[ϕ]]α = [[ψ]]α erfüllt ist. Beispiel 1.12 (¬(A ∧ B) ≡ (¬A ∨ ¬B)) Die Formeln ϕ = ¬(A ∧ B) und ψ = (¬A ∨ ¬B) sind äquivalent. Für beide Formeln gibt es vier verschiedene Belegungen. Wir bestimmen für jede Formel den Wert unter der Belegung mittels Wahrheitstabellen: α α0,0 α0,1 α1,0 α1,1 α α0,0 α0,1 α1,0 α1,1 [[A]]α 0 0 1 1 [[A]]α 0 0 1 1 [[B]]α 0 1 0 1 [[B]]α 0 1 0 1 [[A ∧ B]]α 0 0 0 1 [[¬A]]α 1 1 0 0 [[¬B]]α 1 0 1 0 [[¬(A ∧ B)]]α 1 1 1 0 [[(¬A ∨ ¬B)]]α 1 1 1 0 Aufgabe Zeigen Sie ¬(A ∧ B) . (¬A ∧ ¬B) und ¬A ≡ (¬A ∧ B) ∨ (¬A ∧ ¬B) . FM2 (WS 2014/15, Geck) 116 Logik / Aussagenlogik Eigenschaften: Äquivalenz (Ersetzungslemma) Was geschieht, wenn Teilformeln durch äquivalente Teilformeln ersetzt werden? Frage Wir wissen aus Beispiel 1.12: ¬(A ∧ B) ≡ (¬A ∨ ¬B). Naheliegende Frage: Gilt dann auch ¬(A ∧ B)∨C ≡ (¬A ∨ ¬B)∨C ? Lemma 1.13 (Ersetzungslemma) Seien ϕ und ψ äquivalente aussagenlogische Formeln, ϕ ≡ ψ. Die Formel χ enthalte die Teilformel ϕ und die Formel χ0 gehe aus χ hervor, indem ein Vorkommen von ϕ durch ein Vorkommen von ψ ersetzt wird, dann gilt χ ≡ χ0 . Antwort Es gilt ¬(A ∧ B)∨C ≡ (¬A ∨ ¬B)∨C gemäß Ersetzungslemma mit ϕ = ¬(A ∧ B) und ψ = (¬A ∨ ¬B) χ = ¬(A ∧ B)∨C und χ0 = (¬A ∨ ¬B)∨C . FM2 (WS 2014/15, Geck) 117 Logik / Aussagenlogik Eigenschaften: Äquivalenz (Substitutionslemma) Was geschieht, wenn Aussagenvariablen in äquivalenten Formeln „einheitlich“ durch Teilformeln ersetzt werden? Definition 1.14 Eine (Variablen-)Substitution ist eine partielle Abbildung S : AV*AL. Für eine aussagenlogische Formel ϕ bezeichnen wir mit S(ϕ) die Formel, die aus ϕ hervorgeht, indem jede Variable X ∈ AV, die sowohl in ϕ als auch in D(S) vorkommt, durch S(X) ersetzt wird. Beispiel 1.15 Sei S : AV*AL mit D(S) = {A, B, C} und (A ∧ ¬A), S(C) = B, S(A) = C, S(B) = dann gilt etwa S (A ∧ ¬B) ∨ (B ∧ ¬A) = C ∧ ¬(A ∧ ¬A) ∨ (A ∧ ¬A) ∧ ¬C . Lemma 1.16 (Substitutionslemma) Sind aussagenlogische Formeln ϕ und ψ äquivalent, so sind die aussagenlogischen Formeln S(ϕ) und S(ψ) für jede Substitution S äquivalent. Beispiel 1.17 Wir wissen: ¬(A ∧ B) ≡ (¬A ∨ ¬B). Mit der Substitution S(A) = (¬C ∧ D) folgt daher ¬ (¬C ∧ D) ∧ B ≡ ¬(¬C ∧ D) ∨ ¬B . FM2 (WS 2014/15, Geck) 118 Logik / Aussagenlogik Eigenschaften: Äquivalenz (Wichtige Gesetze, 1/2) Satz 1.18 Seien ϕ, ψ und χ aussagenlogische Formeln. Dann gilt Doppelnegation: ¬¬ϕ ≡ ϕ Idempotenz: (ϕ ∧ ϕ) ≡ ϕ und (ϕ ∨ ϕ) ≡ ϕ Kommutativität: • (ϕ ∧ ψ) ≡ (ψ ∧ ϕ) • (ϕ ∨ ψ) ≡ (ψ ∨ ϕ) Assoziativität: • • (ϕ ∧ ψ) ∧ χ ≡ ϕ ∧ (ψ ∧ χ) (ϕ ∨ ψ) ∨ χ ≡ ϕ ∨ (ψ ∨ χ) De-Morgan’sche Regeln: • ¬(ϕ ∧ ψ) ≡ (¬ϕ ∨ ¬ψ) • ¬(ϕ ∨ ψ) ≡ (¬ϕ ∧ ¬ψ) Beweisidee Beispiel De-Morgan’sche Regel ¬(ϕ ∧ ψ) ≡ (¬ϕ ∨ ¬ψ): 1 Beweise ¬(A ∧ B) ≡ (¬A ∨ ¬B), etwa via Wahrheitstabellen. 2 Nutze Substitutionslemma mit S(A) = ϕ und S(B) = ψ. FM2 (WS 2014/15, Geck) 119 Logik / Aussagenlogik Eigenschaften: Äquivalenz (Wichtige Gesetze, 2/2) Satz 1.19 Seien ϕ, ψ und χ aussagenlogische Formeln. Dann gilt Distributivität: • ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ) • ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ) Tertium non datur: ϕ ∧ ¬ϕ ≡ ⊥ und ϕ ∨ ¬ϕ ≡ > Dominanz: ⊥ ∧ ϕ ≡ ⊥ und > ∨ ϕ ≡ > Neutralität: > ∧ ϕ ≡ ϕ und ⊥ ∨ ϕ ≡ ϕ Praxisbezug Das Dominanzgesetz liegt der Shortcut-Evaluation (C++, Java, . . . ) zugrunde: • Bedingungen mit Boole’schen Ausdrücken werden von links nach rechts ausgewertet. • Weniger aufwendig zu testende Bedingungen sollten deshalb weiter links stehen. Möglich: if (langwierigerTest (i) && i >= 10) meineMethode (i); Besser: if (i >= 10 && langwierigerTest (i)) meineMethode (i); (Analog für die disjunktive Verknüpfung ||.) FM2 (WS 2014/15, Geck) 120 Logik / Aussagenlogik Einschub: Abkürzende Schreibweisen Die Assoziativität der Operatoren ∧ und ∨ erlaubt uns die Einsparung von Klammern: Wir können ϕ ∧ ψ ∧ χ statt (ϕ ∧ ψ) ∧ χ oder ϕ ∧ (ψ ∧ χ) schreiben und analog ϕ ∨ ψ ∨ χ statt (ϕ ∨ ψ) ∨ χ oder ϕ ∨ (ψ ∨ χ)). Abkürzungen n ^ ϕi ≡ ϕ1 ∧ · · · ∧ ϕn für n ∈ N und i=1 n _ 0 ^ ϕi = >; i=1 ϕi ≡ ϕ1 ∨ · · · ∨ ϕn für n ∈ N und i=1 0 _ ϕi = ⊥. i=1 Analog: ^ ϕi ≡ ϕi1 ∧ · · · ∧ ϕin für I = {i1 , . . . , in } , ∅ und i∈I _ ^ ϕi = > ; i∈∅ ϕi ≡ ϕi1 ∨ · · · ∨ ϕin für I = {i1 , . . . , in } , ∅ und i∈I FM2 (WS 2014/15, Geck) _ ϕi = ⊥ . i∈∅ 121 Logik / Aussagenlogik Folgerung Formeln können Wissen repräsentieren in Form von Fakten: etwa A oder ¬B und Regeln: etwa A→B oder C↔¬D. Beispiel 1.20 Wir gehen von der Richtigkeit der folgenden Fakten und Regeln aus: Fakt: Ich bin ein Mensch (M ); Regel: Wenn etwas ein Mensch ist, dann ist es auch ein Tier (M→T ); Regel: Wenn etwas ein Tier ist, dann ist es auch sterblich (T→S). Modellierung: Dieses Wissen repräsentieren wir explizit durch die Formelmenge M, M→T, T→S . Beobachtung: Implizit wird auch das Faktum meiner Sterblichkeit repräsentiert. Definition 1.21 (Semantische Implikation) Sei Φ = {ϕ1 , . . . , ϕn } ⊆ AL eine Formelmenge und ψ ∈ AL eine Formel. Die Formelmenge Φ impliziert ψ, Φ |= ψ, wenn jede zu ϕ1 , . . . , ϕn , ψ passende Belegung, die für ϕ1 , . . . , ϕn erfüllend ist, auch die Formel ψ erfüllt. Bemerkung: Diese Definition lässt sich auch auf unendliche Formelmengen erweitern. FM2 (WS 2014/15, Geck) 122 Logik / Aussagenlogik Folgerung Beispiel 1.22 Es gilt M, M→T, T→S |= S. Beweisskizze: Sei α : AV*{0, 1} eine Belegung. Um zu M , M→T , T→S und S zu passen, muss D(α) = {M, S, T} gelten. 1 Um M zu erfüllen, muss α(M) = 1 gelten. 2 Um ferner M→T zu erfüllen, muss α(T) = 1 gelten und 3 um außerdem T→S zu erfüllen, muss α(S) = 1 gelten. 4 Insbesondere erfüllt α also die Formel S, [[S]]α = α(S) = 1. Frage Gilt M, M→T, T→S |= (M ∧ S)? Gilt M, M→T, T→S |= (¬S→¬M)? FM2 (WS 2014/15, Geck) 123 Logik / Aussagenlogik Folgerung, Äquivalenz und Erfüllbarkeit Zwischen semantischer und syntaktischer Äquivalenz/Implikation besteht ein enger Zusammenhang: Satz 1.23 Seien Φ = {ϕ1 , . . . , ϕn } ⊆ AL eine Menge von Formeln und ψ, χ ∈ AL Formeln, dann gilt ψ ≡ χ genau dann, wenn ψ↔χ allgemeingültig ist; Φ |= ψ genau dann, wenn (ϕ1 ∧ · · · ∧ ϕn ) →ψ allgemeingültig ist. Bemerkung: ψ ≡ χ ist nicht dasselbe wie ψ↔χ und Φ |= ψ ist nicht dasselbe wie (ϕ1 ∧ . . . ∧ ϕn )→ψ. Dies lässt schon der „Typ“ der Konstrukte erkennen: • ψ ≡ χ und Φ |= ψ sind Aussagen über Formeln, • ψ↔χ und (ϕ1 ∧ · · · ∧ ϕn )→ψ sind Formeln. Ferner gilt der folgende Zusammenhang: Lemma 1.24 Eine Formel ϕ ∈ AL ist genau dann allgemeingültig, wenn die Formel ¬ϕ unerfüllbar ist. Folgerung 1.25 Für Φ = {ϕ1 , . . . , ϕn } ⊆ AL und ψ ∈ AL gilt Φ |= ψ genau dann, wenn ϕ1 ∧ · · · ∧ ϕn ∧ ¬ψ unerfüllbar ist. FM2 (WS 2014/15, Geck) 124 Logik / Aussagenlogik Modellierung (1/4): Studentenleben Beispiel 1.26 Aussagenvariablen: TMo , TDi , TMi , TDo , TFr , TSa , TSo : Heute ist Montag, Dienstag, . . . , Sonntag; F : Heute gehe ich feiern; S: Heute widme ich mich meinem Studium. Regel: Ich gehe nur donnerstags, freitags und samstags feiern. Formel: F→(TDo ∨ TFr ∨ TSa ) Regel: Freitags studiere ich. Formel: TFr →S Regel: Heute widme ich mich entweder dem Studium oder ich gehe feiern. Formel: (S ∧ ¬F) ∨ (F ∧ ¬S) Aufgabe Seien Sie nicht so streng mit sich! Freitags können Sie auch studieren und feiern gehen . . . Geben Sie eine Formel für folgende Regel an: Wenn heute ein Werktag ist, studiere ich. An einem solchen Tag gehe ich nicht feiern, außer vielleicht freitags. FM2 (WS 2014/15, Geck) 125 Logik / Aussagenlogik Modellierung (2/4): 3-Färbbarkeit Auch graphentheoretische Eigenschaften können durch Formeln ausgedrückt werden: Beispiel 1.27 Sei G = (V, E) ein beliebiger einfacher ungerichteter Graph. Aussagenvariablen: Für jeden Knoten v ∈ V gibt es die Variablen: Rv : Knoten v ist rot gefärbt Gv : Knoten v ist grün gefärbt Bv : Knoten v ist blau gefärbt Eigenschaft: Knoten v besitzt genau eine Farbe Formel: ψv = (Rv ∧ ¬Gv ∧ ¬Bv ) ∨ (¬Rv ∧ Gv ∧ ¬Bv ) ∨ (¬Rv ∧ ¬Gv ∧ Bv ) Eigenschaft: Knoten u und v haben nicht dieselbe Farbe Formel: χu,v = ¬(Ru ∧ Rv ) ∧ ¬(Gu ∧ Gv ) ∧ ¬(Bu ∧ Bv ) Eigenschaft: Der Graph ist 3-färbbar. ^ Gesamtformel: ϕG = v∈V ^ ψv ∧ χu,v (u,v)∈E Fakt: Ein Graph G ist genau dann 3-färbbar, wenn die zugehörige Formel ϕG erfüllbar ist. FM2 (WS 2014/15, Geck) 126 Logik / Aussagenlogik Modellierung (3/4): 3-Färbbarkeit Beispiel 1.28 Für den folgenden Graphen G4 = (V4 , E4 ) 1 2 3 4 ergibt sich beispielsweise die Formel ϕG4 = (ψ1 ∧ ψ2 ∧ ψ3 ∧ ψ4 ) ∧ (χ1,2 ∧ χ1,3 ∧ χ1,4 ∧ χ2,4 ∧ χ3,4 ) = . . . . Interessant an der vorhergehenden Konstruktion (dem Fakt) ist Folgerung 1.29 Gibt es einen Algorithmus B, der in Polynomialzeit entscheidet, ob eine aussagenlogische Formel erfüllbar ist, so gibt es auch einen Algorithmus A, der in Polynomialzeit entscheidet, ob ein Graph 3-färbbar ist. Algorithmus A: 1 Wandle Eingabegraphen G in aussagenlogische Formel ϕG um. 2 Führe Algorithmus B für Eingabeformel ϕG aus und gib dessen Ergebnis zurück. FM2 (WS 2014/15, Geck) 127 Logik / Aussagenlogik Modellierung (4/4): Knotenüberdeckung Aufgabe Geben Sie analog zu vorhergehendem Beispiel die Konstruktion einer Formel ϕG an, sodass ϕG genau dann erfüllbar ist, wenn der Graph G = (V, E) eine Knotenüberdeckung der Größe 2 besitzt. Lösung Sei G = (V, E) ein beliebiger einfacher ungerichteter Graph. Aussagenvariablen: Für jeden Knoten v ∈ V = {1, . . . , n} gibt es eine Variable Cv : Knoten v ist in der Überdeckung Eigenschaft: Die Überdeckung ^ enthält genau die Knoten v und w Formel: ψv,w = Cv ∧ Cw ∧ ¬Cu u∈V−{v,w} Eigenschaft: Kante (u, v) ∈ E wird überdeckt Formel: χu,v = Cu ∨ Cv . Eigenschaft: Der Graph der Größe 2 besitzt eine Knotenüberdeckung _ Gesamtformel: ϕG = _ v ∈V w∈V−{v} FM2 (WS 2014/15, Geck) ^ ψv,w ∧ χu,v . (u,v)∈E 128 Logik / Aussagenlogik Normalformen (1/3) Man kann diverse syntaktische Einschränkungen für Formeln definieren. Diese beschreiben eine Untermenge F ⊆ AL aller Formeln. Eine solche Einschränkung heißt Normalform (für die Aussagenlogik), wenn es zu jeder Formel ϕ ∈ AL eine äquivalente Formel ϕ0 ∈ F. Motivation: Normalformen können Beweise und Algorithmen vereinfachen, da weniger strukturelle Unterschiede betrachtet werden müssen. Definition 1.30 Eine Formel ϕ ist in Negationsnormalform (NNF), wenn Negationen nur unmittelbar vor Variablen vorkommen. Eine Formel ϕ ist in konjunktiver Normalform (KNF), wenn sie von der Form ϕ = D1 ∧ · · · ∧ Dk für disjunktive Klauseln D1 , . . . , Dk ist. Eine Formel ϕ ist in disjunktiver Normalform (DNF), wenn sie von der Form ϕ = C1 ∨ · · · ∨ Ck für konjunktive Klauseln C1 , . . . , Ck ist. Dabei gilt: Eine disjunktive Klausel ist eine Formel (`1 ∨ · · · ∨ `n ) mit Literalen `1 , . . . , `n ; eine konjunktive Klausel ist eine Formel (`1 ∧ · · · ∧ `n ) mit Literalen `1 , . . . , `n ; und ein Literal ist eine Variable X oder eine negierte Variable ¬X . Mit ALNNF , ALKNF , ALDNF ⊆ AL bezeichnen wir alle Formeln in NNF, KNF bzw. DNF. FM2 (WS 2014/15, Geck) 129 Logik / Aussagenlogik Normalformen (2/3) Definition 1.31 Eine Formel ϕ ist in Negationsnormalform (NNF), wenn Negationen nur unmittelbar vor Variablen vorkommen. Eine Formel ϕ ist in konjunktiver Normalform (KNF), wenn sie von der Form ϕ = D1 ∧ · · · ∧ Dk für disjunktive Klauseln D1 , . . . , Dk ist. Eine Formel ϕ ist in disjunktiver Normalform (DNF), wenn sie von der Form ϕ = C1 ∨ · · · ∨ Ck für konjunktive Klauseln C1 , . . . , Ck ist. Dabei ist Eine disjunktive Klausel ist eine Formel (`1 ∨ · · · ∨ `n ) mit Literalen `1 , . . . , `n ; eine konjunktive Klausel ist eine Formel (`1 ∧ · · · ∧ `n ) mit Literalen `1 , . . . , `n ; und ein Literal ist eine Variable X oder eine negierte Variable ¬X . Beispiel 1.32 in NNF: ¬A ∨ (B ∧ A) ∨ ¬C ; nicht in NNF: A ∨ ¬¬B, ¬(A ∧ ¬B); in KNF: A ∧ (B ∨ ¬C) ∧ (A ∨ ¬A ∨ ¬B), A ∨ B ∨ ¬C; nicht in KNF: A ∨ (B ∧ ¬C); FM2 (WS 2014/15, Geck) 130 Logik / Aussagenlogik Normalformen (3/3) Satz 1.33 Zu ϕ ∈ AL kann in Polynomialzeit eine äquivalente Formel ϕ0 ∈ ALNNF berechnet werden. Zu ϕ ∈ AL kann in Polynomialzeit eine äquivalente Formel ϕ0 ∈ ALKNF berechnet werden. Zu ϕ ∈ AL kann in Polynomialzeit eine äquivalente Formel ϕ0 ∈ ALDNF berechnet werden. Beweisskizze: Berechnung NNF: 1 Nutze wiederholt die De-Morgan’schen Regeln, um Negationen „nach innen zu ziehen“. 2 Nutze wiederholt die Doppelnegationsregel, um Mehrfachnegationen zu eliminieren. Berechnung KNF: 1 Berechne zunächst NNF. 2 Nutze wiederholt das Distributivgesetz ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ), um Disjunktionen „nach innen zu ziehen“. Voraussetzungen (durch vorhergehende Ersetzungen zu erfüllen): → und ↔ kommen nicht in ϕ vor ⊥ und > kommen nicht in ϕ vor Aufgabe Bestimmen Sie ϕ0 ∈ ALNNF , sodass ϕ0 ≡ ¬ A ∧ ¬ B ∧ ¬C ∧ (D ∨ ¬E) . Bestimmen Sie ψ0 ∈ ALKNF , sodass ψ0 ≡ ¬ (A ∨ ¬B) ∧ (B ∨ ¬C) . FM2 (WS 2014/15, Geck) 131