Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Mengen, Relationen und Funktionen Vorlesung “Logik” Wintersemester 2015/16 Universität Duisburg-Essen Menge: Menge X von Elementen, wird beschrieben als Aufzählung X = {A1 , A2 , A3 , A7 } oder als Menge von Elementen mit einer bestimmten Eigenschaft Barbara König Übungsleitung: Dennis Nolte, Dr. Harsh Beohar Barbara König Aussagenlogik Prädikatenlogik Logik X = {Ai | 1 ≤ i ≤ 3 oder i = 7}. 1 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Mengen, Relationen und Funktionen Logik 36 Grundbegriffe, Äquivalenz und Normalformen Resolution Mengen, Relationen und Funktionen Bemerkungen: Die Elemente einer Menge sind ungeordnet, d.h., ihre Ordnung spielt keine Rolle. Beispielsweise gilt: Element einer Menge: Wir schreiben x ∈ X , falls ein Element x in der Menge X enthalten ist. {1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1} Teilmengenbeziehung: Für zwei Mengen X , Y schreiben wir X ⊆ Y , falls jedes Element von X auch in Y enthalten ist. Die Relation ⊆ heißt auch Inklusion. Ein Element kann nicht “mehrfach” in einer Menge auftreten. Es ist entweder in der Menge, oder es ist nicht in der Menge. Beispielsweise gilt: Leere Menge: Mit ∅ oder {} bezeichnet man die leere Menge. Sie enthält keine Elemente und ist Teilmenge jeder anderen Menge. {1, 2, 3} = 6 {1, 2, 3, 4} = {1, 2, 3, 4, 4} Barbara König Logik 37 Barbara König Logik 38 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengen, Relationen und Funktionen Mengen, Relationen und Funktionen Kreuzprodukt (kartesisches Produkt) Relation zwischen der Menge X und der Menge Y Eine Teilmenge R ⊆ X × Y des Kreuzprodukts von X und Y heißt Relation zwischen X und Y . Seien X , Y zwei Mengen. Die Menge X × Y ist die Menge aller Paare (x, y ), wobei die erste Komponente des Paars aus X , die zweite aus Y kommt. Beispiel: X × Y = {(x, y ) | x ∈ X , y ∈ Y } X = {1, 2, 3} Y = {a, b, c, d} R = {(1, a), (1, b), (2, b), (3, d)} ⊆ X × Y Beispiel: {1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)} Barbara König Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Resolution 39 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengen, Relationen und Funktionen Logik 40 Grundbegriffe, Äquivalenz und Normalformen Resolution Mengen, Relationen und Funktionen Notation von Funktionen f:X x Funktion von der Menge X in die Menge Y Eine Relation f ⊆ X × Y heißt Funktion, wenn folgendes gilt: → Y 7→ f (x) Die Funktion f bildet ein Element x ∈ X auf ein Element f (x) ∈ Y ab. Dabei ist X der Definitionsbereich und Y der Wertebereich von f. für jedes Element x ∈ X gibt es genau ein Element y ∈ Y mit (x, y ) ∈ f . Anschaulich: jedem Element der Menge X wird genau ein Element der Menge Y zugeordnet. Beispiel: f : {A1 , A2 , A3 , A7 } → {0, 1} A1 7→ 0, A2 7→ 1, A3 7→ 0, A7 7→ 1 alternativ: f (A1 ) = 0, f (A2 ) = 1, f (A3 ) = 0, f (A7 ) = 1 Barbara König Logik 41 Barbara König Logik 42 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Syntax der Aussagenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Formel als Syntaxbaum Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .). Jede Formel kann auch durch einen Syntaxbaum dargestellt werden. Definition (Formel) Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 ) 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 : “nicht F ”, “Negation von F ” A4 (F ∨ G ): “F oder G ”, “Disjunktion von F und G ” Barbara König 43 Logik Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Teilformel A3 A1 Logik 44 Grundbegriffe, Äquivalenz und Normalformen Resolution Semantik der Aussagenlogik (I) Die Teilformeln einer Formel F entsprechen dann den Teilbäumen. ¬ ¬ ∧ A4 ∧ ∨ ¬ ¬ ∨ A3 A1 A1 ¬ A4 ∧ A3 A1 ¬ A4 ¬ 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. ¬ ∧ ∨ A3 A1 A4 ¬ ¬A4 ∨ A3 ∧ ∨ A3 A1 A4 (¬A4 ∨ A1 ) ¬ 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. A3 A1 A4 ¬ ¬ ∧ ((¬A4 ∨ A1 ) ∧ A3 ) ∨ ¬ ∧ ∨ A3 A1 A4 Barbara König ¬((¬A4 ∨ A1 ) ∧ A3 ) Logik ¬ A3 A1 A4 45 Barbara König Logik 46 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Semantik der Aussagenlogik (II) Grundbegriffe, Äquivalenz und Normalformen Resolution Verknüpfungstafeln (I) Berechnung von  mit Hilfe von Verknüpfungstafeln, auch Wahrheitstafeln genannt. Â(A) = A(A) 1 Â((F ∧ G )) = 0 1 Â((F ∨ G )) = 0 1 Â((¬F )) = 0 falls A ∈ D eine atomare Formel ist Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den den in F vorkommenden atomaren Formeln definiert ist. falls Â(F ) = 1 und Â(G ) = 1 sonst Tafeln für die Operatoren ∨, ∧, ¬: falls Â(F ) = 1 oder Â(G ) = 1 sonst A 0 0 1 1 falls Â(F ) = 0 sonst Wir schreiben A statt Â. Barbara König Aussagenlogik Prädikatenlogik ( i=1 Fi ) ∨ 0 1 1 1 B 0 1 0 1 A 0 0 1 1 B 0 1 0 1 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik A 0 0 1 1 ∧ 0 0 0 1 B 0 1 0 1 ¬ 1 0 A 0 1 A 0 1 48 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Verknüpfungstafeln (II) A, B, C oder P, Q, R oder . . . i=1 n ^ A 0 0 1 1 47 Logik Abkürzungen (F1 → F2 ) (F1 ↔ F2 ) n _ ( Fi ) B 0 1 0 1 statt statt statt (¬F1 ∨ F2 ) ((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 )) statt (. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn ) statt (. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn ) Barbara König Logik Tafeln für die Operatoren →, ↔: A1 , A2 , A3 . . . A 0 0 1 1 49 B 0 1 0 1 A 0 0 1 1 → 1 1 0 1 B 0 1 0 1 A 0 0 1 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 50 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Präzedenzen Grundbegriffe, Äquivalenz und Normalformen Resolution Formalisierung natürlicher Sprache (I) Präzedenz der Operatoren: ↔ → ∨ ∧ ¬ Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem roten Licht. Folgendes ist bekannt: bindet am schwächsten ... ... ... bindet am stärksten 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. Die Formel Das rote Licht leuchtet. A ↔ B ∨ ¬C → D ∧ ¬E 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) 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 51 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Formalisierung natürlicher Sprache (II) AK 0 0 1 1 0 0 1 1 BK 0 1 0 1 0 1 0 1 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution 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. (((AK ∨ BK ) ∧ (AK → BK )) ∧ ((BK ∧ RL) → ¬AK )) ∧ RL 0 0 0 0 0 1 0 0 Barbara König 52 Logik Modelle Gesamte Wahrheitstafel: RL 0 0 0 0 1 1 1 1 Barbara König Sei A passend zu F : 53 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 54 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Gültigkeit und Erfüllbarkeit Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe Definition (Erfüllbarkeit) Gültig 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. Aussagenlogik Prädikatenlogik 55 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Aufgabe 56 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Spiegelungsprinzip Gelten die folgenden Aussagen? gültige Formeln J/N Wenn Wenn Wenn Wenn Unerfüllbar A A∨B A ∨ ¬A A ∧ ¬A A → ¬A A→B A → (B → A) A → (A → B) A ↔ ¬A 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.) Barbara König Erfüllbar 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 erfüllbare, aber nicht gültige Formeln F ¬G 57 Barbara König ¬F Logik unerfüllbare Formeln G 58 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Ein Gültigkeitstest Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung Wie kann man überprüfen, ob eine Formel F gültig (erfüllbar, unerfüllbar) ist? 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: Eine Möglichkeit: Wahrheitstafel aufstellen Angenommen, die Formel F enthält n verschiedene atomare Formeln. Wie groß ist die Wahrheitstafel? Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch Modell von G . Anzahl Zeilen in der Wahrheitstafel: 2n Geht es auch effizienter? Diese Frage wird im Laufe der Vorlesung beantwortet. Barbara König Aussagenlogik Prädikatenlogik Logik Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. 59 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Folgerung: Beispiel 60 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Aufgabe M A A A, B A, B (A ∧ B) (A ∨ B) A, (A → B) (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 61 F (A ∨ B) (A ∧ B) (A ∨ B) (A ∧ B) A A B Barbara König Logik Gilt M |= F ? 62 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Folgerung, Gültigkeit und Unerfüllbarkeit Äquivalenz Zeigen Sie, dass folgende Aussagen äquivalent sind: 1 2 3 (Semantische) Äquivalenz 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 Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Resolution 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 . 63 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Aufgabe Logik 64 Grundbegriffe, Äquivalenz und Normalformen Resolution Die Hauptprobleme Modellprüfung Sei F eine Formel und sei A eine passende Belegung. Gilt A(F ) = 1? Gelten die folgenden Äquivalenzen? Erfüllbarkeit Sei F eine Formel. Ist F erfüllbar? (A ∧ (A ∨ B)) ≡ A ¬(A ∨ B) ≡ (¬A ∧ ¬B) Gültigkeit Sei F eine Formel. Ist F gültig? (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C ) (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C )) Folgerung Seien F und G Formeln. Gilt F |= G ? Äquivalenz Seien F und G Formeln. Gilt F ≡ G ? Barbara König Logik 65 Barbara König Logik 66 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Reduktion von Problemen (I) Grundbegriffe, Äquivalenz und Normalformen Resolution Reduktion von Problemen (II) Welche Probleme lassen sich auf welche reduzieren? Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit: Unerfüllbarkeit =⇒ Folgerung: Gültigkeit =⇒ Folgerung: Folgerung =⇒ Unerfüllbarkeit: F unerfüllbar gdw. F |= U (U ist beliebige unerfüllbare Formel) F gültig gdw. ¬F nicht erfüllbar F erfüllbar gdw. ¬F nicht gültig F gültig gdw. T |= F F |= G (T ist beliebige gültige Formel) Folgerung =⇒ Gültigkeit: F |= G gdw. Barbara König F ∧ ¬G unerfüllbar F → G gültig Logik Aussagenlogik Prädikatenlogik gdw. 67 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Reduktion von Problemen (III) 68 Logik 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) Gültigkeit =⇒ Äquivalenz: F gültig gdw. F ≡T (T ist beliebige gültige Formel) symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F Äquivalenz =⇒ Gültigkeit: F ≡G gdw. transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H F ↔ G gültig abgeschlossen unter Operatoren: Falls F1 ≡ F2 und G1 ≡ G2 gilt, so gilt auch (F1 ∧ G1 ) ≡ (F2 ∧ G2 ), (F1 ∨ G1 ) ≡ (F2 ∨ G2 ) und ¬F1 ≡ ¬F2 . Bemerkung: Eine gültige Formel bezeichnet man manchmal auch mit 1, eine unerfüllbare Formel mit 0. Reflexive, symmetrische, transitive Relation Äquivalenzrelation Äquivalenzrelation + Abgeschlossenheit unter Operatoren Kongruenzrelation Barbara König Logik 69 Barbara König Logik 70 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Ersetzbarkeitstheorem Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenzen (I) Satz Die Abgeschlossenheit unter Operatoren lässt sich auch folgendermaßen formulieren: Es gelten die folgenden Äquivalenzen: Satz (Ersetzbarkeitstheorem) Seien F und G äquivalente Formeln (F ≡ G ). Sei H eine Formel mit (mindestens) einem Vorkommen der Teilformel F . Dann ist H äquivalent zu H 0 (d.h. H ≡ H 0 ), wobei H 0 aus H hervorgeht, indem (irgend) ein Vorkommen von F in H durch G ersetzt wird. Barbara König Aussagenlogik Prädikatenlogik (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 71 Logik (Idempotenz) Aussagenlogik Prädikatenlogik Äquivalenzen (II) (Assoziativität) (Absorption) Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution (Kommutativität) Logik 72 Grundbegriffe, Äquivalenz und Normalformen Resolution Äquivalenzen (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 Die Tautologie- und Unerfüllbarkeitsregeln können auch folgendermaßen geschrieben werden: (Distributivität) (Doppelnegation) (de Morgansche Regeln) Logik (Tautologieregeln) (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. (Unerfüllbarkeitsregeln) 73 Barbara König Logik 74 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.) Anders als andere Werkzeuge konvertiert limboole selbst die Eingabe in (konjunktive) Normalform. Es gibt noch zahlreiche andere Tools dieser Art, die normalerweise als SAT-Solver bezeichnet werden. Einige davon sind inzwischen auch effizienter als limboole. Barbara König Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Resolution 75 Grundbegriffe, Äquivalenz und Normalformen Resolution 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 Aussagenlogik Prädikatenlogik Anwendung: Diagnose limboole <-> -> | & ! Logik 76 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 77 Barbara König Logik 78 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 X2 ∧ Y1 ∨ ¬ Nor ∧ X2 ∧ ¬ ∧ ¬ ∧ ∨ ∨ Y2 Barbara König Aussagenlogik Prädikatenlogik Logik 79 Grundbegriffe, Äquivalenz und Normalformen Resolution Logik 80 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 81 Barbara König Logik 82 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Normalformen (I) Grundbegriffe, Äquivalenz und Normalformen Resolution Normalformen (II) 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 disjunktiver Normalform (DNF), falls sie eine Disjunktion von Konjunktionen von Literalen ist: Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion von Disjunktionen von Literalen ist: F =( F =( n m W Vi ( Li,j )), i=1 j=1 n m V Wi ( Li,j )), wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · } i=1 j=1 wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · } Barbara König Aussagenlogik Prädikatenlogik 83 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Umformungsmethode (in KNF) ¬¬G durch G durch ¬(G ∨ H) durch (¬G ∨ ¬H) (¬G ∧ ¬H) Ersetze jedes Vorkommen einer Teilformel der Bauart (F ∨ (G ∧ H)) ((F ∧ G ) ∨ H) durch durch F ((F ∨ G ) ∧ (F ∨ H)) Logik ≡ (A1 ∨ A2 ∨ · · · ∨ An ) ∧ (B1 ∨ A2 ∨ · · · ∨ An ) ((F ∨ H) ∧ (G ∨ H)) ∧ (A1 ∨ B2 ∨ · · · ∨ An ) bis keine derartige Teilformel mehr vorkommt. Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution 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. bis keine derartige Teilformel mehr vorkommt. 2 84 Aufwand der Umformungsmethode Bei der Umwandlung einer Formel in KNF kann die Formel exponentiell größer werden. Ersetze in F jedes Vorkommen einer Teilformel der Bauart ¬(G ∧ H) Logik Umformungsmethode (in KNF) Gegeben: eine Formel F . 1 Barbara König ∧ ... 85 Barbara König Logik 86 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengendarstellung in KNF Grundbegriffe, Äquivalenz und Normalformen Resolution Ablesen von DNF und KNF aus Wahrheitstafel Klausel: Menge von Literalen (Disjunktion). A 0 0 0 0 1 1 1 1 {A, B} stellt (A ∨ B) dar. Formel in KNF: Menge von Klauseln (Konjunktion). {{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar. Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel (0). Die leere Formel ist äquivalent zu einer gültigen Formel (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 Aussagenlogik Prädikatenlogik Logik 87 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest. Für Formeln in KNF gibt es einen einfachen Gültigkeitstest. 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. 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 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). 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 88 89 Barbara König Logik 90 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Erfüllbarkeits-/Gültigkeitstests für DNF/KNF 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. 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. 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. 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 Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr effizient sind (z.B. limboole und das im folgenden besprochene Resolutionsverfahren). 91 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Vollständigkeit von Operatormengen Logik 92 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. n Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw. Wahrheitstafeln mit n atomaren Formeln. Eine Formel F mit atomaren Formeln aus der Menge {A1 , . . . , An } beschreibt eine n-stellige Boolesche Funktion bF wie folgt: 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. bF (x1 , . . . , xn ) = Ax1 ,...,xn (F ), wobei Ax1 ,...,xn die 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 93 Barbara König Logik 94 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. 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 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 Aussagenlogik Prädikatenlogik Logik Die Operatormenge {Nor} ist vollständig, wobei der Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B). 95 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Vollständigkeit von Operatormengen Logik 96 Grundbegriffe, Äquivalenz und Normalformen Resolution Endlichkeitssatz 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. Definition (Erfüllbarkeit einer Menge) – Wiederholung Eine (möglicherweise unendliche) 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. Die Operatormenge {→} ist nicht vollständig. Begründung: analog zu {∧, ∨} 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. Endlichkeitssatz (compactness theorem) Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede der endlichen Teilmengen von M erfüllbar ist. Die Operatormenge {¬, ↔} ist nicht vollständig (ohne Begründung). Barbara König Logik 97 Barbara König Logik 98 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Endlichkeitssatz 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 ein Modell für Mi . Wir konstruieren ein Modell A von M wie folgt: 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: 1 M1 ⊆ M2 ⊆ M3 ⊆ . . . S M= ∞ i=1 Mi 2 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 Aussagenlogik Prädikatenlogik Logik 99 Grundbegriffe, Äquivalenz und Normalformen Resolution Bemerkungen zum Endlichkeitssatz: Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es ein Modell A gibt, nicht wie man es 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). Logik 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. Endlichkeitssatz Barbara König Setze I := {1, 2, 3, . . . } 101 Barbara König Logik 100