Aussagenlogik Prädikatenlogik Vorlesung “Logik” Sommersemester 2011 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Barbara König Logik 1 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Syntax der Aussagenlogik Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .). Definition (Formel) Formeln werden durch folgenden induktiven Prozess definiert: 1 Alle atomaren Formeln sind Formeln 2 Für alle Formeln F und G sind (F ∧ G ) und (F ∨ G ) Formeln. 3 Für jede Formel F ist ¬F eine Formel. Sprechweise: (F ∧ G ): “F und G , “Konjunktion von F und G ” (F ∨ G ): “F oder G ”, “Disjunktion von F und G ” ¬F : “nicht F ”, “Negation von F ” Barbara König Logik 35 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Formel als Syntaxbaum Jede Formel kann auch durch einen Syntaxbaum dargestellt werden. Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 ) ¬ ∧ ∨ ¬ A3 A1 A4 Barbara König Logik 36 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Teilformel Die Teilformeln einer Formel F entsprechen dann den Teilbäumen. ¬ ¬ ∧ ∧ ∨ A4 ¬ ∨ A3 A1 A1 ¬ A4 ¬ ∧ ∨ A3 A3 A1 A4 A4 ∧ ∧ ∨ ¬ A3 A1 ¬ ¬ ¬A4 ¬ ∨ A3 A1 (¬A4 ∨ A1 ) ¬ A3 A1 A4 A4 ¬ ¬ ∧ ∨ ((¬A4 ∨ A1 ) ∧ A3 ) ¬ ∧ ∨ A3 A1 ¬((¬A4 ∨ A1 ) ∧ A3 ) A4 Barbara König ¬ A3 A1 A4 Logik 37 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Semantik der Aussagenlogik (I) Die Elemente der Menge {0, 1} heißen Wahrheitswerte. Eine Belegung ist eine Funktion A : D → {0, 1}, wobei D eine Teilmenge der atomaren Formeln ist. Wir erweitern A zu einer Funktion  : E → {0, 1}, wobei E ⊇ D die Menge aller Formeln ist, die nur aus den atomaren Formeln in D aufgebaut sind. Barbara König Logik 38 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Semantik der Aussagenlogik (II) Â(A) = A(A) 1 Â((F ∧ G )) = 0 1 Â((F ∨ G )) = 0 1 Â((¬F )) = 0 falls A ∈ D eine atomare Formel ist falls Â(F ) = 1 und Â(G ) = 1 sonst falls Â(F ) = 1 oder Â(G ) = 1 sonst falls Â(F ) = 0 sonst Wir schreiben A statt Â. Barbara König Logik 39 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Verknüpfungstafeln (I) Berechnung von  mit Hilfe von Verknüpfungstafeln, auch Wahrheitstafeln genannt. Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den den in F vorkommenden atomaren Formeln definiert ist. Tafeln für die Operatoren ∨, ∧, ¬: A 0 0 1 1 B 0 1 0 1 A 0 0 1 1 ∨ 0 1 1 1 B 0 1 0 1 A 0 0 1 1 B 0 1 0 1 Barbara König A 0 0 1 1 Logik ∧ 0 0 0 1 B 0 1 0 1 A 0 1 ¬ 1 0 A 0 1 40 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Abkürzungen A, B, C oder P, Q, R oder . . . (F1 → F2 ) (F1 ↔ F2 ) n _ ( Fi ) ( i=1 n ^ Fi ) statt A1 , A2 , A3 . . . statt statt (¬F1 ∨ F2 ) ((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 )) statt (. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn ) statt (. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn ) i=1 Barbara König Logik 41 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Verknüpfungstafeln (II) Tafeln für die Operatoren →, ↔: A 0 0 1 1 B 0 1 0 1 A 0 0 1 1 → 1 1 0 1 A 0 0 1 1 B 0 1 0 1 B 0 1 0 1 A 0 0 1 1 ↔ 1 0 0 1 B 0 1 0 1 Name: Implikation, Folgerung Name: Äquivalenz, Biimplikation Interpretation: Wenn A gilt, dann muss auch B gelten. Interpretation: A gilt genau dann, wenn B gilt. Barbara König Logik 42 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Präzedenzen Präzedenz der Operatoren: ↔ → ∨ ∧ ¬ bindet am schwächsten ... ... ... bindet am stärksten Die Formel A ↔ B ∨ ¬C → D ∧ ¬E wird also wie folgt gelesen: (A ↔ ((B ∨ ¬C ) → (D ∧ ¬E ))) Dennoch: Zusätzliche Klammern schaden im allgemeinen nicht Barbara König Logik 43 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Formalisierung natürlicher Sprache (I) Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem roten Licht. Folgendes ist bekannt: Bauteil A oder Bauteil B (oder beide) sind kaputt. Wenn Bauteil A kaputt ist, dann ist auch Bauteil B kaputt. Wenn Bauteil B kaputt ist und das rote Licht leuchtet, dann ist Bauteil A nicht kaputt. Das rote Licht leuchtet. Formalisieren Sie diese Situation als aussagenlogische Formel und stellen Sie die Wahrheitstafel zu dieser Formel auf. Verwenden Sie dazu folgende atomare Formeln: RL (rotes Licht leuchtet), AK (Bauteil A kaputt), BK (Bauteil B kaputt) Barbara König Logik 44 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Formalisierung natürlicher Sprache (II) Gesamte Wahrheitstafel: RL 0 0 0 0 1 1 1 1 AK 0 0 1 1 0 0 1 1 BK 0 1 0 1 0 1 0 1 (((AK ∨ BK ) ∧ (AK → BK )) ∧ ((BK ∧ RL) → ¬AK )) ∧ RL 0 0 0 0 0 1 0 0 Barbara König Logik 45 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Modelle Sei F eine Formel und A eine Belegung. Falls A für alle in F vorkommenden atomaren Formeln definiert ist, so heißt A zu F passend. Sei A passend zu F : Falls A(F ) = 1 so schreiben wir und sagen oder A |= F F gilt unter A A ist ein Modell für F Falls A(F ) = 0 so schreiben wir und sagen oder A 6|= F F gilt nicht unter A A ist kein Modell für F Barbara König Logik 46 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Gültigkeit und Erfüllbarkeit Definition (Erfüllbarkeit) Eine Formel F heißt erfüllbar, falls F mindestens ein Modell besitzt, andernfalls heißt F unerfüllbar. Eine (endliche oder unendliche!) Menge von Formeln M heißt erfüllbar, falls es eine Belegung gibt, die für jede Formel in M ein Modell ist. (In diesem Fall sagt man auch, die Belegung ist ein Modell für die Menge M.) Definition (Gültigkeit) Eine Formel F heißt gültig (oder allgemeingültig oder Tautologie) falls jede zu F passende Belegung ein Modell für F ist. Wir schreiben |= F , falls F gültig ist, und 6|= F sonst. Barbara König Logik 47 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe Gültig Erfüllbar Unerfüllbar A A∨B A ∨ ¬A A ∧ ¬A A → ¬A A→B A → (B → A) A → (A → B) A ↔ ¬A Barbara König Logik 48 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe Gelten die folgenden Aussagen? J/N Wenn Wenn Wenn Wenn F F F F gültig, erfüllbar, gültig, unerfüllbar, dann dann dann dann Barbara König Gegenb. F erfüllbar ¬F unerfüllbar ¬F unerfüllbar ¬F gültig Logik 49 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Spiegelungsprinzip gültige Formeln erfüllbare, aber nicht gültige Formeln F unerfüllbare Formeln ¬F ¬G G Barbara König Logik 50 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Ein Gültigkeitstest Wie kann man überprüfen, ob eine Formel F gültig ist? Eine Möglichkeit: Wahrheitstafel aufstellen Angenommen, die Formel F enthält n verschiedene atomare Formeln. Wie groß ist die Wahrheitstafel? Anzahl Zeilen in der Wahrheitstafel: 2n Geht es auch effizienter? Diese Frage wird im Laufe der Vorlesung beantwortet. Barbara König Logik 51 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung Definition (Folgerung) Eine Formel G heißt eine Folgerung der Formeln F1 , . . . , Fk falls für jede Belegung A, die sowohl zu F1 , . . . , Fk als auch zu G passend ist, gilt: Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch Modell von G . Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. Barbara König Logik 52 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung: Beispiel (AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL |= RL ∧ ¬AK ∧ BK Wenn Bauteil A oder Bauteil B kaputt ist und daraus, dass Bauteil A kaputt ist, immer folgt, dass Bauteil B kaputt ist und . . . . . . dann kann man die Folgerung ziehen: das rote Licht leuchtet, Bauteil A ist nicht kaputt und Bauteil B ist kaputt. Barbara König Logik 53 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe M A A A, B A, B (A ∧ B) (A ∨ B) A, (A → B) F (A ∨ B) (A ∧ B) (A ∨ B) (A ∧ B) A A B Barbara König Logik Gilt M |= F ? 54 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung, Gültigkeit und Unerfüllbarkeit Zeigen Sie, dass folgende Aussagen äquivalent sind: 1 2 3 F1 , . . . , Fk |= G , d.h., G ist eine Folgerung von F1 , . . . , Fk . V (( ki=1 Fi ) → G ) ist gültig. V (( ki=1 Fi ) ∧ ¬G ) ist unerfüllbar. Barbara König Logik 55 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenz (Semantische) Äquivalenz Zwei Formeln F und G heißen (semantisch) äquivalent, falls für alle Belegungen A, die sowohl für F als auch für G passend sind, gilt A(F ) = A(G ). Hierfür schreiben wir F ≡ G . Barbara König Logik 56 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe Gelten die folgenden Äquivalenzen? (A ∧ (A ∨ B)) ≡ A ¬(A ∨ B) ≡ (¬A ∧ ¬B) (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C ) (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C )) Barbara König Logik 57 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Die Hauptprobleme Modellprüfung Sei F eine Formel und sei A eine passende Belegung. Gilt A(F ) = 1? Erfüllbarkeit Sei F eine Formel. Ist F erfüllbar? Gültigkeit Sei F eine Formel. Ist F gültig? Folgerung Seien F und G Formeln. Gilt F |= G ? Äquivalenz Seien F und G Formeln. Gilt F ≡ G ? Barbara König Logik 58 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (I) Welche Probleme lassen sich auf welche reduzieren? Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit: F gültig gdw. ¬F nicht erfüllbar F erfüllbar gdw. ¬F nicht gültig Gültigkeit =⇒ Folgerung: F gültig gdw. T |= F (T ist beliebige gültige Formel) Folgerung =⇒ Gültigkeit: F |= G gdw. Barbara König F → G gültig Logik 59 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (II) Unerfüllbarkeit =⇒ Folgerung: F unerfüllbar gdw. F |= U (U ist beliebige unerfüllbare Formel) Folgerung =⇒ Unerfüllbarkeit: F |= G gdw. Barbara König F ∧ ¬G unerfüllbar Logik 60 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (III) Gültigkeit =⇒ Äquivalenz: F gültig gdw. F ≡T (T ist beliebige gültige Formel) Äquivalenz =⇒ Gültigkeit: F ≡G gdw. F ↔ G gültig Bemerkung: Eine gültige Formel bezeichnet man manchmal auch mit 1, eine unerfüllbare Formel mit 0. Barbara König Logik 61 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Gültigkeits- und Erfüllbarkeitstests mit limboole limboole – http://fmv.jku.at/limboole/ limboole ist ein Tool, mit dem Gültigkeits- und Erfüllbarkeitstests für aussagenlogische Formeln durchgeführt werden können. Dieses Tool basiert auf einer Kombination des Davis-Putnam-Verfahrens zusammen mit Boolean Constraint Propagation. (Genau dieses Verfahren wird in der Vorlesung nicht vorgestellt, jedoch andere mögliche Verfahren.) Anders als andere Werkzeuge konvertiert limboole selbst die Eingabe in (konjunktive) Normalform. Es gibt noch zahlreicher andere Tools dieser Art, die normalerweise als SAT-Solver bezeichnet werden. Einige davon sind inzwischen auch effizienter als limboole. Barbara König Logik 62 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Gültigkeits- und Erfüllbarkeitstests mit limboole Eingabeformat für limboole Aussagenlogik ↔ → ∨ ∧ ¬ limboole <-> -> | & ! limboole kann für eine Formel F sowohl überprüfen, ob sie gültig (valid) oder nicht gültig (invalid) ist als auch ob sie erfüllbar (satisfiable) oder unerfüllbar (unsatisfiable) ist. Bei einer nicht-gültigen Formel F wird eine Belegung A mit A(F ) = 0 ausgegeben, bei einer erfüllbaren Formel eine Belegung A mit A(F ) = 1. Barbara König Logik 63 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Diagnose Um zu zeigen, dass F }| { z (AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL |= RL | ∧ ¬AK {z ∧ BK} G gilt, überprüfen wir, ob F → G gültig ist. Diese Formel sieht in limboole-Syntax folgendermaßen aus: ((AK | BK) & (AK -> BK) & ((BK & RL) -> !AK) & RL) -> (!AK & BK & RL) Barbara König Logik 64 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Aufgabe: Gegeben sind zwei Schaltkreise. Überprüfen Sie, ob diese Schaltkreise äquivalent sind, in dem Sinne, dass sie bei gleicher Eingabe die gleichen Ausgaben liefern. Diese Überprüfung soll mit Hilfe von limboole durchgeführt werden und nutzt die Tatsache, dass F ≡ G gdw. F ↔ G gültig ist. Barbara König Logik 65 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Schaltkreis 1: X1 ∧ ∨ Y1 Nor ∧ X2 ∧ ∨ Y2 Nor Barbara König Logik 66 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Schaltkreis 2: X1 ∧ Y1 ¬ ¬ ∧ ¬ ∧ ∨ X2 ∧ Y2 Barbara König Logik 67 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Formel S1 für Schaltkreis 1 (in limboole-Syntax) (((X1 & Y1) | !(X1 | Y1)) & ((X2 & Y2) | !(X2 | Y2)) Formel S2 für Schaltkreis 1 (in limboole-Syntax) (X1 & Y2 & X2 & Y1) | (X2 & Y2 & !X1 & !Y1) | (X1 & Y1 & !X2 & Y2) | (!X2 & !X1 & !Y1 & Y2) Barbara König Logik 68 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Mit Hilfe von limboole lässt sich feststellen, dass die Formel S1 ↔ S2 nicht gültig ist, das heißt die Schaltkreise sind nicht äquivalent. Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen, auf welchen Eingaben sich die beiden Schaltkreise unterscheiden? Barbara König Logik 69 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Eigenschaften der Äquivalenz Wir betrachten nun wieder die Äquivalenz auf Formeln. Sie hat folgende Eigenschaften: reflexiv: Es gilt F ≡ F für jede Formel F (jede Formel ist zu sich selbst äquivalent) symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H abgeschlossen unter Operatoren: Falls F1 ≡ F2 und G1 ≡ G2 gilt, so gilt auch (F1 ∧ G1 ) ≡ (F2 ∧ G2 ), (F1 ∨ G1 ) ≡ (F2 ∨ G2 ) und ¬F1 ≡ ¬F2 . Reflexive, symmetrische, transitive Relation Äquivalenzrelation Äquivalenzrelation + Abgeschlossenheit unter Operatoren Kongruenzrelation Barbara König Logik 70 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Ersetzbarkeitstheorem Die Abgeschlossenheit lässt sich auch folgendermaßen formulieren: Satz (Ersetzbarkeitstheorem) Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens) einem Vorkommen der Teilformel F . Dann ist H äquivalent zu H 0 , wobei H 0 aus H hervorgeht, indem (irgend) ein Vorkommen von F in H durch G ersetzt wird. Barbara König Logik 71 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenzen (I) Satz Es gelten die folgenden Äquivalenzen: (F ∧ F ) (F ∨ F ) ≡ ≡ F F (F ∧ G ) (F ∨ G ) ≡ ≡ (G ∧ F ) (G ∨ F ) ((F ∧ G ) ∧ H) ((F ∨ G ) ∨ H) ≡ ≡ (F ∧ (G ∧ H)) (F ∨ (G ∨ H)) (F ∧ (F ∨ G )) (F ∨ (F ∧ G )) ≡ ≡ F F Barbara König (Idempotenz) (Kommutativität) (Assoziativität) (Absorption) Logik 72 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenzen (II) (F ∧ (G ∨ H)) (F ∨ (G ∧ H)) ≡ ≡ ((F ∧ G ) ∨ (F ∧ H)) ((F ∨ G ) ∧ (F ∨ H)) ¬¬F ≡ F ¬(F ∧ G ) ¬(F ∨ G ) ≡ ≡ (¬F ∨ ¬G ) (¬F ∧ ¬G ) (F ∨ G ) (F ∧ G ) ≡ ≡ F , falls F gültig G , falls F gültig (F ∨ G ) (F ∧ G ) ≡ ≡ G , falls F unerfüllbar F , falls F unerfüllbar Barbara König (Distributivität) (Doppelnegation) (de Morgansche Regeln) Logik (Tautologieregeln) (Unerfüllbarkeitsregeln) 73 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenzen Die Tautologie- und Unerfüllbarkeitsregeln können auch folgendermaßen geschrieben werden: (1 ∨ G ) (1 ∧ G ) ≡ ≡ 1 G (Tautologieregeln) (0 ∨ G ) (0 ∧ G ) ≡ ≡ G 0 (Unerfüllbarkeitsregeln) Daraus folgt unter anderem, dass 1 (= gültige Formel) das neutrale Element der Konjunktion und 0 (= unerfüllbare Formel) das neutrale Element der Disjunktion ist. Barbara König Logik 74 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Normalformen (I) Definition (Normalformen) Ein Literal ist eine atomare Formel oder die Negation einer atomaren Formel. (Im ersten Fall sprechen wir von einem positiven, im zweiten Fall von einem negativen Literal). Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion von Disjunktionen von Literalen ist: F =( n m V Wi ( Li,j )), i=1 j=1 wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · } Barbara König Logik 75 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Normalformen (II) Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion von Konjunktionen von Literalen ist: F =( n m W Vi ( Li,j )), i=1 j=1 wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · } Barbara König Logik 76 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Umformungsmethode (in KNF) Gegeben: eine Formel F . 1 Ersetze in F jedes Vorkommen einer Teilformel der Bauart ¬¬G durch G ¬(G ∧ H) durch (¬G ∨ ¬H) ¬(G ∨ H) durch (¬G ∧ ¬H) bis keine derartige Teilformel mehr vorkommt. 2 Ersetze jedes Vorkommen einer Teilformel der Bauart (F ∨ (G ∧ H)) durch ((F ∨ G ) ∧ (F ∨ H)) ((F ∧ G ) ∨ H) durch ((F ∨ H) ∧ (G ∨ H)) bis keine derartige Teilformel mehr vorkommt. Barbara König Logik 77 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Umformungsmethode (in KNF) Aufwand der Umformungsmethode Bei der Umwandlung einer Formel in KNF kann die Formel exponentiell größer werden. Beispiel: F = (A1 ∧ B1 ) ∨ (A2 ∧ B2 ) ∨ · · · ∨ (An ∧ Bn ) (bestehend aus n Konjunktionen). Bei Umwandlung in KNF ergeben sich durch das Distributivgesetz 2n Disjunktionen, da jede Kombination von Literalen (eines aus jeder Konjunktion) eine neue Disjunktion ergibt. F ≡ (A1 ∨ A2 ∨ · · · ∨ An ) ∧ (B1 ∨ A2 ∨ · · · ∨ An ) ∧ (A1 ∨ B2 ∨ · · · ∨ An ) ∧ ... Barbara König Logik 78 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Mengendarstellung in KNF Klausel: Menge von Literalen (Disjunktion). {A, B} stellt (A ∨ B) dar. Formel: Menge von Klauseln (Konjunktion). {{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar. Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel. Die leere Formel ist äquivalent zu einer gültigen Formel. Barbara König Logik 79 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Ablesen aus Wahrheitstafel A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 0 0 1 0 0 1 DNF: Aus jeder Zeile mit Wahrheitswert 1 wird eine Konjunktion, aus einer 0 in der Spalte A wird ¬A, aus einer 1 wird A (¬A ∧ ¬B ∧ ¬C ) ∨ (A ∧ ¬B ∧ ¬C ) ∨ (A ∧ B ∧ C ) KNF: Aus jeder Zeile mit Wahrheitswert 0 wird eine Disjunktion, aus einer 0 in der Spalte A wird A, aus einer 1 wird ¬A (A ∨ B ∨ ¬C ) ∧ (A ∨ ¬B ∨ C ) ∧ (A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ B ∨ ¬C ) ∧ (¬A ∨ ¬B ∨ C ) Barbara König Logik 80 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest. Erfüllbarkeitstest für Formeln in DNF Eine Formel in disjunktiver Normalform ist erfüllbar, genau dann wenn sie eine Konjunktion (L1 ∧ · · · ∧ Ln ) enthält, in der jedes Literal entweder nur positiv oder nur negativ vorkommt. Das heißt, es gibt keine atomare Formel A, die sowohl als A als auch als ¬A in dieser Konjunktion vorkommt. Beispiele: (A ∧ B ∧ ¬C ) ∨ (¬A ∧ ¬B) ∨ (B ∧ ¬B) ist erfüllbar, beispielsweise mit der Belegung A(A) = 1, A(B) = 1, A(C ) = 0. (A ∧ B ∧ ¬A) ∨ (¬A ∧ ¬B ∧ A ∧ B ∧ C ) ∨ (B ∧ ¬B) ist nicht erfüllbar (= unerfüllbar). Barbara König Logik 81 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in KNF gibt es einen einfachen Gültigkeitstest. Gültigkeitstest für Formeln in KNF Eine Formel in konjunktiver Normalform ist gültig, genau dann wenn es in jeder vorkommenden Disjunktion (L1 ∨ · · · ∨ Ln ) ein Literal gibt, das sowohl positiv als auch negativ vorkommt. Das heißt, es gibt in jeder Disjunktion eine atomare Formel A, die sowohl als A als auch als ¬A vorkommt. Beispiele: (A ∨ B ∨ ¬C ) ∧ (¬A ∨ ¬B) ∧ (B ∨ ¬B) ist nicht gültig, beispielsweise erhält man 0 bei Auswertung unter der Belegung A(A) = 0, A(B) = 0, A(C ) = 1. (A ∨ B ∨ ¬A) ∧ (¬A ∨ ¬B ∨ A ∨ B ∨ C ) ∧ (B ∨ ¬B) ist gültig. Barbara König Logik 82 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Aufwand der Tests: Diese einfachen Erfüllbarkeits- bzw. Gültigkeitstests können durchgeführt werden, indem man einmal die Formel durchläuft. Das heißt, man benötigt nur lineare Zeit. Trotzdem erhält man dadurch keinen einfachen Erfüllbarkeitstest für Formeln in KNF und keinen einfachen Gültigkeitstest für Formeln in DNF. Dazu müsste man eine Formel in KNF erst in DNF umwandeln (oder umgekehrt), was exponentielle Zeit in Anspruch nehmen kann. Barbara König Logik 83 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer Formel in KNF) zu bestimmen ist auch als SAT-Problem (Satisfiability-Problem) bekannt. SAT ist NP-vollständig ( “Berechenbarkeit und Komplexität”), was bedeutet, dass es (zur Zeit) keinen bekannten Polynomzeit-Algorithmus für dieses Problem gibt. Ob ein solcher Polynomzeit-Algorithmus existiert, ist ein offenes Problem. Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr effizient sind (z.B. limboole und das im folgenden besprochene Resolutionsverfahren). Barbara König Logik 84 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Vollständigkeit von Operatormengen Definition (Boolesche Funktionen) Eine Funktion der Form b : {0, 1}n → {0, 1} heißt (n-stellige) Boolesche Funktion. Eine Formel F mit atomaren Formeln aus der Menge {A1 , . . . , An } beschreibt eine Boolesche Funktion bF wie folgt: bF (x1 , . . . , xn ) = Ax1 ,...,xn (F ), wobei Ax1 ,...,xn eine Belegung ist, die Ai mit xi ∈ {0, 1} belegt. Die n-stelligen Booleschen Funktionen entsprechen genau den Wahrheitstafeln mit n Spalten für atomare Formeln und einer Ergebnisspalte. Barbara König Logik 85 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Vollständigkeit von Operatormengen n Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw. Wahrheitstafeln mit n atomaren Formeln. Aufgabe: Stellen Sie alle 16 Wahrheitstafeln mit zwei atomaren Formeln auf, d.h., bestimmen Sie alle zweistelligen Booleschen Funktionen. Versuchen Sie, jeder Wahrheitstafel den Operator oder die Formel zuzuordnen, die sie beschreibt. Barbara König Logik 86 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Vollständigkeit von Operatormengen Definition (Vollständigkeit) Eine Menge von Operatoren heißt vollständig, wenn man damit für jede Boolesche Funktion eine entsprechende Formel erstellen kann, die diese Funktion beschreibt. Die Operatormenge {¬, ∨, ∧} ist vollständig. Begründung: wie vorher beschrieben kann jede beliebige Wahrheitstafel in KNF bzw. DNF umgewandelt werden. Die Operatormenge {¬, ∨} ist vollständig. Begründung: A ∧ B ≡ ¬(¬A ∨ ¬B). Die Operatormenge {¬, ∧} ist vollständig. Die Operatormenge {¬, →} ist vollständig. Begründung: A ∨ B ≡ ¬A → B. Barbara König Logik 87 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Vollständigkeit von Operatormengen Die Operatormenge {Nand} ist vollständig, wobei der Operator Nand wie folgt definiert ist: A Nand B = ¬(A ∧ B). Begründung: A Nand A = ¬(A ∧ A) ≡ ¬A und (A Nand B) Nand (A Nand B) ≡ A ∧ B. Die Operatormenge {Nor} ist vollständig, wobei der Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B). Barbara König Logik 88 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Vollständigkeit von Operatormengen Die Operatormenge {∧, ∨} ist nicht vollständig. Begründung: Die Formel ¬A kann nicht dargestellt werden. Falls eine Formel nur aus Operatoren der Form ∧ und ∨ besteht und der Wahrheitswert 1 eingesetzt wird, so erhält man wieder 1. Das ist aber bei ¬A nicht der Fall. Die Operatormenge {→} ist nicht vollständig. Begründung: wie oben. Man erhält jedoch Vollständigkeit, wenn man auch die Konstante 0 (“falsch”) zulässt. Dann gilt A → 0 ≡ ¬A und ∨ kann wie oben beschrieben mit Hilfe von ¬ und → dargestellt werden. Die Operatormenge {¬, ↔} ist nicht vollständig (ohne Begründung). Barbara König Logik 89 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Endlichkeitssatz Definition (Erfüllbarkeit einer Menge) – Wiederholung Eine Menge M von aussagenlogischen Formeln heißt erfüllbar genau dann, wenn es eine Belegung A gibt, die für alle Formeln in M passend ist und für die gilt A(F ) = 1 für alle F ∈ M. Endlichkeitssatz (compactness theorem) Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede der endlichen Teilmengen von M erfüllbar ist. Barbara König Logik 90 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Endlichkeitssatz Beweis (Skizze): 1. Schritt: Zerlegung von M in Mengen M1 , M2 , M3 , . . . , wobei Mi genau die Formeln von M enthält, die aus den atomaren Formeln A1 , . . . , Ai bestehen. Es gilt: M1 ⊆ M2 ⊆ M3 ⊆ . . . S M= ∞ i=1 Mi Problem: Jede Menge Mi kann unendlich viele Formeln enthalten. (Beispielsweise könnte M1 die Formeln A1 , ¬A1 , ¬¬A1 , ¬¬¬A1 , . . . enthalten.) i Da es jedoch höchstens 22 verschiedene i-stellige Boolesche Funktionen geben kann, kann man diese in endlich viele Äquivalenzklassen zusammenfassen. Barbara König Logik 91 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Endlichkeitssatz 2. Schritt: Wir zeigen nun, dass M erfüllbar ist, wenn jede endliche Teilmenge von M (insbesondere jede Menge Mi ) erfüllbar ist. Sei Ai eine erfüllende Belegung für Mi . Wir konstruieren ein Modell A von M wie folgt: 1 Setze I := {1, 2, 3, . . . } 2 Stufe n > 0 (Wahrheitswert für An wird festgelegt) Falls es unendlich viele Indizes i ∈ I gibt mit Ai (An ) = 1, dann setze A(An ) = 1 und entferne aus I alle Indizes j, für die Aj (An ) = 0 gilt. Sonst: setze A(An ) = 0 und entferne aus I alle Indizes j, für die Aj (An ) = 1 gilt. 3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist. Barbara König Logik 92 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Endlichkeitssatz Bemerkungen zum Endlichkeitssatz: Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es eine erfüllende Belegung A gibt, nicht wie man sie erhält. Aussagen der Form “es gibt unendlich viele i ∈ I mit . . . ” können nicht in eine (mechanische) Konstruktion umgewandelt werden. Korollar: Wenn M eine unerfüllbare Menge ist, dann ist bereits eine endliche Teilmenge von M unerfüllbar. Die Bedeutung des Endlichkeitssatzes liegt vor allem in seinen Anwendungsmöglichkeiten im Bereich der Prädikatenlogik (siehe 2. Kapitel der Vorlesung). Barbara König Logik 93