Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Vorlesung “Logik” Wintersemester 2013/14 Universität Duisburg-Essen Barbara König Übungsleitung: Dr. Sander Bruggink Barbara König Logik 1 Barbara König Aussagenlogik Prädikatenlogik Logik 2 Aussagenlogik Prädikatenlogik Wer sind wir? Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und der Übungen Prüfung & Klausur Literatur & Folien Dozentin: Prof. Barbara König Raum LF 264 E-Mail: barbara [email protected] Sprechstunde: nach Vereinbarung Einführung und Motivation: Logik in der Informatik Inhalt der Vorlesung Web-Seite: www.ti.inf.uni-due.de/de/teaching/ws201314/logik/ Grundbegriffe der Aussagenlogik Barbara König Logik 3 Barbara König Logik 4 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Wer sind wir? Vorlesungstermine Übungsleitung: Dr. Sander Bruggink Raum LF 265 Vorlesungstermin: Mittwoch, 8:30 – 10:00 Uhr, im Raum LB 107 [email protected] Sprechstunde: nach Vereinbarung Barbara König 5 Logik Aussagenlogik Prädikatenlogik Barbara König Logik 6 Aussagenlogik Prädikatenlogik Termine der Übungsgruppen/Tutorien Hinweise zu den Übungen Übungsgruppen (zur Besprechung der Übungsblätter): Gruppe 1 2 3 4 5 6 7 8 9 10 Tag Mittwoch Mittwoch Donnerstag Donnerstag Donnerstag Donnerstag Freitag Freitag Freitag Donnerstag Uhrzeit 16:00–18:00 16:00–18:00 10:00–12:00 12:00–14:00 14:00–16:00 16:00–18:00 8:30–10:00 12:00–14:00 14:00–16:00 10:00-12:00 Barbara König Logik Die Übungen und Tutorien beginnen in der vierten Vorlesungswoche am Mittwoch, den 6. November. Raum LE 105 LC 137 LC 137 LE 120 LF 035 LF 035 LF 035 LE 120 LE 120 BC 003 Bitte versuchen Sie, sich möglichst gleichmäßig auf die Übungen zu verteilen. Besuchen Sie die Übungen! Diesen Stoff kann man nur durch regelmäßiges Üben erlernen. Auswendiglernen hilft nicht besonders viel. Die Übungsblätter werden jeweils am Mittwoch der Vorwoche ins Netz gestellt. Das erste Übungsblatt wird am 30.10. bereitgestellt. 7 Barbara König Logik 8 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Hinweise zu den Übungen Hinweise zu den Übungen Wir verwenden Moodle, um: Abgabe der gelösten Aufgaben bis Mittwoch der folgenden Woche, 16:00 Uhr. die Aufgabenblätter zur Verfügung zu stellen, Einwurf in den Briefkasten neben dem Raum LF 259 oder Abgabe per Moodle. um Diskussionsforen bereitzustellen. die Hausaufgaben elektronisch (nur PDF!) abzugeben und Moodle-2-Plattform an der Universität Duisburg-Essen: http://moodle2.uni-due.de/ (siehe auch Link auf der Webseite) Bitte geben Sie auf Ihrer Lösung deutlich die Vorlesung, Ihren Namen, Ihre Matrikelnummer und Ihre Gruppennummer an. Elektronische Abgaben sind nur als PDF zulässig! Bitte benennen Sie Dateien nach folgendem Schema (um eine eindeutige Namenswahl zu gewährleisten): <vorname>-<nachname>-<blattnr>.pdf Bitte legen Sie dort einen Zugang an (falls noch nicht vorhanden) und tragen Sie sich in den Kurs “Logik 2013/14” (Ingenieurwissenschaften → Informatik und Angewandte Kognitionswissenschaft) ein. Bitte mit Uni-Kennung anmelden! Es sind keine Gruppenabgaben erlaubt, nur Einzelabgaben. Zugangsschlüssel: . . . Barbara König Logik 9 Barbara König Aussagenlogik Prädikatenlogik Logik 10 Aussagenlogik Prädikatenlogik Prüfung Literatur Klausur am Ende des Semesters: Die Vorlesung basiert im Wesentlichen auf folgendem Buch: Dienstag, 11. Februar 2014, 8:30-10:30 Uhr Uwe Schöning: Logik für Informatiker. Spektrum, 2000. Räume: Weitere relevante Bücher: LD Sporthallte (Anfangsbuchstabe Nachname A–S) Wenn Sie 50% der Punkte erzielt haben, so erhalten Sie einen Bonus für die Klausur. Jon Barwise, John Etchemendy: Language, Proof, and Logic. Seven Bridges Press, 2000. Auf Deutsch: Sprache, Beweis und Logik, Band I – Aussagenund Prädikatenlogik. mentis, 2005. Auswirkung: Verbesserung um eine Notenstufe; z.B. von 2,3 auf 2,0 Kreuzer, Kühling: Logik für Informatiker, Pearson, 2006. LB 104 (Anfangsbuchstabe Nachname T–Z) Bonuspunkte aus dem WS 2012/13 (oder früher) gelten nicht mehr! Barbara König Logik 11 Barbara König Logik 12 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Literatur Folien Einführende/unterhaltsame Literatur: Folien werden Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, 1999. Auf Deutsch: Gödel, Escher, Bach: Ein Endloses Geflochtenes Band. dtv, 1991. im Web bereitgestellt, regelmäßig aktualisiert, im Wesentlichen den Folien des letzten Semesters (WS 12/13) entsprechen Raymond M. Smullyan: “To Mock a Mockingbird” and Other Logic Puzzles. Knopf, 1985. Auf Deutsch: Spottdrosseln und Metavögel. W. Krüger Vlg., 1986. Barbara König Logik Ein eigenes Skript gibt es – neben dem Buch von Schöning – nicht. 13 Barbara König Aussagenlogik Prädikatenlogik Logik 14 Aussagenlogik Prädikatenlogik Geschichte der Logik Syllogismen (I) Aristoteles entwickelte den Begriff des Syllogismus: A syllogism is discourse in which, certain things being stated, something other than what is stated follows of necessity from their being so. I mean by the last phrase that they produce the consequence, and by this, that no further term is required from without in order to make the consequence necessary. Beginn in Griechenland: Aristoteles (384–322 v.Chr.) untersucht das Wesen der Argumentation und des logischen Schließens Verschiedene Werke, u.a.: Analytica priora, Analytica posteriora Seither: Weiterentwicklung der Logik, Formalisierung, Verwendung in der Mathematik und Informatik Barbara König Logik Wenn alle Menschen sterblich sind und Sokrates ein Mensch ist, dann ist Sokrates sterblich. 15 Barbara König Logik 16 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Syllogismen (II) Verschiedene Logiken Alle Dackel sind Hunde Alle Hunde sind Tiere Dann sind alle Dackel Tiere Alle P sind M Alle M sind S Alle P sind S Keine Blume ist ein Tier Alle Hunde sind Tiere Dann ist keine Blume ein Hund Kein P ist M Alle S sind M Kein P ist S Es gibt viele verschiedene Logiken: Aussagenlogik (Barbara) Prädikatenlogik (1. Stufe) Prädikatenlogik höherer Stufe Modale und temporale Logiken (Cesare) Intuitionistische Logik ... Alle Delfine leben im Meer Alle Delfine sind Säugetiere Dann leben einige Säugetiere im Meer Barbara König Alle M sind P Alle M sind S Einige S sind P Wir beschäftigen uns in dieser Vorlesung nur mit Aussagenlogik und Prädikatenlogik 1. Stufe. (Darapti) Logik 17 Barbara König Aussagenlogik Prädikatenlogik Logik 18 Aussagenlogik Prädikatenlogik Aussagenlogik (I) Aussagenlogik (II) George Boole (1848) Der Stoff im Bereich “Aussagenlogik” umfasst unter anderem: Verknüpfung von Aussagen, die entweder wahr oder falsch sein können, mit einfachen Operatoren (und; oder; nicht; wenn . . . , dann . . . ) Syntax der Aussagenlogik: Was sind Operatoren? Was ist eine Formel? Welche Formeln sind syntaktisch korrekt? Beispiel: Semantik der Aussagenlogik: Was ist die Bedeutung einer Formel? Welche Formeln sind allgemeingültig, d.h. immer wahr? Welche Formeln sind unerfüllbar, d.h. immer falsch? Aussagen: “Es regnet”, “Die Straße ist nass” Verknüpfungen: Es regnet und die Straße ist nass. Wenn es regnet, dann ist die Straße nass. Wenn die Straße nicht nass ist, dann regnet es nicht. Barbara König Logik Verfahren und Methoden, die überprüfen, ob eine Formel allgemeingültig oder unerfüllbar ist 19 Barbara König Logik 20 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Prädikatenlogik Anwendungen in der Informatik (I) Frege, Peano, Russell (Ende des 19. Jahrhunderts) Modellierung und Spezifikation: Eindeutige Beschreibung von komplexen Systemen Mit der Prädikatenlogik kann man zusätzlich Verifikation: Beweisen, dass ein Programm das gewünschte Verhalten zeigt Beziehungen zwischen “Objekten” beschreiben Schaltkreisentwurf: Schaltkreise lassen sich als logische Formeln darstellen Entwurf und Optimierung von Schaltungen existentielle Aussagen treffen: “es gibt ein x, so dass . . . ” universelle Aussagen treffen: “für jedes x gilt, dass . . . ” Datenbanken: Formulierung von Anfragen an Datenbanken Abfragesprache SQL (Structured query language) Beispiel: Für jede natürliche Zahl x gilt, dass es eine natürliche Zahl y gibt, so dass x kleiner als y ist. Barbara König Logik Künstliche Intelligenz: Schlussfolgerungen automatisieren, insbesondere in Expertensystemen 21 Barbara König Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Anwendungen in der Informatik (II) Formale Syntax und Semantik Auch wenn die Beispiele bisher mit natürlicher Sprache beschrieben wurden, werden wir in der Vorlesung meist auf natürliche Sprache verzichten. Theorembeweiser: Der Computer beweist mathematische Sätze automatischer Beweis von wichtigen Sätzen im Bereich der Booleschen Algebren Beispiele: Logische Programmiersprachen: Prolog Natürliche Sprache Es regnet und die Straße ist nass. Wenn es regnet, dann ist die Straße nass. Für jede natürliche Zahl x gilt, dass es eine natürliche Zahl y gibt, so dass x kleiner als y ist. Außerdem: Logik ist ein Paradebeispiel für Syntax und formale Semantik Ein Zitat von Edsger W. Dijkstra: Informatik = VLSAL (Very large scale application of logics) (In Anspielung auf VLSI = Very large scale integration, ein Begriff aus dem Chipdesign) Barbara König 22 Logik Logik Formalisierung R ∧N R→N ∀x∃y (x < y ) Frage: Warum nicht natürliche Sprache? 23 Barbara König Logik 24 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Probleme mit natürlicher Sprache (I) Probleme mit natürlicher Sprache (II) Problem: Natürliche Sprache ist oft schwer verständlich. Beispiel: Auszug aus der “Analytica Priora” von Aristoteles Die Aussage: If the middle term is related universally to one of the extremes, a particular negative syllogism must result whenever the middle term is related universally to the major whether positively or negatively, and particularly to the minor and in a manner opposite to that of the universal statement. Der Beweis: For if M belongs to no N, but to some O, it is necessary that N does not belong to some O. For since the negative statement is convertible, N will belong to no M: but M was admitted to belong to some O: therefore N will not belong to some O: for the result is reached by means of the first figure. Again if M belongs to all N, but not to some O, it is necessary that N does not belong to some O: for if N belongs to all O, and M is predicated also of all N, M must belong to all O: but we assumed that M does not belong to some O. And if M belongs to all N but not to all O, we shall conclude that N does not belong to all O: the proof is the same as the above. But if M is predicated of all O, but not of all N, there will be no syllogism. Problem: Zuordnung von Wahrheitswerten zu natürlichsprachigen Aussagen ist problematisch. Beispiele: Jede gerade Zahl größer als 4 ist die Summe zweier Primzahlen. (Goldbach’sche Vermutung, unbewiesen) Dieser Satz hat zwei Vehler. Barbara König Logik 25 Aussagenlogik Prädikatenlogik Barbara König Logik 26 Aussagenlogik Prädikatenlogik Probleme mit natürlicher Sprache (III) Ich sah den Mann . . . Problem: Natürliche Sprache ist mehrdeutig. Beispiel: Ich sah den Mann auf dem Berg mit dem Fernrohr. (((Ich sah den Mann) auf dem Berg) mit dem Fernrohr) Barbara König Logik 27 Barbara König Logik 28 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Ich sah den Mann . . . Ich sah den Mann . . . ((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr) Barbara König Logik ((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)) 29 Aussagenlogik Prädikatenlogik Barbara König Logik 30 Aussagenlogik Prädikatenlogik Ich sah den Mann . . . Ich sah den Mann . . . (Ich sah ((den Mann auf dem Berg) mit dem Fernrohr)) Barbara König Logik (Ich sah (den Mann (auf dem Berg mit dem Fernrohr))) 31 Barbara König Logik 32 Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Ich sah den Mann . . . Inhalt der Vorlesung (((Ich sah den Mann) auf dem Berg) mit dem Fernrohr) Aussagenlogik: Grundbegriffe, Normalformen und Äquivalenz Resolution ((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr) ((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)) 5 mögliche Interpretationen! Prädikatenlogik: Grundbegriffe, Normalformen und Äquivalenz Herbrand-Theorie Resolution Grundlagen der Logikprogrammierung (Ich sah ((den Mann auf dem Berg) mit dem Fernrohr)) (Ich sah (den Mann (auf dem Berg mit dem Fernrohr))) Barbara König Logik 33 Aussagenlogik Prädikatenlogik Barbara König Aussagenlogik Prädikatenlogik Logik-Tools Logik 34 Grundbegriffe, Äquivalenz und Normalformen Resolution Mengen, Relationen und Funktionen Aussagenlogik: SAT-Solver: Überprüfen der Erfüllbarkeit von aussagenlogischen Formeln limboole (http://fmv.jku.at/limboole/) Menge: Menge X von Elementen, wird beschrieben als Aufzählung X = {A1 , A2 , A3 , A7 } Prädikatenlogik: oder als Menge von Elementen mit einer bestimmten Eigenschaft Anschauliche Lehrsoftware für die Prädikatenlogik Tarski’s World (http://www-csli.stanford.edu/hp/Tarski1.html) Theorembeweiser für die Prädikatenlogik 1. Stufe (basierend auf Resolution) otter (http://www.cs.unm.edu/~mccune/otter/) Barbara König Logik X = {Ai | 1 ≤ i ≤ 3 oder i = 7}. 35 Barbara König Logik 36 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengen, Relationen und Funktionen 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 Aussagenlogik Prädikatenlogik Logik 37 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengen, Relationen und Funktionen 38 Grundbegriffe, Äquivalenz und Normalformen Resolution 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)} Logik Logik Mengen, Relationen und Funktionen Kreuzprodukt (kartesisches Produkt) Barbara König Barbara König 39 Barbara König Logik 40 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengen, Relationen und Funktionen 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 ) ∈ R. 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 Aussagenlogik Prädikatenlogik Logik 41 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Syntax der Aussagenlogik 42 Logik 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 Logik 43 Barbara König A3 A1 Logik 44 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Teilformel Grundbegriffe, Äquivalenz und Normalformen Resolution Semantik der Aussagenlogik (I) Die Teilformeln einer Formel F entsprechen dann den Teilbäumen. ¬ ¬ ∧ ∧ ∨ A4 ¬ A3 ∨ A1 A1 ¬ A4 ¬A4 ¬ ∧ ∨ A3 A3 A1 ¬ A4 ¬ ∧ ∧ ¬ ∨ A3 A1 A4 Die Elemente der Menge {0, 1} heißen Wahrheitswerte. A1 Eine Belegung ist eine Funktion A : D → {0, 1}, wobei D eine Teilmenge der atomaren Formeln ist. A4 ¬ ∨ A3 (¬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 ¬((¬A4 ∨ A1 ) ∧ A3 ) A1 A4 Barbara König Aussagenlogik Prädikatenlogik ¬ A3 A1 A4 Logik 45 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Semantik der Aussagenlogik (II) 46 Logik 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 Logik 47 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 48 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Abkürzungen Verknüpfungstafeln (II) A, B, C oder P, Q, R oder . . . (F1 → F2 ) (F1 ↔ F2 ) n _ ( Fi ) ( i=1 n ^ Fi ) i=1 Grundbegriffe, Äquivalenz und Normalformen Resolution statt A1 , A2 , A3 . . . statt statt (¬F1 ∨ F2 ) ((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 )) statt (. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn ) statt (. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn ) Barbara König Aussagenlogik Prädikatenlogik Tafeln für die Operatoren →, ↔: Logik A 0 0 1 1 49 Grundbegriffe, Äquivalenz und Normalformen Resolution B 0 1 0 1 A 0 0 1 1 → 1 1 0 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 Aussagenlogik Prädikatenlogik Präzedenzen A 0 0 1 1 Logik 50 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 Logik 51 Barbara König Logik 52 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Formalisierung natürlicher Sprache (II) 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. 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 Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Resolution 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 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Gültigkeit und Erfüllbarkeit 54 Logik 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. Logik 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 55 Barbara König Logik 56 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Aufgabe Spiegelungsprinzip Gelten die folgenden Aussagen? gültige Formeln J/N Wenn Wenn Wenn Wenn Grundbegriffe, Äquivalenz und Normalformen Resolution F F F F gültig, erfüllbar, gültig, unerfüllbar, dann dann dann dann Barbara König Aussagenlogik Prädikatenlogik erfüllbare, aber nicht gültige Formeln Gegenb. F erfüllbar ¬F unerfüllbar ¬F unerfüllbar ¬F gültig Logik F ¬G 57 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Ein Gültigkeitstest ¬F unerfüllbare Formeln G Logik 58 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 Logik Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. 59 Barbara König Logik 60 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Folgerung: Beispiel 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 Aussagenlogik Prädikatenlogik Logik 61 Aussagenlogik Prädikatenlogik 3 Logik Logik 62 Grundbegriffe, Äquivalenz und Normalformen Resolution (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 Gilt M |= F ? Äquivalenz Zeigen Sie, dass folgende Aussagen äquivalent sind: 2 F (A ∨ B) (A ∧ B) (A ∨ B) (A ∧ B) A A B Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Folgerung, Gültigkeit und Unerfüllbarkeit 1 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 Logik 64 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Aufgabe 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 ) Folgerung Seien F und G Formeln. Gilt F |= G ? (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C )) Äquivalenz Seien F und G Formeln. Gilt F ≡ G ? Barbara König Aussagenlogik Prädikatenlogik Logik 65 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Reduktion von Problemen (I) Logik 66 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 gdw. F ∧ ¬G unerfüllbar F → G gültig Logik 67 Barbara König Logik 68 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Reduktion von Problemen (III) 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. Gültigkeit =⇒ Äquivalenz: F gültig gdw. F ≡T (T ist beliebige gültige Formel) 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.) Ä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. 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 Aussagenlogik Prädikatenlogik 69 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Gültigkeits- und Erfüllbarkeitstests mit limboole Logik 70 Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Diagnose Eingabeformat für limboole Aussagenlogik ↔ → ∨ ∧ ¬ 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 Um zu zeigen, dass limboole <-> -> | & ! Logik 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) 71 Barbara König Logik 72 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: 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. X1 Diese Überprüfung soll mit Hilfe von limboole durchgeführt werden und nutzt die Tatsache, dass Y1 ∨ X2 F ≡ G gdw. F ↔ G gültig ist. Aussagenlogik Prädikatenlogik Nor ∧ ∧ ∨ Y2 Barbara König ∧ 73 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Nor Barbara König Aussagenlogik Prädikatenlogik Anwendung: Vergleich von Schaltkreisen Logik 74 Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Vergleich von Schaltkreisen Schaltkreis 2: X1 ¬ X2 Formel S1 für Schaltkreis 1 (in limboole-Syntax) ∧ Y1 ¬ ∧ ¬ ∧ (((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) ∧ Y2 Barbara König Logik 75 Barbara König Logik 76 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Anwendung: Vergleich von Schaltkreisen 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) 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. symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen, auf welchen Eingaben sich die beiden Schaltkreise unterscheiden? 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 77 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Ersetzbarkeitstheorem 78 Logik 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 Logik 79 (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 80 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Äquivalenzen (II) 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 Die Tautologie- und Unerfüllbarkeitsregeln können auch folgendermaßen geschrieben werden: (Distributivität) (Doppelnegation) Barbara König Aussagenlogik Prädikatenlogik (de Morgansche Regeln) (Tautologieregeln) ≡ ≡ 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) Logik (1 ∨ G ) (1 ∧ G ) 81 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Normalformen (I) Logik 82 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 Logik 83 Barbara König Logik 84 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Umformungsmethode (in KNF) Umformungsmethode (in KNF) Gegeben: eine Formel F . 1 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 durch G durch ¬(G ∨ H) durch (¬G ∨ ¬H) ¬(G ∧ H) 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. (¬G ∧ ¬H) bis keine derartige Teilformel mehr vorkommt. 2 Ersetze jedes Vorkommen einer Teilformel der Bauart (F ∨ (G ∧ H)) ((F ∧ G ) ∨ H) durch durch F ((F ∨ G ) ∧ (F ∨ H)) Aussagenlogik Prädikatenlogik 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 ∧ ... 85 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengendarstellung in KNF Logik 86 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 Logik 87 Barbara König Logik 88 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 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 Aussagenlogik Prädikatenlogik Logik 89 Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Erfüllbarkeits-/Gültigkeitstests für DNF/KNF 90 Grundbegriffe, Äquivalenz und Normalformen Resolution Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer Formel in KNF) zu bestimmen ist auch als SAT-Problem (Satisfiability-Problem) bekannt. 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. Logik Logik Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Aufwand der Tests: Barbara König Barbara König Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr effizient sind (z.B. limboole und das im folgenden besprochene Resolutionsverfahren). 91 Barbara König Logik 92 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 (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 Aussagenlogik Prädikatenlogik Logik 93 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Vollständigkeit von Operatormengen Logik 94 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 Logik Die Operatormenge {Nor} ist vollständig, wobei der Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B). 95 Barbara König Logik 96 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Vollständigkeit von Operatormengen Grundbegriffe, Äquivalenz und Normalformen Resolution Endlichkeitssatz Die Operatormenge {∧, ∨} ist nicht vollständig. Begründung: Hausaufgabe Definition (Erfüllbarkeit einer Menge) – Wiederholung Die Operatormenge {→} ist nicht vollständig. Begründung: Die Formel ¬A kann nicht dargestellt werden. Falls eine Formel nur aus Operatoren der Form → besteht und der Wahrheitswert 1 eingesetzt wird, so erhält man wieder 1. Das ist aber bei ¬A nicht der Fall. 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. 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. Die Operatormenge {¬, ↔} ist nicht vollständig (ohne Begründung). Barbara König Aussagenlogik Prädikatenlogik Logik 97 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Endlichkeitssatz Logik 98 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 Logik 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. 3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist. 99 Barbara König Logik 100 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Endlichkeitssatz Grundbegriffe, Äquivalenz und Normalformen Resolution Resolution (Motivation) Bemerkungen zum Endlichkeitssatz: Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es ein Modell A gibt, nicht wie man es erhält. Wir benötigen Algorithmen für Erfüllbarkeitstests, die zumindest in vielen Fällen gutartiges Verhalten zeigen. Aussagen der Form “es gibt unendlich viele i ∈ I mit . . . ” können nicht in eine (mechanische) Konstruktion umgewandelt werden. Dennoch ist im schlimmsten Fall (worst case) immer eine exponentielle Laufzeit zu erwarten. Wir betrachten nun Resolution als Erfüllbarkeitstest und untersuchen dann einige Fallstudien mit schlechtem bzw. gutem Laufzeitverhalten. 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 Aussagenlogik Prädikatenlogik Logik 101 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Resolution (Idee) Logik 102 Grundbegriffe, Äquivalenz und Normalformen Resolution Resolution (Idee) Wir betrachten im folgenden nur Formeln in KNF. Es gilt: Es gilt (für Formeln F , G und eine atomare Formel A): F |= G (F ∨ A) ∧ (G ∨ ¬A) |= (F ∨ G ) (F ∨ A) ∧ (G ∨ ¬A) ≡ (F ∨ A) ∧ (G ∨ ¬A) ∧ (F ∨ G ) Das kann so interpretiert werden, dass man zu den bisher existierenden Klauseln (F ∨ A), (G ∨ ¬A) die Klausel (F ∨ G ) hinzufügt, ohne die Aussage der Formel zu verändern. Zwei Fragen: Kann man aus einer unerfüllbaren Formel immer die leere Klausel herleiten? (Vollständigkeit) Gibt es eine Möglichkeit, die Herleitung kompakter aufzuschreiben? Logik F ≡F ∧G Daraus folgt: Aus der Herleitung der leeren Disjunktion bzw. leeren Klausel (= unerfüllbare Formel 0) folgt Unerfüllbarkeit. (Korrektheit) (Siehe auch der Zusammenhang zwischen Folgerung und Unerfüllbarkeit: F unerfüllbar gdw. F |= 0.) Barbara König ⇐⇒ Dies macht man so lange, bis man die leere Klausel erhält, oder sich sicher sein kann, dass die leere Klausel nicht auftaucht. 103 Barbara König Logik 104 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Mengendarstellung der KNF Vorteile der Mengendarstellung Klausel: Menge von Literalen (Disjunktion). Man erhält automatisch: {A, B} stellt (A ∨ B) dar. Kommutativität: (A ∨ B) ≡ (B ∨ A), beide dargestellt durch {A, B} Formel: Menge von Klauseln (Konjunktion). {{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar. Assoziativität: ((A ∨ B) ∨ C ) ≡ (A ∨ (B ∨ C )), beide dargestellt durch {A, B, C } Die leere Klausel (= leere Disjunktion) ist äquivalent zu einer unerfüllbaren Formel. Diese wird auch mit bezeichnet. Idempotenz: (A ∨ A) ≡ A, beide dargestellt durch {A} Die leere Formel (= leere Konjunktion) ist äquivalent zu einer gültigen Formel. Barbara König Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Logik 105 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Resolvent (I) 106 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Resolvent (II) Definition (Resolvent) Wir stellen diesen Sachverhalt durch folgendes Diagramm dar (Sprechweise: R wird aus K1 , K2 nach L resolviert). Seien K1 , K2 und R Klauseln. Dann heißt R Resolvent von K1 und K2 , falls es ein Literal L gibt mit L ∈ K1 und L ∈ K2 und R die Form hat: K1 K2 R = (K1 − {L}) ∪ (K2 − {L}). Hierbei ist L definiert als ¬Ai L= Ai Barbara König R Ferner: falls K1 = {L} und K2 = {L}, so entsteht die leere Menge als Resolvent. Diese wird mit dem speziellen Symbol bezeichnet, das eine unerfüllbare Formel darstellt. falls L = Ai , falls L = ¬Ai Logik 107 Barbara König Logik 108 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Resolutions-Lemma Definition von Res(F ) Definition Sei F eine Klauselmenge. Dann ist Res(F ) definiert als Resolutions-Lemma Sei F eine Formel in KNF, dargestellt als Klauselmenge. Ferner sei R ein Resolvent zweier Klauseln K1 und K2 in F . Dann sind F und F ∪ {R} äquivalent. Res(F ) = F ∪ {R | R ist Resolvent zweier Klauseln in F }. Außerdem setzen wir: Res 0 (F ) = F Beweis: Folgt direkt aus Res n+1 (F ) = Res(Res n (F )) (F1 ∨ A) ∧ (F2 ∨ ¬A) ≡ (F1 ∨ A) ∧ (F2 ∨ ¬A) ∧ (F1 ∨ F2 ) | {z } | {z } | {z } | {z } | {z } K1 Grundbegriffe, Äquivalenz und Normalformen Resolution K2 K1 Barbara König Aussagenlogik Prädikatenlogik K2 und schließlich sei R Res ∗ (F ) = [ Res n (F ). n≥0 109 Logik für n ≥ 0 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Anzahl der Resolventen Logik 110 Grundbegriffe, Äquivalenz und Normalformen Resolution Anzahl der Resolventen Angenommen, die Formel F enthält n atomare Formeln. Dann gilt welche Abschätzung für Res ∗ (F )? A ∗ |Res (F )| ≤ 2n B ∗ |Res (F )| ≤ Was passiert, wenn alle Klauseln maximal zweielementig sind? Durch die Resolution von zweielementigen Klauseln können nur wieder maximal zweielementige Klauseln entstehen. (Das ist bei drei- und mehrelementigen Klauseln anders.) 2n(2n−1) Da es bei n verschiedenen atomaren Formeln nur 2n 2 = 2 viele zweielementige und 2n viele einelementige Klauseln gibt, werden nach spätestens dieser polynomialen Anzahl von Schritten keine neuen Klauseln mehr abgeleitet. 4n C |Res ∗ (F )| kann beliebig groß werden Dabei bezeichnet |Res ∗ (F )| die Anzahl der Elemente in Res ∗ (F ). Es gilt |Res ∗ (F )| ≤ 4n 4n ist eine obere Schranke für die Menge aller Klauseln (jede atomare Formel kann auf vier verschieden Arten in einer Klausel vorkommen: gar nicht, nur positiv, nur negativ, positiv und negativ). Barbara König Logik 111 Barbara König Logik 112 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Resolutionssatz Grundbegriffe, Äquivalenz und Normalformen Resolution Induktionsprinzip Wir zeigen nun die Korrektheit und Vollständigkeit der Resolution: Um die Aussage Resolutionssatz (der Aussagenlogik) Für jedes n ∈ {0, 1, 2, 3, . . .} gilt P(n). Eine Klauselmenge F ist unerfüllbar genau dann, wenn ∈ Res ∗ (F ). zu zeigen, gehen wir im allgemeinen folgendermaßen vor: Wir zeigen, dass P(0) gilt. (Induktionsanfang) Diese Aussage beinhaltet zwei Teile: Wir zeigen, dass für jedes n gilt: Wenn P(n) gilt, dann gilt auch P(n + 1). (Induktionsschritt) Wenn ∈ Res ∗ (F ), dann ist F unerfüllbar. (Korrektheit, folgt unmittelbar aus dem Resolutionslemma) Dann kann man schließen, dass P(n) für jedes beliebige n gilt. Wenn F unerfüllbar ist, dann ∈ Res ∗ (F ). (Vollständigkeit, muss noch – per Induktion – bewiesen werden) Barbara König Aussagenlogik Prädikatenlogik Logik 113 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Beweisidee (I) Logik 114 Grundbegriffe, Äquivalenz und Normalformen Resolution Beweisidee (I) Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren Formeln. Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren Formeln. Hier: Induktionsschritt mit n + 1 = 4 Hier: Induktionsschritt mit n + 1 = 4 F = {{A1}, {¬A2, A4}, {¬A1, A2, A4}, {A3, ¬A4}, {¬A1, ¬A3, ¬A4}} F = {{A1}, {¬A2, A4}, {¬A1, A2, A4}, {A3, ¬A4}, {¬A1, ¬A3, ¬A4}} F0 = {{A1}, {¬A2}, {¬A1, A2}} Barbara König Logik 115 Barbara König A4 wird mit 0 belegt Logik 115 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Beweisidee (I) Grundbegriffe, Äquivalenz und Normalformen Resolution Beweisidee (II) F0 Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren Formeln. {¬A2} F1 {¬A1, A2} {A1} {A3} {¬A1, ¬A3} Hier: Induktionsschritt mit n + 1 = 4 {¬A1} F = {{A1}, {¬A2, A4}, {¬A1, A2, A4}, {A3, ¬A4}, {¬A1, ¬A3, ¬A4}} F0 = {{A1}, {¬A2}, {¬A1, A2}} A4 wird mit 0 belegt F1 = {{A1}, {A3}, {¬A1, ¬A3}} A4 wird mit 1 belegt Barbara König Aussagenlogik Prädikatenlogik 115 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Beweisidee (II) 116 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Beweisidee (II) F0 {¬A2, A4} {¬A1} F1 {¬A1, A2, A4} {A1} {¬A1, A4} F0 {A3, ¬A4} {¬A1, ¬A3, ¬A4} {¬A1, ¬A4} {A4} Barbara König {¬A1, A2, A4} {A1} {¬A1, A4} {¬A4} Logik {¬A2, A4} F1 {¬A1, ¬A4} {A4} 116 {A3, ¬A4} {¬A1, ¬A3, ¬A4} Barbara König {¬A4} Logik 116 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Deduktion Grundbegriffe, Äquivalenz und Normalformen Resolution Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften herleiten kann. Definition (Deduktion) Eine Deduktion (oder Herleitung oder Beweis) der leeren Klausel aus einer Klauselmenge F ist eine Folge von K1 , K2 , . . . , Km von Klauseln mit folgenden Eigenschaften: Syntaktische Umformungsregeln: Resolution, Stopp bei Erreichen der leeren Klausel Km ist die leere Klausel und für jedes i = 1, . . . , m gilt, dass Ki entweder Element von F ist oder aus gewissen Klauseln Ka ,Kb mit a, b < i resolviert werden kann. Semantische Eigenschaft: Unerfüllbarkeit Wünschenswerte Eigenschaften eines Kalküls: Eine Klauselmenge ist unerfüllbar genau dann, wenn eine Deduktion der leeren Klausel existiert. Korrektheit: Wenn die leere Klausel aus F abgeleitet werden kann, dann ist F unerfüllbar. Es ist also nicht notwendig, ganz Res ∗ (F ) zu berechnen, sondern es können geeignete Such-Heuristiken verwendet werden. Vollständigkeit: Wenn F unerfüllbar ist, dann ist die leere Klausel aus F ableitbar. Barbara König Aussagenlogik Prädikatenlogik Logik 117 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Beispiel mit otter Logik 118 Grundbegriffe, Äquivalenz und Normalformen Resolution Beispiel mit otter Wir verwenden otter – einen Theorembeweiser basierend auf Resolution. Wir wollen zeigen, dass otter – http://www.cs.unm.edu/~mccune/otter/ Mit Hilfe von otter kann man Resolutionsbeweise durchführen. ((AK ∨BK )∧(AK → BK )∧(BK ∧RL → ¬AK )∧RL) → (¬AK ∧BK ) gültig ist. Das ist genau dann der Fall, wenn otter ist eigentlich für die Prädikatenlogik gedacht, für die Aussagenlogik ist im allgemeinen ein aussagenlogischer SAT-Solver (wie limboole) angebracht. (AK ∨BK )∧(¬AK ∨BK )∧(¬BK ∨¬RL∨¬AK )∧RL∧(AK ∨¬BK ) otter ist inzwischen zu prover9 weiterentwickelt worden, wir verwenden in der Vorlesung jedoch trotzdem otter, weil man in der Ausgabe sehr schön die Resolutionsbeweise nachvollziehen kann. unerfüllbar ist. (Wegen: F → G gültig gdw. F ∧ ¬G unerfüllbar.) Barbara König Logik 119 Barbara König Logik 120 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Beispiel mit otter Grundbegriffe, Äquivalenz und Normalformen Resolution Beispiel mit otter Eingabesyntax (Beispielformel) Textuelle Ausgabe von otter ---------------- PROOF ---------------1 [] ak|bk. 2 [] -ak|bk. 3 [] -bk| -rl| -ak. 4 [] rl. 5 [] ak| -bk. 6 [binary,2.1,1.1] bk. 7 [binary,5.2,6.1] ak. 8 [binary,3.1,6.1] -rl| -ak. 11 [binary,8.1,4.1] -ak. 12 [binary,11.1,7.1] $F. ------------ end of proof ------------- set(prolog_style_variables). set(binary_res). clear(unit_deletion). clear(factor). list(sos). ak | bk. % (ak | bk) in limboole-Syntax -ak | bk. % (!ak | bk) -bk | -rl | -ak. % (!bk | !rl | !ak) rl. % rl ak | -bk. % (ak | !bk) end_of_list. Die Optionen zu Beginn stellen sicher, dass die in der Vorlesung eingeführte Art der Resolution verwendet wird. Barbara König Aussagenlogik Prädikatenlogik Logik 121 Grundbegriffe, Äquivalenz und Normalformen Resolution Barbara König Aussagenlogik Prädikatenlogik Beispiel mit otter Logik 122 Grundbegriffe, Äquivalenz und Normalformen Resolution Beispiel: Pigeonhole-Prinzip Ausgabe von otter – visuell mit GraphViz aufbereitet Wir betrachten nun eine Formel, bei der viele Erfüllbarkeitstester (SAT-Solver) ein schlechtes Verhalten zeigen. Pigeonhole-Prinzip/Dirichletsches Schubfachprinzip Wenn N + 1 Tauben in N Schlägen sitzen, dann gibt es in mindestens einem Schlag zwei (oder mehr) Tauben. Wir verwenden zur Formalisierung folgende atomare Formeln: Ti,j mit i ∈ {1, . . . , N + 1}, j ∈ {1, . . . , N}. A(Ti,j ) = 1 bedeutet dabei, dass die i-te Taube im j-ten Schlag sitzt. Barbara König Logik 123 Barbara König Logik 124 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Beispiel: Pigeonhole-Prinzip Grundbegriffe, Äquivalenz und Normalformen Resolution Beispiel: Pigeonhole-Prinzip Wir formalisieren zunächst: “N + 1 Tauben sitzen in N Schlägen”. Jede Taube sitzt in mindestens einem Schlag: ^ _ F1 = Ti,j Der gesamte aussagenlogische Ausdruck lautet: Keine Taube sitzt in zwei Schlägen: ^ ^ F2 = Dabei ist F1 ∧ F2 ∧ ¬G schon “beinahe” in konjunktiver Normalform. F 1 ∧ F2 → G . i∈{1,...,N+1} j∈{1,...,N} i∈{1,...,N+1} j1 ,j2 ∈{1,...,N}, j1 6=j2 Er ist gültig genau dann, wenn F1 ∧ F2 ∧ ¬G unerfüllbar ist. (¬Ti,j1 ∨ ¬Ti,j2 ) Mit Hilfe eines Programms kann man Formeln für jedes N erzeugen und mit Hilfe von limboole überprüfen. Für diese Art von Formeln zeigt limboole ein relativ schlechtes Laufzeitverhalten, bereits ab N = 12 dauert der Test sehr lange. In einem Schlag sitzen (mindestens) zwei Tauben: _ _ G= (Ti1 ,j ∧ Ti2 ,j ) i1 ,i2 ∈{1,...,N+1}, i1 6=i2 Barbara König Aussagenlogik Prädikatenlogik j∈{1,...,N} Logik 125 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Anwendung: Sudoku 126 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Sudoku Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests 5 Sudoku-Regeln Ein Sudoku-Feld ist ein Schachbrett mit 9 Zeilen und 9 Spalten. Es ist außerdem unterteilt in 9 Regionen, bestehend aus 3 × 3 Feldern. Sudoku-Regeln Zu Beginn sind einige dieser Felder mit Zahlen aus der Menge {1, . . . , 9} gefüllt. 3 7 6 1 9 9 8 6 8 6 4 8 7 3 3 6 6 2 1 8 Logik 127 Barbara König Logik 1 2 4 Barbara König 5 8 9 5 7 9 127 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Anwendung: Sudoku Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Sudoku Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests Sudoku-Regeln Die Aufgabe besteht nun darin, das Feld vollständig auszufüllen, so dass in jeder Zeile, in jeder Spalte und in jeder Region jede Zahl zwischen 1 und 9 genau einmal vorkommt. Barbara König Aussagenlogik Prädikatenlogik 5 3 4 6 7 8 9 1 2 6 7 2 1 9 5 3 4 8 1 9 8 3 4 2 5 6 7 8 5 9 7 6 1 4 2 3 4 2 6 8 5 3 7 9 1 7 1 3 9 2 4 8 5 6 9 6 1 5 3 7 2 8 4 2 8 7 4 1 9 6 3 5 3 4 5 2 8 6 1 7 9 Logik Wir verwenden folgende atomare Formeln, um ein Sudoku zu beschreiben: Si,j,k mit i, j, k ∈ {1, . . . , 9}. A(Si,j,k ) = 1 bedeutet dabei, dass sich auf Feld (i, j) die Zahl k befindet. Mit Hilfe dieser 9 · 9 · 9 = 729 atomaren Formeln lassen sich nun die Sudoku-Spielregeln mit Hilfe der Aussagenlogik formalisieren. 127 Barbara König Grundbegriffe, Äquivalenz und Normalformen Resolution Aussagenlogik Prädikatenlogik Anwendung: Sudoku 128 Logik Grundbegriffe, Äquivalenz und Normalformen Resolution Anwendung: Sudoku Für die Erzeugung dieser Formel als limboole-Formel bietet es sich an, ein Programm zu schreiben, das die (sehr große) Formel in eine Datei schreibt. Die Datei besteht aus ca. 220.000 Zeichen. Auf jedem Feld befindet sich eine Zahl: ^ _ Si,j,k i,j∈{1,...,9} k∈{1,...,9} Anschließend muss nur noch die Situation in einem bestimmten Sudoku-Rätsel dargestellt werden, wie z.B. für das obige Beispiel: Auf keinem Feld befinden sich zwei Zahlen: ^ ^ (¬Si,j,k1 ∨ ¬Si,j,k2 ) S115 S329 S548 S772 S987 i,j∈{1,...,9} k1 ,k2 ∈{1,...,9}, k1 6=k2 In keiner Zeile, Spalte, Region kommt eine Zahl doppelt vor: für Zeile 1 lautet die Formel wie folgt ^ ^ (¬S1,j1 ,k ∨ ¬S1,j2 ,k ) (Für die restlichen Zeilen und für die Spalten und Regionen ergeben sich analoge Formeln). Logik S123 S338 S563 S788 S999 & & & & S157 S386 S591 S844 & & & & S216 S418 S617 S851 & & & & S241 S456 S652 S869 & & & & S259 S493 S696 S895 & & & & S265 S514 S726 S958 & & & & Die entstehende Formel ist erfüllbar und limboole gibt (trotz der Größe der Formel) ohne erkennbare Zeitverzögerung die Lösung aus. j1 ,j2 ∈{1,...,9}, j1 6=j2 k∈{1,...,9} Barbara König & & & & & 129 Barbara König Logik 130 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Motivation: Prädikatenlogik Syntax der Prädikatenlogik: Variablen, Terme Wir beschäftigen uns nun im folgenden mit der Prädikatenlogik, die gegenüber der Aussagenlogik folgendes erlaubt: Definition (Syntax der Prädikatenlogik) Eine Variable hat die Form xi mit i = 1, 2, 3 . . .. Man kann über ein beliebiges Universum (= Grundmenge) und dessen Elemente Aussagen machen. Ein Prädikatensymbol hat die Form Pik und ein Funktionssymbol hat die Form fi k mit i = 1, 2, 3 . . . und k = 0, 1, 2 . . .. Hierbei heißt i jeweils der Unterscheidungsindex und k die Stelligkeit (oder Stellenzahl). Man kann quantifizieren: “für alle x gilt . . . ”; “es gibt ein x, so dass . . . ” Es gibt mehrstellige Prädikatsymbole (interpretiert als Relationen) und mehrstellige Funktionssymbole (interpretiert als Funktionen). Wir definieren nun die Terme durch einen induktiven Prozess: 1 Jede Variable ist ein Term. 2 Falls f ein Funktionssymbol mit der Stelligkeit k ist, und falls t1 , . . . , tk Terme sind, so ist auch f (t1 , . . . , tk ) ein Term. Der Aufbau dieses Kapitels ist ähnlich wie bei der Aussagenlogik: wir beginnen mit Grundbegriffen (Syntax, Semantik, Gültigkeit, Erfüllbarkeit), Äquivalenz und Normalformen, und beschäftigen uns dann mit der Resolution. Barbara König Aussagenlogik Prädikatenlogik Logik 131 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Syntax der Prädikatenlogik: Variablen, Terme 132 Weitere Bemerkungen: Es sind auch Funktionssymbole der Stelligkeit 0 eingeschlossen, und in diesem Fall fallen die Klammern weg, d.h., statt c() schreiben wir nur c. Nullstellige Funktionssymbole heißen auch Konstanten(-symbole). Für Variablen schreiben wir auch x, y , z, u, v , w , . . . Für Prädikatsymbole schreiben wir auch P, Q, R, S, . . . (die Stelligkeit ergibt sich dann aus dem Kontext). Für Funktionssymbole schreiben wir auch f , g , h, . . . (die Stelligkeit ergibt sich dann ebenfalls aus dem Kontext). Genauso gibt es nullstellige Prädikatsymbole der Form P() bzw. einfach nur P. Logik Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Variablen, Terme Bemerkungen zur Syntax der Prädikatenlogik: Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Für Konstanten(-symbole) schreiben wir auch a, b, c, d, . . . 133 Barbara König Logik 134 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Syntax der Prädikatenlogik: Formeln Syntax der Prädikatenlogik: Formeln Nun können wir (wiederum induktiv) definieren, was Formeln (der Prädikatenlogik) sind. 1 Falls P ein Prädikatsymbol der Stelligkeit k ist, und falls t1 , . . . , tk Terme sind, dann ist P(t1 , . . . , tk ) eine Formel. 2 Für jede Formel F ist auch ¬F eine Formel. 3 4 Bemerkungen: Atomare Formeln nennen wir genau diejenigen, die die Form P(t1 , . . . , tn ) haben (gemäß (1)). Falls F eine Formel ist und F als Teil einer Formel G auftritt, so heißt F Teilformel von G . Quantoren binden stärker als alle anderen Operatoren, d.h., Formeln werden folgendermaßen geklammert: Für alle Formeln F und G sind auch (F ∧ G ) und (F ∨ G ) Formeln. ∀xP(x) ∧ Q(y ) entspricht (∀xP(x)) ∧ Q(y ) Falls x eine Variable ist und F eine Formel, so sind auch ∃xF und ∀xF Formeln. Das Symbol ∃ wird Existenzquantor und ∀ Allquantor genannt. Barbara König Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick P(x) ∨ ∃yQ(y ) ∨ R(z) entspricht P(x) ∨ (∃yQ(y )) ∨ R(z) 135 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Freie und gebundene Variablen Logik 136 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Freie und gebundene Variablen Beispiele für freie und gebundene Variable: ∀xP(x): in dieser Formel kommt x gebunden vor. ∀xQ(x, y ): in dieser Formel kommt x gebunden und y frei vor. (∀xP(x)) ∧ R(x): in dieser Formel hat x sowohl ein gebundenes als auch ein freies Vorkommen. ∀x((∀xP(x)) ∧ R(x)): in dieser Formel ist das erste Vorkommen von x unter dem inneren und das zweite Vorkommen unter dem äußeren Quantor gebunden. Definition (Freie und gebundene Variable) Alle Vorkommen von Variablen in einer Formel werden in freie und gebundene Vorkommen unterteilt. Dabei heißt ein Vorkommen der Variablen x in der Formel F gebunden, falls F eine Formel der Form ∃xG oder ∀xG enthält und x in G vorkommt. Andernfalls heißt dieses Vorkommen von x frei. Eine Formel ohne Vorkommen einer freien Variablen heißt geschlossen oder eine Aussage. Barbara König Logik Definition (Matrix) Die Matrix einer Formel F ist diejenige Formel, die man aus F erhält, indem jedes Vorkommen von ∃ bzw. ∀, samt der dahinterstehenden Variablen gestrichen wird. Symbolisch bezeichnen wir die Matrix der Formel F mit F ∗ . 137 Barbara König Logik 138 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zur Prädikatenlogik NF: Keine Formel Aufgabe zur Prädikatenlogik F: Formel, aber nicht Aussage A: Aussage NF: Keine Formel NF F Aussagenlogik Prädikatenlogik F: Formel, aber nicht Aussage A: Aussage A NF ∀∃P(x) ∀xP(a) ∀x∃y (Q(x, y ) ∨ R(x, y )) ∀xQ(x, x) → ∃xQ(x, y ) ∀xP(x) ∨ ∀xQ(x, x) ∀P(x) P(x) → ∃x Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Logik F A ∀x¬∀yQ(x, y ) ∧ R(x, y ) ∃z(Q(z, x) ∨ R(y , z)) → ∃y (R(x, y ) ∧ Q(x, z)) ∃x(¬P(x) ∨ P(a)) P(x) → ∃xP(x) ∃x∀y ((P(y ) → Q(x, y )) ∨ ¬P(x)) 139 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen Logik 140 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Bemerkungen zu Strukturen: Definition (Struktur) Eine Struktur ist das analoge Konzept zu Belegungen in der Aussagenlogik. Die den Funktionssymbolen zugeordneten Funktionen können folgendermaßen dargestellt werden: sei f ein n-stelliges Funktionssymbol, dann schreiben wir f A = IA (f ) mit Eine Struktur ist ein Paar A = (UA , IA ) wobei UA eine beliebige aber nicht-leere Menge ist, die die Grundmenge von A (oder der Grundbereich, der Individuenbereich, das Universum) genannt wird. Ferner ist IA eine Abbildung, die n → UA f A : UA jedem k-stelligen Prädikatensymbol P (im Definitionsbereich von IA ) eine k-stellige Relation über UA zuordnet, (a1 , . . . , an ) 7→ f A (a1 , . . . , an ), jedem k-stelligen Funktionssymbol f (im Definitionsbereich von IA ) eine k-stellige Funktion auf UA zuordnet, beispielsweise die einstellige Nachfolgerfunktion auf den natürlichen Zahlen (UA = N0 = {0, 1, 2, 3, 4, . . . }): jeder Variablen x (im Definitionsbereich von IA ) ein Element der Grundmenge UA zuordnet. Barbara König Logik f A : N0 → N0 n 7→ n + 1 141 Barbara König Logik 142 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen Semantik der Prädikatenlogik: Strukturen Definition (Passende Struktur) Die den Prädikatsymbolen zugeordneten Relationen können folgendermaßen dargestellt werden: sei P ein n-stelliges Prädikatsymbol, dann schreiben wir P A = IA (P) mit Sei F eine Formel und A = (UA , IA ) eine Struktur. A heißt zu F passend, falls IA für alle in F vorkommenden Prädikatsymbole, Funktionssymbole und freien Variablen definiert ist. n P A ⊆ UA = UA × · · · × UA {z } | n-mal P A = {(a1 , . . . , an ) | a1 , . . . , an ∈ UA und . . . } beispielsweise die zweistellige ≤-Relation auf den natürlichen Zahlen: P A ⊆ N0 × N0 P A = {(n, m) | n, m ∈ N0 und n ≤ m} Barbara König Aussagenlogik Prädikatenlogik Logik 143 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick 144 Definition (Wahrheitswert einer Formel) Falls F die Form F = P(t1 , . . . , tk ) hat mit den Termen t1 , . . . , tk und k-stelligem Prädikatsymbol P, so ist 1, falls (A(t1 ), . . . , A(tk )) ∈ P A A(F ) = 0, sonst Falls t eine Variable ist (also t = x), so ist A(t) = x A . Falls t die Form t = f (t1 , . . . , tk ) hat, wobei t1 , . . . , tk Terme und f ein k-stelliges Funktionssymbol ist, so ist A(t) = f A (A(t1 ), . . . , A(tk )). Falls F die Form F = ¬G hat, so ist 1, falls A(G ) = 0 A(F ) = 0, sonst Fall (2) schließt auch die Möglichkeit ein, dass f nullstellig ist, d.h., t = a für eine Konstante a. In diesem Fall gilt A(t) = aA . Logik Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert der Formeln F unter der Struktur A, wobei wir ebenfalls die Bezeichnung A(F ) verwenden. Es gilt A(F ) ∈ {0, 1}. Sei F eine Formel und A eine zu F passende Struktur. Für jeden Term t, den man aus den Bestandteilen von F bilden kann (also aus den freien Variablen und Funktionssymbolen), definieren wir nun den Wert von t in der Struktur A, den wir mit A(t) bezeichnen. Es gilt A(t) ∈ UA . Die Definition ist wieder induktiv. Barbara König Barbara König Semantik der Prädikatenlogik: Strukturen Definition (Wert eines Terms) 2 Der Definitionsbereich von IA ist also eine Teilmenge von {Pik , fi k , xi | i = 1, 2, 3, . . . und k = 0, 1, 2, . . .} (in der alle Prädikatsymbole, Funktionssymbole und freien Variablen von F enthalten sind) und der Wertebereich (bzw. Bildbereich) von IA ist eine Teilmenge aller Relationen und Funktionen auf UA , sowie der Elemente von UA . Wir schreiben abkürzend statt IA (P) einfach P A , statt IA (f ) einfach f A und statt IA (x) einfach x A . Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen 1 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick 145 Barbara König Logik 146 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen Semantik der Prädikatenlogik: Strukturen Falls F die Form F = ∀xG hat, so ist 1, falls für alle d ∈ UA gilt: A[x/d] (G ) = 1 A(F ) = 0, sonst Falls F die Form F = (G ∧ H) hat, so ist 1, falls A(G ) = 1 und A(H) = 1 A(F ) = 0, sonst Falls F die Form F = ∃xG hat, so ist 1, falls es ein d ∈ UA gibt mit: A[x/d] (G ) = 1 A(F ) = 0, sonst Falls F die Form F = (G ∨ H) hat, so ist 1, falls A(G ) = 1 oder A(H) = 1 A(F ) = 0, sonst Barbara König Aussagenlogik Prädikatenlogik Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Für d ∈ UA steht A[x/d] für diejenige Struktur A0 , die überall mit 0 A identisch ist, bis auf die Definition von x A . Wir definieren 0 x A = d, unabhängig davon, ob IA auf x definiert ist oder nicht. 147 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Modell, Gültigkeit, Erfüllbarkeit Logik 148 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit Definition (Modell) Falls für eine Formel F und eine zu F passende Struktur A gilt A(F ) = 1, so schreiben wir wieder A |= F . Sprechweise: F gilt in A oder A ist Modell für F . Folgende Formeln sind erfüllbar, aber nicht gültig. Finden Sie jeweils eine Struktur, die ein Modell für die Formel ist, und eine Struktur, die kein Modell für die Formel ist. Gültigkeit, Erfüllbarkeit, Unerfüllbarkeit Falls jede zu F passende Struktur ein Modell für F ist, so schreiben wir |= F , andernfalls 6|= F . Sprechweise: F ist (allgemein-)gültig. 1 2 F = ∀xP(x) G = ∀x∃yQ(x, f (y )) Falls es mindestens ein Modell für die Formel F gibt, so heißt F erfüllbar, andernfalls unerfüllbar. Barbara König Logik 149 Barbara König Logik 150 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Erfüllbarkeit und Gültigkeit Aufgabe zu Erfüllbarkeit und Gültigkeit Modell A für G = ∀x∃yQ(x, f (y )) Modell A für F = ∀xP(x): Universum UA = N0 Q A = {(n, m) | n, m ∈ N0 , n < m} Universum UA = N0 P A = N0 (das ist die einzige mögliche Interpretation von P, die zu einem Modell führt) f A : N0 → N0 mit f A (n) = n + 1 Struktur, die kein Modell für G = ∀x∃yQ(x, f (y )) ist: Universum UB = N0 Struktur, die kein Modell für F = ∀xP(x) ist: Q B = {(n, m) | n, m ∈ N0 , n < m} Universum UB = N0 PB Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick f B : N0 → N0 mit f B (n) = 1 = {n | n ∈ N0 , n gerade} Bemerkung: diese Strukturen sind natürlich keineswegs die einzigen Beispiele für Modelle bzw. Nicht-Modelle von F , G . Barbara König Aussagenlogik Prädikatenlogik 151 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Erfüllbarkeit und Gültigkeit G: Gültig E: Erfüllbar E Logik 152 Bei Prädikatenlogik mit Gleichheit sind Formeln genauso aufgebaut, wie bei herkömmlicher Prädikatenlogik, mit dem Unterschied, dass es ein spezielles Prädikat = gibt, das in Infix-Notation verwendet wird. Das heißt, zur Definition der Syntax wird folgender Satz hinzugefügt: U ∀xP(a) ∃x(¬P(x) ∨ P(a)) P(a) → ∃xP(x) ∀xP(x) → ∃xP(x) ∀xP(x) ∧ ¬∀yP(y ) ∀xP(x) → ∀xP(f (x)) Barbara König Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Prädikatenlogik mit Gleichheit U: Unerfüllbar G Barbara König Falls t1 , t2 Terme sind, dann ist (t1 = t2 ) eine Formel. Außerdem steht (t1 6= t2 ) für ¬(t1 = t2 ). Und die Definition des Wahrheitswert einer Formel wird folgendermaßen ergänzt: Falls F die Form F = (t1 = t2 ) hat mit den Termen t1 , t2 , so ist 1, falls A(t1 ) = A(t2 ) A(F ) = 0, sonst 153 Barbara König Logik 154 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Erfüllbarkeit und Gültigkeit G: Gültig E: Erfüllbar Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World Tarski’s World Tarski’s World ist eine Lehrsoftware für Prädikatenlogik, entworfen von Jon Barwise und John Etchemendy. U: Unerfüllbar G E Dabei werden die Formeln auf einem Schachbrett evaluiert, auf dem sich Tetraeder, Würfel und Dodekaeder in drei Größen (small, medium, large) befinden können. U ∃x∃y ∃z(x 6= y ∧ y 6= z ∧ x 6= z) ∀x∀y (x = y → f (x) = f (y )) ∀x∀y (f (x) = f (y ) → x = y ) ∃x∃y ∃z(f (x) = y ∧ f (x) = z ∧ y 6= z) Gegenüber der allgemeinen Prädikatenlogik gibt es sowohl Einschränkungen an die Syntax von Formeln als auch an die zulässigen Strukturen. Ob eine Formel für eine bestimmte Welt gilt (oder nicht), kann in einem Spiel gegen den Rechner intuitiv veranschaulicht werden. Barbara König Aussagenlogik Prädikatenlogik Logik 155 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Tarski’s World – Screenshot Logik 156 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World Einschränkungen an die Syntax – zulässige Konstanten und Prädikatsymbole: Zulässige Konstanten: a, b, c, d, e, f Zulässige Prädikatsymbole (Auswahl): Einstellig: Tet, Cube, Dodec, Small, Medium, Large Zweistellig: Smaller , Larger , BackOf , FrontOf , LeftOf , RightOf Dreistellig: Between Neben den Konstanten kommen in den Formeln bei Tarski’s World keine weiteren Funktionssymbole vor. Variablen, aussagenlogische Operatoren und Quantoren können beliebig benutzt werden. Außerdem ist das Prädikat Gleichheit (=) erlaubt. Barbara König Logik 157 Barbara König Logik 158 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Tarski’s World Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World Einschränkungen an die Semantik – zulässige Strukturen: Universen bestehen immer aus Mengen von Körpern auf dem Schachbrett. Die Interpretation der Prädikatsymbole ist durch die Größe und Art der Körper und durch ihre Positionierung auf dem Schachbrett festgelegt. Daraus folgt: Nicht jede Formel, die in jeder Tarski’s World gilt, ist eine im prädikatenlogischen Sinne gültige Formel. Beispiel: ∀x(Small(x) ∨ Medium(x) ∨ Large(x)) Beispielsweise gilt: Tet(a) bedeutet, dass a ein Tetraeder ist. Smaller (a, b) bedeutet, dass a kleiner als b ist. LeftOf (c, d) sagt aus, dass sich c links von d befindet. Between(a, b, c) sagt aus, dass sich a zwischen b und c befindet. Barbara König Aussagenlogik Prädikatenlogik Logik 159 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Folgerung und Äquivalenz 160 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Folgerung und Äquivalenz Definition (Folgerung) Eine Formel G heißt eine Folgerung der Formeln F1 , . . . , Fk falls für jede Struktur, die sowohl zu F1 , . . . , Fk als auch zu G passend ist, gilt: 1 2 Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch Modell von G . 3 Logik F3 = ∀xP(x) ∨ ∀yQ(y ) N F1 |= F2 F2 |= F3 F3 |= F1 Definition (Äquivalenz) Barbara König F2 = ∀x(P(x) ∨ Q(x)) J Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. Zwei Formeln F , G heißen (semantisch) äquivalent, falls für alle Strukturen A, die sowohl für F als auch für G passend sind, gilt A(F ) = A(G ). Hierfür schreiben wir F ≡ G . F1 = ∀xP(x) ∨ ∀xQ(x) 161 Barbara König Logik 162 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Folgerung und Äquivalenz 1 2 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Folgerung und Äquivalenz J F1 = ∃y ∀xP(x, y ) ∀x∀yF ≡ ∀y ∀xF ∀x∃yF ≡ ∃x∀yF ∀x∃yF ≡ ∃y ∀xF ∃x∃yF ≡ ∃y ∃xF ∀xF ∨ ∀xG ≡ ∀x(F ∀xF ∧ ∀xG ≡ ∀x(F ∃xF ∨ ∃xG ≡ ∃x(F ∃xF ∧ ∃xG ≡ ∃x(F F2 = ∀x∃yP(x, y ) J N F1 |= F2 F2 |= F1 Barbara König Aussagenlogik Prädikatenlogik Logik 163 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Äquivalenzen N ∨ G) ∧ G) ∨ G) ∧ G) Logik 164 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Äquivalenzen Satz (Äquivalenz von prädikatenlogischen Formeln) Seien F und G beliebige Formeln. Dann gilt: 1 2 3 4 ¬∀xF ≡ ∃x¬F ¬∃xF ≡ ∀x¬F Bemerkung: alle Äquivalenzgesetze der Aussagenlogik behalten weiterhin ihre Gültigkeit. Falls x in G nicht frei vorkommt, gilt: ∀xF ∧ G ≡ ∀x(F ∧ G ) ∀xF ∨ G ≡ ∀x(F ∨ G ) ∃xF ∧ G ≡ ∃x(F ∧ G ) ∃xF ∨ G ≡ ∃x(F ∨ G ) Beispiel: ∀x¬(P(x) ∧ ¬P(x)) ≡ ∀x(¬P(x) ∨ P(x)) (nach deMorgan) ∀xF ∧ ∀xG ≡ ∀x(F ∧ G ) ∃xF ∨ ∃xG ≡ ∃x(F ∨ G ) ∀x∀yF ≡ ∀y ∀xF ∃x∃yF ≡ ∃y ∃xF Barbara König Logik 165 Barbara König Logik 166 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Substitution Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Substitution Unterscheidung zwischen F [x/t] und A[x/d] : Definition (Substitution) Sei F eine Formel, x eine Variable und t ein Term. Dann bezeichnet F [x/t] diejenige Formel, die man aus F erhält, wenn man jedes freie Vorkommen der Variablen x in F durch t ersetzt. Durch [x/t] wird eine Substitution beschrieben. Bei F [x/t] wird eine syntaktische Ersetzung innerhalb der Formel F vorgenommen. Bei A[x/d] wird eine Struktur verändert, d.h., diese Ersetzung bezieht sich auf die Semantik. Der Zusammenhang zwischen beiden Notationen ist wie folgt: Dabei geht man davon aus, dass durch die Substitution keine Variable in t gebunden wird. Überführungslemma Für jede Formel F , jede Variable x und jeden Term t, der keine in F gebundene Variable enthält, gilt: Beispiele für Substitutionen: P(x) ∨ Q(f (x)) ∨ R(y ) [x/g (y )] = P(g (y )) ∨ Q(f (g (y ))) ∨ R(y ) ∀xP(x) ∨ Q(x) [x/g (y )] = ∀xP(x) ∨ Q(g (y )) Barbara König Aussagenlogik Prädikatenlogik Logik A(F [x/t]) = A[x/A(t)] (F ). 167 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Bereinigte Formeln Logik 168 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Pränexform Definition (Bereinigte Formel) Definition (Pränexform) Eine Formel heißt bereinigt, sofern es keine Variable gibt, die in der Formel sowohl gebunden als auch frei vorkommt, und sofern hinter allen vorkommenden Quantoren verschiedene Variablen stehen. Eine Formel heißt pränex oder in Pränexform, falls sie folgende Bauart hat Q1 y1 Q2 y2 . . . Qn yn F , Lemma (Gebundene Umbenennung) wobei Qi ∈ {∃, ∀}, n ≥ 0, und die yi (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. Sei y eine Variable, die in F nicht vorkommt. Dann gilt: ∃xF ≡ ∃y (F [x/y ]) ∀xF ≡ ∀y (F [x/y ]) Satz Für jede Formel gibt es eine äquivalente (und bereinigte) Formel in Pränexform. Lemma Zu jeder Formel F gibt es eine äquivalente Formel in bereinigter Form. Barbara König Logik 169 Barbara König Logik 170 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Pränexform Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Pränexform Verfahren zur Bestimmung der Pränexform: Gegeben: eine prädikatenlogische Formel F . 1 2 3 Erstelle durch gebundene Umbenennung eine bereinigte Formel, die zu F äquivalent ist. Schieben alle Negationen mit Hilfe der Gesetze ¬∀xF ≡ ∃x¬F und ¬∃xF ≡ ∀x¬F hinter die Quantoren. Ziehe alle Quantoren nach vorne unter Verwendung folgender Gesetze (Annahme: x kommt nicht frei in G vor): (∀xF ∧ G ) ≡ ∀x(F ∧ G ) Beispiel: Formen Sie die folgende Formel in Pränexform um. F = (∀x∃y P(x, g (y , f (x))) ∨ ¬Q(z)) ∨ ¬∀x R(x, y ) (∀xF ∨ G ) ≡ ∀x(F ∨ G ) (∃xF ∧ G ) ≡ ∃x(F ∧ G ) (∃xF ∨ G ) ≡ ∃x(F ∨ G ) (Für diese Umformung ist es unbedingt notwendig, dass F zuvor bereinigt wurde.) Barbara König Aussagenlogik Prädikatenlogik Logik 171 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Skolemform Logik 172 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Für jede Formel F in bereinigter Pränexform (BPF) definieren wir ihre Skolemform(-el) als das Resultat der Anwendung des folgenden Algorithmus auf F : Wir definieren nun noch die Skolemform, in der keine Existenzquantoren mehr enthalten sind. while F enthält einen Existenzquantor do begin F habe die Form F = ∀y1 ∀y2 . . . ∀yn ∃z G für eine Formel G in BPF und n ≥ 0 (der Allquantorblock kann auch leer sein); Sei f ein neues bisher in F nicht vorkommendes n-stelliges Funktionssymbol; F := ∀y1 ∀y2 . . . ∀yn G [z/f (y1 , y2 , . . . , yn )]; (der Existenzquantor in F wird entfernt und jedes Vorkommen von z in G durch f (y1 , y2 , . . . , yn ) ersetzt) end Definition (Skolemform) Eine Formel ist in Skolemform, falls sie folgende Bauart hat ∀y1 ∀y2 . . . ∀yn F , wobei n ≥ 0, und die yi (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. Barbara König Logik 173 Barbara König Logik 174 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Skolemform Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Satz Für jede Formel F in bereinigter Pränexform gilt: F ist erfüllbar genau dann, wenn die Skolemform von F erfüllbar ist. Beispiel 1: Formen Sie folgende Formel in Skolemform um. F = ∃x∀y ∃z∀u∃vP(x, y , z, u, v ) Bemerkung: die Umformung in die Skolemform erhält nur die Erfüllbarkeit von Formeln, nicht jedoch deren Gültigkeit! Man sagt daher, dass die Formel F und ihre Skolemform erfüllbarkeitsäquivalent sind. Sie sind im allgemeinen jedoch nicht äquivalent. Barbara König Aussagenlogik Prädikatenlogik Logik 175 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Skolemform Logik 176 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Definition (Klauselform) Eine Aussage heißt in Klauselform, falls sie die Bauart hat Beispiel 2: Gegeben sei die Formel ∀y1 ∀y2 . . . ∀yn F , F = ∀x∃y P(x, y ) wobei F keine Quantoren enthält und in KNF (konjunktiver Normalform) ist. Bestimmen Sie zunächst die Skolemform F 0 von F . Eine Aussage in Klauselform kann als Menge von Klauseln dargestellt werden. Geben Sie ein Modell von F an und erweitern Sie es zu einem Modell von F 0 . Beispiel: ∀x∀y ((P(x, y ) ∨ Q(x)) ∧ R(y )) ist in Klauselform und wird dargestellt als: {{P(x, y ), Q(x)}, {R(y )}} Barbara König Logik 177 Barbara König Logik 178 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Klauselform Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Verfahren zur Bestimmung der Klauselform: Gegeben: eine prädikatenlogische Formel F (mit eventuellen Vorkommen von freien Variablen). 1 Bereinige F durch systematisches Umbenennen der gebundenen Variablen. Es entsteht eine zu F äquivalente Formel F1 . 2 Seien y1 , y2 , . . . , yn die in F bzw. F1 vorkommenden freien Variablen. Ersetze F1 durch F2 = ∃y1 ∃y2 . . . ∃yn F1 . Dann ist F2 erfüllbarkeitsäquivalent zu F1 und F und enthält keine freien Variablen mehr. 3 Stelle eine zu F2 äquivalente (und damit zu F erfüllbarkeitsäquivalente) Aussage F3 in Pränexform her. Barbara König Aussagenlogik Prädikatenlogik 4 Eliminiere die vorkommenden Existenzquantoren durch Übergang zur Skolemform von F3 . Diese sei F4 und ist dann erfüllbarkeitsäquivalent zu F3 und damit auch zu F . 5 Forme die Matrix von F4 um in KNF, wodurch man die Klauselform erhält (und schreibe diese Formel F5 dann als Klauselmenge auf). 179 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Klauselform Logik 180 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Welche dieser Formel sind bereinigt, in Pränexform, in Skolemform, in Klauselform? Beispiel: Formen Sie die folgenden Formeln in Klauselform um: B P S K F1 = ∀xP(x) → ∀xP(f (x)) ∀x(Tet(x) ∨ Cube(x) ∨ Dodec(x)) ∃x∃y (Cube(y ) ∨ BackOf(x, y )) ∀x(¬FrontOf(x, x) ∧ ¬BackOf(x, x)) ¬∃xCube(x) ↔ ∀x¬Cube(x) ∀x(Cube(x) → Small(x)) → ∀y (¬Cube(y ) → ¬Small(y )) (Cube(a) ∧ ∀xSmall(x)) → Small(a) ∃x(Larger(a, x) ∧ Larger(x, b)) → Larger(a, b) Barbara König Logik F2 = (∀x∃y P(x, g (y , f (x))) ∨ ∀z¬Q(z)) ∧ ¬∀x R(x, x) 181 Barbara König Logik 182 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Herbrand-Universum Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Herbrand-Universum Definition (Herbrand-Universum) Motivation: Um die Erfüllbarkeit/Unerfüllbarkeit einer prädikatenlogischen Formel zu testen, müsste man ungeheuer viele Strukturen durchprobieren. Das Herbrand-Universum D(F ) einer geschlossenen Formel F in Skolemform ist die Menge aller variablenfreie Terme, die aus den Bestandteilen von F gebildet werden können. Falls in F keine Konstante vorkommt, wählen wir zunächst eine beliebige Konstante, zum Beispiel a, und bilden dann die variablenfreien Terme. Wir zeigen im folgenden, dass es reicht nur ganz bestimmte Strukturen, sogenannte Herbrand-Strukturen—benannt nach dem Logiker Jacques Herbrand—zu testen. Diese können immer noch ein unendlich großes Universum haben und unendlich viele sein, sind aber dennoch wesentlich überschaubarer. D(F ) wird wie folgt induktiv definiert: Darauf aufbauend kann dann ein automatisches Verfahren entwickelt werden, das mit Hilfe von Resolution die Unerfüllbarkeit einer prädikatenlogischen Formel überprüft. Barbara König Aussagenlogik Prädikatenlogik Logik 1 Alle in F vorkommenden Konstanten sind in D(F ). Falls F keine Konstante enthält, so ist a in D(F ). 2 Für jedes in F vorkommende n-stellige Funktionssymbol f und Terme t1 , . . . , tn in D(F ) ist der Term f (t1 , . . . , tn ) in D(F ). 183 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Herbrand-Universum Logik 184 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Herbrand-Strukturen Definition (Herbrand-Struktur) Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A = (UA , IA ) eine Herbrand-Struktur für F , falls folgendes gilt: Beispiel: Bestimmen Sie die Herbrand-Universen zu folgenden Formeln F1 = ∀x P(f (x), g (a)) 1 F2 = ∀x∀y Q(h(x, y )) 2 F3 = ∀x P(x) UA = D(F ), für jedes in F vorkommende n-stellige Funktionssymbol f und t1 , t2 , . . . , tn ∈ D(F ) ist f A (t1 , t2 , . . . , tn ) = f (t1 , t2 , . . . , tn ). Idee: Jeder variablenfreie Term t wird “durch sich selbst” interpretiert, d.h., A(t) = t. (Vermischung von Syntax und Semantik.) Barbara König Logik 185 Barbara König Logik 186 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Herbrand-Strukturen Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Der fundamentale Satz der Prädikatenlogik Für eine Herbrand-Struktur A vereinfacht sich das Überführungslemma: Satz Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar, wenn F ein Herbrand-Modell besitzt. Lemma (Überführungslemma für Herbrand-Strukturen) Sei A eine Herbrand-Struktur. Dann gilt für jede Formel F , jede Variable x und jeden variablenfreien Term t: A(F [x/t]) = A[x/t] (F ). Barbara König Aussagenlogik Prädikatenlogik Logik 187 Aussagenlogik Prädikatenlogik Der fundamentale Satz der Prädikatenlogik 188 Definition (Herbrand-Expansion) Sei F = ∀y1 ∀y2 . . . ∀yn F ∗ eine Aussage in Skolemform. Dann ist E (F ), die Herbrand-Expansion von F , definiert als F = ∀x P(x, f (x)) Aufgaben: E (F ) = {F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ] | t1 , t2 , . . . , tn ∈ D(F )} Bestimmen Sie ein beliebiges Modell A von F . Die Formeln in E (F ) entstehen also, indem die Terme in D(F ) in jeder möglichen Weise für die Variablen in F ∗ substituiert werden. Anschließend definieren Sie ein Herbrand-Modell B von F , dessen Relation P B analog zu P A definiert ist. (So wie im Beweis zum vorherigen Satz beschrieben.) Logik Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Herbrand-Expansion Beispiel zum vorherigen Satz: Gegeben sei die Formel Barbara König Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Bemerkung: Da das Herbrand-Universum D(F ) abzählbar ist, ist auch die Menge E (F ) abzählbar. 189 Barbara König Logik 190 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Herbrand-Expansion Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Herbrand-Expansion Wiederholung: Abzählbarkeit Definition (Abzählbarkeit) Eine Menge M heißt abzählbar, wenn es eine surjektive Abbildung f : N0 → M gibt. Das heißt es gibt eine (nicht notwendigerweise konstruktive) Aufzählung f (0), f (1), f (2), . . . aller Elemente von M, in der jedes Element von M mindestens einmal vorkommt. Beispiel: Bestimme die Herbrand-Expansion der Formel ∀x∀y ∀z P(x, f (y ), g (z, x)). Bemerkungen: Beispiele für abzählbare Mengen sind N0 , Q (die Menge der rationalen Zahlen bzw. Brüche) und die Menge aller Terme, die aus einer endlichen Menge von Funktionssymbolen gebildet werden. (Daher: ein Herbrand-Universum D(F ) ist immer abzählbar.) Die Menge R der reellen Zahlen ist nicht abzählbar. Barbara König Aussagenlogik Prädikatenlogik 191 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Herbrand-Expansion Logik 192 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Satz von Gödel-Herbrand-Skolem Idee: Behandle die Formeln in der Herbrand-Expansion wie aussagenlogische Formeln. D.h., betrachte jedes auftauchende Prädikat P(t1 , . . . , tn ) wie eine atomare Formel A. Satz (Gödel-Herbrand-Skolem) Beispiel: Für jede Aussage F in Skolemform gilt: F ist erfüllbar genau dann, wenn die Formelmenge E (F ) (im aussagenlogischen Sinn) erfüllbar ist. E (F ) = {F1 , F2 , . . . }. Sei beispielsweise F1 = (P(f (a), f (b)) ∨ Q(g (a, b)) ∨ P(a, b)) ∧ P(f (a), f (b)) . {z } | {z } | {z } | {z } | A Barbara König B C Beweis: Es genügt zu zeigen, dass F ein Herbrand-Modell besitzt genau dann, wenn E (F ) erfüllbar ist. Die Formel F habe die Form ∀y1 ∀y2 . . . ∀yn F ∗ . Es gilt: A Dies entspricht (A ∨ B ∨ C ) ∧ A. Eine Formel in der Herbrand-Expansion ist erfüllbar, genau dann, wenn sie im aussagenlogischen Sinne erfüllbar ist. Barbara König Logik 193 Barbara König Logik 194 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Satz von Gödel-Herbrand-Skolem Satz von Herbrand A ist ein Herbrand-Modell für F gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt: Satz (Herbrand) A[y1 /t1 ][y2 /t2 ]...[yn /tn ] (F ∗ ) = 1 Eine Aussage F in Skolemform ist unerfüllbar genau dann, wenn es eine endliche Teilmenge von E (F ) gibt, die (im aussagenlogischen Sinn) unerfüllbar ist. gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt: A(F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ]) = 1 Beweis: Ummittelbare Folge des Satzes von Gödel-Herbrand-Skolem und des Endlichkeitssatzes. gdw. für alle G ∈ E (F ) gilt A(G ) = 1 gdw. A ist ein Modell für E (F ) Barbara König Aussagenlogik Prädikatenlogik Logik 195 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Algorithmus von Gilmore Endlichkeitssatz Logik 196 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Algorithmus von Gilmore Bemerkungen zum Algorithmus von Gilmore: Sei F eine prädikatenlogische Aussage in Skolemform und sei {F1 , F2 , F3 , . . . } eine Aufzählung von E (F ). Man wählt eine beliebige unendliche Aufzählung F1 , F2 , F3 , . . . aller Formeln in E (F ). Dabei muss nur darauf geachtet werden, dass jede Formel irgendwann in dieser Aufzählung vorkommt. Das ist möglich, da E (F ) abzählbar ist. Algorithmus von Gilmore Eingabe: F n := 0; repeat n := n + 1; until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar; Gib “unerfüllbar” aus und stoppe. Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Logik Es dürfen Formeln mehrfach vorkommen. Das ist insbesondere immer dann so, wenn E (F ) endlich ist. Wenn alle Formeln in einer endlichen Menge E (F ) abgearbeitet sind, dann kann der Algorithmus auch stoppen und “erfüllbar” ausgeben. 197 Barbara König Logik 198 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Algorithmus von Gilmore Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Algorithmus von Gilmore Aus dem Satz von Herbrand folgt: Falls die Formel F unerfüllbar ist, so stoppt der Algorithmus von Gilmore nach endlicher Zeit und gibt unerfüllbar aus. Beispiel: Zeigen Sie mit Hilfe des Algorithmus von Gilmore, dass folgende Formeln Falls der Algorithmus von Gilmore unerfüllbar ausgibt, so ist F tatsächlich unerfüllbar. F = ∀x∀y (¬P(f (f (x))) ∧ P(f (y ))) Wenn F jedoch erfüllbar ist, so gibt es keine Garantie dafür, dass der Algorithmus jemals terminiert. G = ∀x (P(f (x)) ∧ ¬P(x)) unerfüllbar sind. Es kann auch gezeigt werden, dass es tatsächlich keinen Algorithmus gibt, der das Unerfüllbarkeitsproblem der Prädikatenlogik löst und immer mit der korrekten Antwort (unerfüllbar bzw. erfüllbar) terminiert. Barbara König Aussagenlogik Prädikatenlogik Logik 199 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Algorithmus von Gilmore Logik 200 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semi-Entscheidbarkeitssätze Semi-Entscheidbarkeit (informell) Sei M ⊆ X eine Menge (auch Sprache oder Problem genannt). Die Menge M heißt semi-entscheidbar, wenn es einen Algorithmus A gibt, der Satz (Semi-Entscheidbarkeit) Folgende Probleme sind semi-entscheidbar, jedoch nicht entscheidbar: ein Element x ∈ X als Eingabe nimmt und genau dann, wenn x ∈ M gilt, terminiert und “x ist in M enthalten” zurückgibt. (a) Das Unerfüllbarkeitsproblem für prädikatenlogische Formeln. (b) Das Gültigkeitsproblem für prädikatenlogische Formeln. (c) Das Folgerungsproblem für prädikatenlogische Formeln. Der Algorithmus A muss jedoch nicht terminieren, wenn x 6∈ M gilt. Falls A auch in diesem Fall terminiert und “x ist nicht in M enthalten” zurückgibt, so heißt M entscheidbar. (d) Das Äquivalenzproblem für prädikatenlogische Formeln. Bemerkung: die Begriffe Entscheidbarkeit und Semi-Entscheidbarkeit werden detailliert in der Vorlesung “Berechenbarkeit und Komplexität” besprochen. Barbara König Logik 201 Barbara König Logik 202 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Semi-Entscheidbarkeitssätze Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Resolution in der Prädikatenlogik Beweis: (a) Das Problem ist nicht entscheidbar (ohne Beweis). Der Algorithmus von Gilmore kann es jedoch “semi-entscheiden”. Der Algorithmus von Gilmore funktioniert zwar, ist in der Praxis aber unbrauchbar, weil er zuviele Formeln erzeugt und nicht zielgerichtet arbeitet. (b) F gültig gdw. ¬F unerfüllbar. Daher ist unser Programm der nächsten Stunden: (c) F |= G gdw. F → G gültig. Wie sieht Resolution in der Prädikatenlogik aus? (d) F ≡ G gdw. F ↔ G gültig. Barbara König Aussagenlogik Prädikatenlogik 203 Logik Aussagenlogik Prädikatenlogik Wiederholung: Resolution in der Aussagenlogik 204 Algorithmus von Gilmore: Sei F eine prädikatenlogische Aussage in Skolemform und sei {F1 , F2 , F3 , . . . , } eine Aufzählung von E (F ). {L01 , . . . , L0m , ¬A} {L1 , . . . , Ln , A} Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Anpassung des Algorithmus von Gilmore Resolutionsschritt: {L1 , . . . , Ln , L01 , . . . , L0m } Eingabe: F Mini-Beispiel: {¬A, B} Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick {A} n := 0; repeat n := n + 1; until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar; (dies kann mit Mitteln der Aussagenlogik, beispielsweise Wahrheitstafeln, getestet werden) Gib “unerfüllbar” aus und stoppe. {¬B} {B} Eine Klauselmenge ist unerfüllbar genau dann, wenn die leere Klausel abgeleitet werden kann. Barbara König Logik “Mittel der Aussagenlogik” Unerfüllbarkeitstest 205 wir verwenden Resolution für den Barbara König Logik 206 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Definition von Res(M) (Wiederholung) Grundresolutionsalgorithmus Sei F1 , F2 , . . . weiterhin die Aufzählung der Herbrand-Expansion. Definition Sei M eine Klauselmenge. Dann ist Res(M) definiert als Grundresolutionsalgorithmus Eingabe: eine Aussage F in Skolemform Res(M) = M ∪ {R | R ist Resolvent zweier Klauseln in M}. i := 0; M := ∅; repeat i := i + 1; M := M ∪ Fi ; M := Res∗ (M) until ∈ M Außerdem setzen wir: Res 0 (M) = M Res n+1 (M) = Res(Res n (M)) Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick für n ≥ 0 Gib “unerfüllbar” aus und stoppe. und schließlich sei Res ∗ (M) = [ Res n (M). Warum der Name Grundresolution? Im Gegensatz zu späteren Verfahren werden Terme ohne Variable (= Grundterme) substituiert, um die Formeln der Herbrand-Expansion zu erhalten. n≥0 Barbara König Aussagenlogik Prädikatenlogik Logik 207 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Grundresolutionssatz Logik 208 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Grundresolutionsalgorithmus Aus dem Grundresolutionsalgorithmus ergibt sich folgender Satz: Grundresolutionssatz Eine Aussage in Skolemform F = ∀y1 . . . ∀yk F ∗ mit der Matrix F ∗ in KNF ist unerfüllbar genau dann, wenn es eine Folge von Klauseln K1 , . . . , Kn gibt mit der Eigenschaft: Beispiel: Zeigen Sie mit Hilfe von Grundresolution, dass folgende Formel in Klauselform unerfüllbar ist. Kn ist die leere Klausel Für i = 1, . . . , n gilt: entweder ist Ki eine Grundinstanz einer Klausel K ∈ F ∗ , d.h. Ki = K [y1 /t1 ] . . . [yk /tk ] mit ti ∈ D(F ) oder Ki ist (aussagenlogischer) Resolvent zweier Klauseln Ka , Kb mit a < i und b < i {{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (f (a)))}} Weglassen von Klauseln und Resolutionsschritten, die nicht zur Herleitung der leeren Klausel beitragen. Barbara König Logik 209 Barbara König Logik 210 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Verfeinerung der Grundresolution Verfeinerung der Grundresolution Bei der Grundresolution kann man unnötigerweise in Sackgassen laufen. Idee: Variablen nur noch so weit “wie nötig” durch Terme ersetzen. Statt Grundtermen Terme mit Variablen verwenden. Beispiel: {¬P(f (g (y )))} {P(f (x)), Q(x)} {¬Q(g (f (a)))} {P(f (x)), Q(x)} [y /a] [x/g (a)] Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik {¬P(f (g (y )))} [] [x/g (y )] {Q(g (a))} {¬Q(g (f (a)))} {Q(g (y ))} [] [y /f (a)] ? Besser wäre gewesen, die Variable x durch g (a) anstatt durch g (f (a)) zu ersetzen. Aber woher kann man das vorher wissen? Barbara König Aussagenlogik Prädikatenlogik Logik 211 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Wiederholung: Substitutionen Logik 212 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Unifikator/Allgemeinster Unifikator Eine Substitution sub ist eine Abbildung von Variablen auf Terme. Definition (Unifikation) F sub: Anwendung der Substitution sub auf die Formel F t sub: Anwendung der Substitution sub auf den Term t Gegeben sei eine Menge L = {L1 , . . . , Lk } von Literalen. Eine Substitution sub heißt Unifikator von L, falls Eine Substitution kann auch als Folge von Ersetzungen beschrieben werden: [x/f (z)] [y /g (a, z)] [z/h(w )] L1 sub = L2 sub = · · · = Lk sub Das ist gleichbedeutend mit |Lsub| = 1, wobei Lsub = {L1 sub, . . . , Lk sub}. entspricht folgender entflochtener Substitution: [x/f (h(w )), y /g (a, h(w )), z/h(w )]. Ein Unifikator sub von L heißt allgemeinster Unifikator von L, falls für jeden Unifikator sub 0 von L gilt, dass es eine Substitution s gibt mit sub 0 = sub s. Ersetzungen werden von links nach rechts durchgeführt! Verknüpfung von Substitutionen: sub 1 sub 2 (zuerst wird sub 1 angewandt, anschließend sub 2 ). Barbara König Logik 213 Barbara König Logik 214 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Unifikator/Allgemeinster Unifikator Unifikator/Allgemeinster Unifikator Bemerkungen: Beispiele: Bestimmen Sie die allgemeinsten Unifikatoren folgender Mengen (falls sie existieren): Eine Menge von Literalen kann mehrere allgemeinste Unifikatoren haben. {P(x), P(f (y ))} Beispielsweise sind sowohl [y /f (x)] als auch [x/z][y /f (z)] allgemeinste Unifikatoren von {P(f (x)), P(y )}. {P(x), Q(y )} {Q(x, f (x)), Q(y , g (y ))} Alle allgemeinsten Unifikatoren kann man jedoch durch einfache Variablenumbenennung ineinander umformen. {P(x), P(f (x))} {Q(x, f (y )), Q(g (z), f (x))} Eine Menge L von (mehr als zwei) Literalen kann unter Umständen nicht unifizierbar sein, auch wenn alle Paare von Literalen unifizierbar sind. {Q(x, f (y )), Q(g (y ), f (x))} {Q(x, f (y )), Q(f (y ), z), Q(z, f (x))} Barbara König Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Logik Beispiel: {Q(x, f (y )), Q(f (y ), z), Q(z, f (x))} 215 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Unifikationsalgorithmus Logik 216 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Unifikationsalgorithmus Unifikationsalgorithmus Eingabe: eine Literalmenge L 6= ∅ sub := []; (leere Substitution) while |Lsub| > 1 do Suche die erste Position, an der sich zwei Literale L1 , L2 aus Lsub unterscheiden if keines der beiden Zeichen ist eine Variable then stoppe mit “nicht unifizierbar” else Sei x die Variable und t der Term im anderen Literal (möglicherweise auch eine Variable) if x kommt in t vor then stoppe mit “nicht unifizierbar” else sub := sub [x/t] Beispiel: Wende den Unifikationsalgorithmus auf folgende Literalmenge an L = {¬P(f (z, g (a, y )), h(z)), ¬P(f (f (u, v ), w ), h(f (a, b)))} Bemerkung: hier sind a, b Konstanten und y , z, u, v , w Variablen Ausgabe: sub Barbara König Logik 217 Barbara König Logik 218 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Korrektheit des Unifikationsalgorithmus Prädikatenlogische Resolution Definition (Prädikatenlogischer Resolvent) Satz (Korrektheit des Unifikationsalgorithmus) Eine Klausel R heißt prädikatenlogischer Resolvent zweier Klauseln K1 , K2 , wenn folgendes gilt: Der Unifikationsalgorithmus terminiert immer und gibt bei Eingabe einer nicht-unifizierbaren Literalmenge “nicht unifizierbar” aus. Es gibt Substitutionen s1 , s2 , die Variablenumbenennungen sind, so dass K1 s1 und K2 s2 keine gemeinsamen Variablen enthalten. Wenn eine Menge L von Literalen unifizierbar ist, dann findet der Unifikationsalgorithmus immer den allgemeinsten Unifikator von L. Es gibt Literale L1 , . . . , Lm aus K1 s1 und Literale L01 , . . . , L0n aus K2 s2 , so dass L = {L1 , . . . , Ln , L01 , . . . , L0n } unifizierbar ist. Sei sub der allgemeinste Unifikator von L. (L bezeichnet das negierte Literal L.) Das bedeutet unter anderem auch, dass jede unifizierbare Menge von Literalen einen allgemeinsten Unifikator hat (Unifikationssatz von Robinson). Barbara König Aussagenlogik Prädikatenlogik Es gilt R = ((K1 s1 − {L1 , . . . , Lm }) ∪ (K2 s2 − {L01 , . . . , L0n }))sub. 219 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Prädikatenlogische Resolution 220 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe Schreibweise: Zu resolvierende Literale unterstreichen und Substitutionen angeben Sind diese Klauseln resolvierbar? Wieviele mögliche Resolventen gibt es? Beispiel: {P(x), P(f (y )), Q(x, y )} K1 {P(x), Q(x, y )} {Q(g (x)), R(f (x))} {P(x), P(f (x))} {¬P(f (g (x)))} s1 = [] sub = [x/f (g (z)), y /g (z)] Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick s2 =[x/z] {Q(f (g (z)), g (z))} K2 {¬P(f (x))} {¬Q(f (x))} {¬P(y ), Q(y , z)} Möglichkeiten Hinweis: Es gibt noch zwei weitere Möglichkeiten, einen prädikatenlogischen Resolutionsschritt mit diesen Klauseln auszuführen. Barbara König Logik 221 Barbara König Logik 222 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Prädikatenlogische Resolution Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Korrektheit und Vollständigkeit Zwei Fragen: Wenn man mit prädikatenlogischer Resolution aus einer Formel F die leere Klausel ableiten kann, ist F dann unerfüllbar? (Korrektheit) Beispiel: Leiten Sie aus folgender Klauselmenge die leere Klausel her (diesmal mit prädikatenlogischer Resolution anstatt Grundresolution). Kann man für eine unerfüllbare Formel F immer durch prädikatenlogische Resolution die leere Klausel herleiten? (Vollständigkeit) {{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (f (a)))}} Obiges ist zwar bereits für die Grundresolution bekannt, aber noch nicht für die prädikatenlogische Resolution. Barbara König Aussagenlogik Prädikatenlogik 223 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Lifting-Lemma 224 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Beispiel zum Lifting-Lemma Lifting-Lemma Seien K1 , K2 zwei prädikatenlogische Klauseln und seien K10 , K20 zwei Grundinstanzen hiervon, die aussagenlogisch resolvierbar sind und den Resolventen R 0 ergeben. Dann gibt es einen prädikatenlogischen Resolventen R von K1 , K2 , so dass R 0 eine Grundinstanz von R ist. Barbara König Logik K1 K2 {P(f (x)), Q(x)} K10 R {¬P(f (g (y )))} [x/g (a)] K20 [y /a] {P(f (g (a))), Q(g (a))} {Q(g (y ))} {¬P(f (g (a)))} [y /a] R0 {Q(g (a))} —: Resolution →: Substitution 225 Barbara König Logik 226 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Resolutionssatz Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Resolutionssatz Für eine Formel H mit freien Variablen x1 , . . . , xn bezeichnen wir mit ∀H = ∀x1 ∀x2 . . . ∀xn H Resolutionssatz der Prädikatenlogik Sei F eine Aussage in Skolemform mit einer Matrix F ∗ in KNF. Dann gilt: F ist unerfüllbar genau dann, wenn ∈ Res ∗ (F ∗ ). (Dabei bezeichnet Res die Bildung aller möglichen prädikatenlogischen Resolventen.) ihren Allabschluss. Sei F eine Aussage in Skolemform und sei F ∗ deren Matrix in KNF, so gilt: ^ F ≡ ∀F ∗ ≡ ∀K K ∈F ∗ Für den Beweis des Resolutionssatzes benötigen wir noch den Begriff des Allabschlusses . . . Beispiel: F ∗ = P(x, y ) ∧ ¬Q(y , x) F Barbara König Aussagenlogik Prädikatenlogik Logik ≡ ∀x∀y (P(x, y ) ∧ ¬Q(y , x)) ≡ ∀x∀yP(x, y ) ∧ ∀x∀y (¬Q(y , x)) 227 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Verfeinerung der Resolution (Ausblick) Logik 228 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Beispiele Probleme bei der prädikatenlogischen Resolution: Zu viele Wahlmöglichkeiten Ist die Klauselmenge Immer noch zu viele Sackgassen {{P(f (x))}, {¬P(f (x)), Q(f (x), x)}, {¬Q(f (a), f (f (a)))}, Kombinatorische Explosion des Suchraums {¬P(x), Q(x, f (x))}} Lösungsansätze: unerfüllbar? Strategien und Heuristiken: Verbieten bestimmter Resolutionsschritte, Suchraum wird dadurch eingeschränkt Vorsicht: Die Vollständigkeit darf dadurch nicht verloren gehen! Barbara König Logik 229 Barbara König Logik 230 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Beispiele Beispiele Wir betrachten folgende prädikatenlogische Formel: Wir betrachten folgende Klauselmenge (Beispiel aus dem Schöning): F Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick F = ∀x(P(x) → P(f (x))) = {{¬P(x), Q(x), R(x, f (x))}, {¬P(x), Q(x), S(f (x))}, {T (a)}, {P(a)}, {¬R(a, x), T (x)}, {¬T (x), ¬Q(x)}, {¬T (x), ¬S(x)}} und zeigen ihre Unerfüllbarkeit mit Hilfe des Resolutionstheorembeweisers otter (siehe auch die Vorstellung von otter im Kapitel “Aussagenlogik”). Barbara König Aussagenlogik Prädikatenlogik Logik Ist diese Formel gültig, erfüllbar oder unerfüllbar? Was passiert, wenn sie als Eingabe für einen Resolutionstheorembeweiser (wie beispielsweise otter) verwendet wird? Diese Formel ist erfüllbar: otter leitet immer neue Klauseln ab und terminiert nicht. 231 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Beispiele Logik 232 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Beispiele Das Affe-Banane-Problem (Teil 1) (A1) Ein Tier, das Arme hat und nahe bei einem Ding ist, kann das Ding erreichen. Das Affe-Banane-Problem (Teil 2) (A6) Der Stuhl ist ein hoher Gegenstand. (A2) Ein Tier auf einem hohen Gegenstand, der unter den Bananen steht, ist nahe bei den Bananen. (A7) Die Bananen sind ein Ding. (A8) Der Affe, die Bananen und der Stuhl sind im Raum. (A3) Wenn ein Tier in einem Raum einen Gegenstand zu einem Ding schiebt, die beide im Raum sind, dann ist das Ding nahe am Boden oder der Gegenstand ist unter dem Ding. (A9) Der Affe kann den Stuhl unter die Bananen schieben. (A10) Die Bananen sind nicht nahe am Boden. (A11) Der Affe kann den Stuhl ersteigen. (A4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf dem Gegenstand. (S?) Kann der Affe die Bananen erreichen? (A5) Der Affe ist ein Tier, das Arme hat. Barbara König Logik 233 Barbara König Logik 234 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Beispiele Anwendungen Schema für die Lösung solcher Probleme: Anwendungen der prädikatenlogischen Resolution Theorembeweiser: Beweis von Sätzen aus der Mathematik Seien A1 , . . . , An die Axiome oder Voraussetzungen und S die Schlussfolgerung. Verifikation: Beweis der Korrektheit von Programmen Um zu zeigen, dass Schlussfolgerung in Expertensystemen Planungssysteme A1 ∧ · · · ∧ An → S Logik-Programmierung (PROLOG) gültig ist, zeigen wir, dass Bemerkung: Neben Resolution gibt es noch weitere Methoden, die Unerfüllbarkeit prädikatenlogischer Formeln zu zeigen, beispielsweise mit Hilfe von Tableau-Beweisen. A1 ∧ · · · ∧ An ∧ ¬S unerfüllbar ist. Barbara König Aussagenlogik Prädikatenlogik Logik siehe nächstes Kapitel 235 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Logik Aussagenlogik Prädikatenlogik Motivation: Logik-Programmierung 236 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Logik-Programmierung Beispiel: wir betrachten folgende Formalisierung der Addition F Wir betrachten sogenannte Hornklauseln, bei denen höchstens ein Literal positiv ist (analog zu den aussagenlogischen Hornformeln). = ∀x A(x, null, x) ∧ ∀x∀y ∀z (A(x, y , z) → A(x, s(y ), s(z))) Dabei ist A ein dreistelliges Prädikatsymbol mit der Bedeutung: A(x, y , z) genau dann, wenn x + y = z. Das führt zu einfacheren Resolutionsbeweisen, die im wesentlichen die Form von Ketten haben. Die dabei entstehenden Substitutionen kann man aufsammeln und als Lösung präsentieren. Außerdem ist s eine einstellige Funktion, die die Nachfolgerfunktion (successor function) darstellen soll. Eine natürlich Zahl n soll so dargestellt werden: Auf dieser Idee basieren Logik-Programmiersprachen, wie beispielsweise PROLOG. s n (null) = s(s(. . . (s( null)) . . . )) | {z } n mal Des weiteren soll die Konstante null die 0 repräsentieren. Barbara König Logik 237 Barbara König Logik 238 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Motivation: Logik-Programmierung Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Logik-Programmierung Wir wollen nun überprüfen, ob die Formel G = ∃u A(s(s(s(null))), s(s(null)), u) Bemerkungen: Bei der Resolution dieser Klauseln reicht es aus, immer mit mindestens einer Klausel zu resolvieren, die nur aus negativen Literalen besteht. Wir beginnen die Resolution also mit der Zielklausel. aus dieser Formel ableitbar ist. D.h., gibt es ein u für das gilt 3 + 2 = u? Wir negieren und skolemisieren die Formel F → G und erhalten folgende Klauselmenge: Dabei entstehen als Resolventen wiederum nur Klauseln, die nur aus negativen Literalen bestehen. {{A(x, null, x)}, {¬A(x, y , z), A(x, s(y ), s(z))}, {¬A(s(s(s(null))), s(s(null)), u)}} Dabei heißt die aus G entstandene Klausel Zielklausel. Barbara König Aussagenlogik Prädikatenlogik 239 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Motivation: Logik-Programmierung {¬A(s(s(s(null))), s(s(null)), u)} sub 1 = [u/s(z), x/s(s(s(null))), y /s(null)] 240 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Wir sammeln alle Substitutionen auf, wenden sie auf u an und erhalten: u sub 1 sub 2 sub 3 = s(z) sub 2 sub 3 {¬A(x, y , z 0 ), A(x, s(y ), s(z 0 ))} sub 2 = [z/s(z 0 ), x/s(s(s(null))), y /null] {¬A(s(s(s(null)))), null, z 0 } Logik Motivation: Logik-Programmierung {¬A(x, y , z), A(x, s(y ), s(z))} {¬A(s(s(s(null)))), s(null), z} Barbara König = s(s(z 0 )) sub 3 = s(s(s(s(s(null))))) Das heißt, die leere Klausel kann abgeleitet werden, wenn man u durch s 5 (null) ersetzt. Das ist aber genau das Ergebnis der Addition 3 + 2. {A(x, null, x)} sub 3 = [z 0 /s(s(s(null))), x/s(s(s(null)))] Diesen Prozess nennt man auch Antwortgenerierung. Barbara König Logik 241 Barbara König Logik 242 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Hornklauseln Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Hornklauseln Definition (Hornklauselprogramm, Teil 1) Ein Hornklauselprogramm oder Logikprogramm ist eine Klauselmenge, in der jede Klausel höchstens ein positives Literal enthält. Die Klauseln werden folgendermaßen klassifiziert: Definition (Hornklauselprogramm, Teil 2) Tatsachen- und Prozedurklauseln nennt man auch Programmklauseln. Sie stellen das eigentliche Logikprogramm dar. Tatsachenklauseln: Klauseln der Form {P} mit einem positiven Literal P. Logikprogramme werden aufgerufen durch sogenannte Zielklauseln: Zielklausel: eine Klausel der Form {¬Q1 , . . . , ¬Qk }, entspricht dem negierten Berechnungsziel PROLOG-Schreibweise: P. Prozedurklauseln: Klauseln der Form {P, ¬Q1 , . . . , ¬Qk }, die Folgerungen darstellen. PROLOG-Schreibweise: ?− Q1 , . . . , Qk PROLOG-Schreibweise: P :− Q1 , . . . , Qk (:− steht für ←) Barbara König Aussagenlogik Prädikatenlogik 243 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik SLD-Resolution Logik 244 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick SLD-Resolution Folgende Form der Resolution funktioniert speziell für Hornklauseln: Definition (SLD-Resolution) Eine SLD-Resolutionsherleitung der leeren Klausel hat die rechts abgebildete Form, wobei G die Zielklausel ist, G1 , G2 , . . . nur aus negativen Literalen bestehen und K1 , . . . , Kn Programmklauseln sind. G K1 G1 K2 Satz (Vollständigkeit der SLD-Resolution) Sei F mit Zielklausel G ein unerfüllbares Hornklauselprogramm. Dann gibt es für F eine SLD-Resolutionsherleitung der leeren Klausel. G2 .. . Kn Die Abkürzung SLD steht für “linear resolution with selection function for definite clauses” Barbara König Logik 245 Barbara König Logik 246 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Deklarative Programmiersprache PROLOG Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Deklarative Programmiersprache PROLOG Die Idee der Ermittlung eines Rechenergebnisses führt zur Definition einer Programmiersprache basierend auf Hornklauselprogrammen: PROLOG (entwickelt Anfang der siebziger Jahre). Imperativ Zustandsorientiert: Zustand eines Programms besteht aus Programmzähler und Belegung der Variablen (+ Heap) Programm besteht aus Befehlen, die diesen Zustand transformieren. Dabei beschreiben die Programmklauseln das eigentlich Programm und die Zielklausel die zu bearbeitenden Anfrage. Sprachen: FORTRAN, ALGOL, Pascal, Ada, C, Java PROLOG ist, genau wie funktionale Programmiersprachen, eine deklarative Programmiersprache. Das heißt, es wird nicht so sehr beschrieben, wie etwas berechnet wird, sondern was berechnet werden soll. Deklarativ Beschreibung einer Lösung durch Bedingungen, ohne genau zu spezifizieren, wie diese Lösung berechnet werden soll. Barbara König Aussagenlogik Prädikatenlogik Logik Sprachen: Logik-Programmiersprachen: PROLOG; funktionale Sprachen: ML, OCaml, Haskell, Scheme, Lisp 247 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Deklarative Programmiersprache PROLOG Logik 248 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Deklarative Programmiersprache PROLOG Beispiel: Hausbau Syntax von PROLOG: Variablen werden mit Grossbuchstaben geschrieben: X, Y, Z, . . . Prädikat- und Funktionssymbole werden mit Kleinbuchstaben dargestellt. Hausbau (imperativ): Hebe zunächst den Keller aus. Baue dann eine Süd-, Ost-, West- und Nordwand. Setze anschließend ein Dach auf die Wände. Außerdem werden Programm- und Zielklauseln wie oben beschrieben notiert. Hausbau (deklarativ): Ein Haus besteht aus einem Keller, der von vier Wänden umgeben ist, auf denen sich das Dach befindet. Barbara König Logik 249 Barbara König Logik 250 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Deklarative Programmiersprache PROLOG Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Deklarative Programmiersprache PROLOG PROLOG-Interpreter: wir verwenden GNU Prolog (http://www.gprolog.org/) Wichtige Kommandos: Zielklausel eingeben | ?- onkel(X,christine). Aufruf > gprolog Datei laden (z.B. eltern.pl) X = boris ? | ?- [eltern]. compiling eltern.pl for byte code... eltern.pl compiled, 36 lines read 3874 bytes written, 11 ms Mit ; werden weitere Antwortsubstitutionen gesucht. (1 ms) yes Barbara König Aussagenlogik Prädikatenlogik Logik 251 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Beispiele für PROLOG-Programme Logik 252 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Beispiele für PROLOG-Programme Verwandtschaftsbeziehungen elter(X,Y) :- vater(X,Y). elter(X,Y) :- mutter(X,Y). Beispiel: Verwandtschaftsbeziehungen Nehmen Sie an, dass Verwandtschaftsbeziehungen wie “x ist Mutter von y ” und “x ist Vater von y ” definiert sind. Außerdem ist von jeder Person bekannt, ob sie männlich oder weiblich ist. grossmutter(X,Y) :- mutter(X,Z),elter(Z,Y). grossvater(X,Y) :- vater(X,Z),elter(Z,Y). Geben Sie Programmklauseln an, die abgeleitete Verwandtschaftsbeziehungen wie “Elter”, “Grossmutter”, “Grossvater”, “Geschwister”, “Onkel” und “Tante” herleiten können. geschwister(X,Y) :- elter(Z,X),elter(Z,Y),X\==Y. onkel(X,Y) :- elter(Z,Y),geschwister(Z,X),maennlich(X). tante(X,Y) :- elter(Z,Y),geschwister(Z,X),weiblich(X). Barbara König Logik 253 Barbara König Logik 254 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Beispiele für PROLOG-Programme Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Dadurch, dass PROLOG-Programme nicht aus konkreten Handlungsanweisungen bestehen, können ganz verschiedene Arten von Anfragen an das gleiche Programm gestellt werden. Es gibt noch viele weitere Logiken, neben der Aussagenlogik und der Prädikatenlogik 1. Stufe. Beispiel Addition: add(X,null,X). add(X,s(Y),s(Z)) :- add(X,Y,Z). Prädikatenlogik 2. Stufe Quantifikation über Mengen (einstellige Prädikate) und Relationen (mehrstellige Prädikate) wird erlaubt. ?- add(s(s(s(null))),s(s(null)),X). X = s(s(s(s(s(null))))) ? ; ?- add(s(s(s(null))),Y,s(s(s(s(s(null)))))). Y = s(s(null)) ? Bei der zweiten Anfrage wird eine Subtraktion durchgeführt. Barbara König Aussagenlogik Prädikatenlogik Logik 255 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Ausblick Logik 256 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Weitere Bemerkungen zur Prädikatenlogik 2. Stufe: Beispiel: Das Induktionsaxiom für die natürlichen Zahlen N0 ist nur in Prädikatenlogik 2. Stufe ausdrückbar: Das Unerfüllbarkeits- bzw. Gültigkeitsproblem für Logiken höherer Stufe (insbesondere für die Prädikatenlogik 2. Stufe), ist nicht mehr semi-entscheidbar. Für jede Menge M von natürlichen Zahlen gilt: wenn M die 0 enthält und für jede in M enthaltene Zahl n auch deren Nachfolger n + 1 in M enthalten ist, dann sind bereits alle natürlichen Zahlen in M enthalten. ∀M 0 ∈ M ∧ ∀n(n ∈ M → n + 1 ∈ M) → ∀n(n ∈ M) Barbara König Logik Daraus folgt auch, dass solche Logiken höherer Stufe keinen Kalkül (wie den Resolutionskalkül) haben können. Denn aus einem Kalkül, der es ermöglicht, alle wahren Formeln abzuleiten, kann man immer ein Semi-Entscheidungsverfahren gewinnen. 257 Barbara König Logik 258 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Ausblick Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Die Nicht-Existenz eines solchen (vollständigen) Kalküls für die Arithmetik ist die Aussage des (Ersten) Gödelschen Unvollständigkeitssatzes (1931). Für die Mathematik bedeutet das: “Es gibt wahre Aussagen, die nicht beweisbar sind.” Modallogiken Annahme, dass es mehrere mögliche Welten gibt. In manchen dieser Welten können Aussagen wahr sein, in anderen nicht. Unterhaltsame Lektüre zu diesem Thema: Beispiele für Aussagen der Modallogik: “Möglicherweise regnet es.” Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid “Notwendigerweise sind alle Kreise rund.” In deutscher Übersetzung: Douglas R. Hofstadter: Gödel, Escher, Bach: Ein endloses geflochtenes Band Barbara König Aussagenlogik Prädikatenlogik Logik 259 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Ausblick Logik 260 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Für die Informatik besonders wichtig ist eine bestimmte Modallogik, die sogennante Temporallogik: Dreiwertige Logiken Enhalten neben den Wahrheitswerten 0, 1 auch den Wahrheitswert 1 2 (= vielleicht). Temporallogik Hier werden die möglichen Welten als Momente im Ablauf der Zeit interpretiert. Das heißt, man kann Aussagen über zeitliche Abfolgen machen. Einsatz: in der Programmanalyse. Bei Approximation eines System durch ein einfacheres System kann manchmal nicht mit Sicherheit gesagt werden, ob bestimmte Systemübergänge möglich oder nicht möglich sind. Diesen wird dann der Wahrheitswert 12 zugeordnet. Beispiele für Aussagen der Temporallogik: “Irgendwann geschieht A.” “Das Ereignis B tritt unendlich oft ein.” Auch für das Ergebnis einer Programmanalyse kann gelten: geforderte Eigenschaft gilt (1), gilt nicht (0) oder gilt vielleicht ( 12 ). Die am häufigsten benutzten Temporallogiken sind: CTL (Computation Tree Logic), LTL (Linear Time Logic), modaler µ-Kalkül Barbara König Logik 261 Barbara König Logik 262 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Ausblick Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Nicht-monotone Logik Bei nicht-monotone Logiken kann diese Bedingung verletzt sein, d.h., durch zusätzliches Wissen kann eine Folgerung ungültig werden. Die klassische Logik ist in folgendem Sinne monoton: wenn zu einer Menge von Axiomen ein weiteres hinzukommt, dann kann man immer noch mindestens die gleichen Aussagen ableiten. Beispiel: Wir wissen, dass Tweety ein Vogel ist. Dann kann man daraus folgern, dass Tweety fliegen kann. Monotonie: Aus F |= H folgt immer auch F ∧ G |= H. Zusätzlich erfahren wir nun, dass Tweety ein Pinguin ist. Dann kann man diese Folgerung nicht mehr aufrechterhalten. Einsatz: in Expertensystemen Barbara König Aussagenlogik Prädikatenlogik Logik 263 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Ausblick Logik 264 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Intuitionistische Logik Grob: nur das, was man konstruieren kann, existiert. Widerspruchsbeweise sind nicht erlaubt. Fuzzy Logic Approximiertes Schließen, eine Aussage kann nur zu einem gewissen Prozentsatz “wahr” sein. Insbesondere: P ∨ ¬P (Satz vom ausgeschlossenen Dritten) ist nicht automatisch eine gültige Formel. Einsatz: Haushaltsgeräte, Fehlerkorrektur Barbara König Logik Bemerkung: Dadurch wird die Logik zunächst schwächer und weniger Aussagen sind beweisbar. Die Forderung der Konstruierbarkeit kann aber für die Herleitung von Berechnungsvorschriften verwendet werden. 265 Barbara König Logik 266 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Zuletzt noch eine Zusammenfassung der weiteren Anwendungen der Logik in der Informatik: Modellierung und Spezifikation: Eindeutige Beschreibung von komplexen Systemen Verifikation: Beweisen, dass ein Programm das gewünschte Verhalten zeigt Schaltkreisentwurf: Schaltkreise lassen sich als logische Formeln darstellen Entwurf und Optimierung von Schaltungen Datenbanken: Formulierung von Anfragen an Datenbanken Abfragesprache SQL (Structured query language) Künstliche Intelligenz: Schlussfolgerungen automatisieren, insbesondere in Expertensystemen Barbara König Logik 267