Aussagenlogik Prädikatenlogik Vorlesung “Logik” Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Barbara König Logik 1 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Logik-Programmierung Wir betrachten sogenannte Hornklauseln, bei denen höchstens ein Literal positiv ist (analog zu den aussagenlogischen Hornformeln). 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. Auf dieser Idee basieren Logik-Programmiersprachen, wie beispielsweise PROLOG. Barbara König Logik 230 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Motivation: Logik-Programmierung Beispiel: wir betrachten folgende Formalisierung der Addition F = ∀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. Außerdem ist s eine einstellige Funktion, die die Nachfolgerfunktion (successor function) darstellen soll. Eine natürlich Zahl n soll so dargestellt werden: s n (null) = s(s(. . . (s( null)) . . . )) | {z } n mal Des weiteren soll die Konstante null die 0 repräsentieren. Barbara König Logik 231 Aussagenlogik Prädikatenlogik 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) 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: {{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 Logik 232 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Logik-Programmierung 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. Dabei entstehen als Resolventen wiederum nur Klauseln, die nur aus negativen Literalen bestehen. Barbara König Logik 233 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Logik-Programmierung {¬A(s(s(s(null))), s(s(null)), u)} {¬A(x, y , z), A(x, s(y ), s(z))} {¬A(s(s(s(null)))), s(null), z} {¬A(x, y , z 0 ), A(x, s(y ), s(z 0 ))} {¬A(s(s(s(null)))), null, z 0 } {A(x, null, x)} hhh hhhh sub1 = h h h h hhhh [u/s(z), x/s(s(s(null))), y /s(null)] hhhh h h h hhh hhhhsub = hhhh 2 h h h hhh [z/s(z 0 ), x/s(s(s(null))), y /null] h h h hhhh hhhh h hhhh hhhh sub3 = h h h hh hhhh[z 0 /s(s(s(null))), x/s(s(s(null)))] hhhh h h h h hhhh Barbara König Logik 234 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Logik-Programmierung 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 = 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. Diesen Prozess nennt man auch Antwortgenerierung. Barbara König Logik 235 Aussagenlogik Prädikatenlogik 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: Tatsachenklauseln: Klauseln der Form {P} mit einem positiven Literal P. PROLOG-Schreibweise: P. Prozedurklauseln: Klauseln der Form {P, ¬Q1 , . . . , ¬Qk }, die Folgerungen darstellen. PROLOG-Schreibweise: P :− Q1 , . . . , Qk (:− steht für ←) Barbara König Logik 236 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Hornklauseln Definition (Hornklauselprogramm, Teil 2) Tatsachen- und Prozedurklauseln nennt man auch Programmklauseln. Sie stellen das eigentliche Logikprogramm dar. Logikprogramme werden aufgerufen durch sogenannte Zielklauseln: Zielklausel: eine Klausel der Form {¬Q1 , . . . , ¬Qk }, entspricht dem negierten Berechnungsziel PROLOG-Schreibweise: ?− Q1 , . . . , Qk Barbara König Logik 237 Aussagenlogik Prädikatenlogik 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) K1 qqq q q q G1 K2 qqq qqq G 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. G2 .. . Kn sss s s ss Die Abkürzung SLD steht für “linear resolution with selection function for definite clauses” Barbara König Logik 238 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick SLD-Resolution 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. Barbara König Logik 239 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Es gibt noch viele weitere Logiken, neben der Aussagenlogik und der Prädikatenlogik 1. Stufe. Prädikatenlogik 2. Stufe Quantifikation über Mengen (einstellige Prädikate) und Relationen (mehrstellige Prädikate) wird erlaubt. Barbara König Logik 240 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Beispiel: Das Induktionsaxiom für die natürlichen Zahlen N0 ist nur in Prädikatenlogik 2. Stufe ausdrückbar: 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 241 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Weitere Bemerkungen zur Prädikatenlogik 2. Stufe: 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. 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. Barbara König Logik 242 Aussagenlogik Prädikatenlogik 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.” Unterhaltsame Lektüre zu diesem Thema: Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid In deutscher Übersetzung: Douglas R. Hofstadter: Gödel, Escher, Bach: Ein endloses geflochtenes Band Barbara König Logik 243 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Modallogiken Annahme, dass es mehrere mögliche Welten gibt. In manchen dieser Welten können Aussagen wahr sein, in anderen nicht. Beispiele für Aussagen der Modallogik: “Möglicherweise regnet es.” “Notwendigerweise sind alle Kreise rund.” Barbara König Logik 244 Aussagenlogik Prädikatenlogik 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: Temporallogik Hier werden die möglichen Welten als Momente im Ablauf der Zeit interpretiert. Das heißt, man kann Aussagen über zeitliche Abfolgen machen. Beispiele für Aussagen der Temporallogik: “Irgendwann geschieht A.” “Das Ereignis B tritt unendlich oft ein.” Die am häufigsten benutzten Temporallogiken sind: CTL (Computation Tree Logic), LTL (Linear Time Logic), modaler µ-Kalkül Barbara König Logik 245 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Dreiwertige Logiken Enhalten neben den Wahrheitswerten 0, 1 auch den Wahrheitswert 1 2 (= vielleicht). 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 sind oder nicht möglich sind. Diesen wird dann der Wahrheitswert 21 zugeordnet. Auch für das Ergebnis einer Programmanalyse kann gelten: geforderte Eigenschaft gilt, gilt nicht oder gilt vielleicht. Barbara König Logik 246 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick 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. Monotonie: Aus der Gültigkeit von F → H folgt immer auch die Gültigkeit von F ∧ G → H. Barbara König Logik 247 Aussagenlogik Prädikatenlogik 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. Beispiel: Wir wissen, dass Tweety ein Vogel ist. Dann kann man daraus folgern, dass Tweety fliegen kann. Zusätzlich erfahren wir nun, dass Tweety ein Pinguin ist. Dann kann man diese Folgerung nicht mehr aufrechterhalten. Einsatz: in Expertensystemen Barbara König Logik 248 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Ausblick Fuzzy Logic Approximiertes Schließen, eine Aussage kann nur zu einem gewissen Prozentsatz “wahr” sein. Einsatz: Haushaltsgeräte, Fehlerkorrektur Barbara König Logik 249 Aussagenlogik Prädikatenlogik 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. Insbesondere: P ∨ ¬P (Satz vom ausgeschlossenen Dritten) ist nicht automatisch eine gültige Formel. 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. Barbara König Logik 250 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 251