Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Syntax der Aussagenlogik Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .). Vorlesung “Logik” Sommersemester 2011 Universität Duisburg-Essen Definition (Formel) Formeln werden durch folgenden induktiven Prozess definiert: Barbara König Übungsleitung: Christoph Blume 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 Aussagenlogik Prädikatenlogik Logik 1 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Logik Aussagenlogik Prädikatenlogik Formel als Syntaxbaum 35 Grundbegriffe, Äquivalenz und Normalformen Resolution Teilformel Jede Formel kann auch durch einen Syntaxbaum dargestellt werden. Die Teilformeln einer Formel F entsprechen dann den Teilbäumen. Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 ) A4 ¬ ¬ ¬ ∧ ∧ ∨ A3 ¬ ¬ A4 ¬A4 A3 ∧ A3 A3 A1 ¬ ¬ ∧ ∧ ∨ ¬ A3 A1 (¬A4 ∨ A1 ) A1 ∨ ¬ A3 A1 A4 ¬ A1 ¬ ∧ ((¬A4 ∨ A1 ) ∧ A3 ) ∨ ¬ ∧ A3 A1 ¬((¬A4 ∨ A1 ) ∧ A3 ) A4 Logik ¬ A3 A4 A4 A4 Barbara König ∨ A4 ∧ ∨ A1 A1 ¬ ∨ ¬ 36 Barbara König ∨ ¬ A3 A1 A4 Logik 37 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Semantik der Aussagenlogik (I) Grundbegriffe, Äquivalenz und Normalformen Resolution Semantik der Aussagenlogik (II) Â(A) = A(A) 1 Â((F ∧ G )) = 0 1 Â((F ∨ G )) = 0 1 Â((¬F )) = 0 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. 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 Aussagenlogik Prädikatenlogik Logik 38 Aussagenlogik Prädikatenlogik Verknüpfungstafeln (I) A, B, C oder P, Q, R oder . . . Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den den in F vorkommenden atomaren Formeln definiert ist. (F1 → F2 ) (F1 ↔ F2 ) n _ ( Fi ) Tafeln für die Operatoren ∨, ∧, ¬: B 0 1 0 1 A 0 0 1 1 ∨ 0 1 1 1 B 0 1 0 1 Logik 39 Grundbegriffe, Äquivalenz und Normalformen Resolution Abkürzungen Berechnung von  mit Hilfe von Verknüpfungstafeln, auch Wahrheitstafeln genannt. A 0 0 1 1 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution 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 ( 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 40 Barbara König Logik 41 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Verknüpfungstafeln (II) Grundbegriffe, Äquivalenz und Normalformen Resolution Präzedenzen Präzedenz der Operatoren: 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. Die Formel bindet am schwächsten ... ... ... bindet am stärksten 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 Aussagenlogik Prädikatenlogik Logik Aussagenlogik Prädikatenlogik Formalisierung natürlicher Sprache (I) 43 Grundbegriffe, Äquivalenz und Normalformen Resolution Gesamte Wahrheitstafel: Bauteil A oder Bauteil B (oder beide) sind kaputt. RL 0 0 0 0 1 1 1 1 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) Logik Logik Formalisierung natürlicher Sprache (II) Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem roten Licht. Folgendes ist bekannt: Barbara König Barbara König 42 Grundbegriffe, Äquivalenz und Normalformen Resolution 44 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 Aussagenlogik Prädikatenlogik Modelle Grundbegriffe, Äquivalenz und Normalformen Resolution Gültigkeit und Erfüllbarkeit 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. Definition (Erfüllbarkeit) Sei A passend zu F : 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.) 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 Aussagenlogik Prädikatenlogik Logik Eine Formel F heißt erfüllbar, falls F mindestens ein Modell besitzt, andernfalls heißt F unerfüllbar. 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. 46 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Aufgabe Logik 47 Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe Gültig Erfüllbar Unerfüllbar Gelten die folgenden Aussagen? A A∨B A ∨ ¬A A ∧ ¬A A → ¬A A→B A → (B → A) A → (A → B) A ↔ ¬A Barbara König J/N Wenn Wenn Wenn Wenn Logik 48 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 Aussagenlogik Prädikatenlogik Spiegelungsprinzip Grundbegriffe, Äquivalenz und Normalformen Resolution Ein Gültigkeitstest gültige Formeln erfüllbare, aber nicht gültige Formeln F ¬G Barbara König Aussagenlogik Prädikatenlogik ¬F Wie kann man überprüfen, ob eine Formel F gültig ist? unerfüllbare Formeln 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. G Logik 50 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Folgerung Logik 51 Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung: Beispiel 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: (AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL |= RL ∧ ¬AK ∧ BK Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch Modell von G . 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. Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. Barbara König Logik 52 Barbara König Logik 53 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Aufgabe Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung, Gültigkeit und Unerfüllbarkeit 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 Aussagenlogik Prädikatenlogik Gilt M |= F ? Logik 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. 54 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Äquivalenz Logik 55 Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe Gelten die folgenden Äquivalenzen? (Semantische) Äquivalenz (A ∧ (A ∨ B)) ≡ A 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 . ¬(A ∨ B) ≡ (¬A ∧ ¬B) (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C ) (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C )) Barbara König Logik 56 Barbara König Logik 57 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Die Hauptprobleme Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (I) Modellprüfung Sei F eine Formel und sei A eine passende Belegung. Gilt A(F ) = 1? Welche Probleme lassen sich auf welche reduzieren? Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit: Erfüllbarkeit Sei F eine Formel. Ist F erfüllbar? F gültig gdw. ¬F nicht erfüllbar F erfüllbar gdw. ¬F nicht gültig Gültigkeit Sei F eine Formel. Ist F gültig? Gültigkeit =⇒ Folgerung: Folgerung Seien F und G Formeln. Gilt F |= G ? Folgerung =⇒ Gültigkeit: F gültig Aussagenlogik Prädikatenlogik Logik 58 F → G gültig Logik 59 Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (III) Gültigkeit =⇒ Äquivalenz: F gültig F unerfüllbar gdw. F |= U (U ist beliebige unerfüllbare Formel) F ≡T F ≡G F ∧ ¬G unerfüllbar Logik gdw. (T ist beliebige gültige Formel) Äquivalenz =⇒ Gültigkeit: Folgerung =⇒ Unerfüllbarkeit: Barbara König gdw. Aussagenlogik Prädikatenlogik Unerfüllbarkeit =⇒ Folgerung: gdw. (T ist beliebige gültige Formel) Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (II) F |= G T |= F F |= G Äquivalenz Seien F und G Formeln. Gilt F ≡ G ? Barbara König gdw. gdw. F ↔ G gültig Bemerkung: Eine gültige Formel bezeichnet man manchmal auch mit 1, eine unerfüllbare Formel mit 0. 60 Barbara König Logik 61 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Gültigkeits- und Erfüllbarkeitstests mit limboole Gültigkeits- und Erfüllbarkeitstests mit limboole Eingabeformat für limboole limboole – http://fmv.jku.at/limboole/ Aussagenlogik ↔ → ∨ ∧ ¬ 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.) Es gibt noch zahlreicher andere Tools dieser Art, die normalerweise als SAT-Solver bezeichnet werden. Einige davon sind inzwischen auch effizienter als limboole. Aussagenlogik Prädikatenlogik Logik 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. Anders als andere Werkzeuge konvertiert limboole selbst die Eingabe in (konjunktive) Normalform. Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution 62 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Anwendung: Diagnose Logik 63 Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Um zu zeigen, dass 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. F }| { z (AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL |= RL | ∧ ¬AK {z ∧ BK} Diese Überprüfung soll mit Hilfe von limboole durchgeführt werden und nutzt die Tatsache, dass G gilt, überprüfen wir, ob F → G gültig ist. Diese Formel sieht in limboole-Syntax folgendermaßen aus: F ≡ G gdw. F ↔ G gültig ist. ((AK | BK) & (AK -> BK) & ((BK & RL) -> !AK) & RL) -> (!AK & BK & RL) Barbara König Logik 64 Barbara König Logik 65 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Anwendung: Vergleich von Schaltkreisen Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Schaltkreis 1: Schaltkreis 2: X1 X1 ∧ ∨ Y1 ∧ Y1 ¬ Nor ∧ ¬ ∨ ∧ X2 X2 ∧ ∧ ¬ ∨ Y2 Barbara König Aussagenlogik Prädikatenlogik Logik 66 Grundbegriffe, Äquivalenz und Normalformen Resolution Logik 67 Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Formel S1 für Schaltkreis 1 (in limboole-Syntax) 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. (((X1 & Y1) | !(X1 | Y1)) & ((X2 & Y2) | !(X2 | Y2)) Formel S2 für Schaltkreis 1 (in limboole-Syntax) Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen, auf welchen Eingaben sich die beiden Schaltkreise unterscheiden? (X1 & Y2 & X2 & Y1) | (X2 & Y2 & !X1 & !Y1) | (X1 & Y1 & !X2 & Y2) | (!X2 & !X1 & !Y1 & Y2) Logik Barbara König Aussagenlogik Prädikatenlogik Anwendung: Vergleich von Schaltkreisen Barbara König ∧ Y2 Nor 68 Barbara König Logik 69 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Eigenschaften der Äquivalenz Grundbegriffe, Äquivalenz und Normalformen Resolution Ersetzbarkeitstheorem 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) Die Abgeschlossenheit lässt sich auch folgendermaßen formulieren: symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F Satz (Ersetzbarkeitstheorem) transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H 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. 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 Aussagenlogik Prädikatenlogik Logik Barbara König 70 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Äquivalenzen (I) Logik 71 Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenzen (II) 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 (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 Aussagenlogik Prädikatenlogik Äquivalenzen Grundbegriffe, Äquivalenz und Normalformen Resolution Normalformen (I) 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) 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 =( 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 Aussagenlogik Prädikatenlogik Logik n m V Wi ( Li,j )), i=1 j=1 wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · } Barbara König 74 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Normalformen (II) Logik 75 Grundbegriffe, Äquivalenz und Normalformen Resolution Umformungsmethode (in KNF) Gegeben: eine Formel F . 1 Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion von Konjunktionen von Literalen ist: n m W Vi F = ( ( Li,j )), 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. i=1 j=1 2 wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · } 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 76 Barbara König Logik 77 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Umformungsmethode (in KNF) Mengendarstellung in KNF Aufwand der Umformungsmethode Bei der Umwandlung einer Formel in KNF kann die Formel exponentiell größer werden. Klausel: Menge von Literalen (Disjunktion). {A, B} stellt (A ∨ B) dar. 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 Grundbegriffe, Äquivalenz und Normalformen Resolution 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. ≡ (A1 ∨ A2 ∨ · · · ∨ An ) ∧ (B1 ∨ A2 ∨ · · · ∨ An ) ∧ (A1 ∨ B2 ∨ · · · ∨ An ) ∧ ... Barbara König Aussagenlogik Prädikatenlogik Logik 78 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik 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 Logik 79 Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest. DNF: Aus jeder Zeile mit Wahrheitswert 1 wird eine Konjunktion, aus einer 0 in der Spalte A wird ¬A, aus einer 1 wird A 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. (¬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 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). (A ∨ B ∨ ¬C ) ∧ (A ∨ ¬B ∨ C ) ∧ (A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ B ∨ ¬C ) ∧ (¬A ∨ ¬B ∨ C ) Barbara König Barbara König Logik 80 Barbara König Logik 81 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in KNF gibt es einen einfachen Gültigkeitstest. Aufwand der Tests: 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. 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. 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 Aussagenlogik Prädikatenlogik Logik 82 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Erfüllbarkeits-/Gültigkeitstests für DNF/KNF 83 Grundbegriffe, Äquivalenz und Normalformen Resolution 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: 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. bF (x1 , . . . , xn ) = Ax1 ,...,xn (F ), wobei Ax1 ,...,xn eine Belegung ist, die Ai mit xi ∈ {0, 1} belegt. Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr effizient sind (z.B. limboole und das im folgenden besprochene Resolutionsverfahren). Logik Logik Vollständigkeit von Operatormengen Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer Formel in KNF) zu bestimmen ist auch als SAT-Problem (Satisfiability-Problem) bekannt. Barbara König Barbara König Die n-stelligen Booleschen Funktionen entsprechen genau den Wahrheitstafeln mit n Spalten für atomare Formeln und einer Ergebnisspalte. 84 Barbara König Logik 85 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Vollständigkeit von Operatormengen 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. n Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw. Wahrheitstafeln mit n atomaren Formeln. 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. 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 Aussagenlogik Prädikatenlogik Logik 86 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Vollständigkeit von Operatormengen Logik 87 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 {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 {→} 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 {Nor} ist vollständig, wobei der Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B). Die Operatormenge {¬, ↔} ist nicht vollständig (ohne Begründung). Barbara König Logik 88 Barbara König Logik 89 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Endlichkeitssatz 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: 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. 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. 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 Aussagenlogik Prädikatenlogik Logik Aussagenlogik Prädikatenlogik Endlichkeitssatz 2 Logik 91 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 Barbara König 90 Grundbegriffe, Äquivalenz und Normalformen Resolution 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. Setze I := {1, 2, 3, . . . } 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. 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). 3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist. Barbara König Logik 92 Barbara König Logik 93