WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws13/14 Kapitel II - Grundlagen • Mathematische und notationelle Grundlagen – Mengen – Relationen und Abbildungen – Aussagen- und Prädikatenlogik – Beweismethoden – Wachstum von Funktionen 2 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Normalformen – Ein Literal ist eine Aussagenvariable oder die Negation einer Aussagenvariable. – Eine Klausel ist eine Disjunktion von Literalen oder die Formel false (Disjunktion von 0 Literalen) – Eine Formel in konjunktiver Normalform (KNF) ist • eine Konjunktion von Klauseln ( d.h., eine Formel der Form (⋀ mit , ∈ , • oder die Formel (⋁ , )) , … ∪ ¬ , ¬ , … ) (Konjunktion von 0 Klauseln). Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Normalformen – Eine Formel ist in KNF falls in allen Pfaden ihres Syntaxbaums Konjunktionen vor Disjunktionen vor Negationen vorkommen. 4 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Normalformen: Umformunsmethode – Formeln aus der Praxis sind oft in KNF – Außerdem, das folgende Verfahren konstruiert für eine beliebige Formel eine äquivalente KNF-Formel: 1. Ersetze in jedes Vorkommen einer Teilformel der Bauart ¬¬ durch ¬( ∧ ) durch (¬ ∨ ¬ ) ¬( ∨ ) durch (¬ ∧ ¬ ) bis keine derartige Teilformel mehr vorkommt. 5 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik 2. Ersetze jedes Vorkommen einer Teilformel der Bauart ( ∨ ∧ ) durch ( ∨ ∧ ∨ ) ( ∧ ∨ ) durch ( ∨ ∧ ∨ ) bis keine derartige Teilformel mehr vorkommt. Alle Schritte erhalten äquivalenz. Nach Schritt 1. kommen im Syntaxbaum Konjunktionen und Disjunktionen vor Negationen vor. Nach Schritt 2 kommen im Syntaxbaum Konjunktionen vor Disjunktionen vor. 6 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Algorithmen für KNF-SAT – Wir kennen bisher nur den folgenden Algorithmus: • Erzeuge alle minimalen Belegungen, die zur Formel passen. • Für jede solche Belegung, prüfe, ob sie die Formel erfüllt. – Zwei Probleme • Es müssen 2 Belegungen geprüft werden !! • Wenn die Formel unerfüllbar ist, dann werden mit Sicherheit alle Belegungen geprüft. 7 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Algorithmen für KNF-SAT – Wir präsentieren zwei Algorithmen: 8 • DPLL (Davis-Putnam-Logemann-Loveland). – Versucht, die Anzahl der zu prüfenden Belegungen zu reduzieren – Auf Erfüllbarkeit gerichtet: kann früh terminieren, wenn die Formel erfüllbar ist. – Wir präsentieren nur eine vereinfachte Version. • Resolution (Robinson). – Auf Nicht-Erfüllbarkeit gerichtet: kann früh Terminieren, wenn die Formel nicht erfüllbar ist. Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). Definition. Sei eine KNF-Formel und sei eine Variable von . [ \ ] bezeichnet die Formel, die ensteht, in dem jedem Vorkommis von in durch ersetzt wird und das Ergebnis mit Hilfe der Regeln ∧ ≡ ∨ ∧ ≡ ∨ ≡ ≡ vereinfacht wird. [ \ ] wird analog definiert. 9 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München ¬ ¬ ≡ ≡ Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). Beispiel: = \ ∨¬ ∨ ∧ ¬ ∨¬ = ∨¬ ∨ ∧ ¬ ≡ ∨¬ ∨ ∧ ≡ ∧¬ ∧ ≡¬ ∧ ∨¬ ∨¬ 10 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München ∧ ∨¬ ∨¬ ∨¬ ∧ ∧ ∨¬ ∧ ∨¬ ∧ Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). Beispiel: = \ = ∨¬ ∨ ∧ ¬ ∨¬ ∨¬ ∨ ∧ ¬ ≡ 11 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München ∧ ∨¬ ∨¬ ∧ ∧ ∨¬ ∧ Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). Fakt. ist erfüllbar gdw. \ \ erfüllbar sind. Begründung. Sei Belegung mit oder =1. Wenn = 1 dann gilt = \ Wenn = 0 dann gilt = \ = 1. = 1. Sei Belegung mit [p\ ] =1. Sei ′ die Belegung mit und = ( )für ≠ . Dann gilt = 1. Sei Belegung mit [p\ ] =1. Sei ′ die Belegung mit und = ( )für ≠ . Dann gilt = 1. 12 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München = 1, = 0, Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). Algorithmus 1: Wenn = dann antworte „erfüllbar“ Wenn = dann antworte „unerfüllbar“ Wenn ≠ ≠ dann wähle eine Variable , die in vorkommt; prüfe, ob [ \ ] oder [ \ ] erfüllbar sind; wenn mindestens eine von den beiden erfüllbar ist, antworte „erfüllbar“, sonst „unerfüllbar“ 13 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München • DPLL (Davis-Putnam-Logemann-Loveland). – Algorithmus 1 kann durch eine geschickte Wahl der Variablen p beschleunigt werden. – Eine One-Literal-Klausel ist eine Klausel, die nur ein Literal enthält, i.e., eine Klausel der Gestalt { } oder der Gestalt {¬ }. 14 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). Algorithmus 2: Wenn = dann antworte „erfüllbar“ Wenn = dann antworte „unerfüllbar“ Wenn ≠ ≠ dann wenn eine One-Literal-Klausel { } enthält dann prüfe, ob [ \ ] erfüllbar ist; antworte „erfüllbar“ gdw. [ \ ] erfüllbar wenn eine One-Literal-Klausel {¬ } enthält dann prüfe, ob [ \ ] erfüllbar ist; antworte „erfüllbar“ gdw. [ \ ] erfüllbar wenn keine One-Literal-Klausel enthält dann wähle eine Variable , die in vorkommt; prüfe, ob [ \ ] oder [ \ ] erfüllbar sind; wenn mindestens eine von den beiden erfüllbar ist, dann antworte „erfüllbar“, sonst „unerfüllbar“ 15 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ 16 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) 17 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ ∧ (¬ ∨ ) ∧ ¬ 18 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ ∧ (¬ ∨ ) ∧ ¬ \ ∧¬ 19 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ ∧ (¬ ∨ ) ∧ ¬ \ ∧¬ \ 20 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ ∧ (¬ ∨ ) ∧ ¬ \ ∧¬ \ 21 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München \ ¬ ∨ Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ \ ∧ (¬ ∨ ) ∧ ¬ ¬ ∨ \ \ ∧¬ \ 22 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ \ ∧ (¬ ∨ ) ∧ ¬ ¬ ∨ \ \ ∧¬ \ 23 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München \ Kapitel II – Grundlagen; Logik ¬ ∨ ∨¬ ∨ ∧ ¬ ∨¬ ∨ ∧ ∧ ¬ ∨¬ ∧ ¬ ∨ \ ¬ ∨ ∨ ∧ ¬ ∨ ∧ (¬ ∨ ¬ ) \ ∨ \ ∧ (¬ ∨ ) ∧ ¬ ¬ ∨ \ \ \ ∧¬ \ 24 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München \ Kapitel II – Grundlagen; Logik • DPLL (Davis-Putnam-Logemann-Loveland). – Korrektheit des DPLL-Verfahrens. 1. Das Verfahren terminiert für jede Eingabeformel. Folgt daraus, dass [ \ ] und [ \ ] mindestens eine Variable weniger als enthalten. Wenn das Verfahren nicht früher terminiert, dann kommen wir bei Formeln mit 0 Variablen an. Die einzigen solchen Formeln sind und 2. Wenn die Formel erfüllbar ist, dann antwortet das Verfahren „erfüllbar“. Folgt aus Fakt. 3. Wenn die Formel unerfüllbar ist, dann antwortet das Verfahren „unerfüllbar“. Folgt aus Fakt. Ausführlicher Beweis später in der Vorlesung. 25 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Mengendarstellung von KNF-Formeln – Eine Klausel wird durch die Menge ihrer Literale dargestellt • Die Menge { , ¬ , } stellt die Klausel ( ∨ ¬ ∨ ) dar. • Die leere Menge von stellt die Formel false dar. – Eine KNF-Formel wird durch die Menge ihrer Klauseln (genauer: die Menge der Darstellungen ihrer Klauseln) • Die Klauselmenge { ¬ , , ¬ , } stellt die Formel ¬ ∧ ( ∨ ¬ ∨ ) dar. Die leere Klauselmenge stellt die Formel true dar. Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • DPLL mit Mengendarstellung Algorithmen 1 und 2 werden aufgrund der folgenden Eigenschaft mit Hilfe der Mengendarstellung implementiert: Sei eine KNF-Formel und sei eine Variable von . Die Mengendarstellung von [ \ ] ensteht, in dem: alle Klauseln von , die das Literal enthalten, gestrichen werden, und in allen Klauseln die das Literal ¬ enthalten, dieses gestrichen wird. Die Mengendarstellung von [ \ ] erhält man analog. 27 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik { ¬ , , ¬ , s , ¬ , ¬ , , r , ¬ ,¬ , ¬ , } \ { ¬ , , , ¬ , , ¬p, ¬s } \ { , , ¬ , \ , ¬ } { ¬ , \ \ \ { , ¬ } { } \ 28 \ {∅} Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München } ∅ ∅ Kapitel II – Grundlagen; Logik • Resolution. Grundidee: füge iterativ neue Klauseln zur Formel hinzu, die logische Konsequenzen der ursprunglichen Klauseln sind. • Beispiel: wenn die Formel Klauseln (¬ ∨ ∨ ) und ¬ ∨ ∨ enthält, dann kann die Klausel (¬ ∨ ∨ ∨ ) hinzugefügt werden. Die Klauseln sind äquivalent zu ∧¬ → → ( ∨ ) ∧¬ →( ∨ ) 29 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Resolution mit Mengendarstellung. • Beispiel: wenn die Formel Klauseln und ¬ enthält, dann kann die Klausel false hinzugefügt werden. Die Klauseln sind äquivalent zu → Die neue Klausel zeigt, dass die Formel nicht erfüllt werden kann. 30 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Resolution mit Mengendarstellung. Definition. Seien , und Klauseln in Mengendarstellung. Dann heißt resolvent von , wenn es ein Literal gibt mit ∈ und ∈ = Hierbei ist ∖ ∪( ∖ ) definert als ¬ falls = = falls = ¬ 31 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München und und Kapitel II – Grundlagen; Logik • Resolution. Wir stellen diesen Sachverhalt durch folgendes Diagramm dar: Die leere Klausel wird mit dem Symbol „□“ bezeichnet 32 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Das Resolutionsverfahren while die leere Klausel nicht enthält { if zwei Klauseln , enthält mit einem Resolventen , der ∉ erfüllt (d.h., ist nicht Klausel von ) then füge als neue Klausel zu hinzu else antworte „erfüllbar“ und halte } antworte „unerfüllbar“ und halte 33 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ , ¬ , , , ¬ {¬ , ¬ , ¬ } 34 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ , ¬ , , , ¬ {¬ , ¬ , ¬ } {¬ , } 35 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ , ¬ , , , ¬ {¬ , ¬ , ¬ } {¬ , } { } 36 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ , ¬ , , , ¬ {¬ , ¬ , ¬ } {¬ , } { } 37 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , ¬ , , , ¬ {¬ , ¬ , ¬ } {¬ , ¬ } {¬ , } { } {¬ } 38 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ , ¬ , , , ¬ {¬ , ¬ , ¬ } {¬ , ¬ } {¬ , } { } 39 {¬ } □ Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik ¬ , ¬ , , ,¬ { , } 40 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , ¬ , , ,¬ { , } {¬ , ¬ } 41 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , ¬ , , ,¬ { , } {¬ , ¬ } { , ¬ } 42 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , {¬ , } ¬ , , ,¬ { , } {¬ , ¬ } { , ¬ } 43 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , , ¬ , {¬ , } ,¬ { , } {¬ , ¬ } { } { , ¬ } 44 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , , ¬ , {¬ , } ,¬ { , } {¬ , ¬ } { } { , ¬ } {¬ , } 45 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , , ¬ , {¬ , } ,¬ { , } {¬ , ¬ } { } { , ¬ } {¬ , } 46 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ , ¬ , ¬ } {¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , , ¬ , {¬ , } {¬ , ¬ , ¬ } ,¬ { , } {¬ , ¬ } { } { , ¬ } {¬ , } 47 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ } {¬ , ¬ } Kapitel II – Grundlagen; Logik ¬ , , ¬ , {¬ , } {¬ , ¬ , ¬ } ,¬ { , } {¬ , ¬ } {¬ , ¬ } {¬ } { } { , ¬ } {¬ , } 48 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München {¬ } Kapitel II – Grundlagen; Logik ¬ , , ¬ , {¬ , } {¬ , ¬ , ¬ } ,¬ { , } {¬ , ¬ } {¬ } { } { , ¬ } {¬ , } 49 {¬ , ¬ } {¬ } □ Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Resolution. Fakt. Sei eine Formel in KNF-Form. Wenn resolvent zweier Klauseln von ist, dann gilt ≡ ∪{ }. Begründung. Seien , die durch resolvierten Klauseln mit = ∨ und = ∨ ¬ . Es gibt ′ mit = ∧ ∨ ∧ ∨¬ ≡ ∧ ∨ ∧ ∨¬ ∧( ∨ ) ≡ ∧ ∨ ∧ ∨¬ ∧ ≡ ∧ 50 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Resolution. Aus dem Lemma folgt: wenn irgendwann die leere Klausel hinzugefügt wird (d.h., wenn das Verfahren „unerfüllbar“ antwortet), dann gilt ≡ ∧ ≡ und somit ist die Formel unerfüllbar. Man muss noch zeigen: 51 • Wenn das Verfahren „erfüllbar“ antwortet, dann ist die Formel erfüllbar. (Kommt später in der Vorlesung) • Das Verfahren terminiert. (Folgt aus der Tatsache, dass es endlich viele Klauseln mit n Variablen gibt.) Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Resolution – Korrektheit der Resolution. 1. Das Verfahren terminiert für jede Eingabeformel. Folgt daraus, dass es nur endlich viele Klauseln aus einer endlichen Menge von Variablen konstruiert werden können. 2. Wenn die Formel erfüllbar ist, dann antwortet das Verfahren „erfüllbar“. Folgt aus dem Fakt. 3. Wenn die Formel unerfüllbar ist, dann antwortet das Verfahren „unerfüllbar“. Schwieriger. Wird später in der Vorlesung 52 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen. – Wir beschreiben eine Menge von Inferenzregeln (ein Kalkül), Mit den Inferenzregeln können Ausdrücke der Gestalt ⊢ mechanisch erzeugt werden, wobei eine Konjunktion von Annahmen und eine Formel ist. 53 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen. – Es wird gelten: ⊢ gdw. ⊨ – Das Kalkül bietet damit eine alternative zum Folgerungstest. – Die Regeln sind ähnlich zu den Formationsregeln: • Basisregeln: “ ⊢ für die Konjunktion Formel ” • Induktive Regeln: “wenn ⊢ , … , ⊢ ” 54 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München und die , dann ⊢ Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Grafische Darstellung der Basisregeln: _______ ⊢ – Grafische Darstellung der induktiven Regeln ⊢ ,…, ⊢ ____________________ ⊢ Intuition: um ⊢ dass ⊢ und zu beweisen, reicht es zu zeigen, ⊢ und … und ⊢ gelten. 55 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Annahmeregel. Für jede , für jede Annahme : _______ ⊢ – Ausgeschlossener Dritte. Für jede , für jede : _______________ ⊢ ∨¬ 56 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München in Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Regel für true. Für jede : ____________ ⊢ – Regel für false. Für jede , für jede Formel F : ⊢ ⊢¬ ________________________ ⊢ 57 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Konjunktionseinführung. Für alle , für alle , : ⊢ ⊢ ________________________ ⊢ ∧ – Konjunktionsbeseitigung. Für alle , für alle , : ⊢ ∧ ⊢ ∧ ___________ ___________ ⊢ ⊢ 58 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Disjunktionseinführung. Für alle , für alle , : ⊢ ⊢ ___________ ⊢ ___________ ∨ ⊢ ∨ – Disjunktionsbeseitigung. Für alle , für alle , , : ⊢ ∨ , ⊢ , ⊢ ___________________________________ ⊢ 59 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Negationseinführung. Für alle , für alle , ⊢ : ______________ ⊢¬ – Negationssbeseitigung. Für alle , für alle ,¬ ⊢ ________________ ⊢ 60 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München : Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Implikationseinführung. Für alle , für alle , : , ⊢ ______________ ⊢ → – Implikationsbeseitigung. Für alle , für alle , : ⊢ → ⊢ __________________________ ⊢ 61 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Ein Kalkül für logische Inferenzen – Theorem: Die Regelmenge hat die folgenden zwei Eigenschaften: • Wenn ⊢ , dann ⊨ . (Korrektheit, soundness) “Aus der Regelmenge werden nur gültige Inferenzen hergeleitet”. • Wenn ⊨ , dann ⊢ . (Vollständigkeit, completeness) “Jede gültige Inferenz kann mit der Regelmenge hergeleitet werden ”. 62 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Beispiel eines formalen Beweises. – Wir betrachten nochmal die Inferenz Wenn es heute bewölkt ist, und wir nur dann schwimmen gehen, wenn es sonnig ist, und wir immer dann rudern, wenn wir nicht schwimmen, und wir immer früh nach Hause kommen wenn wir rudern, dann werden wir heute früh nach Hause kommen. – Wir formalisieren sie in der Aussagenlogik und zeigen ihre Korrekheit mit Hilfe der Inferenzregeln. 63 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Beispiel eines formalen Beweises – Wir führen Variablen für die Aussagen ein sonnig = “es ist sonnig” schwimmen = “wir werden schwimmen” rudern = “wir werden rudern” früh = “wir werden früh nach Hause kommen”. – Annahmenmenge : (a) ¬sonnig (b) schwim → sonnig (c) ¬schwim → rudern (d) rudern → früh 64 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik • Beispiel eines formalen Beweises – Eine Herleitung von Sequenz ⊢ , ⊢ ist eine endliche ⊢ ,…, ⊢ mit: • = und = • Für alle , 1 ≤ ≤ , der Ausdruck ⊢ kann aus einer Teilmenge der Ausdrücke ⊢ ,…, ⊢ durch Anwendung einer Regel gewonnen werden. – Ein formaler Beweis der Aussage “ folgt aus den Annahmen , … , ’’ ist eine Herleitung von ⊢ 1, 2, … , 65 Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel II – Grundlagen; Logik 66 Schritt 1. , schwim ⊢ schwim 2. , schwim ⊢ schwim → sonnig 3. , schwim ⊢ ¬ sonnig 4. , schwim ⊢ sonnig 5. , schwim ⊢ false 6. ⊢ schwim → false 7. ⊢ ¬ schwim 8. ⊢ ¬ schwim → rudern 9. ⊢ rudern 10. ⊢ rudern → früh 11. ⊢ früh Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München Bewiesen durch An. An. (b) An. (a) Imp.Bes. 1,2 false.Ein. 3,4 Imp.Ein. 5 Neg.Ein. 6 An. (c) Imp.Bes. 7,8 An. (d) Imp.Bes. 9,10 Kapitel II – Grundlagen; Logik • Zusammenfassung Aussagenlogik – Syntax und Semantik. • Operatoren und Wahrheitstabellen. – Logische Begriffe. • Tautologie, Widerspruch, Erfüllbarkeit, Äquivalenz, Folgerung – Äquivalenzregeln – Vollständige Operatorenmengen. – Algorithmen für (Nicht-)Erfüllbarkeit • DPLL, Resolution – Folgerungsregeln, 67 • Formale Beweise Vorlesung Diskrete Strukturen WS 13/14 Prof. Dr. J. Esparza – Institut für Informatik, TU München