Logik Jan Hladik DHBW Stuttgart Wintersemester 2016/17 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 1 / 217 Inhalt 1 Einführung Organisation Motivation Geschichte 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 2 / 217 Inhalt 1 Einführung Organisation Motivation Geschichte 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 3 / 217 Dozent Jan Hladik Dipl.-Inform.: RWTH Aachen, 2001 Dr. rer. nat.: TU Dresden, 2007 Industrieerfahrung: SAP Research Öffentlich geförderte Forschungsprojekte Zusammenarbeit mit Produktgruppen Betreuung von Studenten und Doktoranden Professor: DHBW Stuttgart, 2014 Forschung Semantic Web, Semantische Technologien, Schlussfolgerungsverfahren Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 4 / 217 Literatur Vorlesungsmaterial http://wwwlehre.dhbw-stuttgart.de/~hladik/Logik/ Logik Dirk W. Hoffmann: Theoretische Informatik Kurt-Ulrich Witt: Mathematische Grundlagen für die Informatik Karl Stroetmann: Theoretische Informatik I - Logik und Mengenlehre http://wwwlehre.dhbw-stuttgart.de/~stroetma/Logic/ Motivation Apostolos Doxiadis, Christos Papadimitriou: Logicomix – Eine epische Suche nach der Wahrheit Douglas R. Hofstadter: Gödel Escher Bach Prolog Patrick Blackburn et. al.: Learn Prolog Now! HTML-Version: http://learnprolognow.org/ mit Prolog-Interpreter: http://lpn.swi-prolog.org/ Prolog-Interpreter http://swi-prolog.org/ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 5 / 217 Inhalt 1 Einführung Organisation Motivation Geschichte 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 6 / 217 Warum Logik? Logic is the beginning of wisdom, not the end. Mr. Spock, 2293 (Stardate 9522.6) Programming is a creative art form based in logic. John Romero, 1993 kein Selbstzweck im Informatik-Studium Grundlage für Programmierung, formale Sprachen, Mathematik, . . . notwendig für ein fundiertes Verständnis der Informatik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 7 / 217 Automatisierung rationalen Denkens Eindeutige Spezifikation Syntax Was ist ein korrekter Ausdruck? Semantik Was bedeutet ein korrekter Ausdruck? If you cannot say what you mean, you will never mean what you say and a gentleman should always mean what he says. R.J. Johnston in „The Last Emperor“ Objektiv richtige Ableitung von neuem Wissen Was bedeutet „Richtigkeit“? Kann man Richtigkeit automatisch sicherstellen? Kann man neue Fakten automatisch herleiten? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 8 / 217 Logik in der Informatik Technische Grundlagen Boole’sche Schaltkreise (VL Digitaltechnik) Anwendung innerhalb der Informatik Spezifikation (VL Software-Engineering) Programmentwicklung Programmverifikation „Erfüllt mein Programm die Spezifikation?“ „Ermöglicht mein Kommunikationsprotokoll Deadlocks?“ Berechenbarkeit (VL Formale Sprachen und Automaten) Verständnis der Fähigkeiten und Grenzen von Computern „Schreiben Sie einen Test, ob zwei Programme sich gleich verhalten.“ Werkzeug für Anwendungen der Informatik außerhalb der Informatik Künstliche Intelligenz Wissensrepräsentation (VL Wissensbasierte Systeme) Automatisches Beweisen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 9 / 217 Informatik ohne Logik Kann man nicht auch ohne Logik-Kenntnisse Programmierer sein? Man kann auch ohne Elektriker-Lehre Kabel verlegen. . . Ohne Verständnis von Logik ist ein Informatiker nur ein Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 10 / 217 Ziele der Vorlesung Begriffe Syntax Korrektheit Term, Formel Funktions-, Relationssymbole Semantik Wahrheit Interpretation, Modell Gültigkeit, Erfüllbarkeit Folgerung Beweisverfahren Resolution Tableaus Praktische Anwendung von Logik Formalisierung in Aussagen- und Prädikatenlogik Prolog Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 11 / 217 Inhalt 1 Einführung Organisation Motivation Geschichte 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 12 / 217 Logik: Wortherkunft Logos Gegenbegriff: Mythos λόγος μῦθος verwandt mit λέγειν (sprechen) Wort, Rede, Erzählung Wort, Satz, Rede Legende Argumentation Vermischung von Fakten und Glauben Beweis, Definition Vernunft, Rationalität Zentraler Begriff für Ursprung des abendländischen Denkens Übergang „vom Mythos zum Logos“ (Wilhelm Nestle, 1940) Wendung von Legenden zur Rationalität Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 13 / 217 Der Logos ist überall Am Anfang war das Wort ᾿Εν ἀρχῇ ἦν ὁ λόγος, καὶ ὁ λόγος ἦν πρὸς τὸν θεόν, und das Wort war bei Gott und Gott war das Wort. καὶ θεὸς ἦν ὁ λόγος. ... Καὶ ὁ λόγος σὰρξ ἐγένετο καὶ ἐσκήνωσεν ἐν ἡμῖν, . . . ... Und das Wort ist Fleisch geworden und hat unter uns gewohnt, . . . Joh 1 1,14 Heutige Verwendung: Logik Dialog („durch Wörter“) Wissenschaften enden auf -logie Trilogie („drei Werke“) Logopädie (Sprecherziehung) Dekalog (Zehn Gebote) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 14 / 217 Ursprünge der Logik: Rationales Denken Aristoteles (384–322 v.C.): „Metaphysik“ Satz vom ausgeschlossenen Widerspruch Es ist unmöglich, dass dasselbe demselben in derselben Beziehung zugleich zukomme und nicht zukomme. Satz vom ausgeschlossenen Dritten Es ist unmöglich, dass es ein Mittleres zwischen den beiden Gliedern des Widerspruchs gibt, sondern man muss eben eines von beiden entweder bejahen oder verneinen. Jan Hladik (DHBW Stuttgart) Logik Aristoteles Wintersemester 2016/17 15 / 217 Formalisierung rationalen Denkens Gottfried Wilhelm Leibniz (1646–1716) Dualsystem: 0 ; Nichts 1 ; Gott Rechenmaschinen Denn es ist ausgezeichneter Menschen unwürdig, gleich Sklaven Stunden zu verlieren mit Berechnungen. G.W. Leibniz Idee der Formalisierung von Ausdrücken und Beweisen Philosophen werden nicht anders argumentieren als Rechenmeister. Sie werden die Feder in die Hand nehmen und sagen: Calculemus! Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 16 / 217 Formalisierung von Aussagen- und Prädikatenlogik George Boole (1815–1864): „The Mathematical Analysis of Logic“ Operatoren × (und), + (oder), − (nicht) Rechengesetze disjunktive Normalform Entscheidungsverfahren ; Aussagenlogik Gottlob Frege (1848–1925): „Begriffsschrift“ Formalisierung mathematischer Aussagen „für alle x gilt . . . “ „es gibt ein x, für das gilt . . . “ ; Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 17 / 217 Hilbert-Programm Bertrand Russell (1872–1970), A.N. Whitehead (1861–1947): „Principia Mathematica“ Ziel: Fundierung der Mathematik auf Logik Formalisierung von Beweisen Inferenz-Regeln David Hilbert (1862–1943): Hilbert-Programm Formalisierung aller Bereiche der Mathematik Nachweis der Widerspruchsfreiheit der Formalisierung Nachweis der Vollständigkeit der Beweisverfahren ; Mechanisches Ableiten aller wahren Sätze Wir müssen wissen, wir werden wissen! David Hilbert Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 18 / 217 Grenzen der Beweisbarkeit Kurt Gödel (1906–1978): „Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme“ Vollständigkeit der Prädikatenlogik erster Stufe: Jeder wahre Satz (in PL1) ist beweisbar. Unvollständikeit der Prädikatenlogik zweiter Stufe: Es gibt (in PL2) wahre Sätze, die nicht beweisbar sind. Kurt Gödel Die Logik wird nie mehr dieselbe sein. John von Neumann (1903–1957) Alan Turing (1912–1954): „On computable numbers, with an application to the Entscheidungsproblem“ Unentscheidbarkeit des Halteproblems für Turing-Maschinen (Computer) Unentscheidbarkeit des Erfüllbarkeitsproblems für PL1 ; 3. Semester Jan Hladik (DHBW Stuttgart) Logik Alan Turing Wintersemester 2016/17 19 / 217 Selbstreferenz „Dieser Satz ist nicht beweisbar.“ Russell’sche Antinomie: U = {T | T ∈ / T} „Der Barbier rasiert genau die Männer, die sich nicht selbst rasieren.“ Douglas R. Hofstadter: Gödel Escher Bach Musik ist die versteckte arithmetische Tätigkeit der Seele, die sich nicht dessen bewusst ist, dass sie rechnet. G.W. Leibniz Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 20 / 217 Das MIU-Rätsel Gegeben ist ein formales System mir den folgenden Regeln: 1 Alle Wörter bestehen aus den Buchstaben M, I und U 2 Wenn ein Wort mit I endet, darf man U anhängen 3 III darf durch U ersetzt werden 4 UU darf entfernt werden 5 Das Teilwort nach einem M darf verdoppelt werden 6 Eine Ableitung beginnt immer mit MI Nach Douglas R. Hofstadter, Gödel Escher Bach Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 21 / 217 Das MIU-Rätsel (formaler) Alle Wörter bestehen aus den Buchstaben M, I und U x und y stehen für beliebige (Teil-)wörter Eine Ableitung beginnt immer mit MI Ableitungsregeln: 1 2 3 4 xI → xIU xIIIy → xUy xUUy → xy Mx → Mxx Wir schreiben x ` y, wenn x durch eine Anwendung einer Regel in y überführen lässt Beispiel (Ableitung) MI `4 MII `4 MIIII `2 MUI `4 MUIUI Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 22 / 217 Übung: Ableitungen im MIU-System Regeln: 1 xI → xIU 2 xIIIy → xUy 3 xUUy → xy 4 Mx → Mxx Geben Sie für die folgenden Wörter Ableitungen an: 1 MUIU 2 MIIIII 3 MUUUI 4 MU Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 23 / 217 MIU Lösungen (1) 1 xI → xIU 2 xIIIy → xUy 3 xUUy → xy 4 Mx → Mxx 1 MI ` MII ` MIIII ` MIIIIU ` MUIU 2 MI ` MII ` MIIII ` MIIIIIIII ` MIIIIIIIIU ` MIIIIIUU ` MIIIII 3 MI ` MII ` MIIII ` MIIIIIIII ` MUIIIII ` MUUII ` MUUIIUUII ` MUUIIII ` MUUUI Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 24 / 217 MIU Lösungen (2) 1 xI → xIU 2 xIIIy → xUy 3 xUUy → xy 4 Mx → Mxx 4. MU kann nicht hergeleitet werden! Beweis: Betrachte Anzahl der I in ableitbaren Wörtern Invariante: in allen herleitbaren Wörtern ist |x|I nicht ohne Rest durch 3 teilbar |MI|I = 1; Rest 1 Regeln 1 und 3 ändern die Anzahl der I nicht Regel 4 verdoppelt die Anzahl der I Rest 1 ; Rest 2, Rest 2 ; Rest 1 Regel 2 reduziert die Anzahl der I um 3; Rest bleibt gleich In keinem der Fälle wird aus einem nicht-Vielfachen von 3 ein Vielfaches von 3. Aber |MU|I = 0. Also ist MU nicht herleitbar. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 25 / 217 MIU und Logik MIU-System Wörter über {M, I, U} MI Ableitungsregeln Ableitbare Wörter Logik Syntaktisch korrekte Ausdrücke Axiome Beweisschritte Beweisbare Sätze Vollständigkeit Jedes ableitbare Wort wird durch iterierte Regelanwendungen gefunden Unentscheidbarkeit Um zu zeigen, dass MU nicht ableitbar ist, reicht iterierte Regelanwendung nicht aus. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 26 / 217 Wenn Sie noch nicht überzeugt sind. . . I have no respect for those with no respect for logic. Julius Benedict, 1988 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 27 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 28 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 29 / 217 Definitionen Definition (Definition) Eine Definition ist eine genaue Beschreibung eines Objektes oder Konzepts. kann einfach oder komplex sein muss präzise sein - für jeden Kandidaten muss klar sein, ob er die Definition erfüllt ist nicht notwendig identisch mit der Intuition oder umgangssprachlichen Verwendung des Worts Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 30 / 217 Mathematische Beweise Definition (Beweis) Ein Beweis ist ein Argument, das einen verständigen und unvoreingenommenen Empfänger von der unbestreitbaren Wahrheit einer Aussage überzeugt. oft zumindest semi-formal Die bewiesene Aussage ist fast immer ein Konditional (d. h. eine bedingte Aussage) aber die Annahmen sind für semi-formale Beweise oft implizit z. B. Eigenschaften von natürlichen Zahlen, Bedeutung von Symbolen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 31 / 217 Mengenbegriff von Georg Cantor Unter einer Menge verstehen wir jede Zusammenfassung M von bestimmten wohlunterschiedenen Objekten m unserer Anschauung oder unseres Denkens (welche die Elemente von M genannt werden) zu einem Ganzen. Georg Cantor (1845–1918) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 32 / 217 Mengen Definition (Menge, Element) Eine Menge ist eine Sammlung von Objekten, betrachtet als Einheit. Die Objekte heißen auch Elemente der Menge. Elemente können beliebige Objekte sein: Zahlen Wörter Andere Mengen (!) Listen, Paare, Funktionen, . . . . . . aber auch Menschen, Fahrzeuge, Kurse an der DHBW, . . . Die Menge aller in einem bestimmten Kontext betrachteten Objekte heißt oft Universum oder Trägermenge. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 33 / 217 Definition von Mengen Explizite Aufzählung: A = {2, 3, 5, 7, 11, 13} N = {0, 1, 2, 3, . . .} Beschreibung („Deskriptive Form“): A = {x | x ist Primzahl und x ≤ 13} Mengenzugehörigkeit 2 ∈ A (2 ist in A, 2 ist Element von A) 4∈ / A (4 ist nicht in A, 4 ist kein Element von A) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 34 / 217 Basiseigenschaften von Mengen Mengen sind ungeordnet {a, b, c} = {b, c, a} = {c, a, b} Geordnet sind z. B. Folgen Aber: Wir können eine externe Ordnung zu einer Menge definieren Jedes Element kommt in einer Menge maximal einmal vor {1, 1, 1} hat ein Element Mehrfaches Vorkommen des gleichen Elements erlauben z. B. Multimengen oder Folgen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 35 / 217 Teilmengen, Mengengleichheit Definition (Teilmenge) Eine Menge M1 heißt Teilmenge von M2 (M1 ⊆ M2 ), wenn für alle x ∈ M1 auch x ∈ M2 gilt. Definition (Mengengleichheit) Zwei Mengen M1 und M2 sind einander gleich (M1 = M2 ), wenn für alle Elemente x gilt: x ∈ M1 gdw. x ∈ M2 , d. h. wenn M1 und M2 die selben Elemente enthalten. Es gilt: M1 = M2 gdw. M1 ⊆ M2 und M2 ⊆ M1 . Vokabular: gdw. steht für „genau dann, wenn“ (dann und nur dann, wenn) englisch: iff; „if and only iff“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 36 / 217 Echte Teilmengen, Obermengen Definition (Echte Teilmenge) Eine Menge M1 heißt echte Teilmenge von M2 (M1 ⊂ M2 ), wenn M1 ⊆ M2 und M1 6= M2 gilt. Analog definieren wir Obermengen: M1 ⊇ M2 gdw. M2 ⊆ M1 M1 ⊃ M2 gdw. M2 ⊂ M1 Wir schreiben M1 * M2 , falls M1 keine Teilmenge von M2 ist. Notation: Manche Autoren verwenden ⊂ statt ⊆ und ( statt ⊂. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 37 / 217 Einige wichtige Mengen Die leere Menge enthält kein Element Schreibweise: ∅ oder {} Es gilt: ∅ ⊆ M für alle Mengen M N = {0, 1, 2, 3 . . .} (die natürlichen Zahlen) Informatiker (und moderne Mathematiker) fangen bei 0 an zu zählen! N+ = {1, 2, 3, . . .} (die positiven ganzen Zahlen) Z = {. . . , −2, −1, 0, 1, 2, . . .} (die ganzen Zahlen) Q = { pq | p ∈ Z, q ∈ N+ } (die rationalen Zahlen) R, die reellen Zahlen alle Zahlen auf der Zahlengerade (keine „Löcher“ wie√bei Q) enthält auch π, e, 2, . . . Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 38 / 217 Übung: Mengenbeschreibungen Geben Sie formale Beschreibungen für die folgenden Mengen: 1 Alle geraden Zahlen 2 Alle Quadratzahlen 3 Alle Primzahlen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 39 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 40 / 217 Venn-Diagramme Graphische Mengendarstellung Mengen sind zusammenhängende Flächen Überlappungen visualisieren gemeinsame Elemente Zeigen alle möglichen Beziehungen Quadratzahlen 36 Ungerade Zahlen 3 1 4 7 9 25 16 … Jan Hladik (DHBW Stuttgart) 5 49 … 13 Logik 11 John Venn (1834–1923) Wintersemester 2016/17 41 / 217 Mengenoperationen Annahme: Alle betrachteten Mengen sind Teilmengen einer gemeinsamen Trägermenge T . Wichtige Mengenoperationen sind: Vereinigung Schnitt Differenz Komplement Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 42 / 217 Vereinigungsmenge M1 ∪ M2 = {x | x ∈ M1 oder x ∈ M2 } x ∈ M1 ∪ M2 gdw. x ∈ M1 oder x ∈ M2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 43 / 217 Schnittmenge M1 ∩ M2 = {x | x ∈ M1 und x ∈ M2 } x ∈ M1 ∩ M2 gdw. x ∈ M1 und x ∈ M2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 44 / 217 Differenz M1 \ M2 = {x | x ∈ M1 und x ∈ / M2 } x ∈ M1 \ M2 gdw. x ∈ M1 und x ∈ / M2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 45 / 217 Komplement M1 = {x | x ∈ / M1 } x ∈ M1 gdw. x ∈ / M1 Achtung Hier ist die implizite Annahme der Trägermenge T besonders wichtig. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 46 / 217 Übung: Mengenoperationen 1 Sei T = {1, 2, . . . , 12}, M1 = {1, 2, 3, 4, 5, 6, 7, 8}, M2 = {2, 4, 6, 8, 10, 12}. Berechnen Sie die folgenden Mengen und visualisieren Sie diese. a) b) c) d) 2 M1 ∪ M2 M1 ∩ M2 M1 \ M2 M1 und M2 Sei T = N, M1 = {3i | i ∈ N}, M2 = {2i + 1 | i ∈ N}. Berechnen Sie die folgenden Mengen. Geben Sie jeweils eine mathematische und eine umgangssprachliche Charakterisierung des Ergebnisses an. a) b) c) d) M1 ∪ M2 M1 ∩ M2 M1 \ M2 M1 \ M2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 47 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 49 / 217 Kartesisches Produkt Definition (Kartesisches Produkt) Das kartesische Produkt (M1 × M2 ) zweier Mengen M1 und M2 ist die Menge {(x, y) | x ∈ M1 , y ∈ M2 }. M1 × M2 ist eine Menge von Paaren oder 2-Tupeln Verallgemeinerung: M1 × M2 . . . × Mn = {(x1 , x2 , . . . , xn ) | xi ∈ Mi } ist eine Menge von n-Tupeln René Descartes (1596–1650) Beispiel M1 = {1, 2, 3}, M2 = {a, b} M1 × M2 = {(1, a), (2, a), (3, a), (1, b), (2, b), (3, b)} M2 × M1 = ? M1 × M1 = ? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 50 / 217 Potenzmenge Definition (Potenzmenge) Die Potenzmenge (2M ) einer Menge M ist die Menge aller Teilmengen von M , also 2M = {M 0 | M 0 ⊆ M }. M ∈ 2M und ∅ ∈ 2M aber: M 6⊆ 2M 2M hat 2|M | Elemente Alternative Notation: P(M ) Beispiel M1 = {1, 2, 3}, M2 = {a, b} 2M1 = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}} 2M2 = ? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 51 / 217 Übung: Kartesisches Produkt und Potenzmenge Sei M1 = {1, 3, 5, 7}, M2 = {2, 4, 6}. Berechnen Sie: 1 M1 × M1 2 M1 × M2 3 M2 × M1 4 2M2 5 Warum berechnen wir nicht 2M1 ∪M2 ? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 52 / 217 Übung: M 3 Sei M = {a, b, c}. Berechnen Sie M 3 (= M × M × M ). Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 53 / 217 Rechenregeln (1) Es gelte M1 , M2 , M3 ⊆ T . Dann folgt: Kommutativgesetze M1 ∪ M2 = M2 ∪ M1 M1 ∩ M2 = M2 ∩ M1 Assoziativgesetze M1 ∪ (M2 ∪ M3 ) = (M1 ∪ M2 ) ∪ M3 M1 ∩ (M2 ∩ M3 ) = (M1 ∩ M2 ) ∩ M3 Distributivgesetze M1 ∪ (M2 ∩ M3 ) = (M1 ∪ M2 ) ∩ (M1 ∪ M3 ) M1 ∩ (M2 ∪ M3 ) = (M1 ∩ M2 ) ∪ (M1 ∩ M3 ) Gesetze von De Morgan Augustus De Morgan (1806-1871) M1 ∪ M2 = M1 ∩ M2 M1 ∩ M2 = M1 ∪ M2 Für welche Regeln gibt es keine Entsprechung in der Arithmetik? (mit „+“ statt „∪“ und „·“ statt „∩“) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 54 / 217 Rechenregeln (2) Es gelte M1 , M2 , M3 ⊆ T . Neutrale Elemente M1 ∪ ∅ = M1 M1 ∩ T = M1 Inverse Elemente M1 ∪ M1 = T M1 ∩ M1 = ∅ Absorbierende Elemente M1 ∪ T = T M1 ∩ ∅ = ∅ Idempotenz M1 ∪ M1 = M1 M1 ∩ M1 = M1 Doppelte Komplementbildung M1 = M1 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 55 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 56 / 217 Allgemeine Relationen Definition (Relation) Seien M1 , M2 , . . . Mn Mengen. Eine (n-stellige) Relation R über M1 , M2 , . . . Mn ist eine Teilmenge des kartesischen Produkts der Mengen, also R ⊆ M1 × M2 × . . . × Mn . Äquivalente Definition: R ∈ 2M1 ×M2 ×...×Mn Notation: Statt (x, y) ∈ R schreibt man oft R(x, y) Beispiel M1 = {Müller, Mayer, Schulze, Doe, Roe} (z. B. Personen) M2 = {Logik, LA, BWL, Digitaltechnik, PM} (z. B. Kurse) Belegt = {(Müller, Logik), (Müller, BWL), (Müller, Digitaltechnik), (Mayer, BWL), (Mayer, PM), (Schulze, LA), (Schulze, Digitaltechnik), (Doe, PM)} Welche Kurse hat Mayer / Roe belegt? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 57 / 217 Übung: Relationen Geben Sie jeweils ein Beispiel für eine möglichst interessante Relation aus dem realen Leben und aus der Mathematik an. Welche Mengen sind beteiligt? Welche Elemente stehen in Relation? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 58 / 217 Homogene Relationen Definition (Homogenität) Sei R eine Relation über M1 , M2 , . . . Mn . R heißt homogen, falls Mi = Mj für alle i, j ∈ {1, . . . , n}. Wenn R homogen ist, so nennen wir R auch eine Relation über M . Eine n-stellige Relation R(n) über einer Menge M ist eine Teilmenge von M × M × . . . × M | {z } n-mal eine Menge von n-Tupeln von Elementen aus M Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 59 / 217 Homogene Relationen Beispiele Einstellige (unäre) Relationen sind Teilmengen von M (1) PN = {2, 3, 5, 7, 11, . . .} über N Zweistellige (binäre) Relationen bestehen aus Paaren (2) TN = {(2, 2), (2, 4), (2, 6), . . . , (3, 3), (3, 6), (3, 9), . . .} über N (2) <N = {(0, 1), (0, 2), . . . , (1, 2), (1, 3), . . .} über N Bei binären Relationen schreiben wir oft xRy statt R(x, y). (z. B. 1 <N 2 statt <N (1, 2) oder (1, 2) ∈<N ) Nullstellige Relationen sind leer oder enthalten das leere Tupel die einzigen nullstelligen Relation über jeder Menge sind F (0) = ∅ und W (0) = {} Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 60 / 217 Homogene binäre Relationen Beispiele =N = {(0, 0), (1, 1), (2, 2), . . .} <Z = {(i, i + j) | i ∈ Z, j ∈ N+ } 6=N mit N = {w | w ist ein deutscher Name } {(Müller, Mayer), (Müller, Schulze), (Mayer, Schulze), (Mayer, Müller), (Schulze, Mayer), (Schulze, Müller)} ⊆ 6=N ⊆2M für eine Menge M ({a, b}, {a, b, c}) ∈ ⊆2M Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 61 / 217 Darstellung von Relationen: Menge Man kann endliche Relationen auf verschiedene Arten darstellen und im Computer repräsentieren. Bisher: Mengendarstellung Liste alle Tupel auf, die in Relation stehen Z. B.: M = {0, 1, 2, 3}. R = {(0, 0), (0, 1), (1, 2), (2, 3), (3, 3), (3, 1)} Vorteile: Kompakt Einfach zu implementieren Nachteile: Nicht anschaulich Nicht übersichtlich Prüfen, ob Tupel enthalten ist, dauert lange (Liste durchsuchen) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 62 / 217 Darstellung von Relationen: Graph Graphdarstellung Elemente sind Knoten Zwei Elemente x, y sind mit einer Kante verbunden, wenn xRy gilt Z. B.: M = {0, 1, 2, 3}. R = {(0, 0), (0, 1), (1, 2), (2, 3), (3, 3), (3, 1)} 2 0 1 3 Vorteile: Übersichtlich (wenn der Graph nicht zu groß ist) Anschaulich: Manche Eigenschaften können leicht erkannt werden Nachteile: Nur für binäre Relationen Nur anschaulich - wie repräsentieren wir den Graph im Rechner? Platzieren von Knoten und Kanten ist nicht trivial Übersichtlichkeit geht bei komplexen Relationen verloren Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 63 / 217 Historisches Beispiel Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 64 / 217 Darstellung von Relationen: Tabelle Darstellung als Tabelle oder Matrix Tabellenzeilen und Spalten sind mit Elementen beschriftet An Stelle Zeile x, Spalte y steht eine 1, wenn xRy gilt, sonst 0 Z. B.: 0 1 2 3 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 . . . oder als Matrix: 0 0 0 1 2 0 0 0 1 0 1 0 1 3 0 1 0 1 Vorteile: Sehr einfach im Rechner realisierbar Prüfen, ob xRy gilt, geht schnell („lookup“) Übersichtlicher als Mengen Manche Eigenschaften können leicht erkannt werden Nachteile: Viel Speicherbedarf (immer n 2 Einträge) Auf Papier nur für binäre Relationen praktikabel Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 65 / 217 Eigenschaften von Relationen Definition (linkstotal, rechtseindeutig) Sei R eine binäre Relation über A × B. Gibt es für jedes a ∈ A ein b ∈ B mit R(a, b), so heißt R linkstotal. Gilt für alle a ∈ A und b, c ∈ B, dass aus R(a, b) und R(a, c) folgt, dass auch b = c gilt, so heißt R rechtseindeutig. Linkstotal: Jedes Element aus A steht mit mindestens einem Element aus B in Relation. Rechtseindeutig: Jedes Element aus A steht mit höchstens einem Element aus B in Relation. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 66 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 67 / 217 Funktionen Definition (Funktion) Seien M , N Mengen. Eine partielle Funktion f : M → N ist eine Relation f ⊆ (M × N ), die rechtseindeutig ist. Eine (totale) Funktion f : M → N ist eine Relation f ⊆ (M × N ), die linkstotal und rechtseindeutig ist. M heißt Definitionsmenge von f . N heißt Zielmenge von f . Eine Funktion (auch: Abbildung) ordnet (jedem) Element aus M höchstens ein Element aus N zu. In der Mathematik sind Funktionen meist total. In der Informatik sind Funktionen sind mal so, mal so . . . Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 68 / 217 Funktionen: Schreibweise Oft wird eine konkrete Funktion durch eine Zuordnungsvorschrift definiert. Beispiele f : N → N; x 7→ x 2 g : Z → N; x 7→ |x| Notation: f (x) = y statt (x, y) ∈ f oder xfy Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 69 / 217 Funktionen auf einer Menge Definition (n-stellige Funktion auf einer Menge) Sei M eine Menge. Eine Funktion f : M n → M heißt n-stellige Funktion oder Operation auf M . Beispiele +N , die Addition der natürlichen Zahlen, ist eine zweistellige Operation auf N. Z. B.: (2, 3) 7→ 5 !N , die Fakultät der natürlichen Zahlen, ist eine einstellige Operation auf N. Z. B.: 4 7→ 24 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 70 / 217 Nullstellige Funktionen Funktion f : M 0 → M M 0 = {} Definitionsmenge hat nur ein Element f ist durch f () eindeutig festgelegt Nullstellige Funktionen sind Konstanten! Beispiele c : N0 → N; 7→ 5 ist die Konstante 5 Für die Menge aller Menschen M bezeichnet d : M 0 → M ; 7→ Kurt Gödel den einzelnen Menschen Kurt Gödel. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 71 / 217 Inhalt 1 Einführung 2 Mengenlehre Grundbegriffe Mengenoperationen Kartesisches Produkt, Potenzmenge Relationen Funktionen Signaturen 3 Aussagenlogik 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 72 / 217 Funktionen und Funktionssymbole Funktionssymbol Zeichen, z. B. „+“ zugeordnete Stelligkeit: „+(2) “ „x +(2) y“ ist korrekter Ausdruck, „x +(2) “ nicht wenn Stelligkeit klar ist, wird sie oft nicht angegeben auch: Operator Funktion Mathematisches Konstrukt z. B. +N : Abbildung von N × N → N (zweistellig) auch: Operation Achtung Dasselbe Funktionssymbol kann für verschiedene Trägermengen durch unterschiedliche Funktionen interpretiert werden! Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 73 / 217 Funktionen und Funktionssymbole Beispiel (Symbol „·(2) “) Funktion ·N : N × N → N; (x, y) 7→ x · y (Multiplikation) z. B. 2 ·N 3 = 6 Funktion ·S : S × S → S; (x, y) 7→ xy (Konkatenation) S: Menge der Strings über {a, b, c, . . . , z} z. B. ab ·S bc = abbc Analogie aus der OO-Programmierung: Überladen von Operatoren ein Symbol „+“ unterschiedliche Funktionen je nach Typ der Objekte Integer-Addition Matrix-Addition Vereinigung von Mengen ... Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 74 / 217 Signaturen Analog unterscheidet man Relationen und Relationssymbole: Relationssymbol Zeichen „<“ Stelligkeit <(2) 3 < 4 ist korrekter Ausdruck Relation <N ⊆ N × N Definition (Signatur) Eine Signatur ist eine Menge von Funktions- und Relations-Symbolen mit zugehörigen Stelligkeiten. Beispiele {+(2) , ·(2) , 0(0) , 1(0) } ist die Signatur der Arithmetik {+(2) , ·(2) , 0(0) , 1(0) , ≤(2) } ist die Signatur der geordneten Arithmetik {E (2) } ist die Signatur der Graphen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 75 / 217 Strukturen Definition (Struktur) Sei σ eine Signatur. Eine σ-Struktur A besteht aus einer nichtleeren Menge A, einer n-stelligen Funktion fA : An → A für jedes n-stellige Funktionssymbol f ∈ σ, einer n-stelligen Relation RA ⊆ An für jedes n-stellige Relationssymbol R ∈ σ. Beispiele (Strukturen mit Signatur der Arithmetik) (N, +N , ·N , 0N , 1N ) (N2×2 , +M , ·M , 00 00 , 10 01 ) wobei +M und ·M als Matrizen-Addition und -Multiplikation definiert sind (B, +B , ·B , 0B , 1B ) mit B = {0B , 1B } und Jan Hladik (DHBW Stuttgart) Logik +B 0 1 0 0 1 1 ·B 0 1 1 0 0 0 1 1 0 1 Wintersemester 2016/17 , 76 / 217 Algebraische Strukturen Das Gebiet der Algebra beschäftigt sich mit den Eigenschaften von Rechenoperationen Eine Algebraische Struktur (kurz: Algebra) hat eine funktionale Signatur. Beispiele (Bekannte algebraische Strukturen) (2) (0) (1) (2) (0) (1) (Z, +Z , 0Z , −Z ) ist eine Gruppe (2) (Z, +Z , 0Z , −Z , ∗Z ) ist ein Ring Mengenalgebra: Trägermenge: Potenzmenge P einer Menge M (1) (2) (2) Operatoren: ∪P , ∩P , P , ∅(0) , M (0) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 77 / 217 Zusammenfassung: Mengenlehre Menge Zusammenfassung von Elementen in ein Ganzes Operationen Vereinigung, Durchschnitt, Komplement Kartesisches Produkt, Potenzmenge Visualisierung Venn-Diagramme Rechenregeln De Morgan, neutrale/inverse/absorbierende Elemente Relation Menge von Tupeln Funktion Abbildung von Tupeln auf Elemente Signatur Funktions- und Relationssymbole mit fester Stelligkeit Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 78 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 79 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 80 / 217 Aussagenlogik Einfachste in dieser Vorlesung betrachtete Logik begrenzte Ausdrucksstärke einfach zu verstehen und anzuwenden enthält verschiedene Konzepte, die auch in ausdrucksstärkeren Logiken vorkommen Aussagenvariablen repräsentieren atomare Aussagen Beispiel A ; „Es regnet.“ Junktoren repräsentieren Zusammenhänge zwischen Aussagen Beispiel A→B ; „Wenn es regnet, wird die Erde nass.“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 81 / 217 Aussagevariablen werden durch Großbuchstaben repräsentiert A, B, X , Y , . . . drücken Aussagen aus, die wahr oder falsch sein können „Es regnet.“ „Paul liebt Paula.“ „Sokrates ist sterblich.“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 82 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 83 / 217 Syntax Lehre von wohlgeformten Ausdrücken Linguistik: Satzbau; Regeln zum Erzeugen von Sätzen aus Wörtern Logik: Regeln zum Erzeugen von Formeln aus vorgegebenen Symbolen Beispiele Deutsch Arithmetik syntaktisch falsch geben . hat Mensch ? die +)2 − ·((xy − 3 < Jan Hladik (DHBW Stuttgart) Logik syntaktisch richtig Heute ist schönes Wetter. 3 < (4 + 2) · 5 Wintersemester 2016/17 84 / 217 Syntax der Aussagenlogik Definition (Aussagenlogische Formel) Sei V eine Menge von Aussagenvariablen. Jedes X ∈ V ist eine aussagenlogische Formel. > und ⊥ sind aussagenlogische Formeln. Wenn ϕ und ψ aussagenlogische Formeln sind, dann auch ¬ϕ (Negation) ϕ → ψ (materiale Implikation) ϕ ∧ ψ (Konjunktion) ϕ ↔ ψ (materiale Äquivalenz) ϕ ∨ ψ (Disjunktion) (ϕ) (Klammern) Beispiele A∧B A ∧ (B ∨ C ) A → (B ∧ (C ↔ D) ∨ (D → E)) ⊥∨A ¬(A ∨ B) A ↔ (A ↔ D) ¬> C → (B ∨ D) ((A ↔ B) ↔ (C ↔ D)) → E Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 85 / 217 Übung: Syntax der AL Welche der folgenden Zeichenketten sind aussagenlogische Formeln? a) A → ⊥ g) A → A b) A ∧ (B ∨ C ) h) A ∧ ¬A c) A¬B i) A¬ ∧ B d) (A → C ) ∧ (¬A → C ) → C j) ¬A ∧ B e) ∨B ∨ C ∧ D k) (¬A) ∧ B f) A → (B ∨ ¬B)(C ∨ ¬C ) l) ¬(A ∧ B) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 86 / 217 Vorrang und Assoziativität der Junktoren Vorrang der Junktoren: ¬ ∧ ∨ → ↔ Beispiel A ∧ ¬B → B ∨ C bedeutet (A ∧ (¬B)) → (B ∨ C ) Gleiche Junktoren werden links-assoziativ gelesen. Beispiel A→B→C Jan Hladik (DHBW Stuttgart) bedeutet (A → B) → C Logik Wintersemester 2016/17 87 / 217 Übung: Vorrang und Klammern Entfernen Sie so viele Klammern wie möglich, ohne den Vorrang zu verändern. a) ((A ∧ B) ∨ ((C ∧ D) → (A ∨ C ))) b) ((((A ∧ (B ∨ C ) ∧ D)) → A) ∨ C ) c) (A ∧ (B ∨ (C ∧ (D → (A ∨ C ))))) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 88 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 89 / 217 Semantik Lehre von der Bedeutung von Ausdrücken Voraussetzung: Ausdruck ist wohlgeformt (syntaktisch korrekt) Linguistik: Was bedeutet ein Begriff oder Satz? Logik: Ist ein Satz wahr oder falsch? Beispiele Deutsch Arithmetik immer wahr Die Erde kreist um die Sonne. 4+2=6 Jan Hladik (DHBW Stuttgart) immer falsch Der Mensch x ist unsterblich. x ·x <0 Logik kommt drauf an Heute ist schönes Wetter. x +3=5 Wintersemester 2016/17 90 / 217 Semantik der Aussagenlogik Aussagevariablen erhalten Wert 0 oder 1 Formel wird wahr oder falsch Definition (Interpretation in der Aussagenlogik) Eine Interpretation ist eine Funktion I : V → B mit einer Menge von Aussagevariablen V der binären Menge B = {0, 1} Beispiel A 7→ 0 ; „es regnet nicht“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 91 / 217 Interpretation komplexer Formeln ⊥I 0 >I 1 (ϕ ∧ ψ)I ϕI 0 ϕI (¬ϕ)I 1 ψI 0 1 0 0 ψI 0 1 0 1 (ϕ → ψ)I ϕI 0 1 ψI 0 1 Jan Hladik (DHBW Stuttgart) 1 1 0 1 1 0 (ϕ ∨ ψ)I ϕI 0 1 0 1 1 1 (ϕ ↔ ψ)I ϕI 0 1 ψI 0 1 0 1 Logik 1 0 0 1 Wintersemester 2016/17 92 / 217 Beispiele: Interpretationen Die Interpretation I = {A 7→ 1, B 7→ 1, C 7→ 0} macht die Formel . . . B wahr; A ∧ B wahr; A ∧ C falsch; (A ∧ B) ∨ (A ∧ C ) wahr; ((A ∧ B) ∨ (A ∧ C )) → C falsch. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 93 / 217 Äquivalenz Definition (Äquivalenz) Zwei aussagenlogische Formeln ϕ und ψ sind (logisch) äquivalent, wenn jede Interpretation beiden Formeln denselben Wahrheitswert zuordnet, d. h.: ϕI = ψ I für jedes I Manche Operatoren lassen sich durch äquivalente Ausdrücke ersetzen: Satz (Äquivalenzen) ϕ ↔ ψ ist äquivalent zu (ϕ → ψ) ∧ (ψ → ϕ) oder (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) ϕ → ψ ist äquivalent zu ¬ϕ ∨ ψ ϕ ∧ ψ ist äquivalent zu ¬(¬ϕ ∨ ¬ψ) ϕ ∨ ψ ist äquivalent zu ¬(¬ϕ ∧ ¬ψ) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 94 / 217 Übung: Interpretationen Finden Sie für die folgenden Formeln je zwei Interpretationen: eine, die die Formel wahr macht eine, die die Formel falsch macht a) A ∧ B → C b) (A ∨ B) ∧ (A ∨ C ) → (B ∧ C ) c) A → B ↔ ¬B → ¬A Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 95 / 217 Tautologien Definition (Tautologie) Eine Tautologie ist eine Formel, die in jeder Interpretation wahr ist. Beispiele (Tautologien) A ↔ A (Identität) ¬(A ∧ ¬A) (Ausgeschlossener Widerspruch) A ∨ ¬A (Ausgeschlossenes Drittes) A → B ↔ ¬B → ¬A (Kontraposition, Umkehrschluss) (A → B) ∧ (A → ¬B) → ¬A (Reductio ad Absurdum, Widerspruchsbeweis) (A → B) ∧ A → B (Modus Ponens) (A → B) ∧ ¬B → ¬A (Modus Tollens) (A ∨ B) ∧ (A → C ) ∧ (B → C ) → C (Fallunterscheidung) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 96 / 217 Weitere Tautologien: Rechenregeln A ∧ B ↔ B ∧ A (Kommutativität) (A ∧ B) ∧ C ↔ A ∧ (B ∧ C ) (Assoziativität) (A ∧ B) ∨ C ↔ (A ∨ C ) ∧ (B ∨ C ) (Distributivität) ¬(A ∧ B) ↔ ¬A ∨ ¬B (Gesetz von De Morgan) A ∧ > ↔ A; A ∨ ⊥ ↔ A (Neutrales Element) A ∧ ¬A ↔ ⊥; A ∨ ¬A ↔ > (Inverses Element) A ∧ ⊥ ↔ ⊥; A ∨ > ↔ > (Absorbierendes Element) A ∧ A ↔ A; A ∨ A ↔ A (Idempotenz) ¬¬A ↔ A (Doppelte Negation) Kommutativität, Assoziativität, Distributivität und das Gesetz von de Morgan gelten auch, wenn ∧ und ∨ gegeneinander ausgetauscht werden. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 97 / 217 Modelle, Gültigkeit, Erfüllbarkeit Definition (Modell) Ein Modell für eine Formel ϕ ist eine Interpretation I, die ϕ wahr macht. (I |= ϕ). I = {A 7→ 1, B 7→ 0} ist Modell für A ∨ B, aber nicht für A ∧ B. Definition (Erfüllbarkeit, Gültigkeit) Eine Formel ϕ ist erfüllbar, wenn sie ein Modell hat. Eine Formel ϕ ist gültig ( |= ϕ) wenn jede Interpretation ein Modell ist (d. h. wenn ϕ eine Tautologie ist). erfüllbar A, A ∨ B, gültig A ∨ ¬A, Jan Hladik (DHBW Stuttgart) A ∧ ¬B, A → A, A↔B A ↔ ¬(¬A) Logik Wintersemester 2016/17 98 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Resolution Tableaus 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 99 / 217 Schlussfolgerung in der Aussagenlogik Bestimmung der Eigenschaften einer Formel ϕ gültig (ϕ ist eine Tautologie; jede Interpretation ist ein Modell) erfüllbar (Es gibt ein Modell für ϕ) falsifizierbar (Es gibt eine Interpretation, die kein Modell für ϕ ist) unerfüllbar (Es gibt keine Modelle für ϕ) Bestimmung, ob die Formel ϕ die Formel ψ (logisch) impliziert (ϕ |= ψ), d. h. ob jedes Modell für ϕ auch Modell für ψ ist Anmerkung: Formeln, die erfüllbar und falsifizierbar (also weder gültig noch unerfüllbar) sind, werden auch kontingent genannt. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 100 / 217 Beweis der Gültigkeit: Äquivalenzumformungen Beispiel (Reductio ad Absurdum) (A → B) ∧ (A → ¬B) → ¬A (¬A ∨ B) ∧ (¬A ∨ ¬B) → ¬A ¬((¬A ∨ B) ∧ (¬A ∨ ¬B)) ∨ ¬A ¬(¬A ∨ B) ∨ ¬(¬A ∨ ¬B) ∨ ¬A (A ∧ ¬B) ∨ (A ∧ B) ∨ ¬A (A ∧ (¬B ∨ B)) ∨ ¬A (A ∧ >) ∨ ¬A A ∨ ¬A > Ersetzung von → (zweimal) Ersetzung von → De Morgan De Morgan (zweimal) Distributivität Ausgeschlossenes Drittes > ist neutrales Element für ∧ Ausgeschlossenes Drittes Nachteile: Transformationen müssen geraten werden. Wenn ϕ nicht gezeigt werden kann, folgt nicht, dass ϕ nicht gültig ist. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 101 / 217 Beweis der Gültigkeit: Wahrheitstabelle Beispiel (Reductio ad Absurdum) A B 0 0 0 1 1 0 1 1 C := A → B 1 1 0 1 D := A → ¬B 1 1 1 0 C ∧ D ¬A 1 1 1 1 0 0 0 0 C ∧ D → ¬A 1 1 1 1 Nachteile: ineffizient, besonders bei vielen Variablen („exponentielle Komplexität“) redundant, da viele Varianten keinen Einfluss auf das Ergebnis haben Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 102 / 217 Übung: Schlussfolgerungsverfahren Zeigen Sie, dass die Formel ϕ eine Tautologie ist: ϕ = A ∧ B → C ↔ A → (B → C ) Verwenden Sie a) Äquivalenzumformungen, b) eine Wahrheitstabelle. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 103 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Resolution Tableaus 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 104 / 217 Resolution John Alan Robinson: A machine-oriented logic based on the resolution principle (1965) Erfüllbarkeitstest für Formel ϕ Erfüllbarkeitstest entscheidet auch Gültigkeit |= ϕ gilt gdw. ¬ϕ unerfüllbar ist. (logische) Implikation ϕ |= ψ gilt gdw. ϕ ∧ ¬ψ unerfüllbar ist. Jan Hladik (DHBW Stuttgart) Logik J. A. Robinson (1930–2016) Wintersemester 2016/17 105 / 217 Resolutionsprinzip Finde Widerspruch in ϕ betrachte ϕ als Menge von Disjunktionen (Klauseln) suche Paare von Klauseln C1 , C2 mit gegensätzlichen Literalen L, ¬L erzeuge Resolvente C3 durch Vereinigen der Elternklauseln C1 und C2 und Entfernen von L und ¬L C3 ist nicht äquivalent zu C1 ∧ C2 ! C1 ∧ C2 erfüllbar ; C3 erfüllbar C3 unerfüllbar ; C1 ∧ C2 unerfüllbar leere Klausel 2: Widerspruch Beispiel (ϕ = (X ∨ Y ) ∧ (¬Y ∨ Z ) ∧ ¬Z ∧ ¬X ) X ∨Y ¬Y ∨ Z ¬Z ¬X X ∨Z X 2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 106 / 217 Literale Definition (Literal) Ein Literal ist eine (möglicherweise negierte) Aussagenvariable. Beispiel Für die Variablenmenge {A, B} ist die Menge der möglichen Literale {A, ¬A, B, ¬B}. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 107 / 217 Konjunktive Normalform Definition (Konjunktive Normalform) Eine aussagenlogische Formel ϕ ist in konjunktiver Normalform (KNF), wenn ϕ eine Konjunktion von Disjunktionen von Literalen ist. Beispiele (X ∨ Y ) ∧ (¬Y ∨ Z ) ∧ ¬Z ∧ ¬X ist in KNF; (X ∧ Y ) ∨ ¬(¬Y ∨ Z ) ist nicht in KNF. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 108 / 217 Transformation in KNF Satz Jede aussagenlogische Formel kann in eine äquivalente Formel in KNF transformiert werden. Ziel: (L1 ∨ L2 ∨ L3 ) ∧ (L4 ∨ L5 ) ∧ L6 . . . Methode: 1. eliminiere materiale Implikation ϕ→ψ 1. und materiale Äquivalenz ϕ↔ψ 2. Gesetze von De Morgan ¬(ϕ ∨ ψ) 3. eliminiere doppelte Negation ¬¬ϕ 4. Distributivgesetz ϕ ∨ (ψ ∧ χ) 5. Assoziativgesetz ϕ ∨ (ψ ∨ χ) ; ; ; ; ; ; ¬ϕ ∨ ψ ϕ ∧ ψ ∨ ¬ϕ ∧ ¬ψ ¬ϕ ∧ ¬ψ ϕ (ϕ ∨ ψ) ∧ (ϕ ∨ χ) ϕ∨ψ∨χ Beispiel (X ∧ Y ) ∨ ¬(¬Y ∨ Z ) Jan Hladik (DHBW Stuttgart) ; (X ∨ Y ) ∧ (Y ∨ Y ) ∧ (X ∨ ¬Z ) ∧ (Y ∨ ¬Z ) Logik Wintersemester 2016/17 109 / 217 Übung: Konjunktive Normalform Transformieren Sie die folgenden Formeln in KNF: 1 (X ∨ Y ) ∧ (A ∧ B) 2 (X ∨ Y ) → (A ∨ B) 3 X ∨ (¬A ∧ ¬(B ∧ ¬C )) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 110 / 217 Klauseln Definition (Klausel) Eine Klausel ist eine als Menge geschriebene Disjunktion von Literalen. Aufgrund von Idempotenz und Kommutativität ist es möglich und sinnvoll, Disjunktionen als Mengen zu betrachten. Beispiel (X ∨ ¬Y ∨ Z ) ; {X , ¬Y , Z } Jede AL-Formel (in KNF) kann als Menge von Klauseln betrachtet werden. Beispiel ϕ = (X ∨ Y ) ∧ (¬Y ∨ Z ) ∧ ¬Z ∧ ¬X K(ϕ) = {{X , Y }, {¬Y , Z }, {¬Z }, {¬X }} Intuitiv: ∧ zwischen Mengen; ∨ zwischen Elementen der einzelnen Mengen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 111 / 217 Resolution von Klauseln Gegeben: zwei Klauseln C1 = {X , Y } und C2 = {¬Y , Z }. Gesucht: Modell für C1 ∧ C2 . In einer Interpretation I ist Y I entweder 0 oder 1. wenn Y I = 1 gilt, folgt C1I = 1, und C2I = 1 gilt gdw. Z I = 1; wenn Y I = 0 gilt, folgt C2I = 1, und C1I = 1 gilt gdw. X I = 1. Jedes Modell für C1 und C2 ist auch Modell für C3 = {X , Z }. Wenn {C1 , C2 } erfüllbar ist, dann auch {C1 , C2 , C3 }. Definition (Resolvente) Seien C1 = {L1 , L2 , L3 , . . .} und C2 = {¬L1 , L6 , L7 , . . .} AL-Klauseln. Dann ist C3 = {L2 , L3 , . . . , L6 , L7 , . . .} eine Resolvente von C1 und C2 ({C1 , C2 } ` C3 ). Kann eine Klausel C aus einer Klauselmenge S durch (mehrere) Resolutionsschritte hergeleitet werden, schreiben wir S `∗ C . Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 112 / 217 Übung: Resolution Finden Sie für die Klauselmenge S möglichst viele Resolventen. S = {{A, B, ¬C }, {B, C , D}, {¬D}, {¬A, D}, {¬B, ¬E}, {D, E}} Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 113 / 217 Erfüllbarkeitstest mit Resolution Sei S ` C . Jedes Modell für S ist auch Modell für C . Ist S erfüllbar, dann auch S ∪ {C }. Umgekehrt: Ist S ∪ {C } unerfüllbar, dann auch S. Die leere Klausel 2 ist unerfüllbar. Satz (Korrektheit der Resolution) Sei S eine Klauselmenge. Wenn 2 aus S durch Resolution hergeleitet werden kann, ist S unerfüllbar. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 114 / 217 Resolutions-Algorithmus für Aussagenlogik Eingabe: Ausgabe: 1: 2: 3: 4: 5: 6: 7: 8: AL-Formel ϕ „erfüllbar“ or „unerfüllbar“ transformiere ϕ in KNF initialisiere S mit Disjunktionen von ϕ while es existiert C3 = res(C1 , C2 ) mit C3 ∈ / S do if C3 = 2 then Ausgabe „unerfüllbar“ else S := S ∪ {C3 } Ausgabe „erfüllbar“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 115 / 217 Eigenschaften des Resolutions-Algorithmus Satz (Korrektheit) Aus K(ϕ) `∗ C folgt ϕ |= C . Satz (Widerlegungsvollständigkeit) Ist ϕ unerfüllbar, gilt K(ϕ) `∗ 2. Satz (Terminierung) Der Resolutions-Algorithmus terminiert für jede Eingabe. Beweis. Neue Klauseln enthalten nur Literale der Eingabe. (Endliches Vokabular) Nur neue Klauseln werden hinzugefügt. Klauseln werden nie entfernt. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 116 / 217 Resolution und Nichtdeterminismus Wenn mehrere Resolventen möglich sind: terminiert der Algorithmus für jede Variante . . . aber manche Varianten sind schneller als andere. Definition (Don’t-care-Nichtdeterminismus) Ein Algorithmus heißt don’t-care-nichtdeterministisch, wenn jede von mehreren möglichen nichtdeterministischen Entscheidungen zum korrekten Ergebnis führt. In don’t-care-nichtdeterministischen Algorithmen müssen einmal getroffene Entscheidungen nie rückgängig gemacht werden (Backtracking). Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 117 / 217 Übersetzung natürlicher Sprache in Aussagenlogik 1 Wenn Hans zum Meeting eingeladen wird und nicht auf Dienstreise ist, nimmt er am Meeting teil. ¬R ∧ E → M ; R ∨ ¬E ∨ M 3 Wenn der Chef Hans beim Meeting sehen will, lädt er ihn auch ein. C → E ; ¬C ∨ E 4 Wenn der Chef Hans nicht beim Meeting sehen will, wird Hans bald gekündigt. ¬C → K ; C ∨ K Hans hat nicht am Meeting teilgenommen. ¬M 5 Hans ist nicht auf einer Dienstreise. ¬R 6 Konklusion: Hans wird bald gekündigt. 2 Jan Hladik (DHBW Stuttgart) Logik K Wintersemester 2016/17 118 / 217 Logische Implikation und Erfüllbarkeit Implizieren die Prämissen 1–5 die Konklusion 6? Logisch: Ist jedes Modell von 1–5 auch ein Modell von 6? {1, 2, 3, 4, 5} |= 6? Umgekehrt: Existiert ein Modell von 1–5, im dem 6 nicht gilt? Logisch: Ist {1, 2, 3, 4, 5, ¬6} erfüllbar? Wenn ja, gilt die Implikation nicht. Ist {1, 2, 3, 4, 5, ¬6} unerfüllbar, gilt die Implikation. Teste mittels Resolution die Erfüllbarkeit von {{R, ¬E, M }, {¬C , E}, {C , K }, {¬M }, {¬R}, {¬K }} Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 119 / 217 Bestimmung des Schicksals von Hans durch Resolution {{R, ¬E, M }, {¬C , E}, {C , K }, {¬M }, {¬R}, {¬K }} R, ¬E, M ¬C , E ¬M R, ¬E C, K E, K R, K ¬R ¬K K 2 Die Folgerung gilt, d. h. Hans wird leider entlassen. . . Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 120 / 217 1 (R, ¬E, M ) 2 (¬C , E) 3 (C , K ) 4 (¬M ) 5 (¬R) 6 (K ) Test mit Wahrheitstabelle 1 1 1 1 0 1 .. . 1 1 1 1 0 1 0 1 1 0 .. . 0 0 0 0 .. . 1 1 1 1 0 0 1 0 R 0 0 E 0 0 M 0 0 .. . C 0 0 K 0 1 1 0 1 .. . 0 1 1 1 1 1 ∧ . . . ∧ 5 ∧ ¬6 0 0 .. . Die einzige Interpretation, die die Klauseln 1–5 wahr macht (Zeile 2), macht auch Klausel 6 wahr. Die letzte Spalte ist immer 0. Die Konklusion folgt aus den Prämissen. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 121 / 217 Übung: Resolutions-Algorithmus Für einen Juwelenraub gibt es drei Verdächtige: Anna, Bert und Claus. Über sie ist das Folgende bekannt: 1 Mindestens einer der Verdächtigen ist schuldig. 2 Wenn Anna schuldig ist, hatte sie genau einen Komplizen. 3 Wenn Bert unschuldig ist, dann auch Claus. 4 Wenn genau zwei Verdächtige schuldig sind, ist Claus einer von ihnen. 5 Wenn Claus unschuldig ist, ist Anna schuldig. 6 Konklusion: Bert und Claus sind schuldig. Formalisieren Sie die Aussagen in Aussagenlogik, transformieren Sie die sich ergebende Formel in KNF, und testen Sie die Gültigkeit der Implikation mit Hilfe des Resolutionsalgorithmus. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 122 / 217 Optimierung des Resolutionsverfahrens Auswahl der Elternklauseln ist entscheidend für Effizienz Heuristiken: Priorisiere kleine Klauseln Priorisiere Klauseln mit hoher Ableitungstiefe ; Depth-first-Suche Ignoriere Tautologien {X , ¬X , . . .} Ignoriere C1 , wenn ein C2 ⊆ C1 existiert Resolviere mehr als zwei Klauseln (Hyperresolution) Einschränkung auf Spezialfälle, z. B. Horn-Formeln Horn-Formel: Höchstens ein positives Literal X ∧ Y ∧ Z ... → W nützlich für Formalisierung von Regeln (Prolog) Polynomielle Laufzeit Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 123 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Resolution Tableaus 4 Prädikatenlogik Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 124 / 217 Tableau-Algorithmen Erfüllbarkeitstest für aussagenlogische Formeln Evert Willem Beth: Semantic entailment and formal derivability (1955) E. W. Beth (1908–1964) Anderer Ansatz für Erfüllbarkeitstest Resolution: suche einen Widerspruch Tableau: suche ein Modell erzeugt Tabellen-artige Struktur, bei der Spalten aufgeteilt werden ; „Tableau“ andere Sichtweise: Baumstruktur Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 125 / 217 Merkmale von Tableau-Algorithmen Beginne mit der Ausgangsformel χ und einer Spalte Regeln brechen komplexe Formeln auf einfachere herunter „Wenn ϕ ∧ ψ vorhanden ist, aber nicht ϕ und ψ, füge ϕ und ψ hinzu.“ Bei mehreren Möglichkeiten: Teile Spalte auf Clash beschreibt Situation, in denen ein Widerspruch vorliegt „ϕ und ¬ϕ sind vorhanden.“ Clashes gibt es zwischen Formeln in der aktuellen Spalte und den darüberliegenden Ergebnis: Wenn jede Spalte einen Clash enthält, gibt es kein Modell ; χ ist unerfüllbar Wenn keine Regel mehr anwendbar ist (Tableau ist vollständig) und mindestens eine Spalte Clash-frei ist, gibt es ein Modell ; χ ist erfüllbar Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 126 / 217 Tableau-Algorithmen: Regeln Vorbedingung „Wenn ϕ ∧ ψ vorhanden ist. . . “ Welche Formel ist zu verarbeiten? Anwendbarkeitsbedingung „. . . aber nicht ϕ und ψ, . . . “ Wann ist Regel nicht mehr anwendbar? (; Terminierung) bezieht sich auf aktuelle Spalte und darüberliegende Nachbedingung „. . . füge ϕ und ψ hinzu.“ Wie ist Formel zu verarbeiten? Regeln können nicht-deterministisch sein: „Wenn ϕ ∨ ψ enthalten ist. . . , füge ϕ oder ψ hinzu“ Teile aktuelle Spalte, teste ϕ in einer Spalte, ψ in der anderen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 127 / 217 Tableau-Regeln und Negations-Normalform Definition (Negations-Normalform) Eine aussagenlogische Formel ist in Negations-Normalform (NNF) wenn als binäre Junktoren nur ∧ und ∨ enthalten sind und Negation nur direkt vor Aussagevariablen vorkommt. Satz Jede AL-Formel kann in NNF transformiert werden. Beweis. Verfahren: 1 Elimination von → und ↔ 2 Anwendung der Gesetze von De Morgan 3 Entfernung doppelter Negation (Wie für KNF.) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 128 / 217 Tableau-Regeln für Aussagenlogik ∧-Regel Wenn ϕ ∧ ψ ∈ S und {ϕ, ψ} * S dann S := S ∪ {ϕ, ψ} ∨-Regel Wenn ϕ ∨ ψ ∈ S und {ϕ, ψ} ∩ S = ∅ dann S := S ∪ {ϕ} oder S := S ∪ {ψ} Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 129 / 217 Tableau-Algorithmus für Aussagenlogik Eingabe: Ausgabe: 1: 2: 3: 4: 5: 6: 7: 8: AL-Formel ϕ „erfüllbar“ oder „unerfüllbar“ ϕ0 = nnf(ϕ) initialisiere S mit {ϕ0 } while eine Regel R ist auf ein ψ ∈ S anwendbar do wende R auf ψ an if jede Spalte enthält einen Clash then Ausgabe „unerfüllbar“ else Ausgabe „erfüllbar“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 130 / 217 Beispiel: Bestimmung des Schicksals von Hans mit Tableau Prämissen: (R ∨ ¬E ∨ M ) ∧ (¬C ∨ E) ∧ (C ∨ K ) ∧ ¬M ∧ ¬R Konklusion: K Zeile 1 2 3 4 5 6 7 8 9 10 (R ∨ ¬E ∨ M ) ∧ (¬C ∨ E) ∧ (C ∨ K ) ∧ ¬M ∧ ¬R ∧ ¬K R ∨ ¬E ∨ M ¬C ∨ E C ∨K ¬M ¬R ¬K C K 7 ¬C 8 E R 6 ¬E 9 M 5 Jede Spalte enthält einen Clash ; Formel 1 ∧ 2 ∧ 3 ∧ 4 ∧ 5 ∧ ¬6 ist unerfüllbar ; Prämissen 1–5 implizieren die Konklusion 6 Jan Hladik (DHBW Stuttgart) Logik Regel Eingabe 1: ∧ 4: ∨ 3: ∨ 2: ∨ Wintersemester 2016/17 131 / 217 Durchführung des Tableau-Algorithmus Vorrang beachten: Formeln von „außen“ nach „innen“ abarbeiten Clash: nur zwischen aktueller Spalte und den darüberliegenden Spalte steht logisch für Menge aller Formeln, die in ihr und den darüberliegenden Spalten enthalten sind Effizienz: Wenn mehrere Regeln anwendbar sind: ∧-Regel zuerst sonst: ∧-Regel in jeder neuen Spalte anwendbar ; Ineffizienz Beispiel: {A ∧ B, ¬C ∧ ¬D, ¬A ∨ ¬B ∨ C ∨ D} Transformation von NNF in KNF ist kontraproduktiv nach erstem Schritt wird nur ∨-Regel angewendet ; Ineffizienz Beispiel: vergleiche NNF ¬A ∨ B ∧ ¬C ∨ ¬B ∧ C (3 Spalten) mit KNF (¬A ∨ B ∨ C ) ∧ (¬A ∨ ¬B ∨ ¬C ) (7 Spalten) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 132 / 217 Übung: Tableau-Algorithmus Zeigen Sie mit einem Tableau, dass Bert und Claus schuldig sind. (A ∨ B ∨ C ) ∧ (¬A ∨ (B ∧ ¬C ) ∨ (¬B ∧ C )) ∧ (B ∨ ¬C ) ∧ (¬A ∨ ¬B ∨ C ) ∧ (C ∨ A) ∧ (¬B ∨ ¬C ) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 133 / 217 Korrektheit des Tableau-Algorithmus Satz (Korrektheit) Wenn das vollständige Tableau für ϕ eine Clash-freie Spalte enthält, ist ϕ erfüllbar. Beweis. Idee: Literale der Clash-freien Spalte bilden Modell M. Wenn X ∈ S, dann X M = 1; sonst X M = 0 Clash-frei: für keine Variable X ist X und ¬X enthalten Vollständig: für jede Konjunktion χ ∧ ψ ∈ S gilt auch {χ, ψ} ⊆ S für jede Disjunktion χ ∨ ψ ∈ S gilt auch {χ, ψ} ∩ S 6= ∅ Induktion: Für jedes ψ ∈ S gilt: M |= ψ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 134 / 217 Vollständigkeit des Tableau-Algorithmus Satz (Vollständigkeit) Wenn ϕ erfüllbar ist, enthält das vollständige Tableau für ϕ eine Clash-freie Spalte. Beweis. Idee: „Regelanwendung erhält Erfüllbarkeit.“ Wenn eine Formelmenge S vor Regelanwendung erfüllbar war, kann die Regel so angewendet werden, dass S auch nach der Anwendung noch erfüllbar ist. ∧-Regel Wenn M |= ψ ∧ χ gilt, gilt auch M |= ψ und M |= χ. ∨-Regel Wenn M |= ψ ∨ χ gilt, gilt auch M |= ψ oder M |= χ. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 135 / 217 Teilformeln Definition (Teilformel) Sei ϕ eine aussagenlogische Formel. Die Formel ψ ist Teilformel von ϕ, wenn eine der folgenden Bedingungen erfüllt ist: ϕ=ψ ϕ = ¬χ und ψ ist Teilformel von χ ϕ = χ1 ◦ χ2 und ψ ist Teilformel von χ1 oder χ2 (mit ◦ ∈ {∧, ∨, →, ↔}) Beispiel (ϕ = A ∧ ¬(B ∨ ¬A) ∨ (A → ¬C )) Die Menge der Teilformeln von ϕ ist {ϕ, A ∧ ¬(B ∨ ¬A), A → ¬C , A, ¬(B ∨ ¬A), B ∨ ¬A, B, ¬A, ¬C , C }. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 136 / 217 Terminierung des Tableau-Algorithmus Satz (Terminierung) Der Tableau-Algorithmus terminiert für jede Formel ϕ nach endlich vielen Schritten. Beweis. Es gibt nur endlich viele Teilformeln von ϕ (endliches Vokabular). Jede Regelanwendung fügt nur Teilformeln zu Formelmenge hinzu. Auf jede Teilformel wird in jeder Spalte höchstens einmal eine Regel angewendet. Die Anzahl der Spalten ist beschränkt durch die Anzahl der Disjunktionen in ϕ. Formeln werden nie entfernt. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 137 / 217 Tableaus und Nichtdeterminismus sind mehrere Regeln anwendbar, ist die Auswahl der nächsten Regel don’t-care-nichtdeterministisch Jede Auswahl führt zur Lösung die Auswahl der Alternative durch die ∨-Regel ist don’t-know-nichtdeterministisch Finden der Lösung kann von „richtiger“ Alternative abhängen Jede Alternative muss getestet werden Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 138 / 217 Tableaus in der Praxis Anzahl der Spalten kann exponentiell in der Größe von ϕ sein Beispiel: ϕ = (A ∨ B) ∧ (C ∨ D) ∧ (E ∨ F ) Für Zeit- und Platz-Effizienz: Erzeuge Tableau depth-first Halte nur eine Spalte gleichzeitig im Speicher Wende dort alle möglichen Regeln an Spalte ist Clash-frei und vollständig: Ausgabe „erfüllbar“ Spalte enthält Clash: Versuche nächste Spalte (oder Ausgabe „unerfüllbar“) Overhead: Backtracking-Information for jede Anwendung der ∨-Regel aus Effizienzgründen auch hier zuerst ∧-Regel anwenden Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 139 / 217 Vergleich: Tableaus und Resolution Gemeinsamkeiten Erfüllbarkeitstests Können auch Gültigkeit und Implikation testen Entscheidungsverfahren Effizienter als Wahrheitstabelle Vorteile von Tableaus Effizient für erfüllbare Eingaben Erzeugt Modell für erfüllbare Eingaben Vorteile der Resolution Effizient für unerfüllbare Eingaben Gesamtes Verfahren ist don’t-care-nichtdeterministisch (kein Backtracking) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 140 / 217 Zusammenfassung: Aussagenlogik Aussagenvariable repräsentiert Elementaraussage kann wahr oder falsch sein Junktoren verbinden Aussagenvariablen zu komplexen Formeln Auswertung über Wahrheitstabelle Interpretation belegt Variablen mit 0 oder 1 macht Formel wahr oder falsch Modell macht Formel wahr Erfüllbar es gibt ein Modell Gültig jede Interpretation ist Modell (Tautologie) Schlussfolgerung Erfüllbarkeit, Gültigkeit, Implikation entscheidbar (korrekt, vollständig, terminierend) Resolution sucht Widerspruch KNF, Klausel, Resolvente Tableau sucht Modell NNF, Regel, Clash Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 141 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 142 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 143 / 217 Grenzen der Aussagenlogik AL kann Aussagen nur als Ganzes beschreiben Aussagenvariablen können nur wahr oder falsch sein Innere Struktur der Aussagen kann nicht repräsentiert werden Beispiele Innere Struktur von Aussagen „Anna kennt Bert und Anna kennt Claus.“ ; A ∧ B „Anna kennt Bert und Anna mag Bert.“ ; A∧B „Anna kennt Bert und Claus kennt Bert.“ ; A ∧ B Schlussfolgerung „Kein Pinguin kann fliegen.“ ; ¬(P ∧ F ) ? „Alle Pinguine sind Vögel.“ ; P→V Konklusion: „Manche Vögel können nicht fliegen.“ ; V → ¬F ? Formalisierung fehlerhaft (keine Elementaraussagen) Konklusion folgt nicht aus Prämissen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 144 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 145 / 217 Prädikatenlogik erster Stufe: Syntax Konstruktor Variablen Konstantensymbole Funktionssymbole Prädikate Quantoren Junktoren Notation x, y a, b, c f (x), h(x, y) R(x), S(x, y) ∀xP(x), ∃yS(x, y) ∧, ∨, ¬, →, ↔ Jan Hladik (DHBW Stuttgart) reale Welt (Menschen) calvin, hobbes, mom, dad mutter(calvin), ehepartner(mom) Sohn(mom,calvin), Freund(calvin,hobbes) ∀x(Freund(x, hobbes)) ∃x(Freund(calvin, x)) Logik Mathematik (Zahlen) 1, 2, π √ x + y, x, logb x x > y, x = y, Prim(x) ∀x(x ≥ 0) ∃x(x + x = 2) Wintersemester 2016/17 146 / 217 Erinnerung: Stelligkeit von Funktionssymbolen Ein n-stelliges Funktionssymbol hat genau n Argumente + und log sind zweistellig (binär) (x + y, logb x) √ √ ist einstellig (unär) ( x) mutter() und ehepartner() sind einstellig nullstellige Funktionssymbole sind Konstantensymbole Notation (falls notwendig): f (n) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 147 / 217 Terme Aus Variablen und Funktionssymbolen (einschließlich Konstantensymbolen) sind Terme zusammengesetzt. Definition (Term) Terme sind wie folgt induktiv definiert: Jede Variable ist ein Term. Wenn f ein n-stelliges Funktionssymbol ist und t1 , . . . , tn Terme sind, ist auch f (t1 , . . . , tn ) ein Term. Terme, die keine Variablen enthalten, heißen auch Grundterme. Beachte: Jede Konstante ist ein Term. Terme bezeichnen Elemente der Domäne. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 148 / 217 Beispiele: Terme Variablen: {x, y} Funktionssymbole: {c (0) , d (0) , f (1) , +(2) } Beispiele (Grundterme) Beispiele (Terme, keine Grundterme) c x f (f (d)) f (y) c + f (c) oder +(c, f (c)) c + f (y) +(c, +(d, +(f (c), f (d)))) +(c, +(y, +(f (x), f (y)))) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 149 / 217 Stelligkeit von Prädikaten Prädikate sind Relationssymbole. Ein n-stelliges Prädikat hat genau n Terme als Argumente. Keine Prädikate in Prädikaten! > ist zweistellig (x > y) Prim() is einstellig (Prim(x)). Sohn() und Freund() sind zweistellig. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 150 / 217 Atome Aus Prädikaten und Termen sind Atome zusammengesetzt. Definition (Atom) Atome wie folgt definiert: Wenn R ein n-stelliges Prädikat ist und t1 , . . . , tn Terme sind, ist R(t1 , . . . , tn ) ein Atom. Atome, die keine Variablen enthalten, heißen auch Grundatome. Jedes nullstellige Prädikat ist ein Atom. Nullstellige Prädikate sind Aussagenvariablen. Atome repräsentieren Elementaraussagen (sind wahr oder falsch). Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 151 / 217 Beispiele: Atome Prädikate: {A(0) , P (1) , >(2) } Beispiele (Grundatome) Beispiele (Atome, keine Grundatome) P(c) x>y c > f (c) oder > (c, f (c)) f (y) > c + f (x) c>c P(f (c + y)) P(c + f (c)) A Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 152 / 217 Formeln Aus Atomen, Quantoren und Junktoren sind (komplexe) Formeln zusammengesetzt. Definition (Formel) Formeln sind wie folgt induktiv definiert: Jedes Atom ist eine Formel. Wenn ϕ und ψ Formeln sind und x eine Variable ist, sind die folgenden Ausdrücke auch Formeln: ¬ϕ, >, ⊥ ϕ ∧ ψ, ϕ ∨ ψ, ϕ → ψ, ϕ ↔ ψ ∀xϕ, ∃xϕ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 153 / 217 Freie und gebundene Variablen Allquantor ∀: ∀xϕ Existenzquantor ∃: ∃xϕ Variablen in ϕ werden durch den Quantor gebunden. Definition (frei, gebunden) Kommt eine Variable x in einer Formel ϕ vor, vor der ein Quantor ∀x oder ∃x steht, heißt x gebunden. Eine nicht gebundene Variable heißt frei. Eine Formel mit freien Variablen heißt offen. Eine Formel ohne freie Variablen heißt geschlossen (oder auch Satz). Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 154 / 217 Beispiel: Formeln Beispiele (Offene Formeln) Beispiele (Sätze) P(x) ∀xx > c f (y) > c + f (x) ∀x∀y(x > y ∨ y > x ∨ x = y) P(y) ∨ x > c ∃xP(x) x > y → ¬∀x(x > y) ∃x(P(x) ∨ x > d) ∀xP(x) ∨ x > c ∃x(P(x) → ∀y(y + c > x)) Jan Hladik (DHBW Stuttgart) (!) Logik Wintersemester 2016/17 155 / 217 Vorrang der Operatoren f P ∀, ∃ ¬ ∧ ∨ → ↔ Quantoren binden stärker als alle Junktoren ∀xR(x, y) ∧ S(x) bedeutet (∀xR(x, y)) ∧ S(x) ∃xR(x, y) → S(y) bedeutet (∃xR(x, y)) → S(y) Funktionssymbole und Prädikate binden stärker als Quantoren ∀x∀yx + y = y + x bedeutet ∀x∀y(x + y = y + x) Sonst wäre es auch keine Formel: (∀x∀yx) + y = y + x Klarer in Präfix-Notation: ∀x∀y = (+(x, y), +(y, x)) Funktionssymbole binden stärker als Prädikate x + y > c + d bedeutet (x + y) > (c + d) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 156 / 217 Übung: Syntax der Prädikatenlogik Gegeben seien die Funktionssymbole +(2) , f (1) , c (0) und d (0) sowie die Prädikate =(2) , >(2) und P (1) . Entscheiden Sie, in welche Kategorien die folgenden Zeichenketten fallen: (Grund-) Term Formel Unsinn (Grund-) Atom Satz Entscheiden Sie, ob die Variablenvorkommen gebunden oder frei sind. a) x + y i) P(∀x(x = x)) b) x + y > c j) x > y ∧ x + y c) P(c, d) k) ∀x(x > c ∨ c > x) ∨ x = c d) x > P(d) l) c > f (d) e) ∀x(x + c > x) m) P(P(x)) f) ∀x > (+(x, c), x) n) f (f (x)) g) ∀x, y(x > y) o) ∀x∀y(P(x) > P(y)) h) ∃x∃y(x + y) Jan Hladik (DHBW Stuttgart) p) ∃xP(x) → ∀xP(x) Logik Wintersemester 2016/17 157 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 158 / 217 Semantik in der Prädikatenlogik: Interpretationen Erinnerung: Interpretation in der Aussagenlogik weist Aussagenvariablen Wert 1 oder 0 zu macht Formel wahr oder falsch Interpretation in der Prädikatenlogik bestimmt das Universum (auch Domäne genannt) weist jedem n-stelligen Funktionssymbol f eine n-stellige Funktion f I über dem Universum zu weist jedem n-stelligen Prädikat R eine n-stellige Relation RI über dem Universum zu macht Formel wahr oder falsch Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 159 / 217 Interpretation 1 ϕ = ∀xR(x, f (x)) Beispiel (Interpretation I mit Menschen als Domäne) Universum ∆I : M = {Anna,Bob,Clara,Dirk} Funktion f I : ehepartnerM = {Anna 7→ Bob, Bob 7→ Anna, Clara 7→ Dirk, Dirk 7→ Clara} Relation RI : MagM = {(Anna,Bob), (Anna,Clara), (Bob,Anna), (Bob,Dirk), (Clara,Dirk), (Dirk,Anna), (Dirk,Bob)} I macht ϕ falsch (weil Dirk Clara nicht mag) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 160 / 217 Interpretation 2 ϕ = ∀xR(x, f (x)) Beispiel (Interpretation J mit Zahlen als Domäne) Universum ∆J : N = {0, 1, 2, . . .} Funktion f J : s N (Nachfolger) = {0 7→ 1, 1 7→ 2, . . .} Relation RJ : <N (kleiner als) = {(0, 1), (0, 2), . . . , (1, 2), (1, 3), . . .} J macht ϕ wahr (weil jede Zahl kleiner ist als ihr Nachfolger) Wahrheitswert hängt von der Interpretation ab der Interpretation der Funktionssymbole und Prädikate 0 Wenn J 0 R als >N interpretiert, ist ϕJ falsch dem Universum ∀x∃y(y < x) ist wahr in Z, aber falsch in N. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 161 / 217 Übung: Interpretationen Sei ϕ = ∀x∀y((¬(x = y) ∧ R(x, y)) → ∃z((¬(z = x)) ∧ (¬(z = y)) ∧ P(z))) und I wie folgt: ∆I ist die Menge aller Menschen; RI = streiten; P I = sich freuen. Was ist die Aussage von ϕI ? Sei ψ = ∀x∃yf (x, y) = c und J wie folgt: ∆J = Z; f J = +Z , d. h. Addition für Ganzzahlen; c J = 0Z , d. h. Null (als Element der Ganzzahlen). Was ist die Aussage von ψ J ? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 162 / 217 Interpretation freier Variablen Wie werden freie Variablen interpretiert? Jede freie Variable wird von I auf ein Element der Domäne abgebildet Ähnlich Variablenzuweisung in Aussagenlogik Jede Aussagenvariable wird auf ein Element von B abgebildet In der Praxis interessieren wir uns meistens für Sätze. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 163 / 217 Interpretation: Formale Definition Definition (Interpretation in der Prädikatenlogik) Für eine Formel ϕ mit Funktionssymbolen F , Prädikaten P und freien Variablen V ist eine Interpretation I ein Tripel (∆I , ·I , µ) mit ∆I ist eine nichtleere Menge, ·I weist jedem n-stelligen f ∈ F eine n-stellige Funktion f I über ∆I zu, jedem n-stelligen R ∈ P eine n-stellige Relation RI über ∆I zu. µ : V → ∆I weist jedem x ∈ V ein Element x I ∈ ∆I zu. Domäne darf nicht leer sein. Nullstellige Funktionssymbole (Konstantensymbole) werden auf Elemente der Domäne abgebildet. Nullstellige Prädikate werden auf {2} oder ∅ abgebildet. Aussagenvariablen: {2} ; 1; ∅ ; 0 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 164 / 217 Interpretation komplexer Formeln Der Wahrheitswert komplexer Formeln wird rekursiv bestimmt: Für einen komplexen Term t = f (t1 , . . . , tn ), t I werden mögliche freie Variablen x, y, . . . durch µ(x), µ(y), . . . ersetzt; die Terme t1 , . . . , tn rekursiv ausgewertet als t1I , . . . , tnI ; die Funktion f I für diese Ergebnisse ausgewertet t I = f I ((µ(t1 ))I , . . . , (µ(tn ))I ). Für ein Atom ϕ = P(t1 , . . . , tn ) werden die Terme t1 , . . . , tn rekursiv ausgewertet; geprüft, ob das sich ergebende Tupel in P I enthalten ist. Für gebundene Variablen ∀xϕ(x)/∃xϕ(x) wird geprüft, ob ϕ(x) für alle/ein Element der Domäne wahr ist. Formeln mit Junktoren werden wie in der Aussagenlogik ausgewertet. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 165 / 217 Beispiel: Interpretation komplexer Formeln ϕ = ¬P(x) ∧ ∃yR(c, f (y)) ∆I µ = N = {x → 7 4N } Bestimmung von ϕI : µ auswerten Funktionssymbole Prädikate Quantor: Wähle y = 20N Funktion auswerten Relationen auswerten Junktoren auswerten Jan Hladik (DHBW Stuttgart) PI RI = PrimN = ≤N fI cI = nachfolgerN = 17N ¬P I (4N ) ∧ ∃yRI (c I , f I (y)) ¬P I (4N ) ∧ ∃yRI (17N , nachfolgerN (y)) ¬PrimN (4N ) ∧ ∃y ≤N (17N , nachfolgerN (y)) ¬PrimN (4N ) ∧ ≤N (17N , nachfolgerN (20N )) ¬PrimN (4N ) ∧ ≤N (17N , 21N ) ¬0B ∧ 1B 1B Logik Wintersemester 2016/17 166 / 217 Modelle in der Prädikatenlogik Definition (Modell) Eine Interpretation I = (∆I , ·I , µ) erfüllt eine Formel ϕ (ist ein Modell für ϕ, I |= ϕ), wenn ϕ = P(t1 , . . . , tn ) ein Atom ist und ((µ(t1 ))I , . . . , (µ(tn ))I ) ∈ P I gilt; ϕ = ∀xψ(x) gilt und für jedes x ∈ ∆I ψ(x) gilt; ϕ = ∃xψ(x) gilt und für ein x ∈ ∆I ψ(x) gilt; ϕ einen Junktor enthält (z. B., ϕ = ¬ϕ1 , ϕ = ϕ1 ∧ ϕ2 ) und entsprechend der Wahrheitstabelle als wahr ausgewertet wird. Definition (Logische Implikation) Eine Formelmenge Φ impliziert logisch eine Formel ϕ (Φ |= ϕ), wenn jedes Modell von Φ auch Modell von ϕ ist. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 167 / 217 Übung: Interpretationen Finden Sie für jeden der folgenden Sätze eine Interpretation, in der er wahr ist, und eine Interpretation, in der er falsch ist. a) ∀x∀y(R(x, y) → ∃z(R(x, z) ∧ R(z, y))) b) ¬∃x(f (x) = c) c) ∀x∀y(f (x) = f (y) → x = y) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 168 / 217 Prädikatenlogik in der Algebra Beispiel (Körperaxiome) Abschluss unter Addition Assoziativität der Addition Kommutativität der Addition Neutrales Element der Addition Inverses Element der Addition (analog für Multiplikation) Distributivität Jan Hladik (DHBW Stuttgart) ∀x∀y∃z(x + y = z) ∀x∀y∀z((x + (y + z)) = ((x + y) + z)) ∀x∀y(x + y = y + x) ∀x(x + 0 = x) ∀x∃y(x + y = 0) ... ∀x∀y∀z(x · (y + z) = (x · y) + (x · z)) Logik Wintersemester 2016/17 169 / 217 Warum „Prädikatenlogik erster Stufe“? PL erster Stufe Quantifizierung von Elementen (∃xP(x)) PL zweiter Stufe Quantifizierung von Prädikaten (∃P∀xP(x)) PL dritter Stufe Quantifizierung von Prädikaten über Prädikaten (∃R∀P(R(P))) ... PL1 genügt zur Axiomatisierung der rationalen Zahlen (; Algebra) PL2 ist notwendig für reelle Zahlen (; Analysis) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 170 / 217 Anwendung der PL zweiter Stufe Definition (Dedekind-Vollständigkeit) Eine Menge M ist Dedekind-vollständig, wenn jede nach oben beschränkte nichtleere Teilmenge S ⊆ M eine kleinste obere Schranke hat. Beispiel (Irrationale Zahl √ 2) S = {x | x · x ≤ 2} √ Kleinste obere Schranke von S: 2 √ 2∈ / Q ; nicht Dedekind-vollständig √ 2 ∈ R ; Dedekind-vollständig Jan Hladik (DHBW Stuttgart) Logik Richard Dedekind (1831–1916) Wintersemester 2016/17 171 / 217 Dedekind-Vollständigkeit in PL2 ∀S h[∃xS(x) ∧ ∃x∀y(S(y) → y < x)] → ∃x[∀y(S(y) → y ≤ x) ∧ ∀z(z < x → ∃t(z < t ∧ S(t)))]i „Für jede Menge S gilt: Wenn S mindestens ein Element enthält und ein x existiert, das größer ist als alle Elemente y von S, dann existiert auch ein x, das größer oder gleich jedem Element y von S ist und für jedes z, das kleiner ist als dieses x, gibt es ein t, das größer als z und in S enthalten ist.“ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 172 / 217 Übersetzung natürlicher Sprache in PL In PL kann man mehr ausdrücken als in AL . . . . . . aber: Schlussfolgern in PL ist schwieriger als in AL. Beispiel (Pinguine) Kein Pinguin kann fliegen. ∀x(P(x) → ¬F (x)) Alle Pinguine sind Vögel. ∀x(P(x) → V (x)) Manche Vögel können nicht fliegen. ∃x(V (x) ∧ ¬F (x)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 173 / 217 Übung: Formalisierung in PL Formalisieren Sie die folgenden Sätze in Prädikatenlogik. Verwenden Sie hierzu die einstelligen Prädikate Student, Professor, Vorlesung, die zweistelligen Prädikate Mag, Betreut, Hält, das zweistellige Prädikat = (für Gleichheit von Elementen). a) Jeder Student mag (mindestens) einen Professor. b) Jeder Professor mag alle Studenten. c) Studenten werden nur von Professoren betreut. d) Jeder Professor hält mindestens zwei Vorlesungen. e) Jeder Professor betreut nur Studenten, die ihn mögen. f) Es gibt eine Vorlesung, die nur von einem Professor gehalten wird. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 174 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Resolution Tableaus Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 175 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Resolution Tableaus Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 176 / 217 Resolution in der Prädikatenlogik Wie kann das Resolutionsprinzip auf PL übertragen werden? Beispiel (naive Resolution in PL) ∀x(H (x) → ∃yM (x, y)) H (c) ? Probleme: Interaktion von Quantoren: ∀xϕ(x), ∀x¬ϕ(x) vs. ∃xϕ(x), ∃x¬ϕ(x) Interaktion von Variablen und Konstanten Erzeugung von KNF in Formeln mit Quantoren Ansatz: Elimination des Existenz-Quantors Ersetzung von Variablen durch Terme, um Atome gleich zu machen Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 177 / 217 Schritt 1: Negations-Normalform Ähnlich wie in AL: Negation nur vor Atomen 1 Elimination von → und ↔ ϕ→ψ ϕ↔ψ 2 3 ¬ϕ ∨ ψ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) ; ; Anwendung der de-Morgan-Gesetze und ihrer Entsprechungen für Quantoren ¬(ϕ ∧ ψ) ; ¬ϕ ∨ ¬ψ ¬(ϕ ∨ ψ) ; ¬ϕ ∧ ¬ψ ¬∀xϕ ; ∃x¬ϕ ¬∃xϕ ; ∀x¬ϕ Elimination doppelter Negation ¬¬ϕ ; Jan Hladik (DHBW Stuttgart) ϕ Logik Wintersemester 2016/17 178 / 217 Schritt 2: Pränex-Normalform Definition (Pränex-Normalform) Eine Formel ist in PNF, wenn sie die Gestalt Q1 x1 . . . Qn xn ϕ(x1 , . . . , xn ) hat, wobei die Teile der Formel wie folgt benannt werden: Präfix Q1 x1 . . . Qn xn mit Qi ∈ {∀, ∃} Matrix Quantoren-freie Formel ϕ mit Variablen x1 . . . xn . Algorithmus zur Transformation in PNF: 1 benenne mehrfach quantifizierte Variablen um 2 ziehe Quantoren nach vorne (unter Beibehaltung der Reihenfolge) Beispiel (PNF) „Jeder Mensch hat Mutter und Vater.“ Transformiere in NNF Ersetze zweites y durch z Ziehe Quantoren nach vorne Jan Hladik (DHBW Stuttgart) Logik ∀x(H (x) → ∃yM (x, y) ∧ ∃yF (x, y)) ∀x(¬H (x) ∨ ∃yM (x, y) ∧ ∃yF (x, y)) ∀x(¬H (x) ∨ ∃yM (x, y) ∧ ∃zF (x, z)) ∀x∃y∃z(¬H (x) ∨ M (x, y) ∧ F (x, z)) Wintersemester 2016/17 179 / 217 Schritt 3: Skolem-Normalform Definition (Skolem-Normalform) Eine prädikatenlogische Formel ϕ ist in Skolem-Normalform (SNF), wenn sie in PNF ist und das Präfix keine Existenzquantoren enthält. Transformation in SNF: Ersetze existentiell quantifizierte Variablen durch Terme Thoralf Skolem (1887–1963) Beispiel (Skolemisierung) „Es gibt einen Präsidenten.“ ∃xP(x) ; P(c) „Jeder Mensch hat eine Mutter.“ ∀x∃y(H (x) → M (x, y)) ; ∀x(H (x) → M (x, f (x))) Jan Hladik (DHBW Stuttgart) Logik c ist neu! f ist neu! Wintersemester 2016/17 180 / 217 Skolemisierungs-Algorithmus Eingabe: Formel ϕ = ∀x1 . . . ∀xn ∃yψ(x1 , . . . , xn , y) in PNF Ausgabe: Skolemisierte Formel snf(ϕ) 1 ersetze y durch durch ein neues n-stelliges Funktionssymbol f : ∀x1 . . . ∀xn ψ(x1 , . . . , xn , f (x1 , . . . , xn )) 2 fahre mit Existenzquantoren in ψ fort, bis alle existentiell quantifizierten Variablen ersetzt sind Beachte: Bearbeite Existenzquantoren von vorne nach hinten Das neue Funktionssymbol f heißt Skolem-Funktionssymbol Existentiell quantifizierte Variablen, die nicht im Gültigkeitsbereich eines Allquantors stehen, werden durch Konstanten ersetzt. Optimierungspotential durch Umformung der Ausgangsformel Eine Formel ϕ und ihre SNF sind nicht äquivalent, aber erfüllbarkeitsäquivalent. Alle verbleibenden Variablen sind universell quantifiziert ; ∀x wird nicht mehr benötigt. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 181 / 217 Übung: Skolem-Normalform Transformieren Sie die folgenden Formeln in SNF: a) ∀x(∃yR(x, y) ∧ ∃y¬R(x, y)) ∧ ∀xR(x, x) ∧ ∃y∃z¬R(y, z) b) ∃x∀y(R(x, y)∨R(y, x))∧¬∀y¬(R(y, y)∧¬R(y, f (y)))∨¬(∀xR(x, x) → ∃xR(x, x)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 182 / 217 SNF: Optimierung Problem: Transformationskette NNF ; PNF ; SNF vergrößert Gültigkeitsbereich der Allquantoren: Beispiel (unnötig komplexe Skolem-Funktion) ∀xP(x) ∧ ∃yQ(y) ; ∀x∃y(P(x) ∧ Q(y)) ; ∀x(P(x) ∧ Q(f (x))) Da y nicht von x abhängt, könnte y durch eine Konstante ersetzt werden. Standardverfahren: 1 Negations-Normalform Elimination von → und ↔ de-Morgan-Gesetze Elimination doppelter Negation 2 Variablenumbenennung 3 Pränex-Normalform 4 Skolem-Normalform Jan Hladik (DHBW Stuttgart) Logik Komplexeres Verfahren für einfachere Skolem-Funktionen: 1 NNF 2 Miniscoping 3 Variablenumbenennung 4 Skolemisierung Wintersemester 2016/17 183 / 217 Miniscoping Ziel: Äquivalenzumformung zur Minimierung des Gültigkeitsbereichs (scope) von Quantoren Annahme: x kommt frei in ϕ und ψ vor, aber nicht in χ Qx(ϕ ∧ χ) Qx(ϕ ∨ χ) ∀x(ϕ ∧ ψ) ∃x(ϕ ∨ ψ) ; Qxϕ ∧ χ for Q ∈ {∀, ∃} Qxϕ ∨ χ for Q ∈ {∀, ∃} ; ∀xϕ ∧ ∀xψ ; ; ∃xϕ ∨ ∃xψ Beispiel (Skolem-Funktionen mit Miniscoping) Miniscoping: ∀x∃y(P(x) ∧ Q(y)) ; ∀x(P(x) ∧ ∃yQ(y)) Skolemisierung: ∀xP(x) ∧ ∃yQ(y) ; ∀xP(x) ∧ Q(c) Jan Hladik (DHBW Stuttgart) Logik ; ∀xP(x) ∧ ∃yQ(y) Wintersemester 2016/17 184 / 217 Überblick: Vorverarbeitung für PL-Resolution Standard: Alternative: 1 Negations-Normalform 1 Negations-Normalform 2 Variablenumbenennung 2 Miniscoping 3 Pränex-Normalform 3 Variablenumbenennung 4 Skolem-Normalform 4 Skolemisierung 5 Entfernung der Allquantoren Konjunktive Normalform 5 Entfernung der Allquantoren Konjunktive Normalform 6 6 wie für Aussagenlogik Jan Hladik (DHBW Stuttgart) wie für Aussagenlogik Logik Wintersemester 2016/17 185 / 217 Übung: Miniscoping Transformieren Sie die folgende Formel in KNF 1 mit dem Standardverfahren; 2 mit dem Miniscoping-Verfahren. ∀x(P(x) ∧ ∃yQ(y)) ∧ ∃x(P(x) ∧ ∀y(S(x, y) ∧ Q(y)) ∨ Q(x)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 186 / 217 Resolution und Variablen Beispiel (PL-Resolution) Formel ∃zH (z) ∧ ∀x(H (x) → ∃yM (x, y)) NNF ∃zH (z) ∧ ∀x(¬H (x) ∨ ∃yM (x, y)) → eliminiert SNF ∀x(H (c) ∧ (¬H (x) ∨ M (x, f (x)))) ∃ eliminiert CNF H (c) ∧ (¬H (x) ∨ M (x, f (x))) PL-Atome statt Aussagenvariablen ¬H (x), M (x, f (x)) H (c) M (c, f (c)) [x/c] Finde Variablenbelegung, die zwei Atome syntaktisch gleich macht Ersetze Variablen in gesamter Klausel Erzeuge Resolvente Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 187 / 217 Substitutionen Definition (Substitution) Eine Substition ist eine Abbildung von Variablen auf Terme. Beispiel (Substitution) Die Substitution σ = ([x/f (y)], [y/m(c, d)]) bildet x auf f (y) und y auf m(c, d) ab. Reihenfolge ist wichtig: ([x/y], [y/z]) ist nicht gleich ([y/z], [x/y]) σ(g(x)) = g(f (m(c, d))) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 188 / 217 Unifikatoren Definition (Unifikator) Ein Unifikator ist eine Substitution, die zwei Formeln auf dieselbe Formel abbildet. Beispiel (Unifikator von R(a, y) und R(x, f (a))) ϕ = R(a, y) ψ = R(x, f (a)) σ(ϕ) = R(a, f (a)) = σ(ψ) σ = ([x/a], [y/f (a)]) Resolution von C1 und C2 ist möglich, wenn es zwei Atome ϕ, ψ und eine Substitution σ gibt mit ϕ ∈ C1 und ¬ψ ∈ C2 σ ist Unifikator von ϕ und ψ. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 189 / 217 Unifikation: Variablenumbenennung und Occurs-Check Beispiel (gleiche Variable in mehreren Klauseln) Problem Unifikator für P(x, c) und P(d, x) wird nicht gefunden Lösung Disjunkte Umbenennung der Variablen P(x, c), P(d, y), σ = ([x/d], [y/c]) Beispiel (Abbildung von x auf f (x)) Problem Unifikation von P(x) und P(f (x)) resultiert in σ = [x/f (x)] Lösung Occurs-Check: x kann nicht auf Term abgebildet werden, der x enthält Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 190 / 217 Übung: Unifikation Seien w, x, y, z Variablen, c, d Konstantensymbole, f ein einstelliges und g ein zweistelliges Funktionssymbol, N und P einstellige, R ein zweistelliges und S ein dreistelliges Prädikat. Versuchen Sie, Unifikatoren für die folgenden Paare von Atomen zu finden. a) b) c) d) e) f) P(x) und P(f (g(y, z))) P(x) und N (f (x)) R(x, f (x)) und R(f (y), z) R(x, f (x)) und R(f (y), y) R(x, f (x)) und R(f (c), d) S(x, f (g(x, y)), g(x, f (d)) und S(g(c, d), f (z), g(g(c, y), w)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 191 / 217 Allgemeinste Unifikatoren Beispiel (Mehrere mögliche Unifikatoren) ¬P(y) P(x), R(x) [x/d] R(x) ¬R(c) [y/d] [y/x] R(d) [x/c] 2 Problem manche Unifikatoren verhindern Resolution Lösung Allgemeinster Unifikator (MGU): ersetze so wenig wie möglich Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 192 / 217 Unifikations-Algorithmus Eingabe: Ausgabe: Atome s, t au(s, t), „nicht unifizierbar“ wenn s und t unifizierbar sind sonst 1: σ := () 2: while σ(s) 6= σ(t) do 3: sei i die erste Position, an der sich σ(s) und σ(t) unterscheiden 4: if σ(s)|i oder σ(t)|i ist Prädikat then 5: Ausgabe „nicht unifizierbar“ 6: else if weder σ(s)|i noch σ(t)|i ist Variable then 7: Ausgabe „nicht unifizierbar“ 8: else 9: sei x die Variable, y der andere Term 10: if x ist echter Subterm von y then 11: Ausgabe „nicht unifizierbar“ 12: else 13: σ := σ · ([x/y]) 14: Ausgabe σ Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 193 / 217 Unifikation: Beispiel Beispiel ϕ = R(f (c), z, g(f (c), f (g(z, f (c))))) ψ = R(f (c), z, g(f (c), f (g(z, f (c))))) x u w y / / / / f (c) z f (c) g(z, f (c)) Jan Hladik (DHBW Stuttgart) Occurs-Check AU Logik Wintersemester 2016/17 194 / 217 Übung: Unifikations-Algorithmus Seien x, y, z Variablen, c, d Konstanten, f einstelliges, g ein zweistelliges und h ein dreistelliges Funktionssymbol, S und T dreistellige Prädikate. Wenden Sie den Unifikations-Algorithmus an, um allgemeinste Unifikatoren für die folgenden Paare von Termen zu finden: a) S(x, f (y), g(z, d)) und S(c, f (x), g(f (z), z)) b) T (x, f (x), h(f (y), z, d)) und T (c, f (y), h(z, f (x), c)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 195 / 217 Beispiel: Halloween 1 Tim kauft einen Kürbis. ∃x(Kauft(tim, x) ∧ Kürbis(x)) 2 Wer einen Kürbis kauft, isst ihn oder schnitzt eine Laterne daraus. ∀x∀y(Kauft(x, y) ∧ Kürbis(y) → Isst(x, y) ∨ Schnitzt(x, y)) 3 Kinder essen keine Kürbisse. ∀x(Kind(x) → ∀y(Kürbis(y) → ¬Isst(x, y))) 4 Konklusion: Wenn Tim ein Kind ist, schnitzt er eine Laterne. Kind(tim) → ∃xSchnitzt(tim, x) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 196 / 217 Schritt 1: Syntaktische Vorverarbeitung 1 Konjunktion der Prämissen und der Negation der Konklusion 2 Variablen-Umbenennung 3 Ersetzung von ϕ → ψ durch ¬ϕ ∨ ψ 4 Gesetze von De Morgan 5 Entfernung doppelter Negation 6 Pränex-Normalform . . . (∃x(Kauft(tim, x) ∧ Kürbis(x)) ∧ (∀y∀z(¬(¬Kauft(y, z) ∨ ¬Kürbis(z)) ∨ Isst(y, z) ∨ Schnitzt(y, z))) (∀u(¬Kind(u) ∨ ∀w(¬Kürbis(w) ∨ ¬Isst(u, w)))) ∧ ¬(¬¬Kind(tim) ∧ ¬∀t¬Schnitzt(tim, t)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 ∧ 197 / 217 Schritt 2: Skolem-Normalform und KNF 1 Pränex-Normalform 2 Skolem-Normalform 3 Entfernung der Allquantoren 4 Konjunktive Normalform ∃x∀y∀z∀u∀w∀t (Kauft(tim, k) ∧ Kürbis(k) ∧ (¬Kauft(y, z) ∨ ¬Kürbis(z) ∨ Isst(y, z) ∨ Schnitzt(y, z)) ∧ (¬Kind(u) ∨ ¬Kürbis(w) ∨ ¬Isst(u, w)) ∧ Kind(tim) ∧ ¬Schnitzt(tim, t)) ¬Schnitzt(tim, t) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 198 / 217 Schritt 3: Resolution ¬Kind(u), ¬Kürbis(w), ¬Isst(u, w) Kind(tim) ¬Kürbis(w), ¬Isst(tim, w) Kürbis(k) ¬Isst(tim, k) ¬Kauft(y, z), ¬Kürbis(z), Isst(y, z), Schnitzt(y, z) ¬Kauft(tim, k), ¬Kürbis(k), Schnitzt(tim, k) ¬Kauft(tim, k), Schnitzt(tim, k) Kauft(tim, k) ¬Schnitzt(tim, t) Schnitzt(tim, k) 2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 199 / 217 Übung: Resolution in der Prädikatenlogik Zeigen Sie mittels Resolution die Folgerung: 1 Alle Hunde bellen. 2 Wer Katzen hat, hat keine Mäuse. 3 Wer einen leichten Schlaf hat, hat nichts, das bellt. 4 Julia hat einen Hund oder eine Katze. 5 Konklusion: Wenn Julia einen leichten Schlaf hat, hat sie keine Mäuse. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 200 / 217 Unvollständigkeit Beispiel (Resolution von {P(w), P(x)} und {(¬P(y), ¬P(z)}) P(w), P(x) ¬P(y), ¬P(z) [w/y] P(t), ¬P(u) [t/y] ¬P(r), ¬P(s) .. . Problem Lösung redundante Literale ∀x∀y(P(x) ∨ P(y)) ist äquivalent zu ∀xP(x) eliminiere Redundanz führe Unifikation innerhalb einer Klausel durch Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 201 / 217 Faktoren Definition (Faktor) Sei C = {L1 , L2 , L3 , . . .} und σ allgemeinster Unifikator von L1 und L2 . Dann ist σ(C ) ein Faktor von C . Beispiel (Faktoren) {P(y)} ist Faktor von {P(x), P(y)}. {P(c)} ist Faktor von {P(x), P(c)}. {P(c), R(c, y)} ist Faktor von {P(x), P(c), R(x, y)}. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 202 / 217 Faktorisierung Neue Regel: Wenn C2 Faktor von C1 ist, leite C2 von C1 ab (C1 ` C2 ). Beispiel (Faktorisierung) ¬P(y), ¬P(z) P(w), P(x) [w/x] [z/y] ¬P(y) P(x) [x/y] 2 Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 203 / 217 Eigenschaften der PL-Resolution Satz (Korrektheit der PL-Resolution) K(ϕ) `∗ 2 impliziert Unerfüllbarkeit von ϕ. Satz (Widerlegungsvollständigkeit der PL-Resolution) Wenn ϕ unerfüllbar ist, gilt K(ϕ) `∗ 2. Terminierung? Terminiert der Resolutionsalgorithmus für jede Eingabe? Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 204 / 217 PL-Resolution und Terminierung Beispiel P(x), ¬Q(f (x)) ¬P(f (y)), Q(f (y)) [x/f(y)] ¬Q(f (f (y))), Q(f (y)) [y/x] P(x), ¬Q(f (f (x))) [y/x] [x/f(y)] ¬Q(f (f (f (y)))), Q(f (y)) P(x), ¬Q(f (f (f (x)))) .. . PL-Erfüllbarkeit unentscheidbar ; Terminierung nicht erreichbar. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 205 / 217 Inhalt 1 Einführung 2 Mengenlehre 3 Aussagenlogik 4 Prädikatenlogik Einführung Syntax Semantik Schlussfolgerungsverfahren Resolution Tableaus Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 206 / 217 Tableau-Algorithmus für PL Gleiches Grundprinzip Regeln Clashes Vorverarbeitung: NNF Negation nur vor Atomen Zusätzliche Regeln für Quantoren ∀-Regel ∃-Regel Definition von Clash auf PL-Formeln erweitert Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 207 / 217 Zusätzliche Regeln für PL ∃ Wenn ∃xϕ(x) ∈ S gilt und kein Grundterm t existiert mit ϕ(t) ∈ S dann S := S ∪ ϕ(c) für ein neues Konstantensymbol c eliminiere ∃ durch Skolemisierung Konstanten können immer verwendet werden ∀-werden vorher durch ∀-Regel bearbeitet keine komplexen Skolem-Funktionen nötig ∀ Wenn ∀xϕ(x) ∈ S gilt und t ein beliebiger Grundterm ist dann S := S ∪ ϕ(t) t kann auch neues Konstantensymbol sein anwendbar auf unendliche Menge von Termen Keine Anwendbarkeitsbedingung ; immer anwendbar! Terminierung ist nicht garantiert Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 208 / 217 Beispiel: Halloween-Tableau ϕ = ∃x(Kauft(tim, x) ∧ Kürbis(x)) ∧ ∀x∀y(¬Kauft(x, y) ∨ ¬Kürbis(y) ∨ Isst(x, y) ∨ Schnitzt(x, y)) ∀x(¬Kind(x) ∨ ∀y(¬Kürbis(y) ∨ ¬Isst(x, y))) ∧ ∧ Kind(tim) ∧ ∀x¬Schnitzt(tim, x) 1 2 3 4 5 6 7 8 9 10 11 12 ϕ ∃x(Kauft(tim, x) ∧ Kürbis(x)) ∀x∀y(¬Kauft(x, y) ∨ ¬Kürbis(y) ∨ Isst(x, y) ∨ Schnitzt(x, y)) ∀x(¬Kind(x) ∨ ∀y(¬Kürbis(y) ∨ ¬Isst(x, y))) Kind(tim) ∀x¬Schnitzt(tim, x)) Kauft(tim, k) ∧ Kürbis(k) Kauft(tim, k) Kürbis(k) ¬Schnitzt(tim, k) ¬Kauft(tim, k) ∨ ¬Kürbis(k) ∨ Isst(tim, k) ∨ Schnitzt(tim, k) ¬Kind(tim) ∨ ∀y(¬Kürbis(y) ∨ ¬Isst(tim, y)) Jan Hladik (DHBW Stuttgart) Logik 1: ∧ 2: ∃(x/k) 7: ∧ 6: ∀(x/k) 3: ∀(x/tim, y/k) 4: ∀(x/tim) Wintersemester 2016/17 209 / 217 Beispiel: Halloween-Tableau (Fortsetzung) 5 8 9 10 11 12 13 14 15 16 ¬Kind(tim) 5 Kind(tim) Kauft(tim, k) Kürbis(k) ¬Schnitzt(tim, k) ¬Kauft(tim, k) ∨ ¬Kürbis(k) ∨ Isst(tim, k) ∨ Schnitzt(tim, k) ¬Kind(tim) ∨ ∀y(¬Kürbis(y) ∨ ¬Isst(tim, y)) ∀y(¬Kürbis(y) ∨ ¬Isst(tim, y)) ¬Kürbis(k) ∨ ¬Isst(tim, k) ¬Kürbis(k) ¬Isst(tim, k) 9 ¬Kauft(tim, k) ¬Kürbis(k) Isst(tim, k) 8 9 15 Schnitzt(tim, k) 10 12: 13: 14: 11: ∨ ∀(y/k) ∨ ∨ Jede Spalte enthält einen Clash ϕ ist unerfüllbar Prämissen implizieren Konklusion Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 210 / 217 Übung: Tableau in der Prädikatenlogik Verwenden Sie ein Tableau, um zu zeigen, dass Julia keine Mäuse hat. ϕ = ∀x(¬H (x) ∨ B(x)) ∧ ∀x∀y(¬Hat(x, y) ∨ ¬K (y) ∨ ∀z(¬Hat(x, z) ∨ ¬M (z))) ∀x(¬L(x) ∨ ∀y(¬Hat(x, y) ∨ ¬B(y))) ∃x(Hat(j, x) ∧ (H (x) ∨ K (x))) ∧ ∧ ∧ L(j) ∧ ∃x(Hat(j, x) ∧ M (x)) Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 211 / 217 Peano-Axiome Peano-Axiomensystem der natürlichen Zahlen : 1 Null ist eine natürliche Zahl. 2 Jede natürliche Zahl hat eine natürliche Zahl als Nachfolger. 3 Null ist nicht der Nachfolger einer natürlichen Zahl. 4 Wenn natürliche Zahlen denselben Nachfolger haben, handelt es sich um dieselbe Zahl. 5 Die natürlichen Zahlen sind die kleinste Menge, die Null und den Nachfolger jedes Elements enthält. Alternativ: Jede Menge, die Null und den Nachfolger jedes Elements enthält, ist eine Obermenge der natürlichen Zahlen. Jan Hladik (DHBW Stuttgart) Logik Giuseppe Peano (1858–1932) Wintersemester 2016/17 212 / 217 Hausaufgabe: Arbeit mit Peano-Axiomen 1 Formalisieren Sie die Peano-Axiome in der Prädikatenlogik. Verwenden Sie die folgende Signatur: Prädikat N (1) (x): „x ist eine natürliche Zahl“ Prädikat =(2) (x, y): „x ist gleich y“ Für Gleichheit gehen wir davon aus, dass die korrekte Interpretation fest vorgegeben ist. Funktionssymbol z (0) : die Konstante „Null“ Funktionssymbol n (1) (x): „Nachfolger von x“ Achtung: Für Axiom 5 benötigen Sie die 2. Stufe! 2 Zeigen Sie, dass die Axiome 1–4 widerspruchsfrei sind. Zeigen Sie die Erfüllbarkeit der Konjunktion der Axiome. 3 Zeigen Sie, dass die Axiome 1–4 unabhängig sind. Zeigen Sie für jedes Axiom, dass seine Negation zusammen mit den anderen Axiomen erfüllbar ist; z. B. 1 ∧ 2 ∧ ¬3 ∧ 4. Verwenden Sie die vom Tableau-Algorithmus erzeugten Modelle, um sich zu verdeutlichen, dass diese Modelle nicht isomorph zu N sind. Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 213 / 217 Nachteil des naiven Tableau-Algorithmus Problem: Effizienz abhängig von Auswahl der Terme in ∀-Regel in Beispielen: immer sofort „richtiger“ Term Programm muss alle Möglichkeiten testen Signatur mit 4 Konstantensymbolen und Formel mit 5 universell quantifizierten Variablen ; 45 = 1024 mögliche Regelanwendungen Signatur mit Funktionssymbolen ; unendlich viele Möglichkeiten Abhilfe: Heuristiken: Beginne mit Termen, die bereits vorkommen Nicht in jedem Fall ausreichend: ∀xP(x) ∧ ∀x¬P(x) Modifizierter Algorithmus: Tableau-Algorithmus mit Unifikation Verzögere Substitution Verwende Unifikation zum Finden einer Substitution, die Clash erzeugt Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 214 / 217 Tableau-Algorithmus mit Unifikation ∀u Wenn ∀xϕ(x) ∈ S dann S := S ∪ ϕ(y) für eine neue Variable y y ist freie Variable! immer anwendbar ∃u Wenn ∃xϕ(x) ∈ S und es gibt keinen Term t mit ϕ(t) ∈ S und ϕ enthält die freien Variablen y1 , . . . , yn dann S := S ∪ ϕ(f (y1 , . . . , yn )) für neues n-stelliges Funktionssymbol f Nachteil: Komplexe Skolem-Funktionen nötig S Wenn es in einer Spalte Formeln ϕ und ψ gibt mit es gibt einen Unifikator σ für die freien Variablen mit σ(ϕ) = ¬σ(ψ) dann wende σ auf gesamtes Tableau an nicht nur auf aktuelle Spalte! gleiches Ergebnis, wie wenn man σ von Anfang an verwendet hätte freie Variablen müssen überall ersetzt werden Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 215 / 217 Beispiel: Tableau mit Unifikation ϕ = ∀x∃y(M (x, y) ∨ F (x, y)) ∧ ∀z(¬M (c, z) ∧ ¬F (c, z)) 1 2 3 4 5 6 7 8 9 ϕ ∀x∃y(M (x, y) ∨ F (x, y)) ∀z(¬M (c, z) ∧ ¬F (c, z)) ∃y(M (c, y) ∨ F (c, y)) M (c, p(c)) ∨ F (c, p(c)) ¬M (c, p(c)) ∧ ¬F (c, p(c)) ¬M (c, p(c)) ¬F (c, p(c)) M (c, p(c)) F (c, p(c)) 7 Jan Hladik (DHBW Stuttgart) 1: ∧ 2: 4: 3: 6: ∀u (x/r) ∃u (y/p(r)) ∀u (z/s) ∧ 5: ∨ S ([r/c], [s/p(c)]) 8 Logik Wintersemester 2016/17 216 / 217 Zusammenfassung: Prädikatenlogik Syntax Variablen, Prädikate, Funktionssymbole, Quantoren Terme, Atome, komplexe Formeln Modellierung der inneren Struktur von Aussagen Interpretation Domäne, Funktionen, Relationen Schlussfolgerung korrekt, vollständig nicht terminierend ; unentscheidbar Resolution PNF, SNF, Unifikation, Faktorisierung Tableau ∃/∀-Regel, Anwendbarkeit Jan Hladik (DHBW Stuttgart) Logik Wintersemester 2016/17 217 / 217