Theoretische Informatik: Logik Vorlesung im Wintersemester 2010/11 Martin Lange, Bahareh Badban, Norbert Hundeshagen, Marcel Vollweiler, Kadir Aytemür, Stephan Opfer FG Formale Methoden und Verifikation (Arbeitstitel) FB Elektrotechnik/Informatik Universität Kassel 8. Februar 2011 Organisatorisches Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Inhalt 1 Motivation und Geschichte Woher kommt die Logik, wofür ist sie gut und wozu braucht man sie in der Informatik? 2 Aussagenlogik 3 Prädikatenlogik erster Stufe 4 Logikprogrammierung 3 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Termine Vorlesung 3std., montags 9:00–9:45 (WA 0425) und 14:15–15:45 (WA 0446) 4 Übungsgruppen, jeweils 1std. G1 Dienstag 10–11, WA -1319 G2 Dienstag 15–16, WA-Neubau -1607 G3 Mittwoch, 12–13, WA -1319 G4 Donnerstag, 10–11, WA 1114 Angebot: 1 Übungsgruppe in Englisch Homepage der Vorlesung: http://cms.uni-kassel.de/unicms/index.php?id=32756 4 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Literatur • Vorlesungsfolien • Skripten: • Vorlesung “Logik für Informatiker”, LMU München, SS 2008, Prof. Hofmann • Vorlesung “Mathematische Logik”, RWTH Aachen, SS 2008, Prof. Grädel • Lehrbücher: • Uwe Schöning, Logik für Informatiker, Spektrum Verlag • Heinz-Dieter Ebbinghaus, Jörg Flum, Wolfgang Thomas, Einführung in die mathematische Logik, Spektrum Verlag • andere: • Uli Furbach, Logic for Computer Scientists, Wikibook auf http://en.wikibooks.org/wiki/Logic for Computer Scientists 5 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Übungsblätter wöchentliches Übungsblatt; Ausgabe montags nachmittags online Bearbeitung als Hausaufgabe • Bearbeitung in Gruppen zulässig (und empfohlen) • Aufschreiben der Lösungen einzeln! Abgabe 1 Woche später über Postkasten oder in der Vorlesung Korrektur: Feedback über Kommentare und Notensystem (1–5) Besprechung des Übungsblatts und Rückgabe der Hausaufgaben wiederum 1 Woche später in Übungsgruppen 6 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Prüfung Modul wird durch Klausur am Ende des Semesters geprüft Zulassungsvoraussetzung: 75% der Übungsaufgaben sinnvoll bearbeitet (= 1–4) Nachholklausur im nächsten Semester Klausur wird so gestellt, dass Erreichen der hier definierten Lernziele abgeprüft wird! 7 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Lernziele Zielgruppe: Pflichtmodul im Bachelor-Studiengang Informatik nach erfolgreicher Teilnahme an dieser Veranstaltung soll man • wichtige logische Begriffe wie Beweis, Erfüllbarkeit und Allgemeingültigkeit kennen und damit umgehen können, • in der Lage sein, formal die Richtigkeit einer Aussage mit Bezug auf die Informatik darlegen zu können, • Aussagen- und Prädikatenlogik erster Stufe, etc. kennen und verstehen, • Entscheidungsverfahren und Beweiskalküle für solche Logiken kennen und anwenden können, • Logik-Tools (z.B. Theorembeweiser) kennengelernt haben. 8 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Logik Lernen Vorlesung dient der Präsentation des zu erlernenden Stoffs Übung dient zur Überprüfung der Aneigung des zu vermittelnden Wissens Aneignung des zu vermittelnden Wissens geschieht durch • aufmerksame (mindestens passive, gerne auch aktive) Teilnahme an der Vorlesung • aktive Teilnahme an der Übung • ganz wichtig: rigoroses Bearbeiten der Übungsblätter • ergänzendes Tutorium: jeweils 1std. im Anschluss an Übungsgruppen 9 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Richtlinien für die Übungsblätter • Aneignung wichtiger Qualifikationen, die von einem Informatiker mit Hochschulabschluss erwartet werden • intensive und dauerhafte Auseinandersetzung mit dem Lernstoff • vollen Zeitraum einer Woche ausschöpfen • Bearbeitung in Gruppenarbeit (Faustregel: 3–4), Aufschreiben alleine • Lösungen immer begründen (nicht in Romanform) 10 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 1.0 Organisatorisches Schwarzbuch • Übungsblatt runterladen, 30min anstarren, zu schwer, weg damit • nach Musterlösungen fragen • nur passiv an Übungsgruppen teilnehmen • Hausaufgaben während Vorlesungszeit abschreiben, dann vor Klausur 1 Woche intensiv lernen • anhand von Lösungen statt von Aufgaben lernen • Vorlesungsfolien mit einem Skript verwechslen 11 Motivation und Geschichte I Geschichte der Logik I Logik und Informatik Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Aufgaben der Logik Logik (aus Griechischem) = Lehre des vernünftigen Schließens, Kunst des Denkens (ursprünglich) Logik ist Teilgebiet von Philosophie, Mathematik und Informatik • Philosophie: liefert Fundament für Argumentationen, formalisiert Wahrheitsbegriff • Mathematik: formalisiert Beweise • Informatik: enge Beziehungen zum Begriff der Berechenbarkeit 13 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Ausprägungen je nach Zuordnung in verschiedener Ausprägung • Logik der natürlichen Sprache beschäftigt sich vor allem mit der Gültigkeit von Argumentationen • formale Logik oder auch mathematische Logik • basiert auf künstlicher Sprache (Formeln) • studiert Auswirkungen verschiedener Schlussregeln, etc. • Umgangsprache beschreibt laterales Denken oder rationales Handeln in dieser Vorlesung: mathematische Logik 14 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Ursprünge der Logik entstanden in der griechischen Philosophie, insbesondere durch Aristoteles und Euklid Aristoteles untersuchte Syllogismen (natürlichsprachliche Schlussregeln), mit deren Hilfe eine Aussage aus anderen folgt Bsp.: • Aussage 1: “Es regnet.” • Aussage 2: “Wenn es regnet, dann wird die Straße nass.” Daraus folgt, dass die Straße nass ist. Die hier angewandte Schlussregel nennt man Modus Ponens. 15 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Euklids Beweisbegriff Euklid hat den Begriff des Beweises formalisiert: Beweis für eine Aussage A ist eine Sequenz A0 , . . . , An von Aussagen, sodass • A = Ai • für alle • Ai • Ai für ein i ∈ {0, . . . , n}, und i = 0, . . . , n gilt entweder ist Axiom (= unbewiesene Annahme), oder folgt aus A0 , . . . , Ai−1 mithilfe von Schlussregeln liefert relativen Wahrheitsbegriff: Aussage A kann mit gewissen Axiomen und Regeln beweisbar sein, mit anderen jedoch nicht 16 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Euklids Geometrie für Euklid war Formalisierung des Beweisbegriffs Mittel zum Zweck interessant für ihn war Geometrie, die er mithilfe von geometrischen und logischen Axiomen (Postulaten) fundiert hat Bsp.: • Zu gegebenem Mittelpunkt und Radius lässt sich ein Kreis zeichnen. • Ist x gleich z und y gleich z, so ist auch x gleich y . • ... Maßgabe für die Wahl der Axiome war, die Wirklichkeit abzubilden, nicht jedoch “eine Geometrie” zu schaffen 17 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Euklids fünftes Postulat Zu einer Gerade g und einem Punkt p außerhalb von g gibt es genau eine Gerade g 0 , die durch p geht und zu g parallel ist. erscheint im Vergleich zu anderen Postulaten recht kompliziert Versuche, dieses aus anderen Postulaten herzuleiten alle Versuche misslangen über 2000 Jahre hinweg erst ca. 1830 ersetzen Bolyai und Lobatschewski dies durch andere Axiome und erhielten – sehr zur Überraschung – widerspruchsfreie Geometrien bei Lobatschweski z.B. lassen sich mindestens zwei verschiedene, parallele Geraden durch den Punkt ziehen 18 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Logik in der Neuzeit Kant betrachtete die Wissenschaft der Logik mit Aristoteles Syllogismen als abgeschlossen nicht jeder hielt sich jedoch an die Vorgabe, z.B. Boole und de Morgan Boole betrachtete Logik als mathematischen Kalkül mit Werten 0 und 1 (falsch und wahr) und entsprechenden Rechenregeln sehr bedeutend war Frege, der versuchte, die gesamte Mathematik auf ein logisches Fundament zu stellen – die Mengentheorie; dazu entwickelte er Prädikatenlogik als formale Sprache und entsprechende Beweissysteme Russell und Zermelo fanden in Freges Mengentheorie jedoch einen Widerspruch 19 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Die Russellsche Antinomie Def.: Sei M die Menge aller Mengen, die sich selbst nicht enthalten. Frage: Enthält M sich selbst? dasselbe Prinzip: • Martin sagt “Martin lügt”. Spricht er die Wahrheit, oder lügt er? • In einem Dorf gibt es einen Barbier, der alle Dorfbewohner rasiert, die sich nicht selbst rasieren. Rasiert er sich selbst? Auswege für die Mathematik: • Typtheorie von Russell und Whitehead • Mengenlehre von Zermelo 20 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte – Geschichte der Logik Weitere bedeutende Logiker und ihre Arbeiten • Gentzen: System des natürlichen Schließens und Sequenzenkalkül • Löwenheim und Skolem: Semantik der Prädikatenlogik • Gödel: Vollständigkeit der Prädikatenlogik erster Stufe und Unvollständigkeit der Arithmetik • Tarski: ebenfalls Prädikatenlogik 21 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.2 Motivation und Geschichte – Logik und Informatik Logik für die Informatik Entwicklungen in der Logik haben maßgeblich zur Entwicklung der Informatik beigetragen • Boolesche Algebra und Schaltkreise • Hilberts Programm: wollte gesamte Mathematik logisch fundieren und Konsistenz bewiesen sehen; Unmöglichkeit dessen von Gödel gezeigt • Unentscheidbarkeit des Entscheidungsproblems für Prädikatenlogik erster Stufe durch Turing und Church gezeigt; Entwicklung der Turing-Maschine (= abstrakter, universeller Computer) 22 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.2 Motivation und Geschichte – Logik und Informatik Logik in der Informatik • Rechnerarchitektur: Schaltkreise und logische Formeln; Aussagenlogik • logische Programmiersprachen wie z.B. Prolog • Programmverifikation: operationelle Semantik eines Programms als mathematische Struktur, erwünschte Eigenschaft des Programms als logische Formel; meist spezialisierte Logiken • Datenbanktheorie: Datenbank wiederum als mathematische Struktur, Anfragen daran als Auswertung einer logischen Formel darin; meist Prädikatenlogik • Wissensrepräsentation: Wissen durch Formeln beschrieben, Herleitung von neuem Wissen durch logische Herleitungen darauf; meist spezialisierte Logiken • ... 23 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.2 Motivation und Geschichte – Logik und Informatik Informatik für die Logik leistungsstarke Rechner und Software haben auch zu entscheidenden Entwicklungen in der Logik beigetragen • Theorembeweiser erlauben das Finden und Überprüfen sehr großer Beweise • Beweis des 4-Farben-Satzes: erst Reduktion von unendlich vielen auf endlich viele Fälle, dann Überprüfung derer mit einem Computer • SAT-Solver: mittlerweile sehr leistungsstarke Tools zum Lösen des Erfüllbarkeitsproblems der Aussagenlogik, dadurch auch besonders interessant • ... 24 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.2 Motivation und Geschichte – Logik und Informatik Facetten der Logik zwei Arten, den Begriff der Wahrheit in einer formalen Logik zu erklären • Modelltheorie: Wahrheitsbegriff erklärt durch Interpretation von Formeln in Modellen • Beweistheorie: Wahrheitsbegriff erklärt durch Axiome und Beweisregeln hier: beides 25 Aussagenlogik I Syntax und Semantik I Boolesche Algebra I Erfüllbarkeit I SAT-Solver I Kompaktheit I Beweiskalküle Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Einführendes Beispiel Norbert sagt “Marcel sagt die Wahrheit”. Marcel sagt “Bahareh lügt”. Bahareh sagt “Norbert und Marcel sagen entweder beide die Wahrheit oder lügen beide”. Wer lügt, und wer sagt die Wahrheit? 27 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Syntax der Aussagenlogik Wir setzen eine Menge V = {A, B, C , . . .} von Aussagenvariablen voraus. Formeln der Aussagenlogik (über V) sind induktiv definiert durch: • Jeder Aussagenvariable A ist eine Formel. • Die Konstanten tt und ff sind Formeln. • Sind ϕ und ψ Formeln, so sind auch • (ϕ ∧ ψ) • (ϕ ∨ ψ) • ¬ϕ • (ϕ → ψ) • (ϕ ↔ ψ) Formeln. (“und”) (“oder”) (“nicht”) (“wenn-dann”) (“genau-dann-wenn”) 28 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Präzedenzregeln zur besseren Lesbarkeit lassen wir auch Klammern weg (z.B. ganz außen) Bindungskraft der Operatoren (auch Junktoren genannt) in absteigender Reihenfolge: ¬, ∧, ∨, →, ↔ soll heissen: ((A ∨ (¬(B ∧ ¬C ))) ↔ (C → A)) schreiben wir auch als A ∨ ¬(B ∧ ¬C ) ↔ C → A 29 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Interpretationen Def.: Sei B = {0, 1} Menge der Booleschen Werte falsch und wahr. Def.: Eine Interpretation (Variablenbelegung) ist eine Abbildung I : V → B. Interpretationen können Modelle einer Formel sein; diese Beziehung ist induktiv definiert: I |= tt, I 6|= ff und I |= A gdw. I(A) = 1 I |= ϕ ∧ ψ gdw. I |= ϕ und I |= ψ I |= ϕ ∨ ψ gdw. I |= ϕ oder I |= ψ I |= ¬ϕ gdw. I 6|= ϕ I |= ϕ → ψ gdw. wenn I |= ϕ dann I |= ψ I |= ϕ ↔ ψ gdw. I |= ϕ genau dann, wenn I |= ψ Beachte Unterscheidung zwischen Formeln ff, tt (Syntax) und zugeordneten Werten 0, 1 (Semantik) 30 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Beispiele Bsp.: I = {A 7→ 1, B 7→ 0, C 7→ 1, D 7→ 0} • I |= (A ∨ B) ∧ (C ∨ D) • I 6|= (¬A ∨ B) ∨ (¬C ∧ D) • I |= A → ¬B • I |= ¬A → B • I 6|= A → B • I |= ¬A → ¬B • I |= (A ↔ B) ↔ ¬(C ↔ ¬D) • I |= ¬(¬D → ff) 31 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Beispiel Logik über anonymen Aussagenvariablen für Theorie der Wahrheit beliebiger Aussagen Formeln lassen sich natürlich mit konkreten Aussagen instanziieren Bsp. (weitergef.): • Norbert sagt “Marcel sagt die Wahrheit”. • Marcel sagt “Bahareh lügt”. • Bahareh sagt “Norbert und Marcel sagen entweder beide die Wahrheit oder lügen beide”. Lösung erfordert Formalisierung; drei Variablen B, M, N mit intendierter Bedeutung: Bahareh sagt die Wahrheit (B), . . . obiger Sachverhalt wird beschrieben durch die Formel (N ↔ M) ∧ (M ↔ ¬B) ∧ (B ↔ (M ↔ N)) jedes Modell dieser Formel beschreibt Lösung des Rätsels 32 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Alternative Definitionen der Semantik zur Erinnerung: • Interpretation einer Formel = Variablenbelegung I : V → B • erfüllende Interpretation = Modell alternative Repräsentationen für gleiche Semantik • Interpretation ist Teilmenge der Variablenmenge W ⊆ V Übung: definiere induktiv, was W |= ϕ bedeutet beachte: Abbildung I definiert in natürlicher Weise Teilmenge WI = {A ∈ V | I(A) = 1} • Interpretation wird induktiv fortgesetzt zu I : AL → B I(ϕ ∧ ψ) := min{I(ϕ), I(ψ)} Übung: definiere die Fortsetzung für die anderen Junktoren 33 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Formeln und Boolesche Funktionen eine Formel ϕ mit n vorkommenden Aussagenvariablen A1 , . . . , An stellt eine Funktion vom Typ Bn → B dar es gibt nur 2n viele Interpretationen, die sich in A1 , . . . , An unterscheiden; also gibt es nur 2n viele verschiedene “Eingaben” an ϕ Funktionswert 1 besagt, dass die durch Argumente gegebene Interpretation ein Modell ist Funktionen mit endlichem Domain können durch Tabellierung aller Argumente repräsentiert werden 34 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik 35 Wahrheitstafeln . . . für die Junktoren und Konstanten der Aussagenlogik ϕ 0 0 1 1 ϕ 0 0 1 1 ψ 0 1 0 1 ψ 0 1 0 1 ϕ∧ψ 0 0 0 1 ϕ→ψ 1 1 0 1 ϕ 0 0 1 1 ϕ 0 0 1 1 ψ 0 1 0 1 ψ 0 1 0 1 ϕ∨ψ 0 1 1 1 ϕ↔ψ 1 0 0 1 ϕ 0 1 tt 1 ¬ϕ 1 0 ff 0 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Wahrheitstafeln . . . für komplexere Formeln A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 A∧B 0 0 0 0 0 0 1 1 A ∧ B → ff 1 1 1 1 1 1 0 0 ¬B 1 1 0 0 1 1 0 0 ¬B → C 0 1 1 1 0 1 1 1 (A ∧ B → ff) ∧ (¬B → C ) 0 1 1 1 0 1 0 0 36 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Beispiel (weiterg.) • Norbert sagt “Marcel sagt die Wahrheit”. • Marcel sagt “Bahareh lügt”. • Bahareh sagt “Norbert und Marcel sagen entweder beide die Wahrheit oder lügen beide”. formalisiert als (N ↔ M) ∧ (M ↔ ¬B) ∧ (B ↔ (M ↔ N)) M 0 0 0 0 1 1 1 1 N 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 ϕ 0 1 0 0 0 0 0 0 einzige mögliche Lösung: Norbert und Marcel lügen, Bahareh sagt die Wahrheit 37 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Funktionale Vollständigkeit Def.: eine Menge J von Junktoren heißt funktional vollständig, wenn es für jedes n ∈ N und jede Funktion f : Bn → B eine Formel ϕf über n Variablen gibt, die nur Junktoren aus J benutzt und f repräsentiert Theorem 1 {tt, ff, ∧, ∨, ¬} ist funktional vollständig Bsp.: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f (A, B, C ) 0 1 1 0 0 0 1 0 (¬A ∧ ¬B ∧ C ) ∨ realisiert durch (¬A ∧ B ∧ ¬C ) ∨ (A ∧ B ∧ ¬C ) 38 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik 39 Beweis von Thm. 1 Beweis: Durch Induktion über Anzahl n der Variablen Induktionsanfang, n = 0. Es gibt nur 2 Funktionen vom Typ B0 → B, nämlich die Konstanten 0 und 1. Diese werden durch ff und tt repräsentiert. Induktionsschritt, n > 0. Sei f : Bn → B. O.B.d.A. seien A1 , . . . , An die Variablen in f . Benutze Shannon-Expansion: ( f (A1 , . . . , An−1 , 0) , falls An = 0 f (A1 , . . . , An ) = f (A1 , . . . , An−1 , 1) , falls An = 1 f (A1 , . . . , An−1 , c) ist Funktion vom Typ Bn−1 → B. Nach Induktionvoraussetzung gibt es also Formeln ϕcf für c ∈ {0, 1}, die diese repräsentieren. Aussagenlogik kann Shannon-Expansion leicht ausdrücken: f wird repräsentiert durch ϕf = (¬An ∧ ϕ0f ) ∨ (An ∧ ϕ1f ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Funktionale Vollständigkeit somit müssen sich insbesondere die anderen Junktoren durch ff, tt, ¬, ∨, ∧ ausdrücken lassen • ϕ → ψ ist dasselbe wie ¬ϕ ∨ ψ • ϕ ↔ ψ ist dasselbe wie (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) Theorem 2 Die folgenden Mengen von Junktoren sind funktional vollständig: {tt, ¬, ∨} , {tt, ¬, ∧} , {ff, →} , . . . Beweis: (Übung) 40 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Funktionale Unvollständigkeit nicht jede Menge von Junktoren ist funktional vollständig, z.B. ∅ sicherlich nicht, {tt, ¬} auch nicht (Übung) Theorem 3 {tt, ff, ∧, ∨} ist nicht funktional vollständig. Def.: Definiere partielle Ordnung auf B durch 0 < 1. Ein f : Bn → B heißt monoton im i-ten Argument, wenn für alle x, y , x1 , . . . , xn ∈ B gilt: wenn x ≤ y , dann f (x1 , . . . , xi−1 , x, xi+1 , . . . , xn ) ≤ f (x1 , . . . , xi−1 , y , xi+1 , . . . , xn ) 41 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Monotone Funktionen Bsp.: In welchen Argumenten ist A 0 0 0 0 1 1 1 1 monoton? B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f (A, B, C ) 0 1 1 1 0 0 1 0 42 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Funktionale Unvollständigkeit von {tt, ff, ∨, ∧} Lemma: Sei ϕ aufgebaut aus n Variablen und den Junktoren tt, ff, ∨, ∧. Dann ist die durch ϕ definierte Funktion fϕ : Bn → B monoton in allen Argumenten. Beweis: durch Induktion über den Aufbau von ϕ Beweis von Thm. 3: Die Funktion f = {0 7→ 1, 1 7→ 0} ist nicht monoton im ersten Argument, kann daher nicht durch ein solches ϕ über tt, ff, ∨, ∧ definiert werden. 43 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik – Syntax und Semantik Äquivalenzen Def.: ϕ und ψ heissen äquivalent, geschrieben ϕ ≡ ψ, gdw. für alle Interpretationen I gilt: I |= ϕ gdw. I |= ψ Äquivalenzen können z.B. ausgenutzt werden, um kleinere Formeln, die dasselbe ausdrücken, zu erhalten Bsp.: B ↔ (A → ¬B) ≡ A ↔ ¬B Beweis z.B. durch Wahrheitstafeln A 0 0 1 1 B 0 1 0 1 B ↔ (A → ¬B) 0 1 1 0 A ↔ ¬B 0 1 1 0 44 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.2 Aussagenlogik – Boolesche Algebra Boolesche Algebra Def.: eine Boolesche Algebra ist eine Menge M mit zwei Konstanten >, ⊥ ∈ M und drei Funktionen u, t : M × M → M und · : M → M, so dass für alle x, y , z ∈ M gilt: • x u y = y u x und x t y = y t x (Kommutativität) • (x u y ) u z = x u (y u z) und (x t y ) t z = x t (y t z) (Assoziativität) • x u (y t z) = (x u y ) t (x u z) und x t (y u z) = (x t y ) u (x t z) • x t (x u y ) = x und x u (x t y ) = x • x t x = > und x u x = ⊥ (Distributivität) (Absorption) (Komplemente) • x t x = x und x u x = x (Idempotenz) • x t ⊥ = x und x u > = x (Neutralität) • x u ⊥ = ⊥ und x t > = > (Extremalität) 45 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.2 Aussagenlogik – Boolesche Algebra Boolesche Algebren Lemma: (B, 1, 0, ∧, ∨, ¬) ist eine Boolesche Algebra Gültigkeit der Gesetze lässt sich z.B. durch Wahrheitstafeln ausrechnen andere Beispiele für Boolesche Algebren: • Potenzmengenverband einer endlichen Menge M: (2M , M, ∅, ∩, ∪, ·) • Singleton-Menge (wieso?) • für festes n ∈ N: Menge aller Booleschen Funktionen Bn → B (Übung: definiere >, ⊥, u, t,¯· darin) • ... Lemma: Ist (M, >, ⊥, u, t,¯·) Boolesche Algebra, so auch (M, ⊥, >, t, u,¯·). 46 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.2 Aussagenlogik – Boolesche Algebra Redundanz und Herleitung Beachte: nicht alle Gesetze für Boolesche Algebren sind unabhängig Z.B. folgt Neutralität aus Absorption und Komplementen x t ⊥ = x t (x u x) = x In ähnlicher Weise lassen sich auch weitere Gesetze finden, die in jeder Booleschen Algebra gelten müssen; diese sind aus den obigen Gesetzen herleitbar, z.B. die de Morgan-Gesetze: • x ty =x uy • x uy =x ty 47 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.2 Aussagenlogik – Boolesche Algebra Boolesche Algebra und Aussagenlogik beachte: Formeln der Aussagenlogik werden in Boolescher Algebra (B, 1, 0, ∧, ∨, ¬) interpretiert Gesetze der Booleschen Algebra lassen sich auf Aussagenlogik übertragen zur Erinnerung: Formeln, die dieselbe Funktion definieren, sind äquivalent Gesetze der Booleschen Algebra – angewandt auf Formeln – resultieren also insbesondere in Äquivalenzen daher: Klammern können aufgrund von Assoziativität weggelassen, Unterformeln wegen Kommutativität vertauscht werden, Mehrfachvorkommen wegen Idempotenz weggelassen werden, etc. 48 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.2 Aussagenlogik – Boolesche Algebra 49 Mehrstellige Junktoren aufgrund der Kommutativ- und Assoziativgesetze können wir mehrstellige Dis- und Konjunktionen einführen: n ^ ϕi := ϕ1 ∧ . . . ∧ ϕn i=1 n _ genauso für endliche Indexmengen I : beachte: falls n = 0, dann ebenfalls für I = ∅ ϕi := ϕ1 ∨ . . . ∨ ϕn i=1 Vn i=1 ϕi V i∈I ϕi bzw. := tt und Wn W i∈I i=1 ϕi ϕi := ff; Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wenn es ein I gibt, so dass I |= ϕ Def.: eine Formel ϕ heißt allgemeingültig (oder Tautologie), wenn für alle I gilt: I |= ϕ Lemma: ϕ ist erfüllbar gdw. ¬ϕ nicht allgemeingültig ist Beweis: “⇒” Sei ϕ erfüllbar. Dann ex. I mit I |= ϕ und daher I 6|= ¬ϕ. Somit ist ¬ϕ nicht allgemeingültig. “⇐” Genauso. 50 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Zusammenhänge Beachte: aus obigem Lemma folgt z.B. sofort, dass ϕ unerfüllbar ist gdw. ¬ϕ allgemeingültig ist; dies liegt daran, dass die folgende Formel der Aussagenlogik allgemeingültig ist (A → ¬B) → (B → ¬A) Theorem 4 a) ϕ ∧ ψ ist allgemeingültig gdw. ϕ und ψ allgemeingültig sind b) ϕ ∨ ψ ist erfüllbar gdw. ϕ oder ψ erfüllbar ist c) ϕ ≡ ψ gdw. ϕ ↔ ψ allgemeingültig d) ϕ allgemeingültig gdw. ϕ ≡ tt e) ϕ unerfüllbar gdw. ϕ ≡ ff Beweis: (Übung) 51 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Beispiele die folgenden Formeln sind erfüllbar A , ¬A , A ∧ ¬B , (A ∨ B) ∧ (¬A ∨ B) ∧ (A ∨ ¬B) die folgenden Formeln sind unerfüllbar A ∧ ¬A , (A ∨ B) ∧ (¬A ∨ B) ∧ (A ∨ ¬B) ∧ (¬A ∨ ¬B) die folgenden Formeln sind Tautologien A ∨ ¬A , (A → B) → (B → C ) → (A → C ) , ¬¬A ↔ A beachte: → ist nicht assoziativ; Konvention: rechts geklammert 52 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Fallstricke Vorsicht! Folgendes gilt nicht: • ϕ ∨ ψ allgemeingültig gdw. ϕ oder ψ allgemeingültig • ϕ ∧ ψ erfüllbar gdw. ϕ und ψ erfüllbar Gegenbeispiele? aber es gelten jeweils eine der beiden Richtungen, welche? 53 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Anwendungen von Erfüllbarkeit Def.: Das Erfüllbarkeitsproblem der Aussagenlogik (SAT) ist das folgende: Geg. ϕ, entscheide, ob ϕ erfüllbar ist oder nicht. • Lösung des Rätsels über das Lügen ist Erfüllbarkeitstest • Zusammenhang zu Allgemeingültigkeit bedeutet: über Erfüllbarkeit lässt sich herausfinden, welche aussagenlogischen Zusammenhänge gelten • allgemein: Erfüllbarkeitstest ist Auffinden von Lösungen • ... 54 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Bsp.: Sudoko via Aussagenlogik k mit 1 ≤ i, j ≤ 9 und 0 ≤ k ≤ 3 für binäre verwende Variablen Xi,j Kodierung der Lösung intuitive Bedeutung “das k-te Bit der Zahl im Feld (i, j) ist gesetzt” betrachte Konjunktion über die folgenden Aussagen • “an jeder Stelle steht eine Zahl zwischen 0 und 9” V9 V9 3 2 1 i=1 j=1 Xi,j → (¬Xi,j ∧ ¬Xi,j ) • “in jeder Zeile (Spalte, Block) kommt keine Zahl doppelt vor” V9 i=1 V 1≤j<j 0 ≤9 W3 k=0 k ↔ Xk ) ¬(Xi,j i,j 0 • Vorbelegungen, z.B. “in Feld (2, 7) steht die 5” 3 ∧ X 2 ∧ ¬X 1 ∧ X 0 ¬X2,7 2,7 2,7 2,7 55 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Ein naiver Erfüllbarkeitstest Theorem 5 SAT ist in Zeit O(|ϕ| · 2|Vars(ϕ)| ) entscheidbar. (|ϕ| = Länge von ϕ, Vars(ϕ) = Menge der Variablen in ϕ) Beweis: Beachte: • in Zeit O(|ϕ|) lässt sich für gegebenes I entscheiden, ob I |= ϕ gilt oder nicht (Übung). • es reicht aus, nur Interpretationen vom Typ I : Vars(ϕ) → {0, 1} zu betrachten; davon gibt es nur 2|Vars(ϕ)| viele Aufzählung aller relevanten Interpretationen und sukzessives Testen 56 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit 57 Normalformen Def.: • Ein Literal ist eine Variable A oder ihre Negation ¬A. • Eine Klausel ist eine Disjunktion von Literalen, Wn • Ein Minterm ist eine Konjunktion von Literalen, i=1 li . Vn i=1 li . • Eine Formel ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion von Klauseln ist, Vn i=1 Wmi j=1 li,j . • Eine Formel ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion von Mintermen ist, Wn i=1 Vmi j=1 li,j . Bsp. (A ∨ ¬B) ∧ (B ∨ ¬C ∨ ¬A) ist in KNF wir schreiben Formeln in KNF (oder DNF) wegen Assoziativität, Kommutativität und Idempotenz auch als Mengen von Mengen von Literalen Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Substitutionen Def.: ϕ[ψ/A] bezeichne die simultane Ersetzung von jedem Vorkommen der Variablen A in ϕ durch ψ Theorem 6 Aussagenlogische Äquivalenz ist eine Kongruenzrelation: Wenn ψ ≡ θ dann ϕ[ψ/A] ≡ ϕ[θ/A]. Beweis (durch Induktion über den Aufbau von ϕ) Frage: macht es einen Unterschied, wenn man nicht simultan ersetzt? 58 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Existenz von Normalformen Theorem 7 Für jedes ϕ existiert ein ψ in KNF / DNF, so dass ϕ ≡ ψ. Beweis: Durch schrittweises Umbauen von ϕ: 1 Elimination von →, ↔ mittels ϕ1 ↔ ϕ2 ≡ (ϕ1 → ϕ2 )∧(ϕ2 → ϕ1 ) , ϕ1 → ϕ2 ≡ ¬ϕ1 ∨ϕ2 2 Anwenden der de Morgan-Gesetze und ¬¬θ ≡ θ liefert Formel, die nur aus Literalen mit ∧, ∨ gebaut ist. 3 Anwenden der Distributivgesetze liefert KNF oder DNF. Alle Schritte sind äquivalenzerhaltend laut Thm. 6. 59 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Das Erfüllbarkeitsproblem für DNF Theorem 8 DNF-SAT (SAT für Formeln in DNF) lässt sich in Zeit O(|ϕ| log |ϕ|) entscheiden. Beweis: • Ein Minterm Vn i=1 li ist erfüllbar gdw. es keine A, i, j gibt, so dass li = A und lj = ¬A für 1 ≤ i, j ≤ n. W • Eine Disjunktion ni=1 ϕi ist erfüllbar gdw. es ein i gibt, so dass ϕi erfüllbar ist. Somit kann Erfüllbarkeit einer DNF in einem Durchlauf (nach Sortierung) durch die Formel entschieden werden. Warum dann nicht Erfüllbarkeitstest für allgemeine Formel ϕ so: Wandle ϕ in äquivalente DNF ψ um. Teste Erfüllbarkeit von ψ. 60 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Erfüllbarkeitsäquivalenz neben dem starken Äquivalenzbegriff ≡ führen wir noch einen schwächeren ein Def.: ϕ und ψ sind erfüllbarkeitsäquivalent, ϕ ≡sat ψ, falls gilt: ϕ erfüllbar gdw. ψ erfüllbar beachte: ≡sat ist Äquivalenzrelation mit nur zwei Äquivalenzklassen; kanonische Vertreter sind tt, ff Wofür kann das dann überhaupt gut sein? Ist man (nur) an Erfüllbarkeit von ϕ interessiert, so reicht es aus, Erfüllbarkeit von ψ zu testen, falls ϕ ≡sat ψ (aber evtl. nicht ϕ ≡ ψ). 61 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Erfüllbarkeitsäquivalente KNF Theorem 9 Für jedes ϕ gibt es ein ψ in KNF, so dass ϕ ≡sat ψ und |ψ| = O(|ϕ|). Beweis: Für jede nicht-atomare Subformel θ von ϕ führen wir eine Variable Xθ ein. Dann wird ϕ sukzessive nach folgender Vorschrift “von unten nach oben” umgebaut. Solange es noch eine nicht-atomare Subformel θ gibt, ersetze diese durch Xθ und definiere eine KNF ψθ je nach Junktor in θ, z.B. Falls θ = Y ∧ Z , dann ψθ := (¬Xθ ∨ Y ) ∧ (¬Xθ ∨ Z ) ∧ (Xθ ∨ ¬Y ∨ ¬Z ) V Definiere schlussendlich ψ := Xϕ ∧ {ψθ | θ Subformel von ϕ} 62 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Erfüllbarkeitsäquivalente KNF Beachte: Es gilt in obiger Konstruktion nicht nur ϕ ≡sat ψ, sondern noch etwas stärkeres: • Vars(ϕ) ⊆ Vars(ψ) • Ist I |= ψ, so auch I |= ϕ (aber nicht unbedingt umgekehrt). Soll heißen: ψ ist nicht nur erfüllbarkeitsäquivalent zu ϕ, sondern jeder erfüllende Variablenbelegung für ψ ist auch eine für ϕ. Beachte: Erfüllbarkeitstest in O(n log n) war für DNF, nicht KNF! Umwandlung in erfüllbarkeitsäquivalente DNF ist wohl nicht mit nur polynomiellem Aufwand möglich. 63 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Beispiel Gesucht ist Formel über Variablen A1 , . . . , An die besagt “genau eine der Aussagen A1 , . . . , An is wahr”. Leicht möglich: n W i=1 (Ai ∧ V ¬Aj ), hat aber Größe O(n2 ) j6=i Geht es auch mit Formel der Größe O(n)? Ja, wenn man sich mehr Variablen spendiert: ϕ1 ∧ ϕ2 , wobei n W • ϕ1 := Ai , “Mindestens eine der A1 , . . . , An ist wahr” i=1 • zusätzliche Variablen Bi , i = 1, . . . , n, mit intuitiver Bedeutung: “eine der A1 , . . . , Ai ist wahr” ϕ2 := (A1 ↔ B1 ) ∧ n ^ i=2 ((¬Bi−1 ↔ Ai ) → Bi ) ∧ ¬(Bi−1 ∧ Ai ) 64 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik – Erfüllbarkeit Horn-Formeln Def.: Eine Horn-Formel ist ein ϕ in KNF, so dass in jeder Klausel höchstens ein positives Literal vorkommt. Beachte: ¬A1 ∨ . . . ∨ ¬An ∨ B ≡ A1 ∧ . . . ∧ An → B ¬A1 ∨ . . . ∨ ¬An ≡ A1 ∧ . . . ∧ An → ff Theorem 10 HORN-SAT (Erfüllbarkeitsproblem für Horn-Formeln) ist in Zeit O(|ϕ|2 ) lösbar. Beweis: (Übung) Beachte: mit etwas Cleverness lässt es sich sogar in O(|ϕ|) lösen 65 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver SAT-Solver Ein SAT-Solver ist eine Implementierung eines Algorithmus für das SAT-Problem. Obwohl dies i.A. exponentielle (in |Vars(ϕ)|) Laufzeit braucht, gibt es mittlerweile einige SAT-Solver, die in der Praxis erstaunlich gut funktionieren. • Minisat http://minisat.se/ • Picosat http://fmv.jku.at/picosat/ • Berkmin http://eigold.tripod.com/BerkMin.html • RSat • zChaff http://reasoning.cs.ucla.edu/rsat/ http://www.princeton.edu/~chaff/zchaff.html • ... siehe auch SATLive-Webseite http://www.satlive.org/ 66 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver Das DIMACS-Format SAT-Solver verlangen typischerweise eine Eingabe in KNF. Standardisiertes Format: DIMACS • Variablen sind natürliche Zahlen ≥ 1 • Literale werden durch Integer bezeichnet, z.B. A7 = 7, ¬A4 = -4 • Klausel ist Liste von Integern, 0 markiert Klauselende • KNF ist Liste von Klauseln • Kommentare im Header (c ...) • spezielle Headerzeile (p cnf ...) gibt Anzahl verwendeter Klauseln und Variablen an 67 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver Beispiel Die KNF (¬A ∨ B ∨ C ) ∧ (B ∨ ¬C ) ∧ ¬D ∧ (A ∨ D) ∧ (¬B ∨ ¬C ∨ ¬D) kann im DIMACS-Format so repräsentiert werden: c Beispielformel aus der Vorlesung c Autor: Martin Lange p cnf 4 5 -1 2 3 0 2 -3 0 -4 0 1 4 0 -2 -3 -4 0 68 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver SAT-Solver im Einsatz Clevere Heuristiken und jahrelanges Tuning haben dazu geführt, dass moderne SAT-Solver typischerweise Instanzen der Größenordnung • ∼ 105 Variablen • ∼ 106 Klauseln lösen können. Vorsicht! Es gibt natürlich auch (im Vergleich dazu) sehr kleine Instanzen, an denen sie sich die Zähne ausbeissen. typischer Einsatz von SAT-Solvern (nicht annähernd vollständig): • Hardware-Verifikation • Planungsprobleme in der KI • Constraint-Solving • ... 69 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver Ersetzung von Literalen Def.: Sei C Klauselmenge (= Menge von Mengen von Literalen). Mit C[A 7→ 1] bezeichnen wir die Menge von Klauseln, die dadurch entsteht, dass man 1 jede Klausel, die das Literal A enthält, aus C entfernt, und 2 das Literal ¬A aus jeder Klausel in C entfernt. Für C[A 7→ 0] gilt das entsprechend duale. Bsp.: C = {{A, ¬B}, {¬A, ¬B}, {¬A, B}} C[A 7→ 1] = {{¬B}, {B}} C[B 7→ 0] = {{¬A}} Lemma: Sei C Klauselmenge (als KNF aufgefasst), A Variable. C erfüllbar gdw. C[A 7→ 1] oder C[A 7→ 0] erfüllbar. Beweis: (Übung) 70 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver Unit-Propagation Lemma: Sei C Klauselmenge, A Variable, so dass {A} ∈ C. Dann ist C erfüllbar gdw. C[A 7→ 1] erfüllbar ist. Beweis: “⇐” folgt sofort aus Lemma davor. “⇒” Sei C erfüllbar. Wegen Lemma davor müssen wir lediglich zeigen, dass C[A 7→ 0] unerfüllbar ist. Dies ist der Fall, denn da {A} ∈ C gilt ∅ ∈ C[A 7→ 0], und wegen KNF steht ∅ für ff, und ff ∧ ϕ ≡ ff, was unerfüllbar ist. entsprechendes Lemma für Fall {¬A} ∈ C Algorithmus Unit-Propagation(C) führt sukzessive diese Ersetzungsschritte durch, solange noch Singleton-Klauseln in C vorhanden sind. 71 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.4 Aussagenlogik – SAT-Solver Der DPLL-Algorithmus Alle modernen SAT-Solver basieren auf dem DPLL-Algorithmus (nach Davis, Putnam, Logemann, Loveland). DPLL(C) = Unit-Propagation(C) if C = ∅ then return erfüllbar if ∅ ∈ C then return unerfüllbar wähle Variable A, die noch in C vorkommt if DPLL(C[A 7→ 1]) = erfüllbar then return erfüllbar return DPLL(C[A 7→ 0]) Bem.: Algorithmus DPLL terminiert immer, ist korrekt (wenn er “erfüllbar” sagt, dann war die Eingabe auch erfüllbar) und vollständig (wenn die Eingabe erfüllbar ist, dann sagt er auch “erfüllbar”), aber wieso? 72 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Erfüllbarkeit und endliche Konsistenz Def.: Eine Menge Φ von Formeln heißt erfüllbar, wenn es eine Interpretation I gibt, so dass I |= ϕ für alle ϕ ∈ Φ gilt. Notation: I |= Φ. V Für |Φ| < ∞ ist also Menge Φ erfüllbar gdw. Formel Φ erfüllbar ist. Def. beinhaltet aber auch Fall unendlicher Mengen! Bsp.: {Ai → Ai+1 | i ∈ N} ist erfüllbar Im folgenden nehmen wir an, dass V nur abzählbar unendlich viele Variablen enthält, also o.B.d.A. V = {A0 , A1 , . . .}. Def.: Eine Menge Φ von Formeln heißt endlich konsistent, wenn für alle Ψ ⊆ Φ mit |Ψ| < ∞ gilt: Ψ ist erfüllbar. 73 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Der Kompaktheitssatz Theorem 11 Für alle Mengen Φ von Formeln gilt: Φ erfüllbar gdw. Φ endlich konsistent. Anders gesagt: Ist jede endliche Teilmenge einer Menge Φ erfüllbar, so ist auch Φ erfüllbar. Eigentlich nur für |Φ| = ∞ interessant. Wieso? Notation: Ψ ⊆fin Φ gdw. Ψ ⊆ Φ und |Ψ| < ∞ Beweis von “⇒”: Sei I |= Φ, also gilt I |= ϕ für alle ϕ ∈ Φ. Damit ist dann auch I |= Ψ für alle Ψ ⊆ Φ, insbesondere falls Ψ ⊆fin Φ. 74 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit “⇐” ist schwieriger Beachte: Bei endlich konsistentem Φ kann jedes Ψ ⊆fin Φ verschiedenes Modell haben! Bsp. Φ = {ϕn,m | 0 ≤ n ≤ m} mit ϕn,m = m W Ai i=n Sei Ψ ⊆fin Φ und IΨ definiert durch ( 1 , falls min{n | ϕn,m ∈ Ψ} ≤ k ≤ max{m | ϕn,m ∈ Φ} IΨ (Ak ) = 0 , sonst Beachte: • Für alle Ψ ⊆fin Φ gilt IΨ |= Ψ, aber IΨ 6|= Φ. • Es gibt unendliche viele Ψ mit paarweise verschiedenen IΨ . 75 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit 76 Lemma 1 für die Kompaktheit Lemma 1: Sei ϕ Formel, I, I 0 Interpretationen, so dass I(A) = I 0 (A) für alle A ∈ Var (ϕ). Dann gilt I |= ϕ gdw. I 0 |= ϕ. Beweis Per Induktion über Aufbau von ϕ. Induktionsanfang: • Für ϕ = tt, ff gilt die Aussage sicherlich. • Sei ϕ = A. Offensichtlich gilt dann A ∈ Vars(ϕ) und damit dann auch die Aussage. Induktionsschritt: • Sei ϕ = ¬ψ und die Aussage für ψ bereits beweisen. Dann gilt I |= ϕ gdw. I 6|= ψ gdw. I 0 6|= ψ • Fälle ϕ = ψ1 ∧ ψ2 , ψ1 ∨ ψ2 genauso. gdw. I 0 |= ϕ Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Lemma 2 für die Kompaktheit Lemma 2: Ist Φ endlich konsistent, so ist Φ ∪ {A} oder Φ ∪ {¬A} endlich konsistent. Beweis: Durch Widerspruch. Angenommen, • Φ ist endlich konsistent, aber • sowohl Φ ∪ {A} als auch Φ ∪ {¬A} sind nicht endlich konsistent. Dann ex. unerfüllbare Ψ ⊆fin Φ ∪ {A} und Ψ0 ⊆fin Φ ∪ {¬A}. Somit ist auch Θ := Ψ ∪ Ψ0 unerfüllbar, und damit auch Θ ∪ {A} und Θ ∪ {¬A}. Dann muss aber bereits Θ \ {{A}, {¬A}} unerfüllbar sein. Da Θ \ {{A}, {¬A}} ⊆fin Φ, ist Φ also dann nicht endlich konsistent. 77 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Beweis des Kompaktheitssatzes Beweis von “⇐” (“Φ endlich konsistent ⇒ Φ erfüllbar”). Seien A0 , A1 , A2 , . . . Variablen in Φ. Def. simultan Φ0 := Φ, Φi+1 := Φi ∪ {`i } und ( Ai , falls Φi ∪ {Ai } endlich konsistent `i := ¬Ai , sonst Mit Lemma 2 und Induktion sind alle Φi endlich konsistent. Definiere I über ( 1 , falls `i = Ai I(Ai ) := 0 , falls `i = ¬Ai Behauptung: I |= ϕ für alle ϕ ∈ Φ 78 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Beweis des Kompaktheitssatzes Sei ϕ ∈ Φ. Wähle k := max{i | Ai ∈ Var (ϕ)}. Da Φ = Φ0 ⊆ Φ1 ⊆ . . . gilt also ϕ ∈ Φk+1 und somit Ψ := {ϕ, `0 , . . . , `k } ⊆fin Φk+1 Wegen endlicher Konsistenz von Φk+1 ist Ψ erfüllbar. Also ex. I 0 , so dass I 0 |= Ψ. Beachte: I(A) = I 0 (A) für alle A ∈ Var (ϕ) und außerdem I 0 |= ϕ. Wegen Lemma 1 gilt dann I |= ϕ. 79 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Erste Anwendung des Kompaktheitssatzes Theorem 12 (Königs Lemma) Jeder endlich-verzweigende Baum, in dem Pfade beliebiger Länge existieren, hat einen unendlichen Ast. Beweis: Sei t Baum mit abzählbarer Knotenmenge N und Wurzel 0, so dass es Pfade beliebiger Länge gibt. Wir schreiben succ(i) für die unmittelbaren Nachfolger von i. Betrachte _ Φ := {X0 } ∪ {Xi → Xj | i ∈ N} j∈succ(i) • all Ψ ⊆fin Φ sind erfüllbar wegen Pfaden beliebiger Länge • nach Kompaktheit ist dann auch Φ erfüllbar • Modell von Φ liefert unendlichen Pfad in t 80 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Zweite Anwendung des Kompaktheitssatzes Kacheln sind Einheitsquadrate mit gefärbten Kanten: Sei K eine endliche Menge von Kacheln. Dies induziert zwei Relationen H und V , die besagen, ob zwei Kacheln horizontal bzw. vertikal aneinanderpassen. Eine K -Kachelung der n × n-Ebene ist eine Funktion κ : {0, . . . , n − 1}2 → K , so dass für alle i = 0, . . . , n − 2, j = 0, . . . , n − 1 gilt: • (κ(i, j), κ(i + 1, j)) ∈ H “horizontal passt alles” • (κ(j, i), κ(j, i + 1)) ∈ V “vertikal passt alles” analog K -Kachelung der unendlichen N × N-Ebene definiert 81 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Beispiel Bsp.: K = K -Kachelung der 3 × 3-Ebene: 82 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Anwendung des Kompaktheitssatzes Theorem 13 Sei K endliche Menge von Kacheln. Wenn jede n × n-Ebene K -kachelbar ist, so ist auch die N × N-Ebene K -kachelbar. Beweis: Benutze Aussagenvariablen Ati,j , i, j ∈ N, t ∈ K mit Bedeutung “das Feld (i, j) ist mit Kachel t belegt” drücke K -Kachelbarkeit der n × n-Ebene aus: ϕn := n−1 ^ n−1 ^ ( _ Ati,j ∧ ∧ ^ 0 ¬Ati,j ) t 0 6=t i=0 j=0 t∈K n−2 ^ n−1 ^ ^ 0 ¬(Ati,j ∧ Ati+1,j ) ∧ i=0 j=0 (t,t 0 )6∈H ^ 0 ¬(Atj,i ∧ Atj,i+1 ) (t,t 0 )6∈V 83 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.5 Aussagenlogik – Kompaktheit Anwendung des Kompaktheitssatzes Beachte: • Erfüllende Belegung für ϕn liefert Kachelung der n × n-Ebene. • Wenn m ≤ n, dann ist ϕn → ϕm allgemeingültig. Intuitiv: n × n-Kachelung liefert auch immer eine m × m-Kachelung. Sei Φ := {ϕn | n ∈ N}. “Jede n × n-Ebene ist K -kachelbar” bedeutet: Für alle n ∈ N ist ϕn erfüllbar. Sei Ψ ⊆fin Φ. Dann ist Ψ = {ϕi1 , . . . , ϕik } für ein k ∈ N und i1 < i2 < . . . < ik . Da ϕik erfüllbar ist, ist mit obiger Bemerkung auch Ψ erfüllbar. Aus dem Kompaktheitssatz folgt, dass auch Φ erfüllbar ist; erfüllende Belegung induziert Kachelung der N × N-Ebene mit K . 84 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Beweiskalküle DPLL-Algorithmus in gewisser Weise semantisches Verfahren zum Erkennen von Erfüllbarkeit. (Konstruiert Modell für Formel) Im folgenden zwei syntaktische Verfahren zum Erkennen von (Un-)Erfüllbarkeit / Allgemeingültigkeit. 1 Resolution (für Unerfüllbarkeit) 2 Sequenzenkalkül (für Folgerungsbeziehung und damit insbesondere Allgemeingültigkeit) Beachte Zusammenhang zwischen Erfüllbarkeit und Allgemeingültigkeit (und auch Folgerungsbeziehung, wie wir noch sehen werden): diese Verfahren sind somit auch in der Lage, die jeweils anderen Fragestellungen zu lösen. 85 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Resolventen Wir erweitern den Begriff der Äquivalenz. Sei C Klausel, K, K0 Klauselmengen: _ I |= C gdw. I |= ` `∈C I |= K gdw. für alle C ∈ K : I |= C 0 gdw. für alle I : I |= K gdw. I |= K0 K≡K ( ¬A , falls ` = A, Def.: Sei ` Literal. `¯ := A , falls ` = ¬A Def.: Seien C1 , C2 Klauseln, ` Literal, so dass ` ∈ C1 , `¯ ∈ C2 . Dann heisst ¯ C := (C1 \ {`}) ∪ (C2 \ {`}) Resolvente von C1 und C2 . 86 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Das Resolutionslemma Lemma: Sei K Klauselmenge, C1 , C2 ∈ K, C Resolvente von C1 und C2 . Dann gilt: K ≡ K ∪ {C }. Beweis: “⇐=” Sei I |= K ∪ {C }. Da K ⊆ K ∪ {C }, gilt dann auch I |= K. “=⇒” Sei I |= K. Es reicht aus zu zeigen, dass I |= C gilt. Da C1 , C2 ∈ K gilt also insbesondere I |= C1 und I |= C2 . D.h. es gibt Literale `1 ∈ C1 , `2 ∈ C2 , so dass I |= `1 und I |= `2 . Somit ¯ für ein ` ∈ C1 muss gilt `1 6= `¯2 . Da C = (C1 \ {`}) ∪ (C2 \ {`}) `1 ∈ C oder `2 ∈ C sein. Dann gilt aber I |= C . Def. Sei K Klauselmenge, Res(K) ist Menge aller Resolventen von Klauseln in K. 87 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Resolution Def.: Ein Resolutionsbeweis für (Unerfüllbarkeit von) K ist ein endlicher, binär verzweigender Baum, dessen Knoten mit Klauseln beschriftet sind und für den gilt: • Die Wurzel ist mit ∅ beschriftet. • An den Blättern stehen nur Klauseln aus K. • Die Beschriftung eines inneren Knoten ist Resolvente der Beschriftungen seiner beiden Söhne. Bsp.: K = {{A, B}, {A, ¬B}, {¬A, B}, {¬A, ¬B}} A, B ¬A, B A, ¬B ¬A, ¬B ¬B B ∅ Bsp.: hat K = {{A, B}, {A, ¬B}, {¬A, B}} Resolutionsbeweis? 88 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Korrektheit der Resolution Theorem 14 Sei K Klauselmenge. K ist unerfüllbar gdw. es einen Resolutionsbeweis für K gibt. Beweis: “⇐=” Angenommen, es existiert Resolutionsbeweis T der Höhe h für K. Definiere Klauselmengen wie folgt. K0 := {C | C Blatt in T } Ki+1 := Ki ∪ Res(Ki ) Beachte: • ∅ ∈ Kh+1 , also Kh+1 unerfüllbar. • K0 ≡ . . . ≡ Kh+1 nach Resolutionenlemma, also K0 unerfüllbar. • K0 ⊆ K, also K unerfüllbar. 89 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Vollständigkeit der Resolution “=⇒” Angenommen K ist unerfüllbar. Nach dem Kompaktheitssatz existiert K0 ⊆fin K, welches bereits unerfüllbar ist. Offensichtlich gilt: Ein Resolutionsbeweis für K0 ist auch einer für K. Sei Var (K0 ) = {A1 , . . . , An }. Wir zeigen die Existenz eines Resolutionsbeweises für K0 durch Induktion über n. Induktionsanfang, n = 0. Dann ist Var (K0 ) = ∅. Es gibt nur zwei Klauselmengen über der leeren Variablenmenge: ∅ und {∅}. Da ∅ aber trivialerweise erfüllbar ist, muss K0 = {∅} gelten. Offensichtlich lässt sich dafür ein Resolutionsbeweis bauen. 90 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Vollständigkeit der Resolution Induktionsschritt, n > 0. Die Induktionshypothese besagt, dass es für unerfüllbare Klauselmengen über den Variablen A1 , . . . , An−1 Resolutionsbeweise gibt. Konstruiere nun K0+ := {C \ {¬An } | C ∈ K0 und An 6∈ C } K0− := {C \ {An } | C ∈ K0 und ¬An 6∈ C } Beachte: sowohl K0+ als auch K0− sind unerfüllbar (Übung) und enthalten höchstens die Variablen A1 , . . . , An−1 . Die Induktionshypothese liefert nun also zwei Resolutionsbeweise T + und T − . Durch Einfügen von ¬An in jede Klausel in T + und An in jede Klausel in T − entstehen Bäume mit Wurzeln in K0 , deren innere Knoten jeweils Resolventen ihrer Söhne sind. Durch Resolution nach den Literalen ¬A und A entsteht aus diesen ein Resolutionsbeweis für K0 . 91 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Resolution Resolution verwenden Unerfüllbarkeit ist eine universelle Eigenschaft: alle Interpretationen sind kein Modell. Resolution charakterisiert dies existentiell: statt alle Interpretationen für eine Formel zu testen, reicht es aus, einen Resolutionsbeweis anzugeben. Aber: Resolutionsbeweise können exponentielle Größe haben (Übung). Im Vergleich: Zeugen für Erfüllbarkeit (Modelle) haben höchstens lineare Größe. Beweissuche im Resolutionskalkül für Klauselmenge K: K0 := K Kn+1 := Kn ∪ Res(Kn ) Iteration bis ∅ als Resolvente auftritt oder Kn+1 = Kn für ein n gilt. 92 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Sequenzen Zum Abschluss des Kapitels über Aussagenlogik behandeln wir noch Gentzens Sequenzenkalkül. Charakterisiert logische Folgerungsbeziehung syntaktisch. Def.: Seien ϕ, ψ Formeln. ψ folgt aus ϕ, geschrieben ϕ |= ψ, falls für alle I gilt: wenn I |= ϕ dann I |= ψ. Beachte: ϕ |= ψ gdw. ϕ → ψ allgemeingültig Def.: Eine Sequenz ist ein Paar Γ =⇒ ∆ von Formel(multi)mengen. Γ heißt Antezedens, ∆ Sukzedens. Vereinfachte Schreibweise ohne Mengenklammern, etc.: ϕ1 , . . . , ϕn =⇒ ψ1 , . . . , ψm Def.: Γ =⇒ ∆ ist gültig, falls V Γ |= W ∆. 93 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Beispiele Bsp.: welche der folgenden Sequenzen sind gültig? 1 A, A → B =⇒ B 2 ¬A, ¬B =⇒ A, B 3 A, A → B =⇒ ∅ 4 A, ¬A =⇒ B 5 A → B, B → C , A =⇒ C 6 A ∧ B → C , A =⇒ B → C 94 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Folgerung und Allgemeingültigkeit Bereits oben gesehen: Folgerung kann mithilfe von Allgemeingültigkeit ausgedrückt werden: ^ _ Γ→ ∆ allgemeingültig Γ =⇒ ∆ gültig gdw. Umkehrung gilt ebenfalls: Lemma: ϕ ist allgemeingültig gdw. die Sequenz ∅ =⇒ ϕ gültig ist. Beweis: “⇒” Angenommen, ∅ =⇒ ϕWist nicht gültig. W Dann V existiert I, so dass I |= ∅ und I 6|= {ϕ}. Beachte: {ϕ} ≡ ϕ, also ist ϕ nicht allgemeingültig. V “⇐” Angenommen, ∅V=⇒ ϕ ist gültig, d.h. für alle I gilt: I 6|= ∅ W oder I |= {ϕ}. Da ∅ ≡ tt muss also I |= ϕ für alle I gelten. Somit ist ϕ allgemeingültig. Also auch: ϕ =⇒ ∅ gültig gdw. ϕ unerfüllbar. 95 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Beweise im Sequenzenkalkül Ziel: Formalismus (“Sequenzenkalkül”), der genau die gültigen Sequenzen charakterisiert Def.: Ein Beweis im Sequenzenkalkül für eine Sequenz Γ =⇒ ∆ ist ein endlicher Baum, dessen • Wurzel mit Γ =⇒ ∆ beschriftet ist, • Blätter mit Axiomen beschriftet sind, • innere Knoten mit ihren Söhnen Instanzen von Beweisregeln sind. Beweisregeln haben die Form Γ1 =⇒ ∆1 . . . Γn =⇒ ∆n Γ =⇒ ∆ (Name) Γi =⇒ ∆i heißen Prämissen, Γ =⇒ ∆ Konklusion Axiom = Beweisregel ohne Prämissen 96 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 97 Axiome und Regeln des Sequenzenkalküls Axiome: Γ, ff =⇒ ∆ (ffL ) Γ =⇒ ∆, tt (ttR ) Γ, ϕ =⇒ ∆, ϕ (Ax) Beweisregeln: Γ, ϕ, ψ =⇒ ∆ Γ, ϕ ∧ ψ =⇒ ∆ (∧L ) Γ =⇒ ∆, ϕ Γ =⇒ ∆, ψ Γ =⇒ ∆, ϕ ∧ ψ Γ, ϕ =⇒ ∆ Γ, ψ =⇒ ∆ Γ, ϕ ∨ ψ =⇒ ∆ (∨L ) Γ =⇒ ∆, ϕ, ψ Γ =⇒ ∆, ϕ ∨ ψ (∧R ) (∨R ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 98 Beweisregeln des Sequenzenkalküls Γ =⇒ ∆, ϕ Γ, ¬ϕ =⇒ ∆ Γ =⇒ ∆, ϕ Γ, ψ =⇒ ∆ Γ, ϕ → ψ =⇒ ∆ Γ =⇒ ∆ Γ, tt =⇒ ∆ Γ, ϕ =⇒ ∆ Γ =⇒ ∆, ¬ϕ (¬L ) (ttL ) (¬R ) Γ, ϕ =⇒ ∆, ψ Γ =⇒ ∆, ϕ → ψ (→L ) Γ =⇒ ∆ Γ =⇒ ∆, ff Es fehlen noch 2 Regeln für ↔ (Übung) (ffR ) (→R ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 99 Beispiel (Ax) ψ1 , ψ2 =⇒ ϕ, ψ1 ψ1 , ψ2 =⇒ ϕ ∨ ψ1 (Ax) (∨R ) ψ1 , ψ2 =⇒ ϕ, ψ2 ψ1 , ψ2 =⇒ ϕ ∨ ψ2 ψ1 , ψ2 =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 ) ψ1 ∧ ψ2 =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 ) (∧L ) (∨R ) (∧R ) (Ax) ϕ =⇒ ϕ, ψ1 ϕ =⇒ ϕ ∨ ψ1 (∨R ) (Ax) ϕ =⇒ ϕ, ψ2 ϕ =⇒ ϕ ∨ ψ2 ϕ =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 ) ϕ ∨ (ψ1 ∧ ψ2 ) =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 ) ∅ =⇒ ϕ ∨ (ψ1 ∧ ψ2 ) → (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 ) (→R ) (∨R ) (∧R ) (∨L ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Axiomen- und Ableitungslemma Ziel: zeige, dass im Sequenzenkalkül genau die gültigen Sequenzen beweisbar sind dazu brauchen wir lediglich drei Lemmas Lemma: (Axiomenlemma I) Jede Sequenz Γ =⇒ ∆, die ein Axiom ist, ist gültig. Beweis: Leicht zu sehen für Axiome (ffL ) und (ttR ). Betrachte noch AxiomV(Ax) mit Γ, ϕ =⇒ ∆,Wϕ. Sei I Interpretation. Zu zg.: Wenn I |= Γ ∪ {ϕ} V dann I |= ∆ ∪ {ϕ}. Angenommen, I |= WΓ ∪ {ϕ}. DannWgilt insbesondere I |= ϕ und somit auch I |= ϕ ∨ ∆ bzw. I |= ∆ ∪ {ϕ}. Lemma: (Ableitungslemma) Für alle Regeln des Sequenzenkalküls gilt: Die Konklusion ist gültig gdw. alle Prämissen gültig sind. 100 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Beweis des Ableitungslemmas Beweis Wir zeigen dies exemplarisch für die Regeln (∧L ) und (∧R ). V V Fall (∧L ). Dies ist trivial, da Γ ∪ {ϕ ∧ ψ} ≡ Γ ∪ {ϕ, ψ}. Fall (∧R ). Zur Erinnerung: Konklusion K = Γ =⇒ ∆, ϕ ∧ ψ, Prämissen sind P1 = Γ =⇒ ∆, ϕ und P2 = Γ =⇒ ∆, ψ. “⇒” Angenommen, eine der beiden Prämissen ist ungültig. V Sei dies P1 . Der Fall mit P ist analog. Dann ex. I, so dass I |= 2 W W Γ und I 6|= ∆ ∪ {ϕ}. Daraus folgt insbesondere, dass I 6|= ∆ und I 6|= ϕ. V Somit gilt dann W aber auch I 6|= ϕ ∧ ψ. Zusammengefasst: I |= Γ und I 6|= ∆ ∪ {ϕ ∧ ψ}. Also ist K nicht gültig. “⇐” Angenommen, die W Konklusion ist ungültig. Also gibt es I, so V dass I |= Γ und I 6|= ∆ ∪ {ϕ ∧ ψ}. Insbesondere gilt I 6|= ϕ W ∧ ψ, also I 6|= ϕ oder W I 6|= ψ. Dann gilt auch I 6|= ∆ ∪ {ϕ} oder I 6|= ∆ ∪ {ψ}. Also ist entweder P1 ungültig oder P2 ungültig. 101 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Korrektheit des Sequenzenkalküls Theorem 15 Jede im Sequenzenkalkül beweisbare Sequenz ist gültig. Beweis: Angenommen es ex. Beweis für Γ =⇒ ∆. Wir zeigen per Induktion über die Höhe h des Beweisbaums, dass Γ =⇒ ∆ gültig ist. Induktionsanfang h = 0. Dann ist Γ =⇒ ∆ ein Axiom und laut Axiomenlemma I gültig. Induktionsschritt. Sei h > 0. Dann gibt es eine Beweisregel mit Prämissen P1 , . . . , Pn , zu denen Γ =⇒ ∆ Konklusion ist. Beachte: Jedes Pi ist beweisbar im Sequenzenkalkül mit einem Beweis der Höhe < h. Nach Induktionsvoraussetzung sind alle Pi somit gültig. Mit dem Ableitungslemma folgt dann, dass auch Γ =⇒ ∆ gültig sein muss. 102 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Vorbereitung auf die Vollständigkeit Lemma: (Axiomenlemma II) Angenommen Γ, ∆ ⊆ V. Dann ist Γ =⇒ ∆ gültig gdw. Γ ∩ ∆ 6= ∅. Beweis: “⇒” Angenommen, Γ ∩ ∆ = ∅. Wir zeigen, dass Γ =⇒ ∆ ungültig ist, indem wir eine falsifizierende Interpretation angeben. ( 1 , falls A ∈ Γ I(A) := 0 , sonst Aufgrund der Voraussetzung gilt I(B) = 0 für alle B ∈ ∆. Also gilt ^ _ I |= Γ und I 6|= ∆ und somit ist Γ =⇒ ∆ nicht gültig. 103 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Maß einer Sequenz Ziel: Umkehrung von Thm. 15 (gültige Sequenzen sind beweisbar) schwierig, denn “für alle Interpretationen . . . ⇒ es gibt Beweis . . . ” Intuition: auf gültige Sequenzen lassen sich Beweisregeln sinnvoll anwenden, so dass am Ende ein Beweis entstanden ist Was heißt “am Ende”? Wir müssen irgendwie zeigen, dass dieser Prozess auch terminiert. Def.: (Maß) ||Γ −→ ∆|| := P ϕ∈Γ ||ϕ|| + P ||ϕ||, wobei ϕ∈∆ ||tt|| = ||ff|| := 1 ||A|| := 0 ||¬ϕ|| := 1 + ||ϕ|| ||ϕ ∧ ψ|| = ||ϕ ∨ ψ|| = ||ϕ → ψ|| = ||ϕ ↔ ψ|| := 1 + ||ϕ|| + ||ψ|| 104 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Vollständigkeit des Sequenzenkalküls Theorem 16 Jede gültige Sequenz ist im Sequenzenkalkül beweisbar. Beweis: Sei Γ =⇒ ∆ gültig. Wir zeigen, dass es auch beweisbar ist durch Induktion über j = ||Γ =⇒ ∆||. Induktionsanfang, j = 0. Dann besteht Γ ∪ ∆ nur aus Variablen. Nach dem Axiomenlemma II gilt Γ ∩ ∆ 6= ∅. Dann ist Γ =⇒ ∆ Instanz von (Ax) und somit beweisbar. Induktionsschritt, j > 0. Also existiert noch mindestens ein Junktor oder eine Konstante in Γ ∪ ∆. Wir unterscheiden zwei Fälle. 105 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Vollständigkeit des Sequenzenkalküls 1 ff ∈ Γ oder tt ∈ ∆. Dann ist Γ =⇒ ∆ Instanz von (ffL ) oder (ttR ) und somit beweisbar. 2 Sonst. Da j > 0 muss mindestens eine Beweisregel anwendbar sein. Nach dem Ableitungslemma sind alle entstehenden Prämissen gültig. Außerdem ist deren Maß jeweils echt kleiner als j. Nach Induktionshypothese sind diese beweisbar. Durch Verknüpfung derer Beweisbäume erhält man einen Beweis für Γ =⇒ ∆. 106 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Beweissuche Der Sequenzenkalkül ermöglicht es, automatisch festzustellen, ob eine gegebene Formel allgemeingültig ist. Systematisch wendet man Regeln auf die Sequenz ∅ =⇒ ϕ an, um einen Beweisbaum zu konstruieren. Alle Pfade enden in Axiomen Beweis gefunden. Ein Pfad endet in Sequenz, die kein Axiom ist und auf die keine Regel angewandt werden kann kein Beweis möglich. Beachte: Die Regel selbst verlangen zwar keine Auswahl seitens des Benutzers; auf eine Sequenz können jedoch i.A. mehrere Regeln angewandt werden. Reihenfolge der Regelanwendungen unerheblich dafür, ob Beweis gefunden wird oder nicht. Sie kann aber die Größe des gefundenen Beweises beeinflussen. 107 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 108 Beispiel B =⇒ A, B, C A =⇒ A, B, C C =⇒ A, B, C (∨L ) A ∨ (B ∨ C ) =⇒ A, B, C A ∨ (B ∨ C ) =⇒ A ∨ B, C (∨R ) A ∨ (B ∨ C ) =⇒ (A ∨ B) ∨ C (∨R ) B =⇒ A, B, C B =⇒ A ∨ B, C A =⇒ A, B, C A =⇒ A ∨ B, C (∨R ) A =⇒ (A ∨ B) ∨ C (∨R ) (∨L ) (B ∨ C ) =⇒ A, B, C C =⇒ A, B, C (∨R ) B =⇒ (A ∨ B) ∨ C (∨R ) C =⇒ A ∨ B, C C =⇒ (A ∨ B) ∨ C (∨R ) (∨L ) B ∨ C =⇒ (A ∨ B) ∨ C A ∨ (B ∨ C ) =⇒ (A ∨ B) ∨ C (∨R ) (∨L ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 109 Herleitbarkeit Def.: Eine Regel mit Prämissen P1 , . . . , Pn und Konklusion K heißt herleitbar, wenn es einen Beweis für K gibt, der P1 , . . . , Pn als Axiome benutzt. Bsp.: Die folgenden Regeln sind z.B. im Sequenzenkalkül herleitbar. Γ =⇒ ∆, ϕ1 . . . Γ =⇒ ∆, ϕn Γ =⇒ ∆, ϕ1 ∧ . . . ∧ ϕn (∧∗R ) Γ, ϕ, ψ =⇒ ∆ Γ =⇒ ∆, ¬(ϕ ∧ ψ) (NANDR ) Herleitbare Regeln können die Beweissuche vereinfachen. Außerdem sollte folgendes offensichtlich sein. Thm.: Sei S der Sequenzenkalkül mit zusätzlichen, herleitbaren Regeln. Dann ist eine Sequenz in S beweisbar, gdw. sie gültig ist. Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül Zulässigkeit Def.: Eine Regel heißt zulässig, wenn sich im Sequenzenkalkül mit dieser Regel dieselben Sequenzen beweisen lassen wie ohne diese Regel. Bsp.: Die folgenden Regeln sind z.B. zulässig aber nicht herleitbar! Γ =⇒ ∆ Γ, ϕ =⇒ ∆ (WeakL ) Γ =⇒ ∆ Γ =⇒ ∆, ϕ Γ =⇒ ∆, ϕ Γ, ϕ =⇒ ∆ Γ =⇒ ∆ (WeakR ) (Cut) Beachte: Regel (Cut) zusammen mit (¬L ) drückt Fallunterscheidung aus. Bem.: Jede herleitbare Regel ist zulässig. Nicht jede zulässige Regel ist herleitbar. 110 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 111 Cut-Elimination Betrachte Verallgemeinerung von (Cut): Γ =⇒ ∆, ϕ Γ, ϕ =⇒ ∆ Γ =⇒ ∆ (Cut) Γ =⇒ ∆, ϕ Θ, ϕ =⇒ Ψ Γ, Θ =⇒ ∆, Ψ (Cut∗ ) Lemma: (Cut/Axiomen-Lemma) Sind die Prämissen der Regel (Cut∗ ) Axiome, so ist die Konklusion auch bereits ein Axiom. Beweis: Durch Analyse aller möglichen Fälle, z.B. • Ist ff ∈ Γ, so ist auch ff ∈ Γ ∪ Θ. • Ist ff ∈ Θ ∪ {ϕ}, dann gilt: Ist ff ∈ Θ, so auch ff ∈ Γ ∪ Θ. Ist ϕ = ff, dann benutzen wir die Tatsache, dass Γ =⇒ ∆, ϕ auch Axiom ist. Dann kann nur noch tt ∈ ∆ oder Γ ∩ ∆ 6= ∅ gelten. In beiden Fällen ist die Konklusion ebenfalls Axiom. • ... Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 112 Cut-Elimination Theorem 17 Die Regel (Cut) ist zulässig. Beweis: Zeige stärkeres Resultat: (Cut∗ ) ist zulässig. (Beachte: (Cut) ist Vereinfachung von (Cut∗ ).) Angenommen, es gibt einen Beweis für eine Sequenz, der (Cut∗ ) benutzt. Dieser lässt sich zu einem Beweis umbauen, der (Cut∗ ) nur an den Blättern benutzt. Dazu vertauschen wir die Anwendung von (Cut∗ ) mit der Anwendung einer Regel darüber, hier exemplarisch gezeigt für (∨R ) und (∨L ). .. . .. . Θ, ϕ =⇒ Ψ, ψ1 , ψ2 Γ =⇒ ∆, ϕ Θ, ϕ =⇒ Ψ, ψ1 ∨ ψ2 Γ, Θ =⇒ ∆, Ψ, ψ1 ∨ ψ2 .. . (∨R ) (Cut∗ ) .. . .. . Γ =⇒ ∆, ϕ Θ, ϕ =⇒ Ψ, ψ1 , ψ2 Γ, Θ =⇒ ∆, Ψ, ψ1 , ψ2 Γ, Θ =⇒ ∆, Ψ, ψ1 ∨ ψ2 .. . (Cut∗ ) (∨R ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül 113 Beweis der Cut-Elimination .. . .. . Γ, γ1 =⇒ ∆, ϕ Γ, γ2 =⇒ ∆, ϕ Γ, γ1 ∨ γ2 =⇒ ∆, ϕ .. . (∨L ) Θ, ϕ =⇒ Ψ Γ, γ1 ∨ γ2 , Θ =⇒ ∆, Ψ (Cut∗ ) .. . .. . .. . Γ, γ1 =⇒ ∆, ϕ Θ, ϕ =⇒ Ψ (Cut∗ ) Γ, γ1 , Θ =⇒ ∆, Ψ .. . .. . Γ, γ2 =⇒ ∆, ϕ Θ, ϕ =⇒ Ψ Γ, γ2 , Θ =⇒ ∆, Ψ Γ, γ1 ∨ γ2 , Θ =⇒ ∆, Ψ (Cut∗ ) (∨L ) .. . So entsteht also ein Beweis, in dem Regel (Cut∗ ) nur unter Axiomen (und wiederum darunter) vorkommt. Aus dem Cut/Axiomen-Lemma folgt dann, dass diese auch alle weggelassen werden können. Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.7 Aussagenlogik – Der Sequenzen-Kalkül PVS PVS ist ein Theorembeweiser, in dem der Sequenzenkalkül implementiert ist. frei verhältlich von http://pvs.csl.sri.com/ Zum manuellen Beweisen von aussagenlogischen Sequenzen reichen die Befehle • (flatten), wendet Regeln mit einer Prämisse an, z.B. (∨R ),(∧L ), etc. • (split n ), wendet Regel mit zwei Prämissen auf n-te Formel in der Sequenz an, z.B. (∨L ), (∧R ), etc. 114 Prädikatenlogik 1. Stufe I Strukturen I Syntax und Semantik I Normalformen I Sequenzenkalkül I Fundamentale Sätze I (Un-)Entscheidbarkeit I Ausdrucksstärke I Resolution Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.1 Prädikatenlogik – Strukturen Schwäche der Aussagenlogik Aussagenlogik hat zwar Vorteile (z.B. Entscheidbarkeit mittels Sequenzenkalkül, Resolution, DPLL, etc.), ist jedoch für viele Anwendungen nicht ausdrucksstark genug. Wie z.B. formalisieren: • “Jede Quadratzahl ist positiv” und “25 ist Quadratzahl”, also “25 ist positiv”. Ist offensichtlich richtig, hat aber Struktur A ∧ B → C . Abstraktion in reine Aussagen verdeckt hier den Grund für die Wahrheit. V • “Partielle Ordnung (M, ≤) ist total”. Ax,y ∨ Ay ,x x,y ∈M funktioniert nur für endliche Mengen M. Außerdem wünschenswert: eine Formel, die dies für alle partiellen Ordnungen besagt. Interpretation, die lediglich Aussagenvariablen Wahrheitswerte zuordnen, reichen dann nicht aus. 145 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.1 Prädikatenlogik – Strukturen Signaturen Def.: Signatur τ ist Menge/Liste von Relationssysmbolen R und Funktionssymbolen f , jeweils mit Stelligkeit st(R), st(f ) ≥ 0. Null-stellige Funktionssymbole heißen Konstanten, null-st. Relationssymbole Propositionen. Bsp.: < = (<, +, ·, 0, 1) ist Signatur der geordneten Arithmetik mit • τar < 2-st. Relationssymbol, +, ∗ 2-st. Funktionssysmbole, 0, 1 Konstanten. • τar = (+, ·, 0, 1) wie oben ist Signatur der Arithmetik. • τGr = (E ) ist Signatur der Graphen. • τVR = (+, 0̄, (·k )k∈K ) ist Signatur der Vektorräume über Körper K . • ... 146 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.1 Prädikatenlogik – Strukturen τ -Strukturen Def. Sei τ = (R1 , . . . , Rn , f1 , . . . , fm ). Eine τ -Struktur ist ein A = (A, R1A , . . . , RnA , f1A , . . . , fmA ), wobei • A nicht-leere Menge, genannt Universum von A • RiA ⊆ A × . . . × A für i ∈ {1, . . . , n} | {z } st(Ri ) • fi A : A × . . . × A → A für i ∈ {1, . . . , m} | {z st(fi ) } Beachte Unterscheidung zwischen Relationssymbol R und konkreter Relation R A in A. Bsp.: < -Struktur. • (N, +, ·, 0, 1, <) ist τar • ({•}, f , g , c, d, R) mit f (•, •) = g (•, •) = • = c = d und < -Struktur. R(•, •) oder R = ∅ ist jeweils ebenfalls τar 147 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.1 Prädikatenlogik – Strukturen Beispiele a • τLTS = ((−→)a∈Act , P1 , . . . , Pn ), wobei Act endliche Menge a von Aktionennamen, −→ jeweils 2-st., Pi einstellige Relationen (Prädikate) τLTS -Struktur ist beschriftetes Transitionssystem; modelliert a operationale Semantik eines Programms: −→ ist Übergangsrelation zwischen Zuständen (z.B. “Eintritt in Methode f”), Pi beschreibt, was in einzelnen Zuständen gilt (z.B. “Programmvariable x hat Wert im erlaubten Bereich”). • relationale Datenbank mit Tabellen T1 , . . . , Tn als τ -Struktur mit entsprechendem τ 148 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Terme Ab sofort wird Signatur τ als festgelegt angenommen. Sei V = {x, y , . . .} Vorrat an Variablen. Def.: Terme sind induktiv definiert: • Jede Variable ist ein Term. • Sind t1 , . . . , tn Terme und f ein n-st. Funktionssymbol, so ist auch f (t1 , . . . , tn ) Term. Beachte: Mit n = 0 sind auch Konstanten Terme. Bsp.: +(∗(x, +(1, y )), 0) benutze auch Infix-Notation (x ∗ (1 + y )) + 0 149 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Formeln Def.: Formeln der Prädikatenlogik 1. Stufe mit Gleichheit (FO) sind induktiv aufgebaut: . • Sind t1 , t2 Terme, so ist t1 = t2 Formel. • Sind t1 , . . . , tn Terme, so ist R(t1 , . . . , tn ) Formel, falls st(R) = n. • Sind ϕ, ψ Formeln, so auch ¬ϕ, ϕ ∨ ψ, ϕ ∧ ψ, ϕ → ψ, • Ist ϕ Formel und x Variable, so sind auch ∃x ϕ und ∀x ϕ Formeln. verwende ϕ ↔ ψ als Abkürzung für (ϕ → ψ) ∧ (ψ → ϕ) Bem.: “erststufig” bedeutet: Quantifizierung nur über Elemente des Universums, nicht jedoch über Teilmengen, Funktionen, Relationen, etc. 150 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Präzedenzen Präzedenzregeln, um Mehrdeutigkeiten zu vermeiden: 1 ¬ 2 ∧ 3 ∨ 4 → 5 ∃, ∀ Klammern, um Präzedenzen zu umgehen, z.B. (ϕ ∨ ψ) ∧ χ Punktnotation für “öffende Klammer hier, schließende so weit rechts wie möglich”, z.B. . ∃x.∀y .R(f (x, y )) → ∀z.z = f (x, y ) 151 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Freie Variablen Def.: frei(ϕ) bezeichnet die in ϕ frei, d.h. nicht durch einen Quantor ∃ oder ∀ gebundenen, vorkommenden Variablen. . Bsp.: frei (∀y R(x, f (c, y ))) ∨ ∃x.¬(y = f (d, x)) = {x, y }! Übung: Definiere frei(ϕ) induktiv über den Term- und Formelaufbau. Def.: Ist frei(ϕ) = ∅, so heißt ϕ auch Satz. Bsp.: (∃x ∀y R(x, y )) → ∀y ∃x R(x, y ) ist Satz Wir schreiben auch ϕ(x1 , . . . , xn ) um auszudrücken, dass frei(ϕ) ⊆ {x1 , . . . , xn }. 152 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Substitutionen Def.: ϕ[t/x] bezeichnet simultanes Ersetzen aller freien Vorkommen der Variable x in ϕ durch den Term t, wobei quantifizierte Variablen, die auch in t vorkommen, in ϕ eindeutig umbenannt werden. Bsp.: ∀y .(∃x.R(x, z))∧Q(x, y ) [f (y )/x] = ∀v .(∃x.R(x, z))∧Q(f (y ), v ) 153 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Interpretationen für Terme Aussagenlogik: Interpretation = Belegung der Aussagenvariablen. Hier offensichtlich nicht ausreichend, um einer Formel einen Wahrheitswert zuzuordnen. Def.: Eine Interpretation einer FO-Formel über der Signatur τ ist ein I = (A, ϑ), wobei A τ -Struktur mit Universum A und ϑ : V → A ist. Dies induziert gleich auch eine Interpretation aller Terme. [[x]]A ϑ := ϑ(x) A A A [[f (t1 , . . . , tn )]]A ϑ := f ([[t1 ]]ϑ , . . . , [[tn ]]ϑ ) Bsp.: • A = (N, +, ·, 0, 1), ϑ(x) = 3, ϑ(y ) = 4. Dann ist [[(x ∗ (1 + y )) + 0]]A ϑ = 15. • B = ({0, 1}, ∨, ∧, 0, 1). ϑ(x) = 1, ϑ(y ) = 0. Dann ist [[(x ∗ (1 + y )) + 0]]B ϑ = 1. 154 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik . . . und für Formeln Def.: Sei I = (A, ϑ), A Universum von A, c ∈ A. Mit ϑ[x 7→ c] bezeichnen wir den üblichen Update von ϑ an der Stelle x auf c. I ist Modell von ϕ, wenn I |= ϕ gilt, wobei . A, ϑ |= t1 = t2 A gdw. [[t1 ]]A ϑ = [[t2 ]]ϑ A A A, ϑ |= R(t1 , . . . , tn ) gdw. ([[t1 ]]A ϑ , . . . , [[tn ]]ϑ ) ∈ R A, ϑ |= ¬ϕ gdw. A, ϑ 6|= ϕ A, ϑ |= ϕ ∧ ψ gdw. A, ϑ |= ϕ und A, ϑ |= ψ A, ϑ |= ϕ ∨ ψ gdw. A, ϑ |= ϕ oder A, ϑ |= ψ A, ϑ |= ϕ → ψ gdw. wenn A, ϑ 6|= ϕ dann A, ϑ |= ψ A, ϑ |= ∃x ϕ gdw. es gibt c ∈ A mit A, ϑ[x 7→ c] |= ϕ A, ϑ |= ∀x ϕ gdw. für alle c ∈ A gilt A, ϑ[x 7→ c] |= ϕ 155 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Erfüllbarkeit, Äquivalenz, etc. Die Begriffe Erfüllbarkeit, Allgemeingültigkeit und Äquivalenz (≡), Erfüllbarkeitsäquivalenz (≡sat ) sind wie bei der Aussagenlogik definiert. Beachte: Interpretation ist Paar aus Struktur und Variablenbelegung. Also ist z.B. ∃x R(x, y ) erfüllbar trotz freier Variablen. Insbesondere ist ϕ erfüllbar gdw. ¬ϕ nicht allgemeingültig ist. Bsp.: Neben den üblichen aussagenlogischen Äquivalenzen gelten weitere, z.B. • ∃x ϕ ≡ ¬∀x ¬ϕ • ∃x ∃y ϕ ≡ ∃y ∃x ϕ • ∃x ϕ ≡ ∃y ϕ[y /x] • (∃x ϕ) ∨ ∃x ψ ≡ ∃x (ϕ ∨ ψ) • ... 156 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Die Theorie einer Strukturklasse Wir untersuchen kurz Beziehungen zwischen Klassen von Strukturen und Klassen von Formeln. Def.: Sei K eine Klasse von τ -Strukturen. Ihre (FO-)Theorie ist Th(K) := {ϕ | ϕ ist FO-Satz und A |= ϕ für alle A ∈ K}. Bsp.: Sei KGruppe die Klasse aller Gruppen. Dann ist . . ∀x.(∃y .x ◦ y = 1) → y = i(x) ∈ Th(KG ) denn inverse Elemente in Gruppen sind eindeutig. 157 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Definierbarkeit Def.: Sei Φ eine Menge von Sätzen über einer Signatur τ . Ihre Modellklasse ist Mod(Φ) := {A | A ist τ -Struktur und A |= ϕ für alle ϕ ∈ Φ}. Bsp.: τ = (◦, i, 1), . . . Φ = {∀x.∀y .∀z.(x◦y )◦z = x◦(y ◦z), ∀x.x◦i(x) = 1, ∀x.x◦1 = x} Was ist Mod(Φ)? Bsp.: τ = (R) Φ = {∀x.∀y .R(x, y ) ↔ R(y , x), ∀x.¬R(x, x)} Was ist Mod(Φ)? 158 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Definierbarkeit von Relationen Def.: Eine n-stellige Relation R heißt definierbar in der Strukturklasse K, wenn es eine Formel ϕ(x1 , . . . , xn ) gibt, so dass für alle A ∈ K mit Universum A und alle a1 , . . . , an ∈ A gilt: (a1 , . . . , an ) ∈ R A gdw. A, [x1 7→ a1 , . . . , xn 7→ an ] |= ϕ Bsp.: Sei K = {(R, +, ·, 0, 1)} mit üblicher Bedeutung. Dann ist die übliche totale Ordnung < darin definierbar. . . ϕ< (x, y ) := ∃z.¬(z = 0) ∧ y = x + z · z Bsp.: τ = (ChildOf , SiblingOf , Male, Female). Dann ist z.B. die 2-stellige Relation des Onkel-Seins definierbar. UncleOf (x, y ) = ∃z.ChildOf (y , z) ∧ Sibling (x, z) ∧ Male(x) Bem.: Relation des Verwandt-Seins ist nicht definierbar. Aber wie zeigt man das? 159 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.2 Prädikatenlogik – Syntax und Semantik Die Sonderrolle der Gleichheit Beachte: Gleichheit (=) ist zweistellige Relation auf Universum. Warum wird diese dann gesondert behandelt, d.h. kommt nicht in . den Signaturen aber in Formeln (als =) vor? . Antwort: Dann könnte die Relation “=” irgendwie interpretiert werden. . . . Bsp.: ∃x ∃y ∃z.x = y ∧ y = z ∧ ¬(x = z) wäre dann erfüllbar. Dies widerspricht jedoch der Intuition von Gleichheit, die ja modelliert werden soll. . Es reicht selbst nicht, wenn man verlangt, dass = immer reflexiv, transitiv und symmetrisch sein soll, da es auch gröbere Äquivalenzrelationen als die Gleichheit gibt. Gleichheit ist auch nicht definierbar. 160 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Normalformen Wie bei der Aussagenlogik lassen sich Formeln wieder in dazu äquivalente umwandeln, die eine bestimmte Form haben. Achtung: verschiedene Äquivalenzbegriffe möglich, z.B. starke Äquivalenz ≡ oder Erfüllbarkeitsäquivalenz ≡sat Normalformen vereinfachen häufig Beweise hier: • positive Normalform • Pränex-Normalform • Skolem-Normalform 161 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Positive Normalform Def.: Eine Formel ϕ ist in positiver Normalform, wenn das Negationssymbol in ihr nur unmittelbar vor atomaren Formeln der . Form t1 = t2 oder R(t1 , . . . , tn ) vorkommt. Als Operatoren sind nur ∧, ∨, ∃, ∀ erlaubt. Theorem 18 Für jedes ϕ ∈ FO existiert ψ in positiver Normalform, so dass ϕ ≡ ψ und |ψ| = O(|ϕ|). Beweis: Übung. 162 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Pränex-Normalform Def.: ϕ ist in Pränex-Normalform, falls ϕ = Q1 x1 Q2 x2 . . . Qn xn χ wobei Q1 , . . . , Qn ∈ {∃, ∀} und χ quantorenfrei. Theorem 19 Für jedes ϕ ∈ FO gibt es ψ in Pränex-Normalform, so dass ψ ≡ ϕ und |ψ| = O(|ϕ|). Beweis: O.B.d.A. sei ϕ in positiver Normalform. Konstruktion von ψ per Induktion über den Aufbau von ϕ. Klar, falls ϕ atomar oder von der Form ∃x ϕ0 oder ∀x ϕ0 . Sei ϕ = ϕ1 ∨ ϕ2 . Nach Hypothese gibt es ψ1 , ψ2 in Pränex-Normalform, mit ϕi ≡ ψi . 163 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Umwandlung in Pränex-Normalform Seien ψ1 = Q1 x1 . . . Qn xn ψ10 0 ψ2 = Q10 y1 . . . Qm ym ψ20 Durch evtl. Umbenennen von gebundenen Variablen und Eliminieren von Quantoren über unbenutzten Variablen kann man erreichen, dass • xi ∈ frei(ψ10 ) \ frei(ψ20 ) für alle i = 1, . . . , n, • yi ∈ frei(ψ20 ) \ frei(ψ10 ) für alle i = 1, . . . , m. Durch sukzessives Anwenden der Äquivalenzen (Qx ϕ) ∨ ψ ≡ Qx (ϕ ∨ ψ) falls x 6∈ frei(ψ) sieht man, dass z.B. 0 ψ1 ∨ ψ2 ≡ Q1 x1 . . . Qn xn Q10 y1 . . . Qm ym .ψ10 ∨ ψ20 Der Fall ϕ = ψ1 ∧ ψ2 ist analog. 164 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Skolem-Normalform Die obigen Normalformen beziehen sich auf echte Äquivalenz, die Skolem-Normalform jedoch “nur” auf Erfüllbarkeitsäquivalenz. Def.: ϕ ist in Skolem-Normalform, falls ϕ = ∀x1 . . . ∀xn ψ wobei ψ quantorenfrei ist. Theorem 20 Zu jedem τ -Satz ϕ existiert eine τ 0 -Formel ψ in Skolem-Normalform mit τ 0 ⊇ τ , so dass ϕ ≡sat ψ und |ψ| = O(|ϕ|). 165 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Konstruktion der Skolem-Normalform Beweis: O.B.d.A. sei ϕ in Pränex-Normalform. Falls kein ∃ im Quantorenpräfix vorkommt, dann ist ϕ bereits in Skolem-Normalform. Betrachte das äußerste ∃. Sei also ϕ = ∀x1 . . . ∀xi−1 ∃xi ψ Achtung: ψ ist nicht unbedingt quantoren-frei! Sei f ein Funktionssymbol, welches nicht in τ vorkommt. Definiere dieses als (i − 1)-stellig und ϕ0 := ∀x1 . . . ∀xi−1 ψ[f (x1 , . . . , xi−1 )/xi ] Behauptung: ϕ erfüllbar gdw. ϕ0 erfüllbar (Übung). Dies wird solange iteriert, bis alle Existenzquantoren eliminiert sind. 166 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Normalformen Redukte und die Skolem-Normalform Def.: Seien τ, τ 0 Signaturen mit τ ⊆ τ 0 . Seien A τ -Struktur und B τ 0 -Struktur. Dann ist A τ -Redukt von B, falls ihre Universen gleich sind und die Interpretation aller Funktions- und Relationssymbole aus τ in A mit denen in B übereinstimmt. Bsp.: (N, +, 0) ist (+, 0)-Redukt von (N, +, ·, 0, 1). leicht zu sehen: Theorem 21 Sei ψ Skolem-Normalform von einer τ -Formel ϕ. Jedes τ -Redukt eines Modells von ψ ist Modell von ϕ. 167 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Der Sequenzenkalkül Wie bei der Aussagenlogik lernen wir eine Charakterisierung der logischen Schlussfolgerung kennen: den Sequenzenkalkül für die Prädikatenlogik. Sequenzen sind wiederum von der Form Γ =⇒ ∆, wobei Γ als Konjunktion und ∆ als Disjunktion angesehen wird. V W Eine Sequenz ist wiederum gültig, falls ( Γ) → ∆ allgemeingültig ist. Der Sequenzenkalkül für FO ist eine Erweiterung des Sequenzenkalküls für die Aussagenlogik. D.h. alle Axiome und Regeln dessen bleiben bestehen. Die Frage ist insbesondere, wie mit Quantoren, Variablen und der Gleichheit umzugehen ist. 168 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Kontraktion Kontraktion bedeutet das Vervielfältigen von Formeln im Antezedens oder Sukzedens, wenn man von der Konklusion zur Prämisse übergeht. Γ, ϕ, ϕ =⇒ ∆ Γ, ϕ =⇒ ∆ (KontrL ) Γ =⇒ ∆, ϕ, ϕ Γ =⇒ ∆, ϕ (KontrR ) Behauptung: Beide Regeln sind korrekt (Prämisse gültig ⇒ Konklusion gültig) und invertierbar (Konklusion gültig ⇒ Prämisse gültig). in Beweisen häufig notwendig, Voraussetzungen mehrfach zu benutzen, z.B. in ∀x.P(x) ∧ Q(x) =⇒ ∃x.∃y .P(x) ∧ Q(y ) 169 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül 170 Regeln und Axiome für Gleichheit . Γ, t = t =⇒ ∆ Γ =⇒ ∆ (=L ) Γ, ϕ[t/x] =⇒ ∆ Γ, s + t, ϕ[s/x] =⇒ ∆ (SubstL ) . Γ =⇒ ∆, t = t (Refl) Γ =⇒ ∆, ϕ[t/x] Γ, s + t =⇒ ∆, ϕ[s/x] . . wobei s + t Abkürzung für s = t oder t = s ist. Achtung: auch Ersetzen von Subtermen möglich, z.B. in . f (c) = g (d), R(g (f (c)), f (d)) =⇒ . . . (SubstR ) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Regeln für die Quantoren Wie beweist man intuitiv eine existentielle Aussage ∃x.ϕ? Man gibt explizit einen Zeugen (Instanziierung) von x an und beweist ϕ für diesen. Wie beweist man intuitiv eine universelle Aussage ∀x.ϕ? Man sagt, dass x beliebig instanziiert ist und beweist ϕ dafür, ohne irgendwelche weiteren Annahmen darüber zu machen. Im Sequenzenkalkül in Sukzedentien: • existentiell quantifizierte Variablen durch Terme ersetzen • universell quantifizierte Variablen durch neue Konstantensymbole ersetzen Vorgehen in Antezedentien dann dual wegen ¬∃x.ϕ ≡ ∀x.¬ϕ. 171 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül 172 Die Regeln für Quantoren Γ =⇒ ∆, ϕ[t/x] Γ =⇒ ∆, ∃x.ϕ (∃R ) Γ, ϕ[t/x] =⇒ ∆ Γ, ∀x.ϕ =⇒ ∆ (∀L ) Γ =⇒ ∆, ϕ[c/x] Γ =⇒ ∆, ∀x.ϕ (∀R ) Γ, ϕ[c/x] =⇒ ∆ Γ, ∃x.ϕ =⇒ ∆ (∃L ) wobei c jeweils nirgendwo sonst im Beweis vorkommt und t Grundterm ist! Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Beispiele Sind die folgenden Sequenzen beweisbar? Wie sehen die Beweise / Beweisversuche aus? 1 2 3 4 5 . . . ∅ =⇒ ∀x.∀y .∀z.x = y ∧ y = z → x = z . P(f (c)), ∀x.f (x) = x =⇒ P(f (f (c))) ∀x.P(x) → P(f (x)) =⇒ ∀x.P(x) → P(f (f (x))) . ΦGruppe =⇒ ∀x.i(x) ◦ x = 1 . ΦGruppe =⇒ ∀x.∀y .x ◦ y = y ◦ x 173 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül PVS PVS implementiert auch den Sequenzenkalkül für FO zur Erinnerung: Befehle (flatten) und (split n) ausreichend, um Regeln des Sequenzenkalküls für Aussagenlogik anzuwenden weitere Regeln: • (copy n) dupliziert Formel n (Kontraktionsregeln) • (skolem n x) wendet (∀R ) oder (∃L ) auf Formel n an; c ist neue Konstante • (inst n t) wendet (∀L ) oder (∃R ) an mit Instanziierung von Formel n durch Term t 174 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Korrektheit und Vollständigkeit Ziel ist es wieder zu zeigen, dass der Sequenzenkalkül korrekt (jede beweisbare Sequenz ist gültig) und vollständig (jede gültige Sequenz ist beweisbar) ist. Üblicherweise ist Korrektheit einfacher zu zeigen, insbesondere hier. Def.: Eine Regel heißt • korrekt, wenn aus der Gültigkeit aller Prämissen die Gültigkeit der Konklusion folgt, • invertierbar, wenn aus der Gültigkeit der Konklusion die Gültigkeit aller Prämissen folgt. Bei den Regeln (∃R ) und (∀L ) ist dies so zu verstehen, dass es einen Term t gibt, der die Prämisse gültig macht. 175 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Korrektheit der Regeln Lemma 1: Alle Axiome sind gültig. Beweis: Bei (Refl) trivial, bei allen anderen bereits gezeigt. Lemma 2: Alle Beweisregeln sind korrekt. Beweis: Exemplarisch für (∃R ) und (∀R ). Fall (∃R ): Sei Γ =⇒ ∆, ∃x.ϕ nicht gültig. Dann gibt es Interpretation I, so dass I |= γ für jedes γ ∈ Γ und I 6|= ψ für jedes ψ ∈ ∆ ∪ {∃x.ϕ}. Sei I = (A, ϑ) und A = (A, τ ). Insbesondere gibt es kein a ∈ A, so dass A, ϑ[x 7→ a] |= ϕ. Beachte: Für jeden Term t ist [[t]]A ϑ ∈ A. Also gibt es auch keinen Term t, so dass A, ϑ[x 7→ [[t]]A ] |= ϕ. Somit widerlegt I die ϑ Gültigkeit der Prämisse Γ =⇒ ∆, ϕ[t/x] für jeden Term t. 176 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Korrektheit der Regeln Fall (∀R ): Angenommen die Konklusion Γ =⇒ ∆, ∀x.ϕ ist ungültig. Dann gibt es Interpretation I = (A, ϑ) mit A = (A, τ ), so dass I |= γ für alle γ ∈ Γ und I 6|= ψ für alle ψ ∈ ∆ ∪ {∀x.ϕ}. Insbesondere gibt es dann ein a ∈ A, so dass A, ϑ[x 7→ a] 6|= ϕ. Sei nun c ein neues Konstantensymbol und • τ 0 = (τ, c), 0 • A0 wie A, jedoch mit c A = a, • I 0 = (A0 , ϑ). Dann widerlegt I 0 die Gültigkeit der Prämisse Γ =⇒ ∆, ϕ[c/x]. Beachte: Der letzte Schritt wäre i.A. nicht richtig, falls c in Γ, ∆ oder ϕ vorkäme. 177 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Korrektheit des Sequenzenkalküls Theorem 22 Ist Γ =⇒ ∆ beweisbar im Sequenzenkalkül, dann ist Γ =⇒ ∆ gültig. Beweis: Per Induktion über die Höhe h eines Beweises für Γ =⇒ ∆. Induktionsanfang, h = 0. Dann ist Γ =⇒ ∆ Instanz eines Axioms und nach Lemma 1 somit gültig. Induktionsschritt, h > 0. Dann wird auf die Wurzel eine Beweisregel angewandt, die Prämissen P1 und evtl. noch P2 hat. Diese sind offensichtlich beweisbar mit Beweisen der Höhe höchstens h − 1. Nach der Induktionshypothese sind diese dann gültig. Nach Lemma 2 ist auch die Konklusion gültig. 178 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Abzählbarkeit von Termen Def.: Eine Menge M heißt höchstens abzählbar unendlich, wenn es eine surjektive Funktion N → M gibt. Intuitiv: M lässt sich als Liste m0 , m1 , m2 , . . . schreiben, so dass alle Elemente von M irgendwann in dieser Liste vorkommen. Lemma: (Termabzählung) Sei τ Signatur mit höchstens abzählbar unendlich vielen Funktionssymbolen. Die Menge aller Terme über τ ist ebenfalls höchstens abzählbar unendlich. Def.: Grundterm = Term ohne Variablen Notation: u[t/s] entsteht aus u durch Ersetzen aller Subterme s mit t. 179 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül 180 Vollständigkeit des Sequenzenkalküls Zuerst ersetzen wir die Regeln (∃R ), (∀L ) und (SubstL ) durch Γ =⇒ ∆, ∃x.ϕ, ϕ[t/x] Γ =⇒ ∆, ∃x.ϕ (∃0R ) Γ, ∀x.ϕ, ϕ[t/x] =⇒ ∆ Γ, ∀x.ϕ =⇒ ∆ Γ, s + t, ϕ[s/x], ϕ[t/x] =⇒ ∆ Γ, s + t, ϕ[s/x] =⇒ ∆ (∀0L ) (Subst0L ) Diese sind herleitbar wegen (KontrR ) und (KontrL ). Also ist der Kalkül mit diesen Regeln weiterhin korrekt. Außerdem gilt: Wenn er mit diesen Regeln vollständig ist, dann auch mit den herkömmlichen. Vorteil: Jetzt lässt sich aus ungültiger Sequenz generisch ein Beweisversuch konstruieren, aus dem eine widerlegende Interpretation gebaut werden kann. Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Sequenzen von Sätzen Lemma: Seien Γ, ∆ Formelmengen mit x 6∈ frei(ϕ) für alle ϕ ∈ Γ ∪ ∆. a) Γ =⇒ ∆, ψ ist gültig gdw. Γ =⇒ ∆, ∀x.ψ gültig ist. b) Γ, ψ =⇒ ∆ ist gültig gdw. Γ, ∃x.ψ =⇒ ∆ gültig ist. Beweis: Nur (a), Teil (b) analog. Die Aussage gilt offensichtlich, falls x 6∈ frei(ψ). Angenommen, Γ =⇒ ∆, ∀x.ψ ist ungültig V und x ∈ frei(ψ). Dann ex. I = (A, ϑ) mit A = (A, τ ) und I |= Γ W und I 6|= ∆ ∪ {∀x.ψ}. Insbesondere gibt es ein a ∈ A, so dass A, ϑ[x 7→ a] 6|= ψ. Sei I 0 := (A, ϑ[x 7→ a]). Dann widerlegt I 0 die Gültigkeit von Γ =⇒ ∆, ψ. Die Rückrichtung wird genauso bewiesen. Aufgrund u.a. dieses Lemmas können wir uns im Vollständigkeitsbeweis auf Sequenzen beschränken, die nur aus Sätzen in positiver Normalform bestehen. 181 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Generischer Beweisversuch Sei Γ =⇒ ∆ eine Sequenz. O.B.d.A. können wir annehmen: • alle Formeln in Γ ∪ ∆ sind in positiver Normalform • Γ und Delta bestehen nur aus Sätzen (wegen vorigem Lemma) . • ∀x.x = x ∈ Γ (da dies eine Tautologie ist) Wir brauchen abzählbar unendlichen Vorrat K = (c1 , c2 , . . .) an Konstantensymbolen, die nicht in τ vorkommen. Bem.: 1 Es reicht, dass diese nicht in Γ ∪ ∆ vorkommen. 2 Wenn in ∆ keine universellen und in Γ keine existentiellen Quantoren vorkommen, dann wird dieser Vorrat überhaupt nicht gebraucht. Im Folgenden: Grundterm = variablen-freier Terme über den Konstantensymbolen in τ und den in K 182 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Generischer Beweisversuch Konstruieren nun Beweisversuch wie folgt. Schreibe alle Unterformeln von Γ ∪ ∆ in eine FIFO-Prioritäts-Queue Q. Merke zu jeder Unterformel ∃x.ψ oder ∀x.ψ eine unendliche Liste aller Grundterme. Beginnend mit Γ =⇒ ∆ macht man nun folgendes. 1 2 Wende (Subst0L ) an, solange dies noch zu neuen Formeln im Antezedens führt. Sei ϕ die Formel mit der höchsten Priorität in Γ ∪ ∆, auf die noch eine Regel angewandt werden kann. 1 2 3 Dupliziere diese Formel mittels (KontrL ) oder (KontrR ). Wende entsprechende Regel auf eine Kopie davon an. Ist ϕ = ∃x.ψ ∈ ∆ oder ϕ = ∀x.ψ ∈ Γ, dann wähle als Term den ersten aus der entsprechenden Liste. Streiche diesen. Ist ϕ = ∃x.ψ ∈ Γ oder ϕ = ∀x.ψ ∈ ∆ dann setze nächste Konstante aus K ein. Schiebe ϕ an das Ende der Prioritäts-Queue. 183 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Pfade im Beweisversuch Lemma: (Beweisversuch) Sei Γ =⇒ ∆ Sequenz, für die nach obiger Anleitung ein Beweisversuch konstruiert wurde. Sei S0 , S1 , . . . ein maximaler Pfad darin (endlich oder unendlich), so dass Si = Γi =⇒ ∆i . Dann gilt für alle i, k: Falls . . . a) b) c) d) e) f) g) h) i) j) ∃x.ϕ ∈ ∆i / ∀x.ϕ ∈ Γi , so ex. für jedes t ein j mit ϕ[t/x] ∈ ∆j / Γj , ϕ ∨ ψ ∈ ∆i / ϕ ∧ ψ ∈ Γi , so ex. j mit ϕ, ψ ∈ ∆j / Γj , ϕ ∧ ψ ∈ ∆i / ϕ ∨ ψ ∈ Γi , so ex. j mit ϕ ∈ ∆j / Γj oder ψ ∈ ∆j / Γj , ∀x.ϕ ∈ ∆i / ∃x.ϕ ∈ Γi , so ex. j und c mit ϕ[c/x] ∈ ∆j / Γj , . . . s = t ∈ Γi , so ex. j mit s = s, t = s ∈ Γj , . . . s = t ∈ Γi , t = u ∈ Γk , so ex. j mit s = u ∈ Γj , . s = t ∈ Γi und ϕ[s/x] ∈ Γk , so ex. j mit ϕ[t/x] ∈ Γj , . . s = t ∈ Γi und u Grundterm, so ex. j mit u = u[t/s] ∈ Γj , i ≤ k, so Γi ⊆ Γk und ∆i ⊆ ∆k , Γi und ∆i enthalten nur Sätze. Beweis: Übung. 184 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Herbrand-Modelle Sei Π = S0 , S1 , . . . Pfad in obigem Beweisversuch für ungültiges Γ =⇒ ∆. Konstruiere Herbrand-Modell HΠ = (G , τ ) wie folgt. O.B.d.A. enthalte τ mindestens ein Konstantensymbol. • τ besteht aus allen Relations- und Funktionssymbolen, die in Π vorkommen. • G = {t | t Grundterm über τ } generische Interpretation der Funktions- und Relationssymbole: Π • f H (t1 , . . . , tn ) = f (t1 , . . . , tn ), Π (Insbesondere c H = c für Konstantensymbole c und Π allgemein [[t]]H = t für Grundterme t). Π • (t1 , . . . , tn ) ∈ R H gdw. es ein Si = Γi =⇒ ∆i gibt, so dass R(t1 , . . . , tn ) ∈ Γi . 185 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Faktor-Strukturen modulo einer Kongruenz Wdh.: • Kongruenz bzgl. Menge von Operationen = Äquivalenz + Verträglichkeit mit diesen Operationen • Ist ∼ Äquivalenzrelation, so bezeichnet [x]∼ die Äquivalenzklasse von x, d.h. [x]∼ := {y | x ∼ y }. Def.: Sei A = (A, τ ) Struktur und ∼ Kongruenzrelation auf A bzgl. den Operationen in τ . Definiere den Faktor von A bzgl. ∼ als A/∼ = (A∼ , τ ), wobei • A∼ = {[x]∼ | x ∈ A} • f A/∼ ([x1 ]∼ , . . . , [xn ]∼ ) = [f A (t1 , . . . , tn )]∼ • ([x1 ]∼ , . . . , [xn ]∼ ) ∈ R A/∼ gdw. (x1 , . . . , xn ) ∈ R A Faktorstruktur ist wohldefiniert: Definition der Funktionen und Relationen unabhängig von Vertretern der Äquivalenzklasse [x]∼ . 186 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Das Termmodell Def.: Sei Π = S0 , S1 , . . . Pfad im Beweisversuch für ungültiges Γ =⇒ ∆. Für Grundterme s und t definiere s∼t gdw. . es gibt i mit s = t ∈ Γi Lemma: Die Relation ∼ ist Kongruenzrelation auf dem Herbrand-Modell HΠ . Beweis: Reflexivität, Symmetrie und Transitivität folgen aus dem Beweisversuchs-Lemma (e) und (f). Verträglichkeit mit den Funktions- und Relationssymbolen folgt aus (g) und (h). Im folgenden benutzen wir das Termmodell als Faktor des Herbrand-Modells modulo obiger Kongruenzrelation: HΠ /∼. 187 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül 188 Eigenschaften des Termmodells Lemma: (Antezedentien) Sei Π = S0 , S1 , . . . Pfad aus Beweisversuch nach obiger Konstruktion undSHΠ /∼ dazugehöriges Termmodell. Seien Si = Γi =⇒ ∆i und Γ = i∈N Γi . Dann gilt HΠ /∼ |= ϕ für alle ϕ ∈ Γ. Beachte: Nach Beweisversuchs-Lemma (i) wird keine Variablenbelegung gebraucht. Beweis: Durch Induktion über den Formelaufbau. . Fall ϕ = (t1 = t2 ): Da ϕ ∈ Γ gilt t1 ∼ t2 und daher [t1 ]∼ = [t2 ]∼ . und somit HΠ /∼ |= t1 = t2 . Fall ϕ = R(t1 , . . . , tn ): Da ϕ ∈ Γ gilt ([t1 ]∼ , . . . , [tn ]∼ ) ∈ R H und somit HΠ /∼ |= R(t1 , . . . , tn ). Π /∼ Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Eigenschaften des Termmodells Fall ϕ = ψ1 ∧ ψ2 . Da ϕ ∈ Γ gilt nach dem Beweisversuchslemma (b) auch ψ1 , ψ2 ∈ Γ. Zweimalige Anwendung der Hypothese liefert HΠ /∼ |= ψ1 und HΠ /∼ |= ψ2 , somit auch HΠ /∼ |= ϕ. Fall ϕ = ψ1 ∨ ψ2 ähnlich mit Beweisversuchslemma (c). Fall ϕ = ∀x.ψ. Das Beweisversuchslemma (a) liefert ψ[t/x] ∈ Γ für jeden Grundterm t. Nach der Hypothese gilt HΠ /∼ |= ϕ[t/x] für jedes solche t. Also gilt auch HΠ /∼ |= ∀x.ψ, da es für jedes t ∈ G offensichtich ein t 0 gibt, so dass [t 0 ]∼ = [t]∼ . Fall ϕ = ∃x.ψ. Nach Beweisversuchslemma (d) gibt es c mit ψ[c/x] ∈ Γ. Nach der Hyothese gilt HΠ /∼ |= ψ[c/x]. Da c Grundterm ist, ist [c]∼ ∈ G∼ . Also gilt auch HΠ /∼ |= ∃x.ψ. 189 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Eigenschaften des Termmodells Lemma: (Sukzedentien) Sei Π = S0 , S1 , . . . Pfad aus Beweisversuch nach obiger Konstruktion undSHΠ /∼ dazugehöriges S Termmodell. Seien Si = Γi =⇒ ∆i und Γ = i∈N Γi , ∆ = i∈N ∆i . Falls kein Si Axiom ist, dann gilt HΠ /∼ 6|= ϕ für alle ϕ ∈ ∆. Beweis: Durch Induktion über den Formelaufbau. . . Fall ϕ = (s = t). Angenommen, es gelte HΠ /∼ |= s = t. Dann wäre [s]∼ = [t]∼ , bzw. s ∼ t. Dies ist aber nur der Fall, wenn es n ∈ N und Terme s0 , . . . , sn gibt, so dass s0 = s, sn = t und . (si−1 = si ) ∈ Γ für i = 1, . . . , n. Nach dem Beweisversuchslemma . (f) wäre dann auch (s = t) ∈ Γ. Das widerspricht aber der Tatsache, dass Π kein Axiom enthält. Fall ϕ = R(t1 , . . . , tn ). Ähnlich wie im vorherigen Fall. Fälle ϕ = ψ1 ∨ ψ2 , ϕ = ψ1 ∧ ψ2 , ϕ = ∃x.ψ und ϕ = ∀x.ψ: Wie die entsprechenden Fälle im Antezedentien-Lemma mit Beweisversuchslemma (a)–(d). 190 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.4 Prädikatenlogik – Der Sequenzenkalkül Vollständigkeit des Sequenzenkalküls Theorem 23 Ist Γ =⇒ ∆ gültig, so ist Γ =⇒ ∆ beweisbar. Beweis: Angenommen, Γ =⇒ ∆ ist nicht beweisbar. Dann liefert der obige Beweisversuch einen endlichen oder unendlichen Pfad Π von Sequenzen, der kein Axiom enthält. Daraus lässt sich das Termmodell HΠ /∼ als Faktor des Herbrand-Modells modulo der . durch = induzierten Kongruenzrelation generieren. Nach dem Antezedentien-Lemma erfüllt dies alle Formeln V in Antezedentien des Pfades, also insbesondere HΠ /∼ |= Γ. Nach dem Sukzedentien-Lemma erfüllt dies keine Formel in einem W Sukzedens des Pfades, also insbesondere HΠ /∼ 6|= ∆. Damit ist dann Γ =⇒ ∆ aber nicht gültig. 191 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Der Satz von Löwenheim-Skolem Theorem 24 Jede erfüllbare FO-Formel hat ein Modell, welches höchstens abzählbar unendlich groß ist. Beweis: Sei ϕ erfüllbar, also ¬ϕ nicht allgemeingültig. Nach Thm. 22 ist ϕ =⇒ ∅ nicht beweisbar. Nach Thm. 23 das von einem unendlichen Pfad im generischen Beweisversuch induzierte Termmodell ein Modell von ϕ. Dies hat aber höchstens abzählbar unendlich viele Elemente. Bem.: Der Beweis gilt sogar für höchstens abzählbar unendliche Formelmengen Φ (und sogar für überabzählbare Signaturen). Kor.: Es gibt keine höchstens abzählbar unendliche Formelmenge Φ, so dass Mod(Φ) = {(R, τ )} für beliebiges τ . 192 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze 193 Von FO zur Aussagenlogik (und zurück) Def.: FO∀ = Menge aller FO-Sätze der Form ∀x1 . . . ∀xn .ϕ, wobei ϕ quantorenfrei. Def.: Sei Φ FO∀ -Menge. O.B.d.A. enthalte zugrundeliegendes τ mindestens ein Konstantensymbol. Definiere aussagenlogische Formelmenge AL(Φ) := {al ϕ[t1 /x1 , . . . , tn /xn ] | ∀x̄.ϕ ∈ Φ, t1 , . . . , tn Grundterm, ϕ quantorenfrei } wobei al(ϕ ∧ ψ) := al(ϕ) ∧ al(ψ) . . al(s = t) := Xs =t al(ϕ ∨ ψ) := al(ϕ) ∨ al(ψ) al(¬(ϕ ∧ ψ)) := al(¬ϕ) ∨ al(¬ψ) al(R(t1 , . . . , tn )) := XR(t1 ,...,tn ) . . al(¬(s = t)) := ¬Xs =t al(¬(ϕ ∨ ψ)) := al(¬ϕ) ∧ al(¬ψ) al(ϕ → ψ) := al(ϕ) → al(ψ) al(¬R(t1 , . . . , tn )) := ¬XR(t1 ,...,tn ) al(¬¬ϕ) := al(ϕ) al(¬(ϕ → ψ)) := ¬(al(ϕ) → al(ψ)) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze 194 Beispiel . Bsp.: Φ = {R(c), c = f (c), ∀x R(x) → ¬R(f (x)) } . (c) , XR(c) → ¬XR(f (c)) , AL(Φ) = {XR(c) , Xc =f XR(f (c)) → ¬XR(f (f (c))) , XR(f (f (c))) → ¬XR(f (f (f (c)))) , . . .} Beachte: hier ist Φ nicht erfüllbar, AL(Φ) jedoch! Ziel ist Satz von Herbrand: Übertragung der Erfüllbarkeit der Aussagenlogik auf FO. Problem in diesem Beispiel: AL(Φ) “vergisst” die Beziehung c = f (c) in jedem erfüllenden (FO-)Modell. Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Abschluss Def.: Sei AL(Φ) aussagenlogische Formelmenge wie oben. Im folgenden identifizieren wir der Einfachheit halber eine atomare Formel ψ mit der entsprechenden aussagenlogischen Variablen Xψ . Eine Menge AL∗ (Φ) heißt Abschluss (oder auch Herbrand-Expansion) von AL(Φ), wenn gilt: • AL(Φ) ⊆ AL∗ (Φ). . • Für jeden Grundterm t ist t = t ∈ AL∗ (Φ). . • Ist ψ[t/x] ∈ AL∗ (Φ) und t = t 0 ∈ AL∗ (Φ), so ist auch ψ[t 0 /x] ∈ AL∗ (Φ) 195 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Satz von Herbrand Theorem 25 Eine Menge Φ von FO∀ -Sätzen ist erfüllbar gdw. die Menge AL∗ (Φ) aussagenlogischer Formeln erfüllbar ist. Beweis: “⇒” Angenommen, Φ ist erfüllbar. Also ex. A mit A |= ϕ für alle ϕ ∈ Φ. Definiere nun Interpretation I der Variablen: . I(s = t) = 1 gdw. [[s]]A = [[t]]A I(R(t1 , . . . , tn )) = 1 gdw. ([[t1 ]]A , . . . , [[tn ]]A ) ∈ R A Induktion über Formelaufbau liefert I |= ϕ für alle ϕ ∈ AL∗ (Φ). Die Rückrichtung erfordert ein kleines bisschen Vorarbeit. 196 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Herbrand-Strukturen Um aus einem aussagenlogischen Modell ein prädikatenlogisches zu . bauen benutzen wir wieder Herbrand-Modelle modulo der von = induzierten Kongruenz. Def.: Sei Φ Menge von FO∀ -Sätzen und AL∗ (Φ) wie oben. Die Herbrand-Struktur (bzgl. der Funktionssymbole) von Φ ist H(Φ) = (G , τ ) mit G Menge der Grundterme über τ und f H(Φ) (t1 , . . . , tn ) = f (t1 , . . . , tn ) für alle Funktionssysmbole f . Lemma: Sei AL∗ (Φ) wie oben Abschluss von AL(Φ) und t1 ∼ t2 . gdw. t1 = t2 ∈ AL∗ (Φ). Dann ist ∼ Kongruenzrelation auf der Menge der Grundterme bzgl. aller Funktions- und Relationssysmbole in AL∗ (Φ). Beweis: Übung. 197 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Beweis des Satzes von Herbrand (⇐) Angenommen, AL∗ (Φ) ist erfüllbar. Dies habe Modell I. Definiere eine Erweiterung HI (Φ) der Faktor-Herbrand-Struktur H(Φ)/∼ wie folgt. • Universum und Interpretation der Funktionssymbole ist wie in H(Φ)/∼ . • Für alle Relationssymbole R gilt ([t1 ]∼ , . . . , [tn ]∼ ) ∈ R H I (Φ) gdw. I |= R(t1 , . . . , tn ) Beachte: Nach obigem Lemma ist ∼ Kongruenzrelation. Sei nun ∀x̄.ϕ ∈ Φ, also al(ϕ[t̄/x̄]) ∈ AL(Φ) ⊆ AL∗ (Φ) für jedes Tupel t̄ von Grundtermen. Durch Induktion über den Formelaufbau zeigt man nun, dass HI (Φ) |= al(ϕ[t̄/x̄]) gilt. Da die Elemente des Universums von HI Äquivalenzklassen von Grundtermen sind, gilt somit dann auch HI |= ∀x̄.ϕ. 198 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Skolemisierung von Formelmengen Lemma: Sei Ψ Formelmenge. Es gibt Skolem-Normalform sk(ψ) von ψ für jedes ψ ∈ Ψ, so dass Ψ erfüllbar ist, gdw. sk(Ψ) := {sk(ψ) | ψ ∈ Ψ} erfüllbar ist. Beweis: Übung. Beachte: Es gibt auch erfüllbare Mengen, die man durch sukzessive (nicht-clevere) Skolemisierung ihrer Elemente in unerfüllbare Mengen überführen kann. Mithilfe des Satzes von Herbrand lässt sich z.B. der Kompaktheitssatz der Aussagenlogik auf FO übertragen. 199 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Kompaktheit der Prädikatenlogik Theorem 26 Menge Φ von FO-Formeln ist erfüllbar gdw. jede endliche Teilmenge von Φ erfüllbar ist. Beweis: “⇒” Trivial. “⇐” O.B.d.A. sei Φ unerfüllbare Menge von FO∀ -Sätzen. Nach Thm. 25 ist AL∗ (Φ) unerfüllbar. Nach Kompaktheit der Aussagenlogik gibt es unerfüllbares Γ ⊆fin AL∗ (Φ). Betrachte Ψ := {∀x̄.ϕ ∈ Φ | es gibt Grundterme t̄ mit al(ϕ[t̄/x̄]) ∈ Γ} Offensichtlich ist Ψ ⊆fin Φ. Sei Γ0 := {ϕ[t̄ 0 /x̄] | es gibt ϕ[t̄/x̄] ∈ Γ, t̄ 0 beliebig } Da Γ0 ⊇ Γ, ist Γ0 auch unerfüllbar. Nach Thm. 25 ist Ψ unerfüllbar. 200 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Aufsteigender Löwenheim-Skolem-Satz Theorem 27 Sei ϕ Satz, der in einem unendlichen Modell erfüllt ist. Dann gibt es zu jeder Menge M eine Struktur AM mit einem Universum M 0 , so dass AM |= ϕ und |M 0 | ≥ |M|. Beweis: Sei M gegeben und sei {cm | m ∈ M} Menge von paarweise verschiedenen Konstantensymblen, die nicht in ϕ auftreten. Betrachte die Formelmenge . Φ := {ϕ} ∪ {¬(cn = cm ) | n, m ∈ M, m 6= n} Beachte: Thm. 27 ist bewiesen, wenn gezeigt werden kann, dass Φ erfüllbar ist. Wegen Kompaktheit reicht es aus zu zeigen, dass jede endliche Teilmenge erfüllbar ist. Jede Teilmenge, die ϕ nicht enthält, ist offensichtlich erfüllbar. 201 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Beweis des aufst. Löwenheim-Skolem-Satzes Es reicht aus, sich auf solche Teilmengen ΦN zu beschränken, die ϕ enthalten und für die es ein N ⊆fin M gibt, so dass . ΦN := {ϕ} ∪ {¬(cn = cm ) | n, m ∈ N, m 6= n} Nach Voraussetzung hat ϕ ein unendliches Modell A. Wähle nun in diesem |N| paarweise verschiedene Elemente bm für jedes m ∈ N. Da |N| < ∞ ist dies möglich. Sei AN nun definiert wie A, wobei zusätzlich die Konstante cm durch das Element bm interpretiert wird. Offensichtlich ist AN Modell von ΦN . Also ist jedes solche ΦN erfüllbar und mit der Kompaktheit dann auch Φ. Sei nun B ein Modell von Φ. Beachte: B muss alle cm , m ∈ M verschieden interpretieren. Also hat das Universum mindestens die Kardinalität von M. 202 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Bijektivität und Isomorphie Def.: Eine Abb. f : A → B ist bijektiv, wenn sie folgendes ist: • surjektiv: für jedes b ∈ B ein a ∈ A gibt mit b = f (a), • injektiv: für alle a 6= a0 ∈ A gilt f (a) 6= f (a0 ), Def. A = (A, τ ) und B = (B, τ ) sind isomorph, A ' B, wenn es eine bijektive Abbildung ι : A → B gibt, so dass für alle a1 , . . . , an ∈ A und f , R ∈ τ : • (a1 , . . . , an ) ∈ R A gdw. (ι(a1 ), . . . , ι(an )) ∈ R B , • ι(f A (a1 , . . . , an )) = f B (ι(a1 ), . . . , ι(an )). intuitiv: isomorphe Strukturen sehen genau gleich aus, unterscheiden sich nur in den Namen der Elemente 203 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Elementare Äquivalenz Def.: Zwei Strukturen A, B sind elementar äquivalent, A ≡ B, wenn für alle FO-Sätze ϕ gilt: A |= ϕ gdw. B |= ϕ sprich: diese können nicht in FO voneinander unterschieden werden, Th({A}) = Th({B}). 204 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Isomorphie und elementare Äquivalenz Theorem 28 Wenn A ' B, dann A ≡ B. Beweis: Übung. Umkehrung gilt i.A. nicht. Das Gegenbeispiel braucht jedoch unendliche Strukturen. Im Endlichen gilt die Umkehrung sogar. Theorem 29 Seien A, B endlich. Wenn A ≡ B, dann A ' B. Beweis: Übung. 205 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Potenzmengen und surjektive Abbildungen Def.: Die Potenzmenge einer Menge M ist die Menge 2M := {N | N ⊆ M}. Lemma: Für eine beliebige Menge A gibt es keine surjektive Abbildung vom Typ A → 2A . Beweis: Angenommen f : A → 2A ist surjektiv. Betrachte die Menge B ⊆ A, definiert durch a ∈ B gdw. a 6∈ f (a). Es gibt kein a ∈ A, so dass f (a) = B; denn sonst wäre a ∈ f (a) gdw. a ∈ B gdw. a 6∈ f (a). Kor.: Seien A = (A, τ ) und B = (B, τ ) Strukturen, so dass B mindestens so groß ist wie 2A . Dann ist A 6' B. 206 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Nicht-Isomorphie und elementare Äquivalenz Theorem 30 Für jedes A über einem unendlichen Universum gibt es B, so dass A 6' B, aber A ≡ B. Beweis: Sei A = (A, τ ) unendlich und Φ := Th({A}). Offensichtlich ist Φ erfüllbar in einem unendlichen Modell. Sei nun B := 2A . Nach dem aufsteigenden Satz von Löwenheim-Skolem hat Φ auch ein Modell B mit Universum mindestens so groß wie 2A . Nach obigem Korollar gilt A 6' B. Noch zu zeigen: A ≡ B. Angenommen, dies ist nicht der Fall. Dann gibt es FO-Satz ϕ, so dass o.B.d.A. A |= ϕ und B 6|= ϕ gilt. (Im umgekehrten Fall kann man auch ¬ϕ als trennenden FO-Satz hernehmen.) Dann ist aber ϕ ∈ Th({A}) und somit ϕ ∈ Φ und damit dann auch B |= ϕ. 207 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.5 Prädikatenlogik – Fundamentale Sätze Modellerweiterungssatz ohne Gleichheit Wenn Gleichheit nicht in den Formeln vorkommt, dann gilt sogar eine stärkere Variante des aufsteigenden Satzes von Löwenheim-Skolem. Theorem 31 Sei ϕ Satz ohne Gleichheit und A Modell von ϕ mit Universum A. Für jedes B ⊇ A gibt es eine Struktur B mit Universum B, so dass B |= ϕ. Beweis: Übung. Daraus folgt z.B., dass Gleichheit nicht definierbar ist. 208 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Entscheidbarkeit mittels Sequenzenkalkül? Zur Erinnerung: Das Erfüllbarkeitsproblem für die Aussagenlogik (und damit auch das Allgemeingültigkeitsproblem) ist in exponentieller Zeit entscheidbar. (Naı̈ve Aufzählung aller Interpretationen, DPLL, Resolution, Sequenzenkalkül, etc.) Es gibt auch Sequenzenkalkül für FO. Ist damit auch das Erfüllbarkeitsproblem für FO entscheidbar? Nein, aber wieso? Bei Aussagenlogik anzuwendende Regel fast kanonisch gegeben, und Prämissen immer kleiner als Konklusionen. Beweisversuch muss irgendwann terminieren. Nicht so bei FO: Wahl der Terme in (∃R ) und (∀L ) vollkommen beliebig! Systematische und terminierende Exploration nicht möglich. Auch kein Abstieg in Größe der Sequenzen gegeben. 209 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Unentscheidbarkeit der Prädikatenlogik Sequenzenkalkül liefert also keinen Algorithmus, der zu jeder Eingabeformel in FO in endlicher Zeit terminiert und ausgibt, ob diese erfüllbar ist oder nicht. Theoretisch könnte es aber “bessere” bzw. andere Verfahren geben, die dies leisten. Dem ist aber beweisbar nicht so. Theorem 32 (ohne Beweis) Es gibt keinen Algorithmus für das Erfüllbarkeitsproblem der Prädikatenlogik. Beachte: Natürlich kann es solche Algorithmen in Spezialfällen geben, z.B. für • Fragmente von FO • bestimmte Strukturklassen 210 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Ein entscheidbares Fragment von FO Theorem 33 Sei τ eine Signatur, in der Funktionssymbole mit Stelligkeit ≥ 1 nicht vorkommen. Es gibt einen terminierenden Algorithmus, der zu vorgelegter Formel ϕ über τ entscheidet, ob diese erfüllbar ist oder nicht. Beweis: Übung. (Hinweis: Satz von Herbrand) Im folgenden wollen wir noch eine Eigenschaft kennenlernen, mit deren Hilfe sich das Erfüllbarkeitsproblem für ein noch weiter eingeschränktes Fragment ebenfalls zeigen lässt. 211 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Endliche Modelleigenschaft Def.: Eine Logik L hat die endliche Modelleigenschaft (FMP), falls es für jeder erfüllbare Satz ϕ ∈ L ein Modell A = (A, τ ) hat, so dass |A| < ∞. Bsp.: Betrachte zunächst FO nur über total geordneten Strukturen: . ϕ := ¬∃x.∀y .x = y ∨ y < x besagt, dass es kein größtes Element gibt, welches es in endlichen, total geordneten Strukturen aber immer gibt. Dennoch ist ϕ erfüllbar. FO über allgemeinen Strukturen hat auch nicht die FMP, aber wieso? 212 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Kleine Modelleigenschaft Verschärfung der FMP: Def.: Sei f : N → N. Eine Logik L hat die kleine Modelleigenschaft bzgl. f (f -SMP), falls jeder erfüllbare Satz ϕ ∈ L eine endliches Modell A = (A, τ ) hat, so dass |A| ≤ f (|ϕ|) hat. Def.: Sei FO∃∀ Rel Menge aller Formeln der Form ∃x1 . . . ∃xn .∀y1 . . . ∀ym .ϕ, wobei ϕ quantoren-frei und relational, d.h. ohne Funktionssymbole. Theorem 34 n−1 FO∃∀ Rel hat die f -SMP, wobei f (n) = d 2 e 213 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Substrukturen Def.: Seien A, B τ -Strukturen mit Universen A, bzw. B. Dann ist B Substruktur von A, falls gilt: • B ⊆ A, • für alle Relationssymbole R ∈ τ : R B = R A ∩ |B × .{z . . × B} st(R) • für alle Funktionssymbole f ∈ τ : f B (a1 , . . . , ak ) = f A (a1 , . . . , ak ) ∈ B falls a1 , . . . , ak ∈ B Bsp.: ({0, 2, 4, . . .}, +) ist Substruktur von (N, +), ({1, 3, 5, . . .}, +) jedoch nicht. 214 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Substrukturen und universelle Formeln Def.: Eine Formel ist universell, wenn sie in positiver Normalform ist und keine existentiellen Quantoren in ihr vorkommen. Lemma 1: Sei ϕ universell, B = (B, τ ) Substruktur von A, ϑ Variablenbelegung mit ϑ(x) ∈ B für alle x ∈ frei(ϕ). Dann gilt wenn A, ϑ |= ϕ dann B, ϑ |= ϕ Beweis: Durch Induktion über den Aufbau von Termen und Formeln. (Übung) Lemma 2: Sei A = (A, τ ) relationale Struktur und B ⊆ A. Es gibt eine (eindeutige) Substruktur B von A, deren Universum B ist. Beweis: Übung. 215 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Beweis der kleinen Modelleigenschaft für FO∃∀ Rel Beweis von Thm. 34: Sei ϕ = ∃x1 . . . ∃xn .ϕ0 erfüllbarer Satz mit ϕ0 = ∀y1 . . . ∀ym .ψ. Dann ex. A = (A, τ ), so dass A |= ϕ. Also gibt es a1 , . . . , an ∈ A, so dass A, ϑ |= ϕ0 wobei ϑ(xi ) = ai für i = 1, . . . , n. Sei B := {a1 , . . . , an }. Da ϕ relational ist, gibt es nach Lemma 2 Substruktur B von A mit Universum B. Da ϕ0 universell ist, gilt nach Lemma 1: B, ϑ |= ϕ0 gdw. A, ϑ |= ϕ0 . Da alle a1 auch in B vorhanden sind, gilt somit auch B |= ϕ. O.B.d.A. gibt es höchstens d n−1 2 e ex. Quantoren in Formel der Länge n. 216 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit Model Checking Das Auswerteproblem (oder auch Model-Checking-Problem) für FO ist das folgende: Gegeben FO-Formel ϕ und Interpretation I, entscheide, ob I |= ϕ gilt oder nicht. Beachte Unterschied zu Erfüllbarkeit! Wir betrachten das Model-Checking-Problem nur für endliche Strukturen. Für unendliche ergeben sich Fragen und Hindernisse bzgl. endlicher Repräsentationen. Theorem 35 Das Model-Checking-Problem für FO lässt sich in Zeit O(mn ) entscheiden, wobei n = Größe der Formel, m = Größe der Struktur. 217 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit 218 Ein Algorithmus für das Model-Checking-Problem Beweis: Sei I = (A, ϑ) und A = (A, τ ). Folgender rekursive Algorithmus löst das Model-Checking-Problem. MC(A,ϑ,ϕ) = case ϕ of R(t1 , . . . , tn ): . t1 = t2 : ψ1 ∨ ψ2 : ∃x.ψ: A A return ([[t1 ]]A ϑ , . . . , [[tn ]]ϑ ) ∈ R A A return [[t1 ]]ϑ = [[t2 ]]ϑ return MC(A,ϑ,ψ1 ) ∨ MC(A,ϑ,ψ2 ) for each a ∈ A if MC(A,ϑ[x 7→ a],ψ) = tt then return tt return ff ... Laufzeitabschätzung ergibt sich daraus, dass im schlimmsten Fall in jeder Unterformel das gesamte Universum durchsucht werden muss. Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik – (Un-)Entscheidbarkeit SMP und Entscheidbarkeit Theorem 36 Sei L Logik über endlicher Signatur mit f -SMP bzgl. einer Funktion f . Dann ist das Erfüllbarkeitsproblem für L entscheidbar. Beweis: Folgender Algorithmus löst das Erfüllbarkeitsproblem. SAT(ϕ) = eliminiere freie Variablen in ϕ durch äußere, existentielle Quantifizierung for each τ -Struktur A mit |A| ≤ f (|ϕ|) if MC(A,[],ϕ) = tt then return tt return ff Korrektheit ergibt sich daraus, dass jedes ϕ, welches kein Modell der Größe ≤ f (|ϕ|) hat, unerfüllbar sein muss. 219 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke 220 Ausdrucksstärke Eindruck von Ausdrucksstärke von FO über elementare Äquivalenz und Definierbarkeit Unmöglichkeitsresultate mittels Löwenheim-Skolem z.B. jedoch nur im Unendlichen Wie zeigt man, dass im Endlichen etwas in FO nicht möglich ist? Genauer: Nicht-Definierbarkeit einer Relation. Beachte: universelle Aussage (“für alle Formeln gilt, dass diese etwas bestimmtes nicht definieren”); i.A. schwerer zu beweisen als existentielle Vereinfachung in diesem Abschnitt: nur noch relationale Strukturen (ohne Konstanten) Beachte: Funktionen können durch Relationen modelliert und in FO definiert werden, z.B. . ∀x.∀y . ∃z.R+ (x, y , z) ∧ ∀z.∀z 0 .R+ (x, y , z)∧R+ (x, y , z 0 ) → z = z 0 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Partielle Isomorphismen Def.: Seien A = (A, τ ) und B = (B, τ ) Strukturen. Ein partieller Isomorphismus ist eine partielle, injektive Abbildung κ : A → B, so dass für alle R und a1 , . . . , an ∈ dom(κ): (a1 , . . . , an ) ∈ R A gdw. (κ(a1 ), . . . , κ(an )) ∈ R B Bsp.: Was sind partielle Isomorphismen zwischen den folgenden Strukturen? a b 0 1 2 3 c d Hat part. Iso. endlichen Domain dom(κ) = {a1 , . . . , an }, dann schreiben wir ihn auch als Liste (a1 , κ(a1 )), . . . , (an , κ(an )). 221 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Ehrenfeucht-Fraı̈ssé-Spiele für FO Def.: Seien A = (A, τ ), B = (B, τ ) relationale Strukturen, mit A ∩ B = ∅, k ∈ N. Das EF-Spiel GkA,B (einfach: Gk ) wird zwischen Spielern S (Spoiler) und D (Duplicator) folgendermaßen gespielt. Partie π besteht aus k Runden. In der i-ten Runde • wählt S ein ai ∈ A, und danach wählt D ein bi ∈ B, oder es • wählt S ein bi ∈ B, und danach wählt D ein ai ∈ A. D gewinnt π, falls (a1 , b1 ), . . . , (ak , bk ) partieller Isomorphismus zwischen A und B ist. Ansonsten gewinnt S die Partie π. 222 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Beispiele Bsp.: Wer gewinnt welche Partien auf den folgenden Strukturen? 1 0 1 2 a b d c 3 2 jeweils (N, <), (Z, <), (Q, <), (R, <) 3 totale Ordnungen mit n, bzw. n + 1 Elementen 4 balancierter und unbalancierter Baum 223 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Konfigurationen Gewinnen einer Partie in GkA,B sagt nicht viel über Zusammenhang zwischen A und B aus Problem: Spieler können auch schlechte Wahl treffen; so dass sie gewonnen hätten, wenn sie anders gewählt hätten. “gewinnen können” durch Existenz von Strategien ausdrücken Def.: Eine S-Konfiguration ist eine Liste (a1 , b1 ), . . . , (an , bn ) ∈ (A × B)n für ein n ≥ 0. Eine D-Konfiguration ist ein Element aus (A × B)n × (A ∪ B) für ein n ≥ 0. (Beschreiben Situation, in der jeweiliger Spieler zieht.) 224 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Strategien Def.: Eine Strategie für Spieler X ist eine Funktion σ, die einer gegebenen X -Konfiguration ein Element aus A ∪ B zuordnet. Sei σ Strategie für Spieler X . Partie (a1 , b1 ), . . . , (ak , bk ) ist σ-konform, falls • X = S und für alle i = 1, . . . , k − 1: σ (a1 , b1 ), . . . , (ai , bi ) = ai+1 bzw. σ (a1 , b1 ), . . . , (ai , bi ) = bi+1 • X = D und für alle i = 1, . . . , k − 1: σ (a1 , b1 ), . . . , (ai , bi ), ai+1 = bi+1 σ (a1 , b1 ), . . . , (ai , bi ), bi+1 = ai+1 bzw. Konformität intuitiv: wähle, wie die Strategie(funktion) es vorgibt 225 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Spiele gewinnen Def.: Spieler X gewinnt das Spiel GkA,B , wenn es eine Strategie σ für Spieler X gibt, so dass X jede σ-konforme Partie gewinnt. bedeutet intutiv: immer gewinnen können, egal wie Gegner spielt Theorem 37 (Determiniertheit) Für alle Strukturen A, B und k ∈ N gilt: S gewinnt GkA,B gdw. D gewinnt GkA,B nicht. Beweis: Übung. Bem.: “⇒” fast trivial, “⇐” keineswegs, wieso? 226 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Monotonität in der Rundenzahl Lemma: Seien A, B relationale Strukturen, k ∈ N. a) D gewinnt G0A,B A,B b) Falls S das Spiel GkA,B gewinnt, so auch Gk+1 . A,B c) Falls D das Spiel Gk+1 gewinnt, so auch GkA,B . Beweis: (a) ∅ ist immer partieller Isomorphismus. (b) Betrachte Strategie, die in Runde k + 1 den k-ten Zug wiederholt. (c) Übung. 227 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Ziel: Ausdrucksstärke Ziel: zeige, dass gewisse Klassen K von Strukturen nicht FO-definierbar sind, d.h. es gibt keinen FO-Satz ϕ, so dass Mod(ϕ) = K. Erster Ansatz: Finde A, B, so dass A ∈ K, B 6∈ K, aber A ≡ B. Nach Sätzen 28 und 29 über Isomorphie und elementare Äquivalenz kann dies aber nur sein, wenn entweder • K nicht unter Isomorphie abgeschlossen ist, oder • A und B beide unendlich sind. schließt viele interessante aus, z.B. Klasse aller endlichen, zusammenhängenden Graphen 228 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Quantorentiefe Def.: Die Quantorentiefe einer Formel ϕ ist . qt(s = t) = qt(R(t1 , . . . , tn )) = 0 qt(¬ϕ) = qt(ϕ) qt(ϕ ∧ ψ) = qt(ϕ ∨ ψ) = max{qt(ϕ), qt(ψ)} qt(∃x.ϕ) = qt(∀x.ϕ) = 1 + qt(ϕ) Def.: Seien A, B relational. A ≡k B gdw. für alle FO-Sätze ϕ mit qt(ϕ) ≤ k gilt: A |= ϕ gdw. B |= ϕ A, B nicht durch Satz mit Quantorentiefe höchstens k unterscheidbar 229 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Generalisierte Spiele Def.: Seien A = (A, τ ), B = (B, τ ) relational Strukturen, k ∈ N, n ≤ k und ā = (a1 , . . . , an ) ∈ An , b̄ = (b1 , . . . , bn ) ∈ B n . Schreibe (ā, b̄) für (a1 , b1 ), . . . , (an , bn ). A,B Generalisiertes Spiel Gk−n (ā, b̄) gespielt wie GkA,B , angefangen in Runde (n + 1) mit Annahme, dass in Runden 1, . . . , n bereits (a1 , b1 ), . . . , (an , bn ) gewählt wurden. ermöglicht Beweise per Induktion über Rundenzahl 230 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Satz von Ehrenfeucht und Fraı̈ssé Theorem 38 Für alle Strukturen A, B und alle k ∈ N gilt: D gewinnt GkA,B gdw. A ≡k B Lässt sich nicht durch Induktion über k zeigen, wieso? Betrachte folgende, stärkere Aussage. Theorem 39 Für alle A = (A, τ ), B = (B, τ ) und alle k ∈ N, n ≤ k, ā ∈ An , b̄ ∈ B n und x̄ = (x1 , . . . , xn ) gilt: A,B D gewinnt Gk−n (ā, b̄) gdw. für alle ϕ(x̄) mit qt(ϕ) ≤ k − n : A, ā |= ϕ(x̄) gdw. B, b̄ |= ϕ(x̄) 231 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Beweis des Satzes von Ehrenfeucht-Fraı̈ssé “⇒” Angenommen, es gibt ϕ(x̄) mit qt(ϕ) ≤ k − n, so dass A, ā |= ϕ(x̄) < B, b̄ |= ϕ(x̄). Konstruiere Gewinnstrategie für S in Gk−n (ā, b̄) per Induktion über k − n. k − n = 0: Dann ist ϕ(x̄) boolesche Kombination aus atomaren . Formeln der Form xi = xj oder R(xi1 , . . . , xim ). Nach Voraussetzung ist (o.B.d.A.) A, ā |= ϕ(x̄) und B, b̄ 6|= ϕ(x̄). Man vergewissert sich (z.B. durch Induktion über den Aufbau von ϕ), dass (ā, b̄) kein part. Iso. zwischen A und B ist. Somit gewinnt S G0 (ā, b̄). 232 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Beweis des Satzes von Ehrenfeucht-Fraı̈ssé k − n > 0: Nach Voraussetzung gilt A, ā |= ϕ(x̄) < B, b̄ |= ϕ(x̄). Betrachte hier nur den Fall ϕ = ∃xn+1 .ψ(x1 , . . . , xn+1 ) und A, ā |= ϕ und B, b̄ 6|= ϕ. (Andere Fälle analog oder darauf reduzierbar.) D.h. es gibt a ∈ A, so dass • A, (ā, a) |= ψ(x1 , . . . , xn+1 ) und • für alle b ∈ B gilt: B, (b̄, b) 6|= ψ(x1 , . . . , xn+1 ). Gewinnstrategie für S: wähle zuerst in A das Element a. Darauf antwortet D mit einem b ∈ B. Nach der Induktionshypothese gewinnt S das Spiel Gk−(n+1) ((ā, a), (b̄, b)), also somit auch Gk−n (ā, b̄). 233 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Isomorphietypen Die Umkehrung verlangt wieder etwas Vorarbeit. Def.: Sei A = (A, τ ), k ∈ N, n ≤ k, x̄ = (x1 , . . . , xn ). Definiere für A,ā wie folgt. jedes ā = (a1 , . . . , an ) ∈ An eine Formel ϕk−n ϕA,ā 0 (x̄) := . xi = xj ∧ ^ ai =aj ^ A,ā ϕk−n (x̄) := ^ ai 6=aj ^ ^ R(xi1 , . . . , xim ) ∧ R∈τ (ai1 ,...,aim )∈R A ^ A,(ā,a) a∈A . ¬(xi = xj ) ∧ ∃xn+1 .ϕk−n−1 ∧ ∀xn+1 . ¬R(xi1 , . . . , xim ) (ai1 ,...,aim )6∈R A _ a∈A A,(ā,a) ϕk−n−1 234 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Wohldefiniertheit der Isomorphietypen Zunächst erscheinen Dis- und Konjuntionen in ϕA,ā m für m > 0 unendlich. Sind aber nur endlich. Lemma: Sei A = (A, τ ) und x̄ gegeben. Für alle n, m ≥ 0 ist die Menge A,ā { ϕm (x̄) | ā ∈ An } endlich. Beweis: Übung. A,ā nicht vorkommt und dass x̄ Hinweis: Beachte, dass ā selbst in ϕm fest ist. 235 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Isomorphietypen und EF-Spiele Lemma: Sei k ∈ N, n ≤ k, A = (A, τ ), ā ∈ An , B = (B, τ ), b̄ ∈ B n . Dann gilt: A,B D gewinnt Gk−n (ā, b̄) gdw. B, b̄ |= ϕA,ā k−n Beweis: Per Induktion über k − n. Sei k − n = 0. Dann ist B, b̄ |= ϕA,ā gdw. 0 • für alle 1 ≤ i, j ≤ n: bi = bj gdw. ai = aj , und • für alle 1 ≤ i1 , . . . , im ≤ n: (bi1 , . . . , bim ) ∈ R B gdw. (ai1 , . . . , aim ) ∈ R A . Dies ist der Fall gdw. (ā, b̄) part. Iso. zwischen A und B ist, bzw. gdw. D das Spiel G0A,B (ā, b̄) gewinnt. 236 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Isomorphietypen und EF-Spiele A,ā Sei k − n > 0. Angenommen B, b̄ |= ϕk−n . Dann existiert • für jedes a ∈ A ein b ∈ B und • für jedes b ∈ B ein a ∈ A A,(ā,a) so dass B, (b̄, b) |= ϕk−n−1 . Eröffnet S nun mit a ∈ A, so kann D mit entsprechendem b ∈ B und umgekehrt antworten. Nach A,B Hypothese gewinnt D das Restspiel Gk−n−1 ((ā, a), (b̄, b)) und A,B somit auch Gk−n (ā, b̄). Die Umkehrung gilt genauso. 237 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Beweis des Satzes von Ehrenfeucht-Fraı̈ssé noch zu zeigen: wenn A, ā und B, b̄ nicht durch Formel der Quantorentiefe ≤ k − n zu unterscheiden, dann gewinnt D A,B Gk−n (ā, b̄). A,B Beweis: Angenommen, D gewinnt Gk−n (ā, b̄) nicht. Nach obigem A,ā Lemma gilt dann B, b̄ 6|= ϕk−n . Man vergewissert sich leicht, dass außerdem folgendes gilt: • qt(ϕA,ā k−n ) = k − n (einfach nachrechnen) • A, ā |= ϕA,ā k−n (folgt z.B. aus obigem Lemma und der Tatsache, dass D per Copy-Cat-Strategie immer das Spiel A,A Gk−n (ā, ā) gewinnen kann) 238 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Nicht-Definierbarkeit von Strukturklassen wie benutzt man das um Nicht-Definierbarkeit einer Klasse zu zeigen? Theorem 40 Sei K so, dass es für jedes k ∈ N Strukturen Ak , Bk gibt mit Ak ∈ K, Bk 6∈ K und D gewinnt GkA,B . Dann gibt es keinen FO-Satz ϕ mit Mod(ϕ) = K. Beweis: Angenommen, es gibt ϕ mit Mod(ϕ) = K. Dieses hätte eine feste Quantorentiefe qt(ϕ) = k. Da Ak ∈ K gilt somit Ak |= ϕ. Nach Voraussetzung gewinnt D das Spiel GkA,B , und nach dem Satz von Ehrenfeucht-Fraı̈ssé gilt somit Ak ≡k Bk und damit dann auch Bk |= ϕ. Somit wäre aber Bk ∈ K = Mod(ϕ), was der Voraussetzung Bk 6∈ K widerspricht. 239 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Zusammenhängende Graphen Ziel: Die Klasse aller zusammenhängender, ungerichteter Graphen ist nicht FO-definierbar. Da ungerichtete Graphen FO-definierbar sind, brauchen wir uns nur noch auf den Zusammenhang zu konzentrieren. Kcon := {G = (V , E ) | G ist zusammenhängender Graph } Def.: Für k ∈ N definiere: • Ak = Zykel der Länge 2k • Bk = zwei disjunkte Kopien von Ak offensichtlich: Ak ∈ Kcon , Bk 6∈ Kcon für alle k ∈ N Def.: δ(x, y ) = Distanz von x zu y (Länge des kürzesten Weges, evtl. ∞) 240 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Zusammenhängende Graphen Lemma: Für alle k ∈ N gewinnt D das Spiel GkAk ,Bk . Beweis: Gewinnstrategie für D: Seien in i-ter Runde bereits a1 , . . . , ai−1 und b1 , . . . , bi−1 gewählt. Wähle nun (eines von) ai und bi so, dass für alle 1 ≤ j, h ≤ i gilt: • δ(aj , ah ) = δ(bj , bh ) oder • δ(aj , ah ), δ(bj , bh ) ≥ 2k−i+1 In Runde 1 problemlos möglich. Angenommen, bis in die i-te Runde war dies möglich. Dann wählt S ein Element in der (i + 1)-ten Runde. Sei dies ein ai ∈ Ak . (Anderer Fall ähnlich.) Sei aj dasjenige Element in Ak , welches bereits ausgewählt wurde und geringste Distanz zu ai hat. 241 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Zusammenhängende Graphen Fall δ(ai , aj ) ≥ 2k−i . Nach Voraussetzung ist der Abstand zweier bereits ausgewählter b, b 0 ∈ Bk entweder mindestens 2k−(i−1)+1 oder gleich dem Abstand der entsprechenden Elemente in Ak . So lässt sich leicht ein bi finden, welches zu allen bereits gewählten einen Abstand von mindestens 2k−(i−1)+1 /2 = 2k−i+1 hat. Fall δ(ai , aj ) < 2k−i . Dann muss sich auch ein bi finden lassen, so dass δ(bi , bj ) = δ(ai , aj ) und außerdem δ(bi , bh ) = δ(ai , ah ) oder δ(bi , bh ), δ(ai , ah ) ≥ 2k−i+1 für alle h < i. Nach k Zügen gilt also für alle 1 ≤ i, j ≤ k: δ(ai , aj ) = δ(bi , bj ) oder δ(ai , aj ), δ(bi , bj ) ≥ 2. Daraus folgt • ai = aj gdw. bi = bj und • (ai , aj ) ∈ E Ak gdw. (bi , bj ) ∈ E Bk was bedeutet, dass (ā, b̄) part. Iso. ist. 242 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Undefinierbarkeitsresultate Kor.: Es gibt keinen FO-Satz ϕ mit Mod(ϕ) = Kcon . Kor.: Es gibt keine FO-Formel ϕ(x, y ) über der Signatur τ = (E ), welche Erreichbarkeit in Graphen definiert, also G , v , w |= ϕ(x, y ) gdw. w ist von v aus erreichbar in G Beweis: Dann wäre Mod(∀x.∀y .ϕ(x, y )) = Kcon . Kor.: Sei R zweistellige Relation. Ihre reflexiv-transitive, bzw. transitive Hülle R ∗ bzw. R + ist nicht FO-definierbar. Beweis: Angenommen, es gäbe ϕR ∗ (x, y ) mit A, a, b |= ϕR ∗ (x, y ) gdw. (a, b) ∈ (R A )∗ . Dann würde ϕE ∗ Erreichbarkeit in Graphen definieren. Nicht-Definierbarkeit für transitive Hülle folgt aus . ϕR ∗ (x, y ) ≡ (x = y ) ∨ ϕR + (x, y ). 243 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Weitere Undefinierbarkeitsresultate Mithilfe des Satzes von Ehrenfeucht-Fraı̈ssé lassen sich viele Klassen als nicht FO-definierbar identifizieren, z.B. • alle Strukturen gerader Kardinalität • alle Strukturen einer Größe n mit n ≡ 0 mod k für festes k • alle endlichen Strukturen • alle balancierten Bäume (Bäume sind FO-definierbar!) • korrekte XML-Dokumente • korrekt verzeigerte Strukturen in einem Java-Heap (z.B. Listen) • ... 244 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke XML-Dokumente modellieren Sei T eine endliche Menge von Tag-Namen. Wir modellieren XML-Dokumente als Strukturen über der relationalen Signatur τXML = {<} ∪ {Opent , Close t | t ∈ T } wobei < 2-stellig und die anderen Relationen 1-st. sind abstrahiere von konkreten Inhalten; nur Struktur eines XML-Dokuments interessant XML-Dokument ist somit endliche Liste von öffnenden und schließenden Tags 245 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke Beispiel Das XML-Dokument <library> <books> <book> <id> 17 </id> <title> Everything to Know About Bears </title> <author> Michael Scott </author> <year> 2009 </year> </book> </books> <users> <user> <name> Dwight Schrute </name> <possesses> 17 </possesses> </user> </users> </library> abstrahieren wir zu der 22-elementigen τXML Struktur, • deren Elemente eine lineare Ordnung bzgl. < bilden • deren 1. Element nur das Prädikat Openlibrary erfüllt, • deren 2. Element nur das Prädikat Openbooks erfüllt, • ... • deren 5. Element nur das Prädikat Close id erfüllt, • ... 246 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke XML-Dokumente Def.: Die Klasse KXML aller gültig-(modelliert-)en XML-Dokumente ist die kleinste Klasse K, bestehend aus endlichen, linear geordneten τXML -Strukturen, für die gilt: • Ist t Tag-Name, n ≥ 0 und d1 , . . . , dn ∈ K, so ist Opent d1 . . . dn Close t ∈ K. Beachte: KXML induktiv definiert. Induktionsanfang (n = 0) und -schritt (n > 0) in einem abgehandelt. 247 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.7 Prädikatenlogik – Ausdrucksstärke FO-Undefinierbarkeit von KXML Thm.: Die Klasse KXML ist nicht FO-definierbar. Beweis: Sei t ein fest gewählter Tag-Name. Für jedes k ∈ N definiere Strukturen Ak , Bk wie folgt: • Ak = Opent . . . Opent Close t . . . Close t | {z 2k mal } | {z 2 k mal } • Bk = Opent . . . Opent Close t . . . Close t {z } | {z } | 2k mal 2 k +1 mal Für alle k ∈ N gilt: • Ak ∈ KXML • Bk 6∈ KXML • D gewinnt GkAk ,Bk Nach Thm. 40 ist KXML somit nicht FO-definierbar. 248 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution 249 Beispiel Bsp.: Betrachte Schlussweise in: R→N 1 Wenn es regnet, dann wird die Straße nass. 2 Es regnet. R 3 Also wird die Straße nass. N (3) folgt aus (1) und (2), siehe z.B. Resolutionsregel was ist mit folgender Schlußweise: ∀x.G (x) → P(x) 1 Alle Griechen sind Philosophen. 2 Sokrates ist eine Grieche. G (s) 3 Also ist Sokrates ein Philosoph. P(s) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Resolution zur Erinnerung: aussagenlogische Resolution Verfahren für Unerfüllbarkeit wegen Satz von Herbrand klar: Resolution auch für FO möglich . hier zunächst Resolutionskalkül für FO ohne Gleichheitssymbol = Formeln immer gegeben als Klausel-Mengen Φ = {ϕ1 , . . .} in Skolem-Normalform ϕi = ∀x1 . . . ∀xn m _ `j j=1 wobei `j Literale über atomaren Formeln R(t1 , . . . , tn ); nur Variablen x1 , . . . , xn 250 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Beispiel Notation: universelle Quantifizierung nur noch implizit Bsp.: {∀x.P(x) → ∃y .R(x, y ), ∃v .∀z.P(v ) ∧ ¬R(v , z)} in Skolem-Normalform: {∀x.P(x) → R(x, f (x)), ∀z.P(c) ∧ ¬R(c, z)} dann in Klauselform mit impliziter univ. Quantifizierung: {¬P(x) ∨ R(x, f (x)), P(c), ¬R(c, z)} ist intuitiv unerfüllbar: 1. und 2. Klausel sorgen dafür, dass R(c, f (c)) gilt, dies widerspricht aber der 3. Klausel wegen impliziter, univ. Quantifizierung über z 251 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Grundresolution hier zunächst vereinfachter Fall der Grundresolution: variablen-freie Klauseln Def.: Resolutionsbeweis für Klauselmenge Φ ist endlicher Baum: • Wurzel mit leerer Klausel ∅ beschriftet • Blätter mit Klauseln ϕ ∈ Φ beschriftet • Söhne nach Resolutionsregel konstruiert: C , R(t1 , . . . , tn ) C 0 , ¬R(t1 , . . . , tn ) C, C0 beachte: dasselbe wie Resolution für Aussagenlogik 252 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Grundresolution ist korrekt und vollständig Theorem 41 Sei Φ variablen-freie Klauselmenge. Dann ist ϕ unerfüllbar gdw. es einen Grundresolutionsbeweis für Φ gibt. Beweis: Folgt sofort aus Satz von Herbrand. Beachte: Φ = AL(Φ) in diesem Fall. Ziel: Einschränkung auf Variablenfreiheit aufheben Lemma: Sei T Menge aller Grundterme über zugrundeliegender Signatur. ∀x1 . . . xn .ϕ ist unerfüllbar gdw. [ ϕ[t1 /x1 , . . . , tn /xn ] (t1 ,...,tn )∈T n unerfüllbar ist. Beweis: Nach Satz von Löwenheim-Skolem hat jede erfüllbare Formel ein Herbrand-Modell. 253 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Resolution für FO Resolutionsbeweis definiert wie oben, jedoch angewendet auf allgemeine Klauselmengen mit Variablen x1 , . . . , xn zusätzliche Instanziierungsregel C C [t1 /x1 , . . . , tn /xn ] Theorem 42 Φ unerfüllbar gdw. es Grundresolutionsbeweis mit Instanziierungsregel für ϕ gibt. Beweis: “⇒” Obiges Lemma überträgt Unerfüllbarkeit auf Grundklauselmenge, also erst entsprechende Instanziierungen durchführen, dann Resolventen bilden. “⇐” Wie oben, zusätzlich mit folgendem Prinzip. Ist Φ ∧ ϕ[t/x] unerfüllbar, so ist auch Φ ∧ ∀x.ϕ unerfüllbar. 254 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Beispiel Bsp: ∀x.∀y .P(x) ∨ P(y ) ∧ ¬P(c) ∨ ¬P(d) ist unerfüllbar 1 in Klauselform: {P(x), P(y )}, {¬P(c), ¬P(d)} 2 Expansion mittels Herbrand-Universum in aussagenlogische Klauselmenge liefert {P(c)}, {P(c), P(d)}, {P(d)}, {¬P(c), ¬P(d)} 3 Herleitung der leeren Klausel per Resolution ist leicht 255 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Pragmatische Aspekte Verfahren per Reduktion auf Grundresolution in Praxis ungeeignet; verlangt, die Terme im Vorhinein ohne Rückgriff auf den Resolutionsbeweis zu erraten besseres Verfahren wünschenswert, welches Instanziierungen erst dann vornimmt, wenn sie wirklich gebraucht werden wie soll man dann Literale mit Variablen behandeln? Bsp. sollte man zwei Klauseln mit folgenden Literalen resolvieren können? • R(f (x), c), ¬R(f (f (c)), y ) • R(f (x), c), ¬R(f (f (c)), x) • R(x, y ), ¬R(y , y ) • P(g (f (x), a)), ¬P(g (z, f (y ))) 256 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Substitutionen Def.: Substitution ist Abbildung σ von Variablen auf Terme Bsp.: σ = [x 7→ g (c, f (d)), y 7→ f (x), z 7→ z] Konvention: Variablen, die nicht explizit in [. . .] aufgelistet werden, werden auf sich selbst abgebildet Def.: Substition σ kann in natürlicher Weise erweitert werden auf • Terme: σ(f (t1 , . . . , tn )) := f (σ(t1 ), . . . , σ(tn )) • Prädikate: σ(R(t1 , . . . , tn )) := R(σ(t1 ), . . . , σ(tn )) • Literale: σ(¬`) := ¬σ(`) • Klauseln: σ(Φ) := {σ(ϕ) | ϕ ∈ Φ} 257 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Syntaktische Unifikation syntaktische Unifikation = finde Substitution für Variablen, die zwei (oder mehrere) Prädikate gleich macht Def.: Substitution σ heißt Unifikator von `1 , . . . , `n , falls σ(`1 ) = σ(`2 ) = . . . = σ(`n ) Bsp.: Gibt es Unifikatoren für folgende Prädikate? Welche? 1 P(x) und P(c) 2 P(x) und Q(x) 3 R(f (x), c) und R(z, f (y )) 4 R(f (x), c) und R(f (f (c)), y ) 5 R(f (x), c) und R(f (f (c)), x) 6 R(x, y ) und R(y , y ) 7 P(x) und P(f (x)) 8 P(x) und P(f (y )) 258 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Allgemeinste Unifikatoren Def.: Seien σ, ρ zwei Substitutionen. Dann heißt σ allgemeiner als ρ, geschrieben σ . ρ, falls es eine Substitution ζ gibt, so dass für alle Prädikate ` gilt: ρ(`) = ζ(σ(`)) Bsp.: • [x 7→ f (y ), y 7→ c] . [x 7→ f (f (y )), y 7→ c] • [x 7→ f (y ), y 7→ c] und [x 7→ f (f (y )), y 7→ z] sind unvergleichlich bzgl. . • [x 7→ y ] . [y 7→ x] und umgekehrt! Def. σ heißt allgemeinster Unifikator (MGU) von `1 , . . . , `n , falls σ . ρ für jeden Unifikator ρ von `1 , . . . , `n 259 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Allgemeinste Unifikatoren ein paar Fakten über Unifikation • Unifikatoren müssen nicht immer existieren: P(f (x)), P(g (y )) • gibt es Unifikator, so gibt es auch MGU • MGUs müssen nicht eindeutig sein: P(x), P(y ) hat MGUs [x 7→ y ], [y 7→ x] • MGUs lassen sich berechnen 260 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Faktoren Def.: Sei C = `1 , . . . , `n , C 0 Klausel, σ MGU von `1 , . . . , `n . Dann heißt σ(`1 ), C 0 Faktor von C Resolution muss auf Faktoren ausgeführt werden: Bsp: {P(x), P(y )}, {¬P(c), ¬P(d)} unerfüllbar, aber leere Klausel nicht herleitbar durch Resolution auf einzelnen Literalen im folgenden Faktorisierung gleich in Resolutionsschritt eingebaut 261 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Prädikatenlogische Resolution Def.: Seien C und D Klauseln. Dann heißt E Resolvente von C und D, falls 1 es C 0 , D 0 gibt, die aus C und D 0 durch evtl. Umbenennen von Variablen entstehen und keine Variablen gemeinsam haben, so dass 2 C 0 = α1 , . . . , αn , C 00 und D 0 = ¬β1 , . . . , ¬βm , D 00 , 3 es MGU σ von α1 , . . . , αn , β1 , . . . , βm gibt und 4 E = σ(C 00 ∪ D 00 ) Def.: Resolutionsbeweis für Klauselmenge Φ mit dieser Resolutionsregel wie üblich definiert 262 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Beispiel Bsp.: Betrachte C = {C1 , C2 , C3 } mit C1 = {¬P(y , c), ¬P(y , x), ¬P(x, y )} C2 = {P(y , f (y )), P(y , c)} C3 = {P(f (y ), y ), P(y , a)} 263 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Notwendigkeiten Notwendigkeit zu Faktorisieren bereits gezeigt Variablenumbenennung ebenfalls essentiell: {P(c, y )}, {Q(x, d)}, {¬P(x, c), ¬Q(d, y )} ist • unerfüllbar, • ohne Variablenumbenennung nicht zu ∅ zu resolvieren MGUs ebenfalls essentiell: {¬Q(y )}, {Q(x), P(x)}, {Q(x), ¬P(x)} führt z.B. mit Unifikatoren [y 7→ c, x 7→ c] einerseits und [y 7→ d, x 7→ d] andererseits nicht zum Ziel 264 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Korrektheit und Vollständigkeit Theorem 43 Sei C Klauselmenge. Es gibt Resolutionsbeweis für C gdw. C unerfüllbar ist. Beweisskizze: “⇒” Wie bisher: Zeige, dass erfüllbare Menge unter Hinzunahme von Resolventen erfüllbar bleibt. “⇐” Sei C unerfüllbar. Nach Thm. 42 gibt es Grundresolutionsbeweis mit Instanziierungen zu Grundtermen. Dieser lässt sich in einen Resolutionsbeweis umbauen, welcher die Instanziierungen mittels MGUs teilweise und nur an benötigter Stelle macht. 265 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Beschränkung auf zwei Terme noch zu tun: Berechnung von MGUs Lemma: Seien t1 , . . . , tn , n > 1 Terme ohne Funktionssymbol f . Jeder Unifikator für t1 , . . . , tn ist auch ein Unifikator für f (t2 , . . . , tn ), f (t1 , . . . , t1 ) und umgekehrt. Beweis: Übung. Soll heißen: bei der Berechnung von MGUs können wir uns auf den Fall zweier Terme t, t 0 beschränken. Beachte: Für Unifikation kein Unterschied zwischen Funktions- und Prädikatsymbolen. 266 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Berechnung von MGUs Algorithmus arbeitet auf Menge von Paaren von Termen M = {(t1 , t10 ), . . . , (tn , tn0 )} Aufruf mit zu unifizierendem Paar (t, t 0 ) iteriere, solange noch eine der folgenden Regeln die Menge M ändert • entferne Paare der Form (t, t) aus M • ersetze jedes (t, x) in M durch (x, t), falls x Variable, t nicht Variable • gibt es (t, t 0 ) ∈ M mit t = f (s1 , . . . , sm ), t 0 = f (u1 , . . . , um ), so ersetze M durch (M \ {(t, t 0 )}) ∪ {(s1 , u1 ), . . . , (sm , um )} • ist M = {(x, t), (t1 , t10 ), . . . , (tn , tn0 )}, so dass x nicht in t vorkommt, so ersetze M durch 0 ))}, wobei σ = [x 7→ t] {(x, t), (σ(t1 ), σ(t10 )), . . . , (σ(tm ), σ(tm 267 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.8 Prädikatenlogik – Resolution Berechnung von MGUs Termination nicht trivial; aber Regeln nicht beliebig lange anwendbar zwei Fälle bei Termination: 1 M = {(x1 , t1 ), . . . , (xn , tn )}, wobei x1 , . . . , xn paarweise verschieden und kommen nicht in t1 , . . . , tn vor [x1 7→ t1 , . . . , xn 7→ tn ] ist MGU 2 keine Regel anwendbar, aber M nicht von obiger Form Eingabe nicht unifizierbar Theorem 44 (ohne Beweis) Obiger Algorithmus terminiert immer und berechnet einen MGU für die Eingabeterme. 268 Logikprogrammierung I Berechnung durch Resolution I Die Programmiersprache Prolog Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution Resolution als Berechnungsmodell bisher Resolution nur als Verfahren zum Beweis der Unerfüllbarkeit einer Klauselmenge Resolution kann mehr: Erzeugung neuer Terme durch MGUs in Iteration der Resolution ist auch eine Berechnung Verallgemeinerung: • gegeben Eingabe-Klauselmenge C, Ziel-Klausel ϕ • berechne Substitution σ, so dass σ(ϕ) aus C per Resolution herleitbar ist 366 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution Beispiel Bsp. Konstante 0, einst. Funktion s zur symbolischen Repräsentation natürlicher Zahlen Axiomatisierung der Addition: ∀x.Add(x, 0, x) ∀x.∀y .∀z.Add(x, y , z) → Add(x, s(y ), s(z)) Axiomatisierung der Multiplikation: ∀x.Mult(x, 0, 0) ∀x.∀y .∀z.Mult(x, y , z) ∧ Add(y , z, u) → Mult(x, s(y ), u) 367 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution 368 Beispiel Was ist 3 + 2? Für welchen Term t ist Add(s(s(s(0))), s(s(0)), t) Konsequenz aus obiger Klauselmenge? Beachte: Φ |= ϕ gdw. Φ ∧ ¬ϕ unerfüllbar benutze also Resolutionsverfahren für {Add(x, 0, x)}, {¬Add(x, y , z), Add(x, s(y ), s(z))}, {¬Add(s 3 (0), s 2 (0), u)} führe am Ende aufgesammelte Substitutionen aus, um u korrekt zu instanziieren Was ist 3 ∗ 2? Übung. Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution Beispiel symbolische Differenzierung modellieren; Signatur (+, ∗, 1, 0, x, y , . . .) (Achtung, x etc. ist Konstante in Signatur, aber Variable in modelliertem Szenario!) {D(x, x, 1)} {D(y , x, 0) | y 6= x} {D(f , x, f 0 ) ∧ D(g , x, g 0 ) → D(+(f , g ), x, +(f 0 , g 0 ))} {D(f , x, f 0 ) ∧ D(g , x, g 0 ) → D(∗(f , g ), x, +(∗(f , g 0 ), ∗(f 0 , g )))} Übungen: • berechne die Ableitung von x 2 · (y + x) nach x • erweitere dies um natürliche Zahlen und Operatoren pow (f , n) für Polynome 369 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution Resolutionsstrategien Ziel: Berechnungsmechanismus in Resolution in einer Programmiersprache ausnutzen pragmatisches Problem: obiger Resolutionskalkül nicht sehr zielgerichtet; Resolutions-Baumstruktur vollkommen beliebig effiziente Auswertung in Interpreter erfordert klarere Regeln leicht zu machen, z.B. “wähle immer kleinste passende Klausel” etc. wirft Frage auf: gilt Korrektheit (Φ unerfüllbar gdw. Resolutionsbeweis existiert) auch unter Einschränkung auf bestimmte Resolutionsstrategien? 370 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution SLD-Resolution Def.: SLD-Resolutionsbeweis für Φ ist Liste C1 , . . . , Cn , so dass • C1 ∈ Φ • für alle i = 2, . . . , n existiert C ∈ Φ, so dass Ci Resolvent von Ci−1 und C beachte: Liste = degenerierter Baum Bsp.: (man stelle sich geeignete FO-Literale vor) Φ = {{A, B}, {¬A, B, ¬C }, {¬B, ¬C }, {C }} 371 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.1 Logikprogrammierung – Berechnung durch Resolution SLD-Resolution und Horn-Klauseln zur Erinnerung: Horn-Klausel ist P(t̄) ∨ ¬Q1 (s̄1 ) ∨ . . . ∨ ¬Qn (s̄n ) mit n ≥ 0 Theorem 45 (ohne Beweis) Sei Φ Menge von Horn-Klauseln. Φ ist unerfüllbar gdw. es SLD-Resolutionsbeweis für Φ gibt. SLD-Resolution ist nicht vollständig für allgemeine Klauselmengen Bsp.: man versuche, einen SLD-Resolutionsbeweis für Φ := {{A, B}, {¬A, B}, {A, ¬B}, {¬A, ¬B}} zu konstruieren 372 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Programmiersprache Prolog Prolog-Programm ist Liste von Fakten (einelementige Hornklausel) und Regeln (mehrelementige Hornklauseln) • Variablen beginnen mit Großbuchstaben oder Unterstrich • Funktionen und Prädikate beginnen mit Kleinbuchstaben Bsp.: p(X,c,X). p(X,f(Y),f(Z)) :- p(X,Y,Z). 373 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Syntax Klauselform gemacht für Konjunktionen im Antezedent: isWitch(X) :- female(X), burnable(X), sameWeight(X,duck). Disjunktionen im Antezedent modellierbar: A ∨ B → C ≡ (A → C ) ∧ (B → C ) isParent(X,Y) :- isFather(X,Y). isParent(X,Y) :- isMother(X,Y). oder isParent(X,Y) :- isFather(X,Y); isMother(X,Y). 374 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Anfragen Anfrage an ein Programm (besser: den Interpreter) stößt Berechnung an Anfrage = Liste von Prädikaten (Ziele, Goals) Bsp.: vert(point(X,Y1),point(X,Y2)). hori(point(X1,Y),point(X2,Y)). Anfrage P1 = point(3,4), P2 = point(2,5), vert(P1,Z), horiz(P2,Z). 375 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Semantik wie wird eine Anfrage unter einem Prolog-Programm ausgewertet? intuitiv: • arbeite der Reihe nach alle Ziele der Anfrage ab • zu jedem Ziel suche passende linke Seite (Unifikation!) einer Regel oder eines Fakts • ersetze Ziel durch rechte Seite dieser Regel • wende berechnete Substitution auf sämtliche Restziele an formal: SLD-Resolution mit jeweils erster passender Klausel 376 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog 377 SLD-Resolution in Prolog Abweichungen von einfacher SLD-Resolution: • Prolog berechnet mehr als eine Antwort isAdvisor(euler,lagrange). isAdvisor(lagrange,fourier). isAdvisor(lagrange,poisson). isAdvisor(poisson,dirichlet). .. . isDescendant(X,Y) :- isAdvisor(Y,X); isAdvisor(Y,Z), isDescendant(X,Z). • Termination und Antworten abhängig von Klauselreihenfolge term1(X). term1(X) :- term1(f(X)). term2(X) :- term2(f(X)). term2(X). • Termination und Antworten abhängig von Literalreihenfolge (ähnlich) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Gleichheit beachte: Resolution lässt sich wie Sequenzenkalkül auf FO mit Gleichheit erweitern Prolog kennt auch Gleichheitsprädikat = Behandlung von Gleichheit bei SLD-Resolution besonders einfach • bisher unbenutzte Klauseln werden so belassen • bisherige Berechnung steckt ganz in Substitutionen aktueller Klausel Gleichheit wie definiertes Prädikat, welches Gleichheit auf Termen realisiert Bsp.: Was bewirken folgende Anfragen? s = s, s = t, X = X, X = Y? 378 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Unifikation in Prolog Prolog benutzt anderen Mechanismus als kennengelernte syntaktische Unifikation zur Erinnerung: x und f (x) nicht unifizierbar Grund: x kommt selbst in f (x) vor Unifikation ist Kern des Berechnungsmechanismus in Prolog • wird ständig ausgeführt • muss deswegen möglichst schnell gehen • aus Effizienzgründen Verzicht auf Test auf Auftreten Bsp.: Anfrage X = f(X) 379 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Arithmetik Additionsbeispiel leicht in Prolog zu implemetieren: add(X,null,X). add(X,s(Y),s(Z)) :- add(X,Y,Z). Verwendung von abstrakten Termen jedoch unhandlich Prolog kennt auch arithmetische Operatoren +,-,* etc., Ausdruck 3+2*4 ist aber nur Term! was ist Antwort auf Anfrage 2+2 = 3+1? Addition also z.B. folgendermaßen; funktioniert das? add1(X,0,X). add1(X,Y,Z) :- add1(X,Y-1,Z-1). 380 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Arithmetik funktionierende Lösung: add2(X,0,Z) :- Z is X. add2(X,Y,Z) :- V is Y-1, W is X+1, add2(W,V,Z). beachte: Prädikat is ist Gleichheit auf arithmetischen Termen, nachdem rechte Seite ausgewertet wurde! Variablen darin müssen instanziiert sein was sollte bei folgenden Anfragen herauskommen? • X is 3+1. • 3+1 is X. • X is X. • 2+2 is 3+1. beachte: add kann auch subtrahieren, add2 aber nicht 381 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Listen brauchbare Programmiersprache muss Datenstrukturen zur Verfügung stellen einfachstes Beispiel: Listen sind prinzipiell über Terme modellierbar; Benutzung jedoch einfacher bei eingebautem Datentyp • Listennotation: [0,2,4,[1,3],X,[3,Y]] • leere Liste is [] • Separation in Kopfteil und Restliste: [X | Z], [X,Y | Z], etc. Bsp.: extrahiere Listenelement an bestimmter Position atPosition(X,[X| ],P) :- 0 is P. atPosition(X,[ |T],P) :- atPosition(X,T,P-1). 382 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.2 Logikprogrammierung – Prolog Beispiel zum Abschluss größeres Beispiel bekanntes Rätsel: • Bauer muss Hund, Katze, Maus mit Boot über Fluss bringen • jeweils höchstens 1 Tier pro Fahrt übersetzen • niemals Hund und Katze oder Katze und Maus alleine lassen Prolog kann dazu alle Lösungen berechnen zeigt Vorteil logischer (allgemeiner: deklarativer) Programmierung: Programmierer formuliert Anforderungen an Lösung, Interpreter berechnet Lösung 383