Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Ähnliche Dokumente
Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Resolution (Motivation) Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Resolution (Idee) Resolution (Idee)

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Geschichte der Logik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Syllogismen (I) Syllogismen (II)

Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen

Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen

Vorlesung Logik Wintersemester 2018/19 Universität Duisburg-Essen

Vorlesung Logik Wintersemester 2014/15 Universität Duisburg-Essen

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

/26

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen. Wer sind wir? Wer sind wir? Das heutige Programm:

Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen. Wer sind wir? Wer sind wir? Das heutige Programm:

Sudoku. Warum 6? Warum 6?

Vorlesung Logik Wintersemester 2018/19 Universität Duisburg-Essen. Wer sind wir? Wer sind wir? Das heutige Programm:

Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen. Wer sind wir? Barbara König Übungsleitung: Dennis Nolte, Dr.

Resolution (Idee) Aus der Herleitung der leeren Disjunktion (= leere Klausel) folgt Unerfüllbarkeit.

Vorlesung Logik Sommersemester 2011 Universität Duisburg-Essen. Wer sind wir? Barbara König Übungsleitung: Christoph Blume. Das heutige Programm:

Theoretische Informatik: Logik

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015

Logik. Markus Lohrey. Wintersemester 2012/2013. Universität Leipzig. Markus Lohrey (Universität Leipzig) Logik Wintersem.

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik. Markus Lohrey. Sommersemester Universität Siegen. Markus Lohrey (Universität Siegen) Logik Sommersem / 299

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Resolutionsalgorithmus

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

Logik Vorlesung 5: Grundlagen Resolution

Logische Äquivalenz. Definition Beispiel 2.23

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Ersetzbarkeitstheorem

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17. Wer sind wir? Willkommen zu

Logik für Informatiker

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

Logik für Informatiker

1 Aussagenlogik AL: Verknüpfung von Aussagen

Vorlesung Automaten und Formale Sprachen Sommersemester 2018

Logik Vorlesung 3: Äquivalenz und Normalformen

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2013/14

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12

Grundlagen der Logik

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation

Motivation. Formale Grundlagen der Informatik 1 Kapitel 16. Resolution. Motivation. Beispiel

Beispiel Aussagenlogik nach Schöning: Logik...

Übung 15. Zeige, dass man jede Formel äquivalent in eine neue Formel umwandeln kann, die nur die Operatoren und! verwendet.

Logik für Informatiker

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Deduktion in der Aussagenlogik

Logik für Informatiker

Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Frank Heitmann 2/42. 1 Etwas aus der realen Welt in der Logik abstrakt ausdrücken. 2 In der Logik Schlüsse ziehen.

Aussagenlogik: Syntax von Aussagen

Vorsemesterkurs Informatik

Syntax der Aussagenlogik

FORMALE SYSTEME. 23. Vorlesung: Logisches Schließen. TU Dresden, 16. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Vorsemesterkurs Informatik

Logik für Informatiker Logic for computer scientists

Klauselmengen. Definition Sei

23. Vorlesung: Logisches Schließen Markus Kr otzsch Professur f ur Wissensbasierte Systeme Normalformen

Aufgabe 13 (Markierungsalgorithmus). Gegeben ist die Formel F = (A D C) (E A) ( ( B D) E) A B (B D)

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir?

Einführung in die Logik (Vorkurs)

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12

Vorlesung Logik SoSe 2014

Logik für Informatiker

3. Grundlegende Begriffe von Logiken - Aussagenlogik

b= NaN

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

1.1 Grundbegriffe. Logik und Diskrete Strukturen (Sommer 2018) Prof. Dr. Ulrich Hertrampf

Logik für Informatiker

Was bisher geschah: klassische Aussagenlogik

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Vorsemesterkurs Informatik

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

Der Hilbert-Kalkül für die Aussagenlogik (Notizen zur Vorlesung Logik im Wintersemester 2003/04 an der Universität Stuttgart)

Logik für Informatiker

Logic in a Nutshell. Christian Liguda

FORMALE SYSTEME. 10. Januar Aussagenlogik. Logische Schlussfolgerung. Happy 80th Birthday, Don Knuth!

1.1 Motivation. Theorie der Informatik. Theorie der Informatik. 1.1 Motivation. 1.2 Syntax. 1.3 Semantik. 1.4 Formeleigenschaften. 1.

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Transkript:

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Barbara König Logik 1

Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und der Übungen Prüfung & Klausur Literatur & Folien Einführung und Motivation: Logik in der Informatik Inhalt der Vorlesung Grundbegriffe der Aussagenlogik Barbara König Logik 2

Wer sind wir? Dozentin: Prof. Barbara König Raum LF 264 E-Mail: barbara koenig@uni-due.de Sprechstunde: nach Vereinbarung Web-Seite: www.ti.inf.uni-due.de/teaching/ws201718/logik/ Barbara König Logik 3

Wer sind wir? Übungsleitung: Dennis Nolte Raum LF 263 E-Mail: dennis.nolte@uni-due.de Übungsleitung: Dr. Harsh Beohar Raum LF 265 E-Mail: harsh.beohar@uni-due.de Barbara König Logik 4

Vorlesungstermine Vorlesungstermin: Mittwoch, 8:30 10:00 Uhr, im Raum LB 107 Barbara König Logik 5

Termine der Übungsgruppen/Tutorien Übungsgruppen (zur Besprechung der Übungsblätter): Gruppe Tag Uhrzeit Raum 1 Mittwoch 16:00 18:00 LE 105 2 Donnerstag 10:00 12:00 LE 120 3 Donnerstag 10:00 12:00 LD 102 4 (E) Donnerstag 12:00 14:00 LE 120 5 Donnerstag 12:00 14:00 LK 051 6 Freitag 12:00 14:00 LE 120 E: Gruppe wird auf Englisch gehalten Barbara König Logik 6

Hinweise zu den Übungen Die Übungen und Tutorien beginnen in der dritten Vorlesungswoche am Mittwoch, den 25. Oktober. Bitte versuchen Sie, sich möglichst gleichmäßig auf die Übungen zu verteilen. Besuchen Sie die Übungen! Diesen Stoff kann man nur durch regelmäßiges Üben erlernen. Auswendiglernen hilft nicht besonders viel. Die Übungsblätter werden jeweils am Mittwoch der Vorwoche ins Netz gestellt. Das erste Übungsblatt wird am 18.10. bereitgestellt. Barbara König Logik 7

Hinweise zu den Übungen Abgabe der gelösten Aufgaben bis Mittwoch der folgenden Woche, 16:00 Uhr. Einwurf in den Briefkasten neben dem Raum LF 259 oder Abgabe per Moodle. Bitte geben Sie auf Ihrer Lösung deutlich die Vorlesung, Ihren Namen, Ihre Matrikelnummer und Ihre Gruppennummer an. Elektronische Abgaben sind nur als PDF zulässig! Bitte benennen Sie Dateien nach folgendem Schema (um eine eindeutige Namenswahl zu gewährleisten): <vorname>-<nachname>-<matrnr>-<blattnr>.pdf Es sind keine Gruppenabgaben erlaubt, nur Einzelabgaben. Barbara König Logik 8

Hinweise zu den Übungen Wir verwenden Moodle, um: die Aufgabenblätter zur Verfügung zu stellen, die Hausaufgaben elektronisch (nur PDF!) abzugeben und um Diskussionsforen bereitzustellen. Moodle-Plattform an der Universität Duisburg-Essen: http://moodle.uni-due.de/ (siehe auch Link auf der Webseite) Bitte legen Sie dort einen Zugang an (falls noch nicht vorhanden) und tragen Sie sich in den Kurs Logik (WS 2017/18) (Ingenieurwissenschaften) ein. Bitte mit Uni-Kennung anmelden! Zugangsschlüssel:... Barbara König Logik 9

Prüfung Die Klausur findet statt am Montag, 19. Februar 2018, 8:30-10:30 Uhr Räume: LX 1205, LF 035 Anmeldung über das Prüfungsamt Wenn Sie 50% der Übungspunkte erzielt haben, so erhalten Sie einen Bonus für die Klausur. Auswirkung: Verbesserung um eine Notenstufe; z.b. von 2,3 auf 2,0 Bonuspunkte aus dem WS 2016/17 (oder früher) gelten nicht mehr! Barbara König Logik 10

Literatur Die Vorlesung basiert im Wesentlichen auf folgendem Buch: Uwe Schöning: Logik für Informatiker. Spektrum, 2000. Weitere relevante Bücher: Jon Barwise, John Etchemendy: Language, Proof, and Logic. Seven Bridges Press, 2000. Auf Deutsch: Sprache, Beweis und Logik, Band I Aussagenund. mentis, 2005. Kreuzer, Kühling: Logik für Informatiker, Pearson, 2006. Barbara König Logik 11

Literatur Einführende/unterhaltsame Literatur: Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, 1999. Auf Deutsch: Gödel, Escher, Bach: Ein Endloses Geflochtenes Band. dtv, 1991. Barbara König Logik 12

Folien Folien werden im Web bereitgestellt, regelmäßig aktualisiert, im Wesentlichen den Folien des letzten Semesters (WS 16/17) entsprechen Ein eigenes Skript gibt es neben dem Buch von Schöning nicht. Barbara König Logik 13

Geschichte der Logik Beginn in Griechenland: Aristoteles (384 322 v.chr.) untersucht das Wesen der Argumentation und des logischen Schließens Verschiedene Werke, u.a.: Analytica priora, Analytica posteriora Seither: Weiterentwicklung der Logik, Formalisierung, Verwendung in der Mathematik und Informatik Barbara König Logik 14

Syllogismen (I) Aristoteles entwickelte den Begriff des Syllogismus: A syllogism is discourse in which, certain things being stated, something other than what is stated follows of necessity from their being so. I mean by the last phrase that they produce the consequence, and by this, that no further term is required from without in order to make the consequence necessary. Wenn alle Menschen sterblich sind und Sokrates ein Mensch ist, dann ist Sokrates sterblich. Barbara König Logik 15

Syllogismen (II) Alle Dackel sind Hunde Alle Hunde sind Tiere Dann sind alle Dackel Tiere Keine Blume ist ein Tier Alle Hunde sind Tiere Dann ist keine Blume ein Hund Alle Delfine leben im Meer Alle Delfine sind Säugetiere Dann leben einige Säugetiere im Meer Alle P sind M Alle M sind S Alle P sind S Kein P ist M Alle S sind M Kein P ist S Alle M sind P Alle M sind S Einige S sind P (Barbara) (Cesare) (Darapti) Barbara König Logik 16

Verschiedene Logiken Es gibt viele verschiedene Logiken: Aussagenlogik (1. Stufe) höherer Stufe Modale und temporale Logiken Intuitionistische Logik... Wir beschäftigen uns in dieser Vorlesung nur mit Aussagenlogik und 1. Stufe. Barbara König Logik 17

Aussagenlogik (I) George Boole (1848) Verknüpfung von Aussagen, die entweder wahr oder falsch sein können, mit einfachen Operatoren (und; oder; nicht; wenn..., dann... ) Beispiel: Aussagen: Es regnet, Die Straße ist nass Verknüpfungen: Es regnet und die Straße ist nass. Wenn es regnet, dann ist die Straße nass. Wenn die Straße nicht nass ist, dann regnet es nicht. Barbara König Logik 18

Aussagenlogik (II) Der Stoff im Bereich Aussagenlogik umfasst unter anderem: Syntax der Aussagenlogik: Was sind Operatoren? Was ist eine Formel? Welche Formeln sind syntaktisch korrekt? Semantik der Aussagenlogik: Was ist die Bedeutung einer Formel? Welche Formeln sind allgemeingültig, d.h. immer wahr? Welche Formeln sind unerfüllbar, d.h. immer falsch? Verfahren und Methoden, die überprüfen, ob eine Formel allgemeingültig oder unerfüllbar ist Barbara König Logik 19

Frege, Peano, Russell (Ende des 19. Jahrhunderts) Mit der kann man zusätzlich Beziehungen zwischen Objekten beschreiben existentielle Aussagen treffen: es gibt ein x, so dass... universelle Aussagen treffen: für jedes x gilt, dass... Beispiel: Für jede natürliche Zahl x gilt, dass es eine natürliche Zahl y gibt, so dass x kleiner als y ist. Barbara König Logik 20

Anwendungen in der Informatik (I) Modellierung und Spezifikation: Eindeutige Beschreibung von komplexen Systemen Verifikation: Beweisen, dass ein Programm das gewünschte Verhalten zeigt Schaltkreisentwurf: Schaltkreise lassen sich als logische Formeln darstellen Entwurf und Optimierung von Schaltungen Datenbanken: Formulierung von Anfragen an Datenbanken Abfragesprache SQL (Structured query language) Künstliche Intelligenz: Schlussfolgerungen automatisieren, insbesondere in Expertensystemen Barbara König Logik 21

Anwendungen in der Informatik (II) Theorembeweiser: Der Computer beweist mathematische Sätze automatischer Beweis von wichtigen Sätzen im Bereich der Booleschen Algebren Kombinatorische Optimierung (SAT-Solver) Logische Programmiersprachen: Prolog Außerdem: Logik ist ein Paradebeispiel für Syntax und formale Semantik Ein Zitat von Edsger W. Dijkstra: Informatik = VLSAL (Very large scale application of logics) (In Anspielung auf VLSI = Very large scale integration, ein Begriff aus dem Chipdesign) Barbara König Logik 22

Formale Syntax und Semantik Auch wenn die Beispiele bisher mit natürlicher Sprache beschrieben wurden, werden wir in der Vorlesung meist auf natürliche Sprache verzichten. Beispiele: Natürliche Sprache Formalisierung Es regnet und die Straße ist nass. R N Wenn es regnet, dann ist die Straße nass. R N Für jede natürliche Zahl x gilt, x y(x < y) dass es eine natürliche Zahl y gibt, so dass x kleiner als y ist. Frage: Warum nicht natürliche Sprache? Barbara König Logik 23

Probleme mit natürlicher Sprache (I) Problem: Zuordnung von Wahrheitswerten zu natürlichsprachigen Aussagen ist problematisch. Beispiele: Jede gerade Zahl größer als 4 ist die Summe zweier Primzahlen. (Goldbach sche Vermutung, unbewiesen) Dieser Satz hat zwei Vehler. Barbara König Logik 24

Probleme mit natürlicher Sprache (II) Problem: Natürliche Sprache ist oft schwer verständlich. Beispiel: Auszug aus der Analytica Priora von Aristoteles Die Aussage: If the middle term is related universally to one of the extremes, a particular negative syllogism must result whenever the middle term is related universally to the major whether positively or negatively, and particularly to the minor and in a manner opposite to that of the universal statement. Der Beweis: For if M belongs to no N, but to some O, it is necessary that N does not belong to some O. For since the negative statement is convertible, N will belong to no M: but M was admitted to belong to some O: therefore N will not belong to some O: for the result is reached by means of the first figure. Again if M belongs to all N, but not to some O, it is necessary that N does not belong to some O: for if N belongs to all O, and M is predicated also of all N, M must belong to all O: but we assumed that M does not belong to some O. And if M belongs to all N but not to all O, we shall conclude that N does not belong to all O: the proof is the same as the above. But if M is predicated of all O, but not of all N, there will be no syllogism. Barbara König Logik 25

Probleme mit natürlicher Sprache (III) Problem: Natürliche Sprache ist mehrdeutig. Beispiel: Ich sah den Mann auf dem Berg mit dem Fernrohr. Barbara König Logik 26

Ich sah den Mann... Aussagenlogik (((Ich sah den Mann) auf dem Berg) mit dem Fernrohr) Barbara König Logik 27

Ich sah den Mann... Aussagenlogik ((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr) Barbara König Logik 28

Ich sah den Mann... Aussagenlogik ((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)) Barbara König Logik 29

Ich sah den Mann... Aussagenlogik (Ich sah ((den Mann auf dem Berg) mit dem Fernrohr)) Barbara König Logik 30

Ich sah den Mann... Aussagenlogik (Ich sah (den Mann (auf dem Berg mit dem Fernrohr))) Barbara König Logik 31

Ich sah den Mann... Aussagenlogik (((Ich sah den Mann) auf dem Berg) mit dem Fernrohr) ((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr) ((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)) 5 mögliche Interpretationen! (Ich sah ((den Mann auf dem Berg) mit dem Fernrohr)) (Ich sah (den Mann (auf dem Berg mit dem Fernrohr))) Barbara König Logik 32

Inhalt der Vorlesung Aussagenlogik: Grundbegriffe, Normalformen und Äquivalenz Resolution : Grundbegriffe, Normalformen und Äquivalenz Herbrand-Theorie Resolution Grundlagen der Logikprogrammierung Barbara König Logik 33

Logik-Tools Aussagenlogik: SAT-Solver: Überprüfen der Erfüllbarkeit von aussagenlogischen Formeln limboole (http://fmv.jku.at/limboole/) : Anschauliche Lehrsoftware für die Tarski s World Theorembeweiser für die 1. Stufe (basierend auf Resolution) otter (http://www.cs.unm.edu/~mccune/otter/) Barbara König Logik 34

Resolution Mengen, Relationen und Funktionen Menge: Menge X von Elementen, wird beschrieben als Aufzählung X = {A 1, A 2, A 3, A 7 } oder als Menge von Elementen mit einer bestimmten Eigenschaft X = {A i i N, 1 i 3 oder i = 7}. Barbara König Logik 35

Resolution Mengen, Relationen und Funktionen Bemerkungen: Die Elemente einer Menge sind ungeordnet, d.h., ihre Ordnung spielt keine Rolle. Beispielsweise gilt: {1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1} Ein Element kann nicht mehrfach in einer Menge auftreten. Es ist entweder in der Menge, oder es ist nicht in der Menge. Beispielsweise gilt: {1, 2, 3} {1, 2, 3, 4} = {1, 2, 3, 4, 4} Barbara König Logik 36

Resolution Mengen, Relationen und Funktionen Element einer Menge: Wir schreiben x X, falls ein Element x in der Menge X enthalten ist. Teilmengenbeziehung: Für zwei Mengen X, Y schreiben wir X Y, falls jedes Element von X auch in Y enthalten ist. Die Relation heißt auch Inklusion. Leere Menge: Mit oder {} bezeichnet man die leere Menge. Sie enthält keine Elemente und ist Teilmenge jeder anderen Menge. Barbara König Logik 37

Resolution Mengen, Relationen und Funktionen Kreuzprodukt (kartesisches Produkt) Seien X, Y zwei Mengen. Die Menge X Y ist die Menge aller Paare (x, y), wobei die erste Komponente des Paars aus X, die zweite aus Y kommt. X Y = {(x, y) x X, y Y } Beispiel: {1, 2} {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)} Barbara König Logik 38

Resolution Mengen, Relationen und Funktionen Relation zwischen der Menge X und der Menge Y Eine Teilmenge R X Y des Kreuzprodukts von X und Y heißt Relation zwischen X und Y. Beispiel: X = {1, 2, 3} Y = {a, b, c, d} R = {(1, a), (1, b), (2, b), (3, d)} X Y Barbara König Logik 39

Resolution Mengen, Relationen und Funktionen Funktion von der Menge X in die Menge Y Eine Relation f X Y heißt Funktion, wenn folgendes gilt: für jedes Element x X gibt es genau ein Element y Y mit (x, y) f. Anschaulich: jedem Element der Menge X wird genau ein Element der Menge Y zugeordnet. Barbara König Logik 40

Resolution Mengen, Relationen und Funktionen Notation von Funktionen f : X Y x f (x) Die Funktion f bildet ein Element x X auf ein Element f (x) Y ab. Dabei ist X der Definitionsbereich und Y der Wertebereich von f. Beispiel: f : {A 1, A 2, A 3, A 7 } {0, 1} A 1 0, A 2 1, A 3 0, A 7 1 alternativ: f (A 1 ) = 0, f (A 2 ) = 1, f (A 3 ) = 0, f (A 7 ) = 1 Barbara König Logik 41

Resolution Syntax der Aussagenlogik Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel) Formeln werden durch folgenden induktiven Prozess definiert: 1 Alle atomaren Formeln sind Formeln 2 Für alle Formeln F und G sind (F G) und (F G) Formeln. 3 Für jede Formel F ist F eine Formel. Sprechweise: (F G): F und G, Konjunktion von F und G (F G): F oder G, Disjunktion von F und G F : nicht F, Negation von F Barbara König Logik 42

Resolution Formel als Syntaxbaum Jede Formel kann auch durch einen Syntaxbaum dargestellt werden. Beispiel: F = (( A 4 A 1 ) A 3 ) A 3 A 1 A 4 Barbara König Logik 43

Resolution Teilformel Die Teilformeln einer Formel F entsprechen den Teilbäumen. A3 A3 A3 A 4 A1 A 1 A1 A 3 A1 A4 A4 A4 A 4 A3 A1 ( A 4 A 1 ) A1 A3 A4 A4 (( A 4 A 1 ) A 3 ) A3 A1 (( A 4 A 1 ) A 3 ) A1 A3 A4 A4 Barbara König Logik 44

Resolution Semantik der Aussagenlogik (I) Die Elemente der Menge {0, 1} heißen Wahrheitswerte. Eine Belegung ist eine Funktion A: D {0, 1}, wobei D eine Teilmenge der atomaren Formeln ist. Wir erweitern A zu einer Funktion Â: E {0, 1}, wobei E D die Menge aller Formeln ist, die nur aus den atomaren Formeln in D aufgebaut sind. Barbara König Logik 45

Resolution Semantik der Aussagenlogik (II) Â(A) = A(A) falls A D eine atomare Formel ist { 1 falls Â(F ) = 1 und Â(G) = 1 Â((F G)) = 0 sonst { 1 falls Â(F ) = 1 oder Â(G) = 1 Â((F G)) = 0 sonst { 1 falls Â(F ) = 0 Â(( F )) = 0 sonst Wir schreiben A statt Â. Barbara König Logik 46

Resolution Verknüpfungstafeln (I) Berechnung von  mit Hilfe von Verknüpfungstafeln, auch Wahrheitstafeln genannt. Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den den in F vorkommenden atomaren Formeln definiert ist. Tafeln für die Operatoren,, : A B A B 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1 A B A B 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 1 1 A A 0 1 0 1 0 1 Barbara König Logik 47

Resolution Abkürzungen A, B, C oder P, Q, R oder... statt A 1, A 2, A 3... (F 1 F 2 ) statt ( F 1 F 2 ) (F 1 F 2 ) statt ((F 1 F 2 ) ( F 1 F 2 )) n ( F i ) statt (... ((F 1 F 2 ) F 3 )... F n ) ( i=1 n F i ) statt (... ((F 1 F 2 ) F 3 )... F n ) i=1 Barbara König Logik 48

Resolution Verknüpfungstafeln (II) Tafeln für die Operatoren, : A B A B 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1 Name: Implikation, Folgerung A B A B 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 1 1 Name: Äquivalenz, Biimplikation Interpretation: Wenn A gilt, dann muss auch B gelten. Interpretation: A gilt genau dann, wenn B gilt. Barbara König Logik 49

Resolution Präzedenzen Präzedenz der Operatoren: Die Formel wird also wie folgt gelesen: bindet am schwächsten......... bindet am stärksten A B C D E (A ((B C) (D E))) Dennoch: Zusätzliche Klammern schaden im allgemeinen nicht Barbara König Logik 50

Resolution Formalisierung natürlicher Sprache (I) Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem roten Licht. Folgendes ist bekannt: Bauteil A oder Bauteil B (oder beide) sind kaputt. Wenn Bauteil A kaputt ist, dann ist auch Bauteil B kaputt. Wenn Bauteil B kaputt ist und das rote Licht leuchtet, dann ist Bauteil A nicht kaputt. Das rote Licht leuchtet. Formalisieren Sie diese Situation als aussagenlogische Formel und stellen Sie die Wahrheitstafel zu dieser Formel auf. Verwenden Sie dazu folgende atomare Formeln: RL (rotes Licht leuchtet), AK (Bauteil A kaputt), BK (Bauteil B kaputt) Barbara König Logik 51

Resolution Formalisierung natürlicher Sprache (II) Gesamte Wahrheitstafel: (((AK BK) (AK BK)) RL AK BK ((BK RL) AK)) RL 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 Barbara König Logik 52

Resolution Modelle Sei F eine Formel und A eine Belegung. Falls A für alle in F vorkommenden atomaren Formeln definiert ist, so heißt A zu F passend. Sei A passend zu F : Falls A(F ) = 1 so schreiben wir A = F und sagen F gilt unter A oder A ist ein Modell für F Falls A(F ) = 0 so schreiben wir A = F und sagen F gilt nicht unter A oder A ist kein Modell für F Barbara König Logik 53

Resolution Gültigkeit und Erfüllbarkeit Definition (Erfüllbarkeit) Eine Formel F heißt erfüllbar, falls F mindestens ein Modell besitzt, andernfalls heißt F unerfüllbar. Eine (endliche oder unendliche!) Menge von Formeln M heißt erfüllbar, falls es eine Belegung gibt, die für jede Formel in M ein Modell ist. (In diesem Fall sagt man auch, die Belegung ist ein Modell für die Menge M.) Definition (Gültigkeit) Eine Formel F heißt gültig (oder allgemeingültig oder Tautologie) falls jede zu F passende Belegung ein Modell für F ist. Wir schreiben = F, falls F gültig ist, und = F sonst. Barbara König Logik 54

Resolution Aufgabe A A B A A A A A A A B A (B A) A (A B) A A Gültig Erfüllbar Unerfüllbar Barbara König Logik 55

Resolution Aufgabe Gelten die folgenden Aussagen? Wenn F gültig, dann F erfüllbar Wenn F erfüllbar, dann F unerfüllbar Wenn F gültig, dann F unerfüllbar Wenn F unerfüllbar, dann F gültig J/N Gegenb. Barbara König Logik 56

Resolution Spiegelungsprinzip gültige Formeln erfüllbare, aber nicht gültige Formeln unerfüllbare Formeln G F F G Barbara König Logik 57

Resolution Ein Gültigkeitstest Wie kann man überprüfen, ob eine Formel F gültig (erfüllbar, unerfüllbar) ist? Eine Möglichkeit: Wahrheitstafel aufstellen Angenommen, die Formel F enthält n verschiedene atomare Formeln. Wie groß ist die Wahrheitstafel? Anzahl Zeilen in der Wahrheitstafel: 2 n Geht es auch effizienter? Diese Frage wird im Laufe der Vorlesung beantwortet. Barbara König Logik 58

Resolution Folgerung Definition (Folgerung) Eine Formel G heißt eine Folgerung der Formeln F 1,..., F k falls für jede Belegung A, die sowohl zu F 1,..., F k als auch zu G passend ist, gilt: Wenn A Modell von {F 1,..., F k } ist, dann ist A auch Modell von G. Wir schreiben F 1,..., F k = G, falls G eine Folgerung von F 1,..., F k ist. Barbara König Logik 59

Resolution Folgerung: Beispiel (AK BK), (AK BK), ((BK RL) AK), RL = RL AK BK Wenn Bauteil A oder Bauteil B kaputt ist und daraus, dass Bauteil A kaputt ist, immer folgt, dass Bauteil B kaputt ist und...... dann kann man die Folgerung ziehen: das rote Licht leuchtet, Bauteil A ist nicht kaputt und Bauteil B ist kaputt. Barbara König Logik 60

Resolution Aufgabe M F Gilt M = F? A (A B) A (A B) A, B (A B) A, B (A B) (A B) A (A B) A A, (A B) B Barbara König Logik 61

Resolution Folgerung, Gültigkeit und Unerfüllbarkeit Zeigen Sie, dass folgende Aussagen äquivalent sind: 1 F 1,..., F k = G, d.h., G ist eine Folgerung von F 1,..., F k. 2 (( k i=1 F i) G) ist gültig. 3 (( k i=1 F i) G) ist unerfüllbar. Barbara König Logik 62

Resolution Äquivalenz (Semantische) Äquivalenz Zwei Formeln F und G heißen (semantisch) äquivalent, falls für alle Belegungen A, die sowohl für F als auch für G passend sind, A(F ) = A(G) gilt. Hierfür schreiben wir F G. Barbara König Logik 63

Resolution Aufgabe Gelten die folgenden Äquivalenzen? (A (A B)) A (A B) ( A B) (A (B C)) ((A B) C) (A (B C)) ((A B) (A C)) Barbara König Logik 64

Resolution Die Hauptprobleme Modellprüfung Sei F eine Formel und sei A eine passende Belegung. Gilt A(F ) = 1? Erfüllbarkeit Sei F eine Formel. Ist F erfüllbar? Gültigkeit Sei F eine Formel. Ist F gültig? Folgerung Seien F und G Formeln. Gilt F = G? Äquivalenz Seien F und G Formeln. Gilt F G? Barbara König Logik 65

Resolution Reduktion von Problemen (I) Welche Probleme lassen sich auf welche reduzieren? Gültigkeit (Nicht)Erfüllbarkeit: F gültig gdw. F nicht erfüllbar F erfüllbar gdw. F nicht gültig Gültigkeit = Folgerung: F gültig gdw. T = F (T ist beliebige gültige Formel) Folgerung = Gültigkeit: F = G gdw. F G gültig Barbara König Logik 66

Resolution Reduktion von Problemen (II) Unerfüllbarkeit = Folgerung: F unerfüllbar gdw. F = U (U ist beliebige unerfüllbare Formel) Folgerung = Unerfüllbarkeit: F = G gdw. F G unerfüllbar Barbara König Logik 67

Resolution Reduktion von Problemen (III) Gültigkeit = Äquivalenz: F gültig gdw. F T (T ist beliebige gültige Formel) Äquivalenz = Gültigkeit: F G gdw. F G gültig Bemerkung: Eine gültige Formel bezeichnet man manchmal auch mit 1, eine unerfüllbare Formel mit 0. Barbara König Logik 68

Resolution Eigenschaften der Äquivalenz Wir betrachten nun wieder die Äquivalenz auf Formeln. Sie hat folgende Eigenschaften: reflexiv: Es gilt F F für jede Formel F (jede Formel ist zu sich selbst äquivalent) symmetrisch: Falls F G gilt, so gilt auch G F transitiv: Falls F G und G H gilt, so gilt auch F H abgeschlossen unter Operatoren: Falls F 1 F 2 und G 1 G 2 gilt, so gilt auch (F 1 G 1 ) (F 2 G 2 ), (F 1 G 1 ) (F 2 G 2 ) und F 1 F 2. Reflexive, symmetrische, transitive Relation Äquivalenzrelation Äquivalenzrelation + Abgeschlossenheit unter Operatoren Kongruenzrelation Barbara König Logik 69

Resolution Ersetzbarkeitstheorem Die Abgeschlossenheit unter Operatoren lässt sich auch folgendermaßen formulieren: Satz (Ersetzbarkeitstheorem) Seien F und G äquivalente Formeln (F G). Sei H eine Formel mit (mindestens) einem Vorkommen der Teilformel F. Dann ist H äquivalent zu H (d.h. H H ), wobei H aus H hervorgeht, indem (irgend)ein Vorkommen von F in H durch G ersetzt wird. Barbara König Logik 70

Resolution Äquivalenzen (I) Satz Es gelten die folgenden Äquivalenzen: (F F ) F (F F ) F (Idempotenz) (F G) (G F ) (F G) (G F ) (Kommutativität) ((F G) H) (F (G H)) ((F G) H) (F (G H)) (Assoziativität) (F (F G)) F (F (F G)) F (Absorption) Barbara König Logik 71

Resolution Äquivalenzen (II) (F (G H)) ((F G) (F H)) (F (G H)) ((F G) (F H)) (Distributivität) F F (Doppelnegation) (F G) ( F G) (de Morgansche (F G) ( F G) Regeln) (F G) F, falls F gültig (Tautologie- (F G) G, falls F gültig regeln) (F G) G, falls F unerfüllbar (Unerfüllbarkeits- (F G) F, falls F unerfüllbar regeln) Barbara König Logik 72

Resolution Äquivalenzen Die Tautologie- und Unerfüllbarkeitsregeln können auch folgendermaßen geschrieben werden: (1 G) 1 (1 G) G (Tautologieregeln) (0 G) G (0 G) 0 (Unerfüllbarkeitsregeln) Daraus folgt unter anderem, dass 1 (= gültige Formel) das neutrale Element der Konjunktion und 0 (= unerfüllbare Formel) das neutrale Element der Disjunktion ist. Barbara König Logik 73

Resolution Normalformen (I) Definition (Normalformen) Ein Literal ist eine atomare Formel oder die Negation einer atomaren Formel. (Im ersten Fall sprechen wir von einem positiven, im zweiten Fall von einem negativen Literal). Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion von Disjunktionen von Literalen ist: F = ( n ( m i i=1 j=1 L i,j )), wobei L i,j {A 1, A 2, } { A 1, A 2, } Eine Disjunktion von Literalen nennt man auch Klausel. Eine Formel in KNF besteht also aus einer Konjunktion von Klauseln. Barbara König Logik 74

Resolution Normalformen (II) Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion von Konjunktionen von Literalen ist: F = ( n ( m i i=1 j=1 L i,j )), wobei L i,j {A 1, A 2, } { A 1, A 2, } Barbara König Logik 75

Resolution Umformungsmethode (in KNF) Gegeben: eine Formel F, die in eine äquivalente Formel in KNF umgeformt wird. 1 Ersetze in F jedes Vorkommen einer Teilformel der Bauart G durch G (G H) durch ( G H) (G H) durch ( G H) bis keine derartige Teilformel mehr vorkommt. 2 Ersetze jedes Vorkommen einer Teilformel der Bauart (F (G H)) durch ((F G) (F H)) ((F G) H) durch ((F H) (G H)) bis keine derartige Teilformel mehr vorkommt. Barbara König Logik 76

Resolution Umformungsmethode (in KNF) Aufwand der Umformungsmethode Bei der Umwandlung einer Formel in KNF kann die Formel exponentiell größer werden. Beispiel: F = (A 1 B 1 ) (A 2 B 2 ) (A n B n ) (bestehend aus n Konjunktionen). Bei Umwandlung in KNF ergeben sich durch das Distributivgesetz 2 n Disjunktionen, da jede Kombination von Literalen (eines aus jeder Konjunktion) eine neue Disjunktion ergibt. F (A 1 A 2 A n ) (B 1 A 2 A n ) (A 1 B 2 A n )... Barbara König Logik 77

Resolution Mengendarstellung in KNF Klausel: Menge von Literalen (Disjunktion). {A, B} stellt (A B) dar. Formel in KNF: Menge von Klauseln (Konjunktion). {{A, B}, { A, B}} stellt ((A B) ( A B)) dar. Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel (0). Die leere Formel ist äquivalent zu einer gültigen Formel (1). Barbara König Logik 78

Resolution Ablesen von DNF und KNF aus Wahrheitstafel A B C F 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 DNF: Aus jeder Zeile mit Wahrheitswert 1 wird eine Konjunktion, aus einer 0 in der Spalte A wird A, aus einer 1 wird A ( A B C) (A B C) (A B C) KNF: Aus jeder Zeile mit Wahrheitswert 0 wird eine Disjunktion, aus einer 0 in der Spalte A wird A, aus einer 1 wird A (A B C) (A B C) (A B C) ( A B C) ( A B C) Barbara König Logik 79

Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest. Erfüllbarkeitstest für Formeln in DNF Eine Formel in disjunktiver Normalform ist erfüllbar, genau dann wenn sie eine Konjunktion (L 1 L n ) enthält, in der jedes Literal entweder nur positiv oder nur negativ vorkommt. Das heißt, es gibt keine atomare Formel A, die sowohl als A als auch als A in dieser Konjunktion vorkommt. Beispiele: (A B C) ( A B) (B B) ist erfüllbar, beispielsweise mit der Belegung A(A) = 1, A(B) = 1, A(C) = 0. (A B A) ( A B A B C) (B B) ist nicht erfüllbar (= unerfüllbar). Barbara König Logik 80

Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Für Formeln in KNF gibt es einen einfachen Gültigkeitstest. Gültigkeitstest für Formeln in KNF Eine Formel in konjunktiver Normalform ist gültig, genau dann wenn es in jeder vorkommenden Disjunktion (L 1 L n ) ein Literal gibt, das sowohl positiv als auch negativ vorkommt. Das heißt, es gibt in jeder Disjunktion eine atomare Formel A, die sowohl als A als auch als A vorkommt. Beispiele: (A B C) ( A B) (B B) ist nicht gültig, beispielsweise erhält man 0 bei Auswertung unter der Belegung A(A) = 0, A(B) = 0, A(C) = 1. (A B A) ( A B A B C) (B B) ist gültig. Barbara König Logik 81

Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Aufwand der Tests: Diese einfachen Erfüllbarkeits- bzw. Gültigkeitstests können durchgeführt werden, indem man einmal die Formel durchläuft. Das heißt, man benötigt nur lineare Zeit. Trotzdem erhält man dadurch keinen einfachen Erfüllbarkeitstest für Formeln in KNF und keinen einfachen Gültigkeitstest für Formeln in DNF. Dazu müsste man eine Formel in KNF erst in DNF umwandeln (oder umgekehrt), was exponentielle Zeit in Anspruch nehmen kann. Barbara König Logik 82

Resolution Erfüllbarkeits-/Gültigkeitstests für DNF/KNF Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer Formel in KNF) zu bestimmen ist auch als SAT-Problem (Satisfiability-Problem) bekannt. SAT ist NP-vollständig ( Berechenbarkeit und Komplexität ), was bedeutet, dass es (zur Zeit) keinen bekannten Polynomzeit-Algorithmus für dieses Problem gibt. Ob ein solcher Polynomzeit-Algorithmus existiert, ist ein offenes Problem. Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr effizient sind (z.b. limboole und das im folgenden besprochene Resolutionsverfahren). Barbara König Logik 83

Resolution Gültigkeits- und Erfüllbarkeitstests mit limboole limboole fmv.jku.at/limboole/ limboole ist ein Tool, mit dem Gültigkeits- und Erfüllbarkeitstests für aussagenlogische Formeln durchgeführt werden können. Dieses Tool basiert auf einer Kombination des Davis-Putnam-Verfahrens zusammen mit Boolean Constraint Propagation. (Genau dieses Verfahren wird in der Vorlesung nicht vorgestellt, jedoch andere mögliche Verfahren.) Es gibt noch zahlreiche andere Tools dieser Art, die normalerweise als SAT-Solver bezeichnet werden. Anders als andere Werkzeuge konvertiert limboole selbst die Eingabe in (konjunktive) Normalform. Barbara König Logik 84

Resolution Gültigkeits- und Erfüllbarkeitstests mit limboole Eingabeformat für limboole Aussagenlogik limboole <-> -> &! limboole kann für eine Formel F sowohl überprüfen, ob sie gültig (valid) oder nicht gültig (invalid) ist als auch ob sie erfüllbar (satisfiable) oder unerfüllbar (unsatisfiable) ist. Bei einer nicht-gültigen Formel F wird eine Belegung A mit A(F ) = 0 ausgegeben, bei einer erfüllbaren Formel eine Belegung A mit A(F ) = 1. Barbara König Logik 85

Resolution Anwendung: Diagnose Um zu zeigen, dass F {}}{ (AK BK), (AK BK), ((BK RL) AK), RL = RL AK BK }{{} G gilt, überprüfen wir, ob F G gültig ist. Diese Formel sieht in limboole-syntax folgendermaßen aus: ((AK BK) & (AK -> BK) & ((BK & RL) ->!AK) & RL) -> (!AK & BK & RL) Barbara König Logik 86

Resolution Anwendung: Vergleich von Schaltkreisen Aufgabe: Gegeben sind zwei Schaltkreise. Überprüfen Sie, ob diese Schaltkreise äquivalent sind, in dem Sinne, dass sie bei gleicher Eingabe die gleichen Ausgaben liefern. Diese Überprüfung soll mit Hilfe von limboole durchgeführt werden und nutzt die Tatsache, dass F G gdw. F G gültig ist. Barbara König Logik 87

Resolution Anwendung: Vergleich von Schaltkreisen Schaltkreis 1: X 1 Y 1 X 2 Nor Y 2 Nor Barbara König Logik 88

Resolution Anwendung: Vergleich von Schaltkreisen Schaltkreis 2: X 1 Y 1 X 2 Y 2 Barbara König Logik 89

Resolution Anwendung: Vergleich von Schaltkreisen Formel S 1 für Schaltkreis 1 (in limboole-syntax) (((X1 & Y1)!(X1 Y1)) & ((X2 & Y2)!(X2 Y2)) Formel S 2 für Schaltkreis 1 (in limboole-syntax) (X1 & Y2 & X2 & Y1) (X2 & Y2 &!X1 &!Y1) (X1 & Y1 &!X2 & Y2) (!X2 &!X1 &!Y1 & Y2) Barbara König Logik 90

Resolution Anwendung: Vergleich von Schaltkreisen Mit Hilfe von limboole lässt sich feststellen, dass die Formel S 1 S 2 nicht gültig ist, das heißt die Schaltkreise sind nicht äquivalent. Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen, auf welchen Eingaben sich die beiden Schaltkreise unterscheiden? Barbara König Logik 91

Resolution Vollständigkeit von Operatormengen Definition (Boolesche Funktionen) Eine Funktion der Form b : {0, 1} n {0, 1} heißt (n-stellige) Boolesche Funktion. Eine Formel F mit atomaren Formeln aus der Menge {A 1,..., A n } beschreibt eine n-stellige Boolesche Funktion b F wie folgt: b F (x 1,..., x n ) = A x1,...,x n (F ), wobei A x1,...,x n die Belegung ist, die A i mit x i {0, 1} belegt. Die n-stelligen Booleschen Funktionen entsprechen genau den Wahrheitstafeln mit n Spalten für atomare Formeln und einer Ergebnisspalte. Barbara König Logik 92

Resolution Vollständigkeit von Operatormengen Daher gibt es genau 2 2n n-stellige Boolesche Funktionen bzw. Wahrheitstafeln mit n atomaren Formeln. Aufgabe: Stellen Sie alle 16 Wahrheitstafeln mit zwei atomaren Formeln auf, d.h., bestimmen Sie alle zweistelligen Booleschen Funktionen. Versuchen Sie, jeder Wahrheitstafel den Operator oder die Formel zuzuordnen, die sie beschreibt. Barbara König Logik 93

Resolution Vollständigkeit von Operatormengen Definition (Vollständigkeit) Eine Menge von Operatoren heißt vollständig, wenn man damit für jede Boolesche Funktion eine entsprechende Formel erstellen kann, die diese Funktion beschreibt. Die Operatormenge {,, } ist vollständig. Begründung: wie vorher beschrieben kann jede beliebige Wahrheitstafel in KNF bzw. DNF umgewandelt werden. Die Operatormenge {, } ist vollständig. Begründung: A B ( A B). Die Operatormenge {, } ist vollständig. Die Operatormenge {, } ist vollständig. Begründung: A B A B. Barbara König Logik 94

Resolution Vollständigkeit von Operatormengen Die Operatormenge {Nand} ist vollständig, wobei der Operator Nand wie folgt definiert ist: A Nand B = (A B). Begründung: A Nand A = (A A) A und (A Nand B) Nand (A Nand B) A B. Die Operatormenge {Nor} ist vollständig, wobei der Operator Nor wie folgt definiert ist: A Nor B = (A B). Barbara König Logik 95

Resolution Vollständigkeit von Operatormengen Die Operatormenge {, } ist nicht vollständig. Begründung: Hausaufgabe Die Operatormenge { } ist nicht vollständig. Begründung: Die Formel A kann nicht dargestellt werden. Falls eine Formel nur aus Operatoren der Form besteht und der Wahrheitswert 1 eingesetzt wird, so erhält man wieder 1. Das ist aber bei A nicht der Fall. Man erhält jedoch Vollständigkeit, wenn man auch die Konstante 0 ( falsch ) zulässt. Dann gilt A 0 A und kann wie oben beschrieben mit Hilfe von und dargestellt werden. Die Operatormenge {, } ist nicht vollständig (ohne Begründung). Barbara König Logik 96

Resolution Endlichkeitssatz Definition (Erfüllbarkeit einer Menge) Wiederholung Eine (möglicherweise unendliche) Menge M von aussagenlogischen Formeln heißt erfüllbar genau dann, wenn es eine Belegung A gibt, die für alle Formeln in M passend ist und für die gilt A(F ) = 1 für alle F M. Endlichkeitssatz (compactness theorem) Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede der endlichen Teilmengen von M erfüllbar ist. Barbara König Logik 97

Resolution Endlichkeitssatz Beweis (Skizze): 1. Schritt: Zerlegung von M in Mengen M 1, M 2, M 3,..., wobei M i genau die Formeln von M enthält, die aus den atomaren Formeln A 1,..., A i bestehen. Es gilt: M 1 M 2 M 3... M = i=1 M i Problem: Jede Menge M i kann unendlich viele Formeln enthalten. (Beispielsweise könnte M 1 die Formeln A 1, A 1, A 1, A 1,... enthalten.) Da es jedoch höchstens 2 2i verschiedene i-stellige Boolesche Funktionen geben kann, kann man diese in endlich viele Äquivalenzklassen zusammenfassen. Barbara König Logik 98

Resolution Endlichkeitssatz 2. Schritt: Wir zeigen nun, dass M erfüllbar ist, wenn jede endliche Teilmenge von M (insbesondere jede Menge M i ) erfüllbar ist. Sei A i ein Modell für M i. Wir konstruieren ein Modell A von M wie folgt: 1 Setze I := {1, 2, 3,... } 2 Stufe n > 0 (Wahrheitswert für A n wird festgelegt) Falls es unendlich viele Indizes i I gibt mit A i (A n ) = 1, dann setze A(A n ) = 1 und entferne aus I alle Indizes j, für die A j (A n ) = 0 gilt. Sonst: setze A(A n ) = 0 und entferne aus I alle Indizes j, für die A j (A n ) = 1 gilt. 3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist. Barbara König Logik 99

Resolution Endlichkeitssatz Bemerkungen zum Endlichkeitssatz: Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es ein Modell A gibt, nicht wie man es erhält. Aussagen der Form es gibt unendlich viele i I mit... können nicht in eine (mechanische) Konstruktion umgewandelt werden. Korollar: Wenn M eine unerfüllbare Menge ist, dann ist bereits eine endliche Teilmenge von M unerfüllbar. Die Bedeutung des Endlichkeitssatzes liegt vor allem in seinen Anwendungsmöglichkeiten im Bereich der (siehe 2. Kapitel der Vorlesung). Barbara König Logik 100

Resolution Resolution (Motivation) Wir benötigen Algorithmen für Erfüllbarkeitstests, die zumindest in vielen Fällen gutartiges Verhalten zeigen. Dennoch ist im schlimmsten Fall (worst case) immer eine exponentielle Laufzeit zu erwarten. Wir betrachten nun Resolution als Erfüllbarkeitstest und untersuchen dann einige Fallstudien mit schlechtem bzw. gutem Laufzeitverhalten. Barbara König Logik 101

Resolution Resolution (Idee) Wir betrachten im folgenden nur Formeln in KNF. Es gilt (für Formeln F, G und eine atomare Formel A): (F A) (G A) = (F G) Aus der Herleitung der leeren Disjunktion bzw. leeren Klausel (= unerfüllbare Formel 0) folgt Unerfüllbarkeit. (Korrektheit) (Siehe auch der Zusammenhang zwischen Folgerung und Unerfüllbarkeit: F unerfüllbar gdw. F = 0.) Zwei Fragen: Kann man aus einer unerfüllbaren Formel immer die leere Klausel herleiten? (Vollständigkeit) Gibt es eine Möglichkeit, die Herleitung kompakter aufzuschreiben? Barbara König Logik 102

Resolution Resolution (Idee) Es gilt: F = G F F G Daraus folgt: (F A) (G A) (F A) (G A) (F G) Das kann so interpretiert werden, dass man zu den bisher existierenden Klauseln (F A), (G A) die Klausel (F G) hinzufügt, ohne die Aussage der Formel zu verändern. Dies macht man so lange, bis man die leere Klausel erhält, oder sich sicher sein kann, dass die leere Klausel nicht auftaucht. Barbara König Logik 103

Resolution Mengendarstellung der KNF Klausel: Menge von Literalen (Disjunktion). {A, B} stellt (A B) dar. Formel: Menge von Klauseln (Konjunktion). {{A, B}, { A, B}} stellt ((A B) ( A B)) dar. Die leere Klausel (= leere Disjunktion) ist äquivalent zu einer unerfüllbaren Formel. Diese wird auch mit bezeichnet. Die leere Formel (= leere Konjunktion) ist äquivalent zu einer gültigen Formel. Barbara König Logik 104

Resolution Vorteile der Mengendarstellung Man erhält automatisch: Kommutativität: (A B) (B A), beide dargestellt durch {A, B} Assoziativität: ((A B) C) (A (B C)), beide dargestellt durch {A, B, C} Idempotenz: (A A) A, beide dargestellt durch {A} Barbara König Logik 105

Resolution Resolvent (I) Definition (Resolvent) Seien K 1, K 2 und R Klauseln. Dann heißt R Resolvent von K 1 und K 2, falls es ein Literal L gibt mit L K 1 und L K 2 und R die Form hat: R = (K 1 {L}) (K 2 {L}). Hierbei ist L definiert als { Ai falls L = A L = i, A i falls L = A i Barbara König Logik 106

Resolution Resolvent (II) Wir stellen diesen Sachverhalt durch folgendes Diagramm dar (Sprechweise: R wird aus K 1, K 2 nach L resolviert). K 1 K 2 R Ferner: falls K 1 = {L} und K 2 = {L}, so entsteht die leere Menge als Resolvent. Diese wird mit dem speziellen Symbol bezeichnet, das eine unerfüllbare Formel darstellt. Barbara König Logik 107

Resolution Resolutions-Lemma Resolutions-Lemma Sei F eine Formel in KNF, dargestellt als Klauselmenge. Ferner sei R ein Resolvent zweier Klauseln K 1 und K 2 in F. Dann sind F und F {R} äquivalent. Beweis: Folgt direkt aus (F 1 A) (F }{{} 2 A) }{{} K 1 (F 1 A) }{{} K 2 K 1 (F 2 A) }{{} (F 1 F 2 ) }{{} K 2 R Barbara König Logik 108

Resolution Definition von Res(F ) Definition Sei F eine Klauselmenge. Dann ist Res(F ) definiert als Res(F ) = F {R R ist Resolvent zweier Klauseln in F }. Außerdem setzen wir: Res 0 (F ) = F Res n+1 (F ) = Res(Res n (F )) für n 0 und schließlich sei Res (F ) = Res n (F ). n 0 Barbara König Logik 109

Resolution Anzahl der Resolventen Angenommen, die Formel F enthält n atomare Formeln. Dann gilt welche Abschätzung für Res (F )? A Res (F ) 2 n B Res (F ) 4 n C Res (F ) kann beliebig groß werden Dabei bezeichnet Res (F ) die Anzahl der Elemente in Res (F ). Es gilt Res (F ) 4 n 4 n ist eine obere Schranke für die Menge aller Klauseln (jede atomare Formel kann auf vier verschieden Arten in einer Klausel vorkommen: gar nicht, nur positiv, nur negativ, positiv und negativ). Barbara König Logik 110

Resolution Anzahl der Resolventen Was passiert, wenn alle Klauseln maximal zweielementig sind? Durch die Resolution von zweielementigen Klauseln können nur wieder maximal zweielementige Klauseln entstehen. (Das ist bei drei- und mehrelementigen Klauseln anders.) Da es bei n verschiedenen atomaren Formeln nur ( ) 2n 2 = 2n(2n 1) 2 viele zweielementige und 2n viele einelementige Klauseln gibt, werden nach spätestens dieser polynomialen Anzahl von Schritten keine neuen Klauseln mehr abgeleitet. Barbara König Logik 111

Resolution Resolutionssatz Wir zeigen nun die Korrektheit und Vollständigkeit der Resolution: Resolutionssatz (der Aussagenlogik) Eine Klauselmenge F ist unerfüllbar genau dann, wenn Res (F ). Diese Aussage beinhaltet zwei Teile: Wenn Res (F ), dann ist F unerfüllbar. (Korrektheit, folgt unmittelbar aus dem Resolutionslemma) Wenn F unerfüllbar ist, dann Res (F ). (Vollständigkeit, muss noch per Induktion bewiesen werden) Barbara König Logik 112

Resolution Induktionsprinzip Um die Aussage Für jedes n {0, 1, 2, 3,...} gilt P(n). zu zeigen, gehen wir im allgemeinen folgendermaßen vor: Wir zeigen, dass P(0) gilt. (Induktionsanfang) Wir zeigen, dass für jedes n gilt: Wenn P(n) gilt, dann gilt auch P(n + 1). (Induktionsschritt) Dann kann man schließen, dass P(n) für jedes beliebige n gilt. Barbara König Logik 113

Resolution Beweisidee (I) Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren Formeln. Hier: Induktionsschritt mit n + 1 = 4 F = {{A 1 }, { A 2, A 4 }, { A 1, A 2, A 4 }, {A 3, A 4 }, { A 1, A 3, A 4 }} Barbara König Logik 114

Resolution Beweisidee (I) Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren Formeln. Hier: Induktionsschritt mit n + 1 = 4 F = {{A 1 }, { A 2, A 4 }, { A 1, A 2, A 4 }, {A 3, A 4 }, { A 1, A 3, A 4 }} F 0 = {{A 1 }, { A 2 }, { A 1, A 2 }} A 4 wird mit 0 belegt Barbara König Logik 114

Resolution Beweisidee (I) Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren Formeln. Hier: Induktionsschritt mit n + 1 = 4 F = {{A 1 }, { A 2, A 4 }, { A 1, A 2, A 4 }, {A 3, A 4 }, { A 1, A 3, A 4 }} F 0 = {{A 1 }, { A 2 }, { A 1, A 2 }} F 1 = {{A 1 }, {A 3 }, { A 1, A 3 }} A 4 wird mit 0 belegt A 4 wird mit 1 belegt Barbara König Logik 114

Resolution Beweisidee (II) F 0 F 1 { A 2 } { A 1, A 2 } {A 1 } {A 3 } { A 1, A 3 } { A 1 } { A 1 } Barbara König Logik 115

Resolution Beweisidee (II) F 0 F 1 { A 2, A 4 } { A 1, A 2, A 4 } {A 1 } {A 3, A 4 } { A 1, A 3, A 4 } { A 1, A 4 } { A 1, A 4 } {A 4 } { A 4 } Barbara König Logik 115

Resolution Beweisidee (II) F 0 F 1 { A 2, A 4 } { A 1, A 2, A 4 } {A 1 } {A 3, A 4 } { A 1, A 3, A 4 } { A 1, A 4 } { A 1, A 4 } {A 4 } { A 4 } Barbara König Logik 115

Resolution Deduktion Definition (Deduktion) Eine Deduktion (oder Herleitung oder Beweis) der leeren Klausel aus einer Klauselmenge F ist eine Folge von K 1, K 2,..., K m von Klauseln mit folgenden Eigenschaften: K m ist die leere Klausel und für jedes i = 1,..., m gilt, dass K i entweder Element von F ist oder aus gewissen Klauseln K a,k b mit a, b < i resolviert werden kann. Eine Klauselmenge ist unerfüllbar genau dann, wenn eine Deduktion der leeren Klausel existiert. Es ist also nicht notwendig, ganz Res (F ) zu berechnen, sondern es können geeignete Such-Heuristiken verwendet werden. Barbara König Logik 116

Resolution Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften herleiten kann. Syntaktische Umformungsregeln: Resolution, Stopp bei Erreichen der leeren Klausel Semantische Eigenschaft: Unerfüllbarkeit Wünschenswerte Eigenschaften eines Kalküls: Korrektheit: Wenn die leere Klausel aus F abgeleitet werden kann, dann ist F unerfüllbar. Vollständigkeit: Wenn F unerfüllbar ist, dann ist die leere Klausel aus F ableitbar. Barbara König Logik 117

Resolution Beispiel mit otter Wir wollen zeigen, dass ((AK BK) (AK BK) (BK RL AK) RL) ( AK BK) gültig ist. Das ist genau dann der Fall, wenn (AK BK) ( AK BK) ( BK RL AK) RL (AK BK) unerfüllbar ist. (Wegen: F G gültig gdw. F G unerfüllbar.) Barbara König Logik 118

Resolution Beispiel mit otter Wir verwenden otter einen Theorembeweiser basierend auf Resolution. otter http://www.cs.unm.edu/~mccune/otter/ Mit Hilfe von otter kann man Resolutionsbeweise durchführen. otter ist eigentlich für die gedacht, für die Aussagenlogik ist im allgemeinen ein aussagenlogischer SAT-Solver (wie limboole) angebracht. otter ist inzwischen zu prover9 weiterentwickelt worden, wir verwenden in der Vorlesung jedoch trotzdem otter, weil man in der Ausgabe sehr schön die Resolutionsbeweise nachvollziehen kann. Barbara König Logik 119

Resolution Beispiel mit otter Eingabesyntax (Beispielformel) set(prolog_style_variables). set(binary_res). clear(unit_deletion). clear(factor). list(sos). ak bk. % (ak bk) in limboole-syntax -ak bk. % (!ak bk) -bk -rl -ak. % (!bk!rl!ak) rl. % rl ak -bk. % (ak!bk) end_of_list. Die Optionen zu Beginn stellen sicher, dass die in der Vorlesung eingeführte Art der Resolution verwendet wird. Barbara König Logik 120

Resolution Beispiel mit otter Textuelle Ausgabe von otter ---------------- PROOF ---------------- 1 [] ak bk. 2 [] -ak bk. 3 [] -bk -rl -ak. 4 [] rl. 5 [] ak -bk. 6 [binary,2.1,1.1] bk. 7 [binary,5.2,6.1] ak. 8 [binary,3.1,6.1] -rl -ak. 11 [binary,8.1,4.1] -ak. 12 [binary,11.1,7.1] $F. ------------ end of proof ------------- Barbara König Logik 121

Resolution Beispiel mit otter Ausgabe von otter visuell mit GraphViz aufbereitet Barbara König Logik 122

Resolution Beispiel: Pigeonhole-Prinzip Wir betrachten nun eine Formel, bei der viele Erfüllbarkeitstester (SAT-Solver) ein schlechtes Verhalten zeigen. Pigeonhole-Prinzip/Dirichletsches Schubfachprinzip Wenn N + 1 Tauben in N Schlägen sitzen, dann gibt es in mindestens einem Schlag zwei (oder mehr) Tauben. Wir verwenden zur Formalisierung folgende atomare Formeln: T i,j mit i {1,..., N + 1}, j {1,..., N}. A(T i,j ) = 1 bedeutet dabei, dass die i-te Taube im j-ten Schlag sitzt. Barbara König Logik 123

Resolution Beispiel: Pigeonhole-Prinzip Wir formalisieren zunächst: N + 1 Tauben sitzen in N Schlägen. Jede Taube sitzt in mindestens einem Schlag: F 1 = i {1,...,N+1} j {1,...,N} T i,j Keine Taube sitzt in zwei Schlägen: F 2 = ( T i,j1 T i,j2 ) i {1,...,N+1} j 1,j 2 {1,...,N}, j 1 j 2 In einem Schlag sitzen (mindestens) zwei Tauben: G = (T i1,j T i2,j) i 1,i 2 {1,...,N+1}, i 1 i 2 j {1,...,N} Barbara König Logik 124

Resolution Beispiel: Pigeonhole-Prinzip Der gesamte aussagenlogische Ausdruck lautet: F 1 F 2 G. Er ist gültig genau dann, wenn F 1 F 2 G unerfüllbar ist. Dabei ist F 1 F 2 G schon beinahe in konjunktiver Normalform. Mit Hilfe eines Programms kann man Formeln für jedes N erzeugen und mit Hilfe von limboole überprüfen. Für diese Art von Formeln zeigt limboole ein relativ schlechtes Laufzeitverhalten, bereits ab N = 12 dauert der Test sehr lange. Barbara König Logik 125

Resolution Anwendung: Sudoku Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests Sudoku-Regeln Ein Sudoku-Feld ist ein Schachbrett mit 9 Zeilen und 9 Spalten. Es ist außerdem unterteilt in 9 Regionen, bestehend aus 3 3 Feldern. Barbara König Logik 126

Resolution Anwendung: Sudoku Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests 5 3 7 Sudoku-Regeln Zu Beginn sind einige dieser Felder mit Zahlen aus der Menge {1,..., 9} gefüllt. 6 8 4 9 8 1 9 5 6 8 3 6 3 1 7 2 6 6 2 8 4 1 9 8 7 5 9 Barbara König Logik 126

Resolution Anwendung: Sudoku Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests 5 3 4 6 7 8 9 1 2 Sudoku-Regeln Die Aufgabe besteht nun darin, das Feld vollständig auszufüllen, so dass in jeder Zeile, in jeder Spalte und in jeder Region jede Zahl zwischen 1 und 9 genau einmal vorkommt. 6 7 2 1 9 5 3 4 8 1 9 8 3 4 2 5 6 7 8 5 9 7 6 1 4 2 3 4 2 6 8 5 3 7 9 1 7 1 3 9 2 4 8 5 6 9 6 1 5 3 7 2 8 4 2 8 7 4 1 9 6 3 5 3 4 5 2 8 6 1 7 9 Barbara König Logik 126

Resolution Anwendung: Sudoku Wir verwenden folgende atomare Formeln, um ein Sudoku zu beschreiben: S i,j,k mit i, j, k {1,..., 9}. A(S i,j,k ) = 1 bedeutet dabei, dass sich auf Feld (i, j) die Zahl k befindet. Mit Hilfe dieser 9 9 9 = 729 atomaren Formeln lassen sich nun die Sudoku-Spielregeln mit Hilfe der Aussagenlogik formalisieren. Barbara König Logik 127

Resolution Anwendung: Sudoku Auf jedem Feld befindet sich eine Zahl: i,j {1,...,9} k {1,...,9} S i,j,k Auf keinem Feld befinden sich zwei Zahlen: ( S i,j,k1 S i,j,k2 ) i,j {1,...,9} k 1,k 2 {1,...,9}, k 1 k 2 In keiner Zeile, Spalte, Region kommt eine Zahl doppelt vor: für Zeile 1 lautet die Formel wie folgt ( S 1,j1,k S 1,j2,k) j 1,j 2 {1,...,9}, j 1 j 2 k {1,...,9} (Für die restlichen Zeilen und für die Spalten und Regionen ergeben sich analoge Formeln). Barbara König Logik 128

Resolution Anwendung: Sudoku Für die Erzeugung dieser Formel als limboole-formel bietet es sich an, ein Programm zu schreiben, das die (sehr große) Formel in eine Datei schreibt. Die Datei besteht aus ca. 220.000 Zeichen. Anschließend muss nur noch die Situation in einem bestimmten Sudoku-Rätsel dargestellt werden, wie z.b. für das obige Beispiel: S115 & S123 & S157 & S216 & S241 & S259 & S265 & S329 & S338 & S386 & S418 & S456 & S493 & S514 & S548 & S563 & S591 & S617 & S652 & S696 & S726 & S772 & S788 & S844 & S851 & S869 & S895 & S958 & S987 & S999 Die entstehende Formel ist erfüllbar und limboole gibt (trotz der Größe der Formel) ohne erkennbare Zeitverzögerung die Lösung aus. Barbara König Logik 129

Motivation: Wir beschäftigen uns nun im folgenden mit der, die gegenüber der Aussagenlogik folgendes erlaubt: Man kann über ein beliebiges Universum (= Grundmenge) und dessen Elemente Aussagen machen. Man kann quantifizieren: für alle x gilt... ; es gibt ein x, so dass... Es gibt mehrstellige Prädikatsymbole (interpretiert als Relationen) und mehrstellige Funktionssymbole (interpretiert als Funktionen). Der Aufbau dieses Kapitels ist ähnlich wie bei der Aussagenlogik: wir beginnen mit Grundbegriffen (Syntax, Semantik, Gültigkeit, Erfüllbarkeit), Äquivalenz und Normalformen, und beschäftigen uns dann mit der Resolution. Barbara König Logik 130

Syntax der : Variablen, Terme Definition (Syntax der ) Eine Variable hat die Form x i mit i = 1, 2, 3.... Ein Prädikatensymbol hat die Form Pi k und ein Funktionssymbol hat die Form fi k mit i = 1, 2, 3... und k = 0, 1, 2.... Hierbei heißt i jeweils der Unterscheidungsindex und k die Stelligkeit (oder Stellenzahl). Wir definieren nun die Terme durch einen induktiven Prozess: 1 Jede Variable ist ein Term. 2 Falls f ein Funktionssymbol mit der Stelligkeit k ist, und falls t 1,..., t k Terme sind, so ist auch f (t 1,..., t k ) ein Term. Barbara König Logik 131

Syntax der : Variablen, Terme Bemerkungen zur Syntax der : Es sind auch Funktionssymbole der Stelligkeit 0 eingeschlossen, und in diesem Fall fallen die Klammern weg, d.h., statt c() schreiben wir nur c. Nullstellige Funktionssymbole heißen auch Konstanten(-symbole). Genauso gibt es nullstellige Prädikatsymbole der Form P() bzw. einfach nur P. Barbara König Logik 132

Syntax der : Variablen, Terme Weitere Bemerkungen: Für Variablen schreiben wir auch x, y, z, u, v, w,... Für Prädikatsymbole schreiben wir auch P, Q, R, S,... (die Stelligkeit ergibt sich dann aus dem Kontext). Für Funktionssymbole schreiben wir auch f, g, h,... (die Stelligkeit ergibt sich dann ebenfalls aus dem Kontext). Für Konstanten(-symbole) schreiben wir auch a, b, c, d,... Barbara König Logik 133

Syntax der : Formeln Nun können wir (wiederum induktiv) definieren, was Formeln (der ) sind. 1 Falls P ein Prädikatsymbol der Stelligkeit k ist, und falls t 1,..., t k Terme sind, dann ist P(t 1,..., t k ) eine Formel. 2 Für jede Formel F ist auch F eine Formel. 3 Für alle Formeln F und G sind auch (F G) und (F G) Formeln. 4 Falls x eine Variable ist und F eine Formel, so sind auch xf und xf Formeln. Das Symbol wird Existenzquantor und Allquantor genannt. Barbara König Logik 134

Syntax der : Formeln Bemerkungen: Atomare Formeln nennen wir genau diejenigen, die die Form P(t 1,..., t n ) haben (gemäß (1)). Falls F eine Formel ist und F als Teil einer Formel G auftritt, so heißt F Teilformel von G. Quantoren binden stärker als alle anderen Operatoren, d.h., Formeln werden folgendermaßen geklammert: xp(x) Q(y) entspricht ( xp(x)) Q(y) P(x) yq(y) R(z) entspricht P(x) ( yq(y)) R(z) Barbara König Logik 135

Freie und gebundene Variablen Definition (Freie und gebundene Variable) Alle Vorkommen von Variablen in einer Formel werden in freie und gebundene Vorkommen unterteilt. Dabei heißt ein Vorkommen der Variablen x in der Formel F gebunden, falls F eine Formel der Form xg oder xg enthält und x in G vorkommt. Andernfalls heißt dieses Vorkommen von x frei. Eine Formel ohne Vorkommen einer freien Variablen heißt geschlossen oder eine Aussage. Barbara König Logik 136

Freie und gebundene Variablen Beispiele für freie und gebundene Variable: xp(x): in dieser Formel kommt x gebunden vor. xq(x, y): in dieser Formel kommt x gebunden und y frei vor. ( xp(x)) R(x): in dieser Formel hat x sowohl ein gebundenes als auch ein freies Vorkommen. x(( xp(x)) R(x)): in dieser Formel ist das erste Vorkommen von x unter dem inneren und das zweite Vorkommen unter dem äußeren Quantor gebunden. Definition (Matrix) Die Matrix einer Formel F ist diejenige Formel, die man aus F erhält, indem jedes Vorkommen von bzw., samt der dahinterstehenden Variablen gestrichen wird. Symbolisch bezeichnen wir die Matrix der Formel F mit F. Barbara König Logik 137

Aufgabe zur NF: Keine Formel F: Formel, aber nicht Aussage A: Aussage P(x) xp(a) x y(q(x, y) R(x, y)) xq(x, x) xq(x, y) xp(x) xq(x, x) P(x) P(x) x NF F A Barbara König Logik 138

Aufgabe zur NF: Keine Formel F: Formel, aber nicht Aussage A: Aussage x yq(x, y) R(x, y) z(q(z, x) R(y, z)) y(r(x, y) Q(x, z)) x( P(x) P(a)) P(x) xp(x) x y((p(y) Q(x, y)) P(x)) NF F A Barbara König Logik 139

Semantik der : Strukturen Definition (Struktur) Eine Struktur ist ein Paar A = (U A, I A ), wobei U A eine beliebige aber nicht-leere Menge ist, die die Grundmenge von A (oder der Grundbereich, der Individuenbereich, das Universum) genannt wird. Ferner ist I A eine Abbildung, die jedem k-stelligen Prädikatensymbol P (im Definitionsbereich von I A ) eine k-stellige Relation über U A zuordnet, jedem k-stelligen Funktionssymbol f (im Definitionsbereich von I A ) eine k-stellige Funktion auf U A zuordnet, jeder Variablen x (im Definitionsbereich von I A ) ein Element der Grundmenge U A zuordnet. Barbara König Logik 140

Semantik der : Strukturen Bemerkungen zu Strukturen: Eine Struktur ist das analoge Konzept zu Belegungen in der Aussagenlogik. Die den Funktionssymbolen zugeordneten Funktionen können folgendermaßen dargestellt werden: sei f ein n-stelliges Funktionssymbol, dann schreiben wir f A = I A (f ) mit f A : UA n U A (a 1,..., a n ) f A (a 1,..., a n ), beispielsweise die einstellige Nachfolgerfunktion auf den natürlichen Zahlen (U A = N 0 = {0, 1, 2, 3, 4,... }): f A : N 0 N 0 n n + 1 Barbara König Logik 141

Semantik der : Strukturen Die den Prädikatsymbolen zugeordneten Relationen können folgendermaßen dargestellt werden: sei P ein n-stelliges Prädikatsymbol, dann schreiben wir P A = I A (P) mit P A UA n = U A U }{{ A } n-mal P A = {(a 1,..., a n ) a 1,..., a n U A und... } beispielsweise die zweistellige -Relation auf den natürlichen Zahlen: P A N 0 N 0 P A = {(n, m) n, m N 0 und n m} Barbara König Logik 142

Semantik der : Strukturen Definition (Passende Struktur) Sei F eine Formel und A = (U A, I A ) eine Struktur. A heißt zu F passend, falls I A für alle in F vorkommenden Prädikatsymbole, Funktionssymbole und freien Variablen definiert ist. Der Definitionsbereich der Abbildung I A ist also eine Teilmenge von {Pi k, fi k, x i i = 1, 2, 3,... und k = 0, 1, 2,...} (in der alle Prädikatsymbole, Funktionssymbole und freien Variablen von F enthalten sind) und der Wertebereich (bzw. Bildbereich) von I A ist eine Teilmenge aller Relationen und Funktionen auf U A, sowie der Elemente von U A. Wir schreiben abkürzend statt I A (P) einfach P A, statt I A (f ) einfach f A und statt I A (x) einfach x A. Barbara König Logik 143

Semantik der : Strukturen Definition (Wert eines Terms) Sei F eine Formel und A eine zu F passende Struktur. Für jeden Term t, den man aus den Bestandteilen von F bilden kann (also aus den freien Variablen und Funktionssymbolen), definieren wir nun den Wert von t in der Struktur A, den wir mit A(t) bezeichnen. Es gilt A(t) U A. Die Definition ist wieder induktiv. 1 Falls t eine Variable ist (also t = x), so ist A(t) = x A. 2 Falls t die Form t = f (t 1,..., t k ) hat, wobei t 1,..., t k Terme und f ein k-stelliges Funktionssymbol ist, so ist A(t) = f A (A(t 1 ),..., A(t k )). Fall (2) schließt auch die Möglichkeit ein, dass f nullstellig ist, d.h., t = a für eine Konstante a. In diesem Fall gilt A(t) = a A. Barbara König Logik 144

Semantik der : Strukturen Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert einer Formel F unter der Struktur A, wobei wir ebenfalls die Bezeichnung A(F ) verwenden. Es gilt A(F ) {0, 1}. Definition (Wahrheitswert einer Formel) Falls F die Form F = P(t 1,..., t k ) hat mit den Termen t 1,..., t k und k-stelligem Prädikatsymbol P, so ist { 1, falls (A(t1 ),..., A(t A(F ) = k )) P A 0, sonst Falls F die Form F = G hat, so ist { 1, falls A(G) = 0 A(F ) = 0, sonst Barbara König Logik 145

Semantik der : Strukturen Falls F die Form F = (G H) hat, so ist { 1, falls A(G) = 1 und A(H) = 1 A(F ) = 0, sonst Falls F die Form F = (G H) hat, so ist { 1, falls A(G) = 1 oder A(H) = 1 A(F ) = 0, sonst Barbara König Logik 146

Semantik der : Strukturen Falls F die Form F = xg hat, so ist { 1, falls für alle d UA gilt: A A(F ) = [x/d] (G) = 1 0, sonst Falls F die Form F = xg hat, so ist { 1, falls es ein d UA gibt mit: A A(F ) = [x/d] (G) = 1 0, sonst Für d U A steht A [x/d] für diejenige Struktur A, die überall mit A identisch ist, bis auf die Definition von x A. Wir definieren x A = d, unabhängig davon, ob I A auf x definiert ist oder nicht. Barbara König Logik 147

Modell, Gültigkeit, Erfüllbarkeit Definition (Modell) Falls für eine Formel F und eine zu F passende Struktur A gilt A(F ) = 1, so schreiben wir wieder A = F. Sprechweise: F gilt in A oder A ist Modell für F. Gültigkeit, Erfüllbarkeit, Unerfüllbarkeit Falls jede zu F passende Struktur ein Modell für F ist, so schreiben wir = F, andernfalls = F. Sprechweise: F ist (allgemein-)gültig. Falls es mindestens ein Modell für die Formel F gibt, so heißt F erfüllbar, andernfalls unerfüllbar. Barbara König Logik 148

Aufgabe zu Erfüllbarkeit und Gültigkeit Folgende Formeln sind erfüllbar, aber nicht gültig. Finden Sie jeweils eine Struktur, die ein Modell für die Formel ist, und eine Struktur, die kein Modell für die Formel ist. 1 F = xp(x) 2 G = x yq(x, f (y)) Barbara König Logik 149

Aufgabe zu Erfüllbarkeit und Gültigkeit Modell A für F = xp(x): Universum U A = N 0 P A = N 0 (das ist die einzige mögliche Interpretation von P, die zu einem Modell führt) Struktur, die kein Modell für F = xp(x) ist: Universum U B = N 0 P B = {n n N 0, n gerade} Barbara König Logik 150

Aufgabe zu Erfüllbarkeit und Gültigkeit Modell A für G = x yq(x, f (y)) Universum U A = N 0 Q A = {(n, m) n, m N 0, n < m} f A : N 0 N 0 mit f A (n) = n + 1 Struktur, die kein Modell für G = x yq(x, f (y)) ist: Universum U B = N 0 Q B = {(n, m) n, m N 0, n < m} f B : N 0 N 0 mit f B (n) = 1 Bemerkung: diese Strukturen sind natürlich keineswegs die einzigen Beispiele für Modelle bzw. Nicht-Modelle von F, G. Barbara König Logik 151

Aufgabe zu Erfüllbarkeit und Gültigkeit G: Gültig E: Erfüllbar U: Unerfüllbar xp(a) x( P(x) P(a)) P(a) xp(x) xp(x) xp(x) xp(x) yp(y) xp(x) xp(f (x)) G E U Barbara König Logik 152

mit Gleichheit Bei mit Gleichheit sind Formeln genauso aufgebaut, wie bei herkömmlicher, mit dem Unterschied, dass es ein spezielles Prädikat = gibt, das in Infix-Notation verwendet wird. Das heißt, zur Definition der Syntax wird folgender Satz hinzugefügt: Falls t 1, t 2 Terme sind, dann ist (t 1 = t 2 ) eine Formel. Außerdem steht (t 1 t 2 ) für (t 1 = t 2 ). Und die Definition des Wahrheitswert einer Formel wird folgendermaßen ergänzt: Falls F die Form F = (t 1 = t 2 ) hat mit den Termen t 1, t 2, so ist { 1, falls A(t1 ) = A(t A(F ) = 2 ) 0, sonst Barbara König Logik 153

Aufgabe zu Erfüllbarkeit und Gültigkeit G: Gültig E: Erfüllbar U: Unerfüllbar x y z(x y y z x z) x y(x = y f (x) = f (y)) x y(f (x) = f (y) x = y) x y z(f (x) = y f (x) = z y z) G E U Barbara König Logik 154

Tarski s World Tarski s World Tarski s World ist eine Lehrsoftware für, entworfen von Jon Barwise und John Etchemendy. Dabei werden die Formeln auf einem Schachbrett evaluiert, auf dem sich Tetraeder, Würfel und Dodekaeder in drei Größen (small, medium, large) befinden können. Gegenüber der allgemeinen gibt es sowohl Einschränkungen an die Syntax von Formeln als auch an die zulässigen Strukturen. Ob eine Formel für eine bestimmte Welt gilt (oder nicht), kann in einem Spiel gegen den Rechner intuitiv veranschaulicht werden. Barbara König Logik 155

Tarski s World Screenshot Barbara König Logik 156

Tarski s World Einschränkungen an die Syntax zulässige Konstanten und Prädikatsymbole: Zulässige Konstanten: a, b, c, d, e, f Zulässige Prädikatsymbole (Auswahl): Einstellig: Tet, Cube, Dodec, Small, Medium, Large Zweistellig: Smaller, Larger, BackOf, FrontOf, LeftOf, RightOf Dreistellig: Between Neben den Konstanten kommen in den Formeln bei Tarski s World keine weiteren Funktionssymbole vor. Variablen, aussagenlogische Operatoren und Quantoren können beliebig benutzt werden. Außerdem ist das Prädikat Gleichheit (=) erlaubt. Barbara König Logik 157

Tarski s World Einschränkungen an die Semantik zulässige Strukturen: Universen bestehen immer aus Mengen von Körpern auf dem Schachbrett. Die Interpretation der Prädikatsymbole ist durch die Größe und Art der Körper und durch ihre Positionierung auf dem Schachbrett festgelegt. Beispielsweise gilt: Tet(a) bedeutet, dass a ein Tetraeder ist. Smaller(a, b) bedeutet, dass a kleiner als b ist. LeftOf (c, d) sagt aus, dass sich c links von d befindet. Between(a, b, c) sagt aus, dass sich a zwischen b und c befindet. Barbara König Logik 158

Tarski s World Daraus folgt: Nicht jede Formel, die in jeder Tarski s World gilt, ist eine im prädikatenlogischen Sinne gültige Formel. Beispiel: x(small(x) Medium(x) Large(x)) Barbara König Logik 159

Folgerung und Äquivalenz Definition (Folgerung) Eine Formel G heißt eine Folgerung der Formeln F 1,..., F k falls für jede Struktur, die sowohl zu F 1,..., F k als auch zu G passend ist, gilt: Wenn A Modell von {F 1,..., F k } ist, dann ist A auch Modell von G. Wir schreiben F 1,..., F k = G, falls G eine Folgerung von F 1,..., F k ist. Definition (Äquivalenz) Zwei Formeln F, G heißen (semantisch) äquivalent, falls für alle Strukturen A, die sowohl für F als auch für G passend sind, gilt A(F ) = A(G). Hierfür schreiben wir F G. Barbara König Logik 160

Aufgabe zu Folgerung und Äquivalenz 1 F 1 = xp(x) xq(x) 2 F 2 = x(p(x) Q(x)) 3 F 3 = xp(x) yq(y) J N F 1 = F 2 F 2 = F 3 F 3 = F 1 Barbara König Logik 161

Aufgabe zu Folgerung und Äquivalenz 1 F 1 = y xp(x, y) 2 F 2 = x yp(x, y) J N F 1 = F 2 F 2 = F 1 Barbara König Logik 162

Aufgabe zu Folgerung und Äquivalenz x yf y xf x yf x yf x yf y xf x yf y xf xf xg x(f G) xf xg x(f G) xf xg x(f G) xf xg x(f G) J N Barbara König Logik 163

Äquivalenzen Satz (Äquivalenz von prädikatenlogischen Formeln) Seien F und G beliebige Formeln. Dann gilt: 1 xf x F xf x F 2 Falls x in G nicht frei vorkommt, gilt: xf G x(f G) xf G x(f G) xf G x(f G) xf G x(f G) 3 xf xg x(f G) xf xg x(f G) 4 x yf y xf x yf y xf Barbara König Logik 164

Äquivalenzen Bemerkung: alle Äquivalenzgesetze der Aussagenlogik behalten weiterhin ihre Gültigkeit. Beispiel: (nach demorgan) x (P(x) P(x)) x( P(x) P(x)) Barbara König Logik 165

Substitution Definition (Substitution) Sei F eine Formel, x eine Variable und t ein Term. Dann bezeichnet F [x/t] diejenige Formel, die man aus F erhält, wenn man jedes freie Vorkommen der Variablen x in F durch t ersetzt. Durch [x/t] wird eine Substitution beschrieben. Dabei geht man davon aus, dass durch die Substitution keine Variable in t gebunden wird. Beispiele für Substitutionen: ( P(x) Q(f (x)) R(y) ) [x/g(y)] = P(g(y)) Q(f (g(y))) R(y) ( xp(x) Q(x) ) [x/g(y)] = xp(x) Q(g(y)) Barbara König Logik 166

Substitution Unterscheidung zwischen F [x/t] und A [x/d] : Bei F [x/t] wird eine syntaktische Ersetzung innerhalb der Formel F vorgenommen. Bei A [x/d] wird eine Struktur verändert, d.h., diese Ersetzung bezieht sich auf die Semantik. Der Zusammenhang zwischen beiden Notationen ist wie folgt: Überführungslemma Für jede Formel F, jede Variable x und jeden Term t, der keine in F gebundene Variable enthält, gilt: A(F [x/t]) = A [x/a(t)] (F ). Barbara König Logik 167

Bereinigte Formeln Definition (Bereinigte Formel) Eine Formel heißt bereinigt, sofern es keine Variable gibt, die in der Formel sowohl gebunden als auch frei vorkommt, und sofern hinter allen vorkommenden Quantoren verschiedene Variablen stehen. Lemma (Gebundene Umbenennung) Sei y eine Variable, die in F nicht vorkommt. Dann gilt: xf y(f [x/y]) xf y(f [x/y]) Lemma Zu jeder Formel F gibt es eine äquivalente Formel in bereinigter Form. Barbara König Logik 168

Pränexform Definition (Pränexform) Eine Formel heißt pränex oder in Pränexform, falls sie folgende Bauart hat Q 1 y 1 Q 2 y 2... Q n y n F, wobei Q i {, }, n 0, und die y i (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. Satz Für jede Formel gibt es eine äquivalente (und bereinigte) Formel in Pränexform. Barbara König Logik 169

Pränexform Verfahren zur Bestimmung der Pränexform: Gegeben: eine prädikatenlogische Formel F. 1 Erstelle durch gebundene Umbenennung eine bereinigte Formel, die zu F äquivalent ist. 2 Schieben alle Negationen mit Hilfe der Gesetze xf x F und xf x F hinter die Quantoren. 3 Ziehe alle Quantoren nach vorne unter Verwendung folgender Gesetze (Annahme: x kommt nicht frei in G vor): ( xf G) x(f G) ( xf G) x(f G) ( xf G) x(f G) ( xf G) x(f G) (Für diese Umformung ist es unbedingt notwendig, dass F zuvor bereinigt wurde.) Barbara König Logik 170

Pränexform Beispiel: Formen Sie die folgende Formel in Pränexform um. F = ( x y P(x, g(y, f (x))) Q(z)) x R(x, y) Barbara König Logik 171

Skolemform Wir definieren nun noch die Skolemform, in der keine Existenzquantoren mehr enthalten sind. Definition (Skolemform) Eine Formel ist in Skolemform, falls sie folgende Bauart hat y 1 y 2... y n F, wobei n 0, und die y i (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. Barbara König Logik 172

Skolemform Für jede Formel F in bereinigter Pränexform (BPF) definieren wir ihre Skolemform(-el) als das Resultat der Anwendung des folgenden Algorithmus auf F : while F enthält einen Existenzquantor do begin F habe die Form F = y 1 y 2... y n z G für eine Formel G in BPF und n 0 (der Allquantorblock kann auch leer sein); Sei f ein neues bisher in F nicht vorkommendes n-stelliges Funktionssymbol; F := y 1 y 2... y n G[z/f (y 1, y 2,..., y n )]; (der Existenzquantor in F wird entfernt und jedes Vorkommen von z in G durch f (y 1, y 2,..., y n ) ersetzt) end Barbara König Logik 173

Skolemform Satz Für jede Formel F in bereinigter Pränexform gilt: F ist erfüllbar genau dann, wenn die Skolemform von F erfüllbar ist. (Ohne Beweis) Bemerkung: die Umformung in die Skolemform erhält nur die Erfüllbarkeit von Formeln, nicht jedoch deren Gültigkeit! Man sagt daher, dass die Formel F und ihre Skolemform erfüllbarkeitsäquivalent sind. Sie sind im allgemeinen jedoch nicht äquivalent. Barbara König Logik 174

Skolemform Beispiel 1: Formen Sie folgende Formel in Skolemform um. F = x y z u vp(x, y, z, u, v) Barbara König Logik 175

Skolemform Beispiel 2: Gegeben sei die Formel F = x y P(x, y) Bestimmen Sie zunächst die Skolemform F von F. Geben Sie ein Modell von F an und erweitern Sie es zu einem Modell von F. Barbara König Logik 176

Klauselform Definition (Klauselform) Eine Aussage heißt in Klauselform, falls sie die Bauart hat y 1 y 2... y n F, wobei F keine Quantoren enthält und in KNF (konjunktiver Normalform) ist. Eine Aussage in Klauselform kann als Menge von Klauseln dargestellt werden. Beispiel: x y((p(x, y) Q(x)) R(y)) ist in Klauselform und wird dargestellt als: {{P(x, y), Q(x)}, {R(y)}} Barbara König Logik 177

Klauselform Verfahren zur Bestimmung der Klauselform: Gegeben: eine prädikatenlogische Formel F (mit eventuellen Vorkommen von freien Variablen). 1 Bereinige F durch systematisches Umbenennen der gebundenen Variablen. Es entsteht eine zu F äquivalente Formel F 1. 2 Seien y 1, y 2,..., y n die in F bzw. F 1 vorkommenden freien Variablen. Ersetze F 1 durch F 2 = y 1 y 2... y n F 1. Dann ist F 2 erfüllbarkeitsäquivalent zu F 1 und F und enthält keine freien Variablen mehr. 3 Stelle eine zu F 2 äquivalente (und damit zu F erfüllbarkeitsäquivalente) Aussage F 3 in Pränexform her. Barbara König Logik 178

Klauselform 4 Eliminiere die vorkommenden Existenzquantoren durch Übergang zur Skolemform von F 3. Diese sei F 4 und ist dann erfüllbarkeitsäquivalent zu F 3 und damit auch zu F. 5 Forme die Matrix von F 4 um in KNF, wodurch man die Klauselform erhält (und schreibe diese Formel F 5 dann als Klauselmenge auf). Barbara König Logik 179

Klauselform Welche dieser Formel sind bereinigt, in Pränexform, in Skolemform, in Klauselform? x(tet(x) Cube(x) Dodec(x)) x y(cube(y) BackOf(x, y)) x( FrontOf(x, x) BackOf(x, x)) xcube(x) x Cube(x) x(cube(x) Small(x)) y( Cube(y) Small(y)) (Cube(a) xsmall(x)) Small(a) x(larger(a, x) Larger(x, b)) Larger(a, b) B P S K Barbara König Logik 180

Klauselform Beispiel: Formen Sie die folgenden Formeln in Klauselform um: F 1 = xp(x) xp(f (x)) F 2 = ( x y P(x, g(y, f (x))) z Q(z)) x R(x, x) Barbara König Logik 181

Herbrand-Universum Motivation: Um die Erfüllbarkeit/Unerfüllbarkeit einer prädikatenlogischen Formel zu testen, müsste man ungeheuer viele Strukturen durchprobieren. Wir zeigen im folgenden, dass es reicht nur ganz bestimmte Strukturen, sogenannte Herbrand-Strukturen benannt nach dem Logiker Jacques Herbrand zu testen. Diese können immer noch ein unendlich großes Universum haben und unendlich viele sein, sind aber dennoch wesentlich überschaubarer. Darauf aufbauend kann dann ein automatisches Verfahren entwickelt werden, das mit Hilfe von Resolution die Unerfüllbarkeit einer prädikatenlogischen Formel überprüft. Barbara König Logik 182

Herbrand-Universum Definition (Herbrand-Universum) Das Herbrand-Universum D(F ) einer geschlossenen Formel F in Skolemform ist die Menge aller variablenfreie Terme, die aus den Bestandteilen von F gebildet werden können. Falls in F keine Konstante vorkommt, wählen wir zunächst eine beliebige Konstante, zum Beispiel a, und bilden dann die variablenfreien Terme. D(F ) wird wie folgt induktiv definiert: 1 Alle in F vorkommenden Konstanten sind in D(F ). Falls F keine Konstante enthält, so ist a in D(F ). 2 Für jedes in F vorkommende n-stellige Funktionssymbol f und Terme t 1,..., t n in D(F ) ist der Term f (t 1,..., t n ) in D(F ). Barbara König Logik 183

Herbrand-Universum Beispiel: Bestimmen Sie die Herbrand-Universen zu folgenden Formeln F 1 = x P(f (x), g(a)) F 2 = x y Q(h(x, y)) F 3 = x P(x) Barbara König Logik 184

Herbrand-Strukturen Definition (Herbrand-Struktur) Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A = (U A, I A ) eine Herbrand-Struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes in F vorkommende n-stellige Funktionssymbol f und t 1, t 2,..., t n D(F ) ist f A (t 1, t 2,..., t n ) = f (t 1, t 2,..., t n ). Idee: Jeder variablenfreie Term t wird durch sich selbst interpretiert, d.h., A(t) = t. (Vermischung von Syntax und Semantik.) Barbara König Logik 185

Herbrand-Strukturen Für eine Herbrand-Struktur A vereinfacht sich das Überführungslemma: Lemma (Überführungslemma für Herbrand-Strukturen) Sei A eine Herbrand-Struktur. Dann gilt für jede Formel F, jede Variable x und jeden variablenfreien Term t: A(F [x/t]) = A [x/t] (F ). Barbara König Logik 186

Der fundamentale Satz der Satz Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar, wenn F ein Herbrand-Modell besitzt. Idee: Man muss zeigen, dass eine erfüllbare Aussage F in Skolemform ein Herbrand-Modell besitzt. Da F erfüllbar ist, hat F ein (beliebiges) Modell A. Um ein Herbrand-Modell B für F zu erhalten, werden die Prädikatsymbole wie folgt interpretiert: für ein n-stelliges Prädikatsymbol P und t 1,..., t n D(F ) gilt (t 1,..., t n ) P B genau dann, wenn (A(t 1 ),..., A(t n )) P A. (Wenn eine Konstante a D(F ) nicht in F vorkommt, dann wählt man eine beliebige Interpretation a A.) Barbara König Logik 187

Der fundamentale Satz der Beispiel zum vorherigen Satz: Gegeben sei die Formel Aufgaben: F = x P(x, f (x)) Bestimmen Sie ein beliebiges Modell A von F. Anschließend definieren Sie ein Herbrand-Modell B von F, dessen Relation P B analog zu P A definiert ist. (So wie im Beweis zum vorherigen Satz beschrieben.) Barbara König Logik 188

Herbrand-Expansion Definition (Herbrand-Expansion) Sei F = y 1 y 2... y n F eine Aussage in Skolemform. Dann ist E(F ), die Herbrand-Expansion von F, definiert als E(F ) = {F [y 1 /t 1 ][y 2 /t 2 ]... [y n /t n ] t 1, t 2,..., t n D(F )} Die Formeln in E(F ) entstehen also, indem die Terme in D(F ), dem Herbrand-Universum von F, in jeder möglichen Weise für die Variablen in F substituiert werden. Bemerkung: Da das Herbrand-Universum D(F ) abzählbar ist, ist auch die Menge E(F ) abzählbar. Barbara König Logik 189

Herbrand-Expansion Wiederholung: Abzählbarkeit Definition (Abzählbarkeit) Eine Menge M heißt abzählbar, wenn es eine surjektive Abbildung f : N 0 M gibt. Das heißt es gibt eine (nicht notwendigerweise konstruktive) Aufzählung f (0), f (1), f (2),... aller Elemente von M, in der jedes Element von M mindestens einmal vorkommt. Bemerkungen: Beispiele für abzählbare Mengen sind N 0, Q (die Menge der rationalen Zahlen bzw. Brüche) und die Menge aller Terme, die aus einer endlichen Menge von Funktionssymbolen gebildet werden. (Daher: ein Herbrand-Universum D(F ) ist immer abzählbar.) Die Menge R der reellen Zahlen ist nicht abzählbar. Barbara König Logik 190

Herbrand-Expansion Beispiel: Bestimme die Herbrand-Expansion der Formel x y P(x, y, f (y)). Barbara König Logik 191

Herbrand-Expansion Idee: Behandle die Formeln in der Herbrand-Expansion wie aussagenlogische Formeln. D.h., betrachte jedes auftauchende Prädikat P(t 1,..., t n ) wie eine atomare Formel A. Beispiel: Sei beispielsweise E(F ) = {F 1, F 2,... }. F 1 = (P(f (a), f (b)) Q(g(a, b)) P(a, b) ) P(f (a), f (b)). }{{}}{{}}{{}}{{} A B C A Dies entspricht (A B C) A. Eine Formel in der Herbrand-Expansion ist erfüllbar, genau dann, wenn sie im aussagenlogischen Sinne erfüllbar ist. Barbara König Logik 192

Satz von Gödel-Herbrand-Skolem Satz (Gödel-Herbrand-Skolem) Für jede Aussage F in Skolemform gilt: F ist erfüllbar genau dann, wenn die Formelmenge E(F ) (im aussagenlogischen Sinn) erfüllbar ist. Beweis: Es genügt zu zeigen, dass F ein Herbrand-Modell besitzt genau dann, wenn E(F ) erfüllbar ist. Die Formel F habe die Form y 1 y 2... y n F. Mit Hilfe des Überführungslemmas kann man zeigen: Barbara König Logik 193

Satz von Gödel-Herbrand-Skolem A ist ein Herbrand-Modell für F gdw. für alle t 1, t 2,..., t n D(F ) gilt: A [y1 /t 1 ][y 2 /t 2 ]...[y n/t n](f ) = 1 gdw. für alle t 1, t 2,..., t n D(F ) gilt: A(F [y 1 /t 1 ][y 2 /t 2 ]... [y n /t n ]) = 1 gdw. für alle G E(F ) gilt A(G) = 1 gdw. A ist ein Modell für E(F ) Barbara König Logik 194

Satz von Herbrand Satz (Herbrand) Eine Aussage F in Skolemform ist unerfüllbar genau dann, wenn es eine endliche Teilmenge von E(F ) gibt, die (im aussagenlogischen Sinn) unerfüllbar ist. Beweis: Ummittelbare Folge des Satzes von Gödel-Herbrand-Skolem und des Endlichkeitssatzes. Endlichkeitssatz Barbara König Logik 195

Algorithmus von Gilmore Sei F eine prädikatenlogische Aussage in Skolemform und sei {F 1, F 2, F 3,... } eine Aufzählung von E(F ). Algorithmus von Gilmore Eingabe: F n := 0; repeat n := n + 1; until (F 1 F 2... F n ) ist unerfüllbar; Gib unerfüllbar aus und stoppe. Barbara König Logik 196

Algorithmus von Gilmore Bemerkungen zum Algorithmus von Gilmore: Man wählt eine beliebige unendliche Aufzählung F 1, F 2, F 3,... aller Formeln in E(F ). Dabei muss nur darauf geachtet werden, dass jede Formel irgendwann in dieser Aufzählung vorkommt. Das ist möglich, da E(F ) abzählbar ist. Es dürfen Formeln mehrfach vorkommen. Das ist insbesondere immer dann so, wenn E(F ) endlich ist. Wenn alle Formeln in einer endlichen Menge E(F ) abgearbeitet sind und noch nicht unerfüllbar ausgegeben wurde, dann kann der Algorithmus auch stoppen und erfüllbar ausgeben. Barbara König Logik 197

Algorithmus von Gilmore Beispiel: Zeigen Sie mit Hilfe des Algorithmus von Gilmore, dass folgende Formeln F = x (P(f (x)) P(x)) G = x y ( P(f (f (x))) P(f (y))) unerfüllbar sind. Barbara König Logik 198

Algorithmus von Gilmore Aus dem Satz von Herbrand folgt: Falls die Formel F unerfüllbar ist, so stoppt der Algorithmus von Gilmore nach endlicher Zeit und gibt unerfüllbar aus. Falls der Algorithmus von Gilmore unerfüllbar ausgibt, so ist F tatsächlich unerfüllbar. Wenn F jedoch erfüllbar ist, so gibt es keine Garantie dafür, dass der Algorithmus jemals terminiert. Es kann auch gezeigt werden, dass es tatsächlich keinen Algorithmus gibt, der das Unerfüllbarkeitsproblem der löst und immer mit der korrekten Antwort (unerfüllbar bzw. erfüllbar) terminiert. Barbara König Logik 199

Algorithmus von Gilmore Semi-Entscheidbarkeit (informell) Sei M X eine Menge (auch Sprache oder Problem genannt). Die Menge M heißt semi-entscheidbar, wenn es einen Algorithmus A gibt, der ein Element x X als Eingabe nimmt und genau dann, wenn x M gilt, terminiert und x ist in M enthalten zurückgibt. Der Algorithmus A muss jedoch nicht terminieren, wenn x M gilt. Falls A auch in diesem Fall terminiert und x ist nicht in M enthalten zurückgibt, so heißt M entscheidbar. Bemerkung: die Begriffe Entscheidbarkeit und Semi-Entscheidbarkeit werden detailliert in der Vorlesung Berechenbarkeit und Komplexität besprochen. Barbara König Logik 200

Semi-Entscheidbarkeitssätze Satz (Semi-Entscheidbarkeit) Folgende Probleme sind semi-entscheidbar, jedoch nicht entscheidbar: (a) Das Unerfüllbarkeitsproblem für prädikatenlogische Formeln. (b) Das Gültigkeitsproblem für prädikatenlogische Formeln. (c) Das Folgerungsproblem für prädikatenlogische Formeln. (d) Das Äquivalenzproblem für prädikatenlogische Formeln. Barbara König Logik 201

Semi-Entscheidbarkeitssätze Beweis: (a) Das Problem ist nicht entscheidbar (ohne Beweis). Der Algorithmus von Gilmore kann es jedoch semi-entscheiden. (b) F gültig gdw. F unerfüllbar. (c) F = G gdw. F G gültig. (d) F G gdw. F G gültig. Barbara König Logik 202

Resolution in der Der Algorithmus von Gilmore funktioniert zwar, ist in der Praxis aber unbrauchbar, weil er zuviele Formeln erzeugt und nicht zielgerichtet arbeitet. Daher ist unser Programm der nächsten Stunden: Wie sieht Resolution in der aus? Barbara König Logik 203

Wiederholung: Resolution in der Aussagenlogik Resolutionsschritt: {L 1,..., L n, A} {L 1,..., L m, A} Mini-Beispiel: {L 1,..., L n, L 1,..., L m} { A, B} {A} { B} {B} Eine Klauselmenge ist unerfüllbar genau dann, wenn durch Resolution die leere Klausel abgeleitet werden kann. Barbara König Logik 204

Anpassung des Algorithmus von Gilmore Algorithmus von Gilmore: Sei F eine prädikatenlogische Aussage in Skolemform und sei {F 1, F 2, F 3,...} eine Aufzählung von E(F ). Eingabe: F n := 0; repeat n := n + 1; until (F 1 F 2... F n ) ist unerfüllbar; (dies kann mit Mitteln der Aussagenlogik, beispielsweise Wahrheitstafeln, getestet werden) Gib unerfüllbar aus und stoppe. Mittel der Aussagenlogik wir verwenden Resolution für den Unerfüllbarkeitstest Barbara König Logik 205

Definition von Res(M) (Wiederholung) Definition Sei M eine Klauselmenge. Dann ist Res(M) definiert als Res(M) = M {R R ist Resolvent zweier Klauseln in M}. Außerdem setzen wir: Res 0 (M) = M Res n+1 (M) = Res(Res n (M)) für n 0 und schließlich sei Res (M) = Res n (M). n 0 Barbara König Logik 206

Grundresolutionsalgorithmus Sei F 1, F 2,... weiterhin die Aufzählung der Herbrand-Expansion. Grundresolutionsalgorithmus Eingabe: eine Aussage F in Klauselform i := 0; M := ; repeat i := i + 1; M := M F i ; M := Res (M) until M Gib unerfüllbar aus und stoppe. Warum der Name Grundresolution? Im Gegensatz zu späteren Verfahren werden Terme ohne Variable (= Grundterme) substituiert, um die Formeln der Herbrand-Expansion zu erhalten. Barbara König Logik 207

Grundresolutionssatz Aus dem Grundresolutionsalgorithmus ergibt sich folgender Satz: Grundresolutionssatz Eine Aussage in Klauselform F = y 1... y k F mit der Matrix F in KNF ist unerfüllbar genau dann, wenn es eine Folge von Klauseln K 1,..., K n gibt mit der Eigenschaft: K n ist die leere Klausel Für i = 1,..., n gilt: entweder ist K i eine Grundinstanz einer Klausel K F, d.h. K i = K[y 1 /t 1 ]... [y k /t k ] mit t i D(F ) oder K i ist (aussagenlogischer) Resolvent zweier Grundinstanzen K a, K b mit a < i und b < i Weglassen von Klauseln und Resolutionsschritten, die nicht zur Herleitung der leeren Klausel beitragen. Barbara König Logik 208

Grundresolutionsalgorithmus Beispiel: Zeigen Sie mit Hilfe von Grundresolution, dass folgende Formel in Klauselform unerfüllbar ist. {{P(f (x)), Q(x)}, { P(f (g(y)))}, { Q(g(f (a)))}} Barbara König Logik 209

Motivation: Prädikatenlogische Resolution Bei der Grundresolution kann man unnötigerweise in Sackgassen laufen. Beispiel: {P(f (x)), Q(x)} [x/g(a)] { P(f (g(y)))} [y/a] {Q(g(a))} { Q(g(f (a)))}? Besser wäre gewesen, die Variable x durch g(f (a)) anstatt durch g(a) zu ersetzen. Aber woher kann man das vorher wissen? Barbara König Logik 210

Motivation: Prädikatenlogische Resolution Idee: Variablen nur noch so weit wie nötig durch Terme ersetzen. Statt Grundtermen Terme mit Variablen verwenden. {P(f (x)), Q(x)} { P(f (g(y)))} { Q(g(f (a)))} [x/g(y)] [] {Q(g(y))} [y/f (a)] [] Barbara König Logik 211

Wiederholung: Substitutionen Eine Substitution sub ist eine Abbildung von Variablen auf Terme. F sub: Anwendung der Substitution sub auf die Formel F t sub: Anwendung der Substitution sub auf den Term t Eine Substitution kann auch als Folge von Ersetzungen beschrieben werden: [x/f (z)] [y/g(a, z)] [z/h(w)] entspricht folgender entflochtener Substitution: [x/f (h(w)), y/g(a, h(w)), z/h(w)]. Ersetzungen werden von links nach rechts durchgeführt! Verknüpfung von Substitutionen: sub 1 sub 2 (zuerst wird sub 1 angewandt, anschließend sub 2 ). Barbara König Logik 212

Unifikator/Allgemeinster Unifikator Definition (Unifikation) Gegeben sei eine Menge L = {L 1,..., L k } von Literalen. Eine Substitution sub heißt Unifikator von L, falls L 1 sub = L 2 sub = = L k sub Das ist gleichbedeutend mit Lsub = 1, wobei Lsub = {L 1 sub,..., L k sub}. Ein Unifikator sub von L heißt allgemeinster Unifikator von L, falls für jeden Unifikator sub von L gilt, dass es eine Substitution s gibt mit sub = sub s. Barbara König Logik 213

Unifikator/Allgemeinster Unifikator Beispiele: Bestimmen Sie die allgemeinsten Unifikatoren folgender Mengen (falls sie existieren): {P(x), P(f (y))} {P(x), Q(y)} {Q(x, f (x)), Q(y, g(y))} {P(x), P(f (x))} {Q(x, f (y)), Q(g(z), f (x))} {Q(x, f (y)), Q(g(y), f (x))} {Q(x, f (y)), Q(f (y), z), Q(z, f (x))} Barbara König Logik 214

Unifikator/Allgemeinster Unifikator Bemerkungen: Eine Menge von Literalen kann mehrere allgemeinste Unifikatoren haben. Beispielsweise sind sowohl [y/f (x)] als auch [x/z][y/f (z)] allgemeinste Unifikatoren von {P(f (x)), P(y)}. Alle allgemeinsten Unifikatoren kann man jedoch durch einfache Variablenumbenennung ineinander umformen. Eine Menge L von (mehr als zwei) Literalen kann unter Umständen nicht unifizierbar sein, auch wenn alle Paare von Literalen unifizierbar sind. Beispiel: {Q(x, f (y)), Q(f (y), z), Q(z, f (x))} Barbara König Logik 215

Unifikationsalgorithmus Unifikationsalgorithmus Eingabe: eine Literalmenge L sub := []; (leere Substitution) while Lsub > 1 do Suche die erste Position, an der sich zwei Literale L 1, L 2 aus Lsub unterscheiden if keines der beiden Zeichen ist eine Variable then stoppe mit nicht unifizierbar else Sei x die Variable und t der Term im anderen Literal (möglicherweise auch eine Variable) if x kommt in t vor then stoppe mit nicht unifizierbar else sub := sub [x/t] Ausgabe: sub Barbara König Logik 216

Unifikationsalgorithmus Beispiel: Wende den Unifikationsalgorithmus auf folgende Literalmenge an L = { P(f (z, g(a, y)), h(z)), P(f (f (u, v), w), h(f (a, b)))} Bemerkung: hier sind a, b Konstanten und y, z, u, v, w Variablen Barbara König Logik 217

Korrektheit des Unifikationsalgorithmus Satz (Korrektheit des Unifikationsalgorithmus) Der Unifikationsalgorithmus terminiert immer und gibt bei Eingabe einer nicht-unifizierbaren Literalmenge nicht unifizierbar aus. Wenn eine Menge L von Literalen unifizierbar ist, dann findet der Unifikationsalgorithmus immer den allgemeinsten Unifikator von L. Das bedeutet unter anderem auch, dass jede unifizierbare Menge von Literalen einen allgemeinsten Unifikator hat (Unifikationssatz von Robinson). Barbara König Logik 218

Prädikatenlogische Resolution Definition (Prädikatenlogischer Resolvent) Eine Klausel R heißt prädikatenlogischer Resolvent zweier Klauseln K 1, K 2, wenn folgendes gilt: Es gibt Substitutionen s 1, s 2, die Variablenumbenennungen sind, so dass K 1 s 1 und K 2 s 2 keine gemeinsamen Variablen enthalten. Es gibt Literale L 1,..., L m aus K 1 s 1 und Literale L 1,..., L n aus K 2 s 2, so dass L = {L 1,..., L n, L 1,..., L n} unifizierbar ist. Sei sub der allgemeinste Unifikator von L. (L bezeichnet das negierte Literal L.) Es gilt R = ((K 1 s 1 {L 1,..., L m }) (K 2 s 2 {L 1,..., L n}))sub. Barbara König Logik 219

Prädikatenlogische Resolution Schreibweise: Zu resolvierende Literale unterstreichen und Substitutionen angeben Beispiel: {P(x), P(f (y)), Q(x, y)} { P(f (g(x)))} s 1 = [] sub = [x/f (g(z)), y/g(z)] s 2 =[x/z] {Q(f (g(z)), g(z))} Hinweis: Es gibt noch zwei weitere Möglichkeiten, einen prädikatenlogischen Resolutionsschritt mit diesen Klauseln auszuführen. Barbara König Logik 220

Aufgabe Sind diese Klauseln resolvierbar? Wieviele mögliche Resolventen gibt es? K 1 K 2 Möglichkeiten {P(x), Q(x, y)} { P(f (x))} {Q(g(x)), R(f (x))} { Q(f (x))} {P(x), P(f (x))} { P(y), Q(y, z)} Barbara König Logik 221

Prädikatenlogische Resolution Beispiel: Leiten Sie aus folgender Klauselmenge die leere Klausel her (diesmal mit prädikatenlogischer Resolution anstatt Grundresolution). {{P(f (x)), Q(x)}, { P(f (g(y)))}, { Q(g(f (a)))}} Barbara König Logik 222

Korrektheit und Vollständigkeit Zwei Fragen: Wenn man mit prädikatenlogischer Resolution aus einer Formel F die leere Klausel ableiten kann, ist F dann unerfüllbar? (Korrektheit) Kann man für eine unerfüllbare Formel F immer durch prädikatenlogische Resolution die leere Klausel herleiten? (Vollständigkeit) Obiges ist zwar bereits für die Grundresolution bekannt, aber noch nicht für die prädikatenlogische Resolution. Barbara König Logik 223

Aussagenlogik Lifting-Lemma Lifting-Lemma Seien K 1, K 2 zwei prädikatenlogische Klauseln und seien K 1, K 2 zwei Grundinstanzen hiervon, die aussagenlogisch resolvierbar sind und den Resolventen R ergeben. Dann gibt es einen prädikatenlogischen Resolventen R von K 1, K 2, so dass R eine Grundinstanz von R ist. K 1 K 1 R R : Resolution : Substitution K 2 K 2 Barbara König Logik 224

Aussagenlogik Beispiel zum Lifting-Lemma {P(f (x)), Q(x)} [x/g(a)] {P(f (g(a))), Q(g(a))} {Q(g(y))} [y/a] {Q(g(a))} { P(f (g(y)))} [y/a] { P(f (g(a)))} Barbara König Logik 225

Resolutionssatz Resolutionssatz der Sei F eine Aussage in Skolemform mit einer Matrix F in KNF. Dann gilt: F ist unerfüllbar genau dann, wenn Res (F ). (Dabei bezeichnet Res die Bildung aller möglichen prädikatenlogischen Resolventen.) Für den Beweis des Resolutionssatzes benötigen wir noch den Begriff des Allabschlusses... Barbara König Logik 226

Resolutionssatz Für eine Formel H mit freien Variablen x 1,..., x n bezeichnen wir mit H = x 1 x 2... x n H ihren Allabschluss. Sei F eine Aussage in Skolemform und sei F deren Matrix in KNF, so gilt: F F Beispiel: F = P(x, y) Q(y, x) K F K F x y(p(x, y) Q(y, x)) x yp(x, y) x y( Q(y, x)) Barbara König Logik 227

Resolutionssatz Beweisskizze (Resolutionssatz): Korrektheit: Falls R ein Resolvent von Klauseln K 1, K 2 ist, dann kann man zeigen, dass K 1 K 2 = R. Die weitere Argumentation ist analog zur Aussagenlogik: die leere Klausel (eine unerfüllbare Formel) folgt aus F, damit ist F selbst unerfüllbar. Vollständigkeit: Wenn F unerfüllbar ist, dann gibt es einen Grundresolutionsbeweis, bei dem die leere Klausel abgeleitet wird. Mit Hilfe des Lifting-Lemmas kann dieser Beweis als prädikatenlogischer Resolutionsbeweis nachgebaut werden, wobei ebenfalls die leere Klausel entsteht. Barbara König Logik 228

Verfeinerung der Resolution (Ausblick) Probleme bei der prädikatenlogischen Resolution: Zu viele Wahlmöglichkeiten Immer noch zu viele Sackgassen Kombinatorische Explosion des Suchraums Lösungsansätze: Strategien und Heuristiken: Verbieten bestimmter Resolutionsschritte, Suchraum wird dadurch eingeschränkt Vorsicht: Die Vollständigkeit darf dadurch nicht verloren gehen! Barbara König Logik 229

Beispiele Ist die Klauselmenge {{P(f (x))}, { P(f (x)), Q(f (x), x)}, { Q(f (a), f (f (a)))}, { P(x), Q(x, f (x))}} unerfüllbar? Barbara König Logik 230

Beispiele Wir betrachten folgende Klauselmenge (Beispiel aus dem Buch von Schöning): F = {{ P(x), Q(x), R(x, f (x))}, { P(x), Q(x), S(f (x))}, {T (a)}, {P(a)}, { R(a, x), T (x)}, { T (x), Q(x)}, { T (x), S(x)}} und zeigen ihre Unerfüllbarkeit mit Hilfe des Resolutionstheorembeweisers otter (siehe auch die Vorstellung von otter im Kapitel Aussagenlogik ). Barbara König Logik 231

Beispiele Wir betrachten folgende prädikatenlogische Formel: F = x(p(x) P(f (x))) Ist diese Formel gültig, erfüllbar oder unerfüllbar? Was passiert, wenn sie als Eingabe für einen Resolutionstheorembeweiser (wie beispielsweise otter) verwendet wird? Diese Formel ist erfüllbar: otter leitet immer neue Klauseln ab und terminiert nicht. Barbara König Logik 232

Beispiele Das Affe-Banane-Problem (Teil 1) (A1) Ein Tier, das Arme hat und nahe bei einem Ding ist, kann das Ding erreichen. (A2) Ein Tier auf einem hohen Gegenstand, der unter den Bananen steht, ist nahe bei den Bananen. (A3) Wenn ein Tier in einem Raum einen Gegenstand zu einem Ding schiebt, die beide im Raum sind, dann ist das Ding nahe am Boden oder der Gegenstand ist unter dem Ding. (A4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf dem Gegenstand. (A5) Der Affe ist ein Tier, das Arme hat. Barbara König Logik 233

Beispiele Das Affe-Banane-Problem (Teil 2) (A6) Der Stuhl ist ein hoher Gegenstand. (A7) Die Bananen sind ein Ding. (A8) Der Affe, die Bananen und der Stuhl sind im Raum. (A9) Der Affe kann den Stuhl unter die Bananen schieben. (A10) Die Bananen sind nicht nahe am Boden. (A11) Der Affe kann den Stuhl ersteigen. (S?) Kann der Affe die Bananen erreichen? Barbara König Logik 234

Beispiele Schema für die Lösung solcher Probleme: Seien A 1,..., A n die Axiome oder Voraussetzungen und S die Schlussfolgerung. Um zu zeigen, dass A 1 A n S gültig ist, zeigen wir, dass A 1 A n S unerfüllbar ist. Barbara König Logik 235

Beispiele Gruppentheorie Gruppe: Menge G mit Verknüpfung : G G G (Infix-Notation) Axiome: ist assoziativ. Es gibt ein neutrales Element e, d.h., für alle x G gilt e x = x. Jedes Element x hat ein Inverses x 1, so dass gilt x 1 x = e. Wir verwenden das Prädikatsymbol Equal (für die Gleichheit) und das zweistellige Funktionssymbol o (für die Verknüpfung). Barbara König Logik 236

Beispiele Die Gruppenaxiome lassen sich folgendermaßen formalisieren: Assoziativität x y zequal(o(o(x, y), z), o(x, o(y, z))) Links-Neutrales und links-inverses Element x y(equal(o(x, y), y) zequal(o(z, y), x)) Nach Skolemisierung: y(equal(o(e, y), y) Equal(o(i(y), y), e) (Neue Konstante e und neue einstellige Funktion i) Barbara König Logik 237

Beispiele Zu beweisende Aussagen: Links-Neutrales ist auch Rechts-Neutrales xequal(o(x, e), x) Nach Negierung und Skolemisierung: Equal(o(a, e), a) Links-Inverses ist auch Rechts-Inverses xequal(o(x, i(x)), e) Nach Negierung und Skolemisierung: Equal(o(a, i(a)), e) Barbara König Logik 238

Beispiele Zu beweisende Aussagen: Jede Gruppe, in der x x = e für alle x gilt, ist kommutativ xequal(o(x, x), e) x y(equal(o(x, y), o(y, x))) Nach Negierung und Skolemisierung: x(equal(o(x, x), e) Equal(o(a, b), o(b, a))) Barbara König Logik 239

Beispiele Zusätzlich werden noch benötigt: Axiome für das Prädikatsymbol Equal (Gleichheit), insbesondere Reflexivität, Symmetrie, Transitivität und Erhaltung unter Prädikaten und Funktionen. Die effizientere Variante ist jedoch, die eingebaute Gleichheitsbehandlung von otter zu nutzen. Dann kann mit Hilfe eines Resolutionsbeweisers wie otter die Gültigkeit obiger Folgerungen gezeigt werden. Hinweis: Gruppentheorie ist mit 1. Stufe beschreibbar. Theorien (wie beispielsweise die Arithmetik), die auch Quantifizierung über Prädikate oder Mengen und damit höherer Stufe benötigen, sind mit den vorgestellten Methoden nicht behandelbar. Barbara König Logik 240

Anwendungen Formalisierung in otter, Teil 1 set(prolog_style_variables). set(knuth_bendix). list(sos). % Gleichheit ist reflexiv, symmetrisch, transitiv equal(x,x). -equal(x,y) equal(y,x). -equal(x,y) -equal(y,z) equal(x,z). % Gleichheit wird unter Operationen erhalten -equal(x,y) equal(i(x),i(y)). -equal(x,y) -equal(z,w) equal(o(x,z),o(y,w)). Barbara König Logik 241

Anwendungen Formalisierung in otter, Teil 2 % Assoziativitaet equal(o(o(x,y),z),o(x,o(y,z))). % (Links-)Neutrales Element equal(o(e,y),y). % (Links-)Inverses Element equal(o(i(y),y),e). Barbara König Logik 242

Anwendungen Formalisierung in otter, Teil 3 % Folgerung: Links-Inverses ist auch Rechts-Inverses -equal(o(a,i(a)),e). % Folgerung: Links-Neutrales ist auch Rechts-Neutrales % -equal(o(a,e),a). % Jede Gruppe mit X^2 = e fuer alle X ist kommutativ % equal(o(x,x),e). % -equal(o(a,b),o(b,a)). end_of_list. Barbara König Logik 243

Anwendungen Anwendungen der prädikatenlogischen Resolution Theorembeweiser: Beweis von Sätzen aus der Mathematik Verifikation: Beweis der Korrektheit von Programmen Schlussfolgerung in Expertensystemen Planungssysteme Logik-Programmierung (PROLOG) siehe nächstes Kapitel Bemerkung: Neben Resolution gibt es noch weitere Methoden, die Unerfüllbarkeit prädikatenlogischer Formeln zu zeigen, beispielsweise mit Hilfe von Tableau-Beweisen. Barbara König Logik 244

Motivation: Logik-Programmierung Wir betrachten sogenannte Hornklauseln, bei denen höchstens ein Literal positiv ist (analog zu den aussagenlogischen Hornformeln). Das führt zu einfacheren Resolutionsbeweisen, die im wesentlichen die Form von Ketten haben. Die dabei entstehenden Substitutionen kann man aufsammeln und als Lösung präsentieren. Auf dieser Idee basieren Logik-Programmiersprachen, wie beispielsweise PROLOG. Barbara König Logik 245

Motivation: Logik-Programmierung Beispiel: wir betrachten folgende Formalisierung der Addition F = x A(x, null, x) x y z (A(x, y, z) A(x, s(y), s(z))) Dabei ist A ein dreistelliges Prädikatsymbol mit der Bedeutung: A(x, y, z) genau dann, wenn x + y = z. Außerdem ist s eine einstellige Funktion, die die Nachfolgerfunktion (successor function) darstellen soll. Eine natürliche Zahl n soll so dargestellt werden: s n (null) = s(s(... (s( null))... )) }{{} n mal Des weiteren soll die Konstante null die 0 repräsentieren. Barbara König Logik 246

Motivation: Logik-Programmierung Wir wollen nun überprüfen, ob die Formel G = u A(s(s(s(null))), s(s(null)), u) aus dieser Formel ableitbar ist. D.h., gibt es ein u für das gilt 3 + 2 = u? Wir negieren und skolemisieren die Formel F G und erhalten folgende Klauselmenge: {{A(x, null, x)}, { A(x, y, z), A(x, s(y), s(z))}, { A(s(s(s(null))), s(s(null)), u)}} Dabei heißt die aus G entstandene Klausel Zielklausel. Barbara König Logik 247

Motivation: Logik-Programmierung Bemerkungen: Bei der Resolution dieser Klauseln reicht es aus, immer mit mindestens einer Klausel zu resolvieren, die nur aus negativen Literalen besteht. Wir beginnen die Resolution also mit der Zielklausel. Dabei entstehen als Resolventen wiederum nur Klauseln, die nur aus negativen Literalen bestehen. Barbara König Logik 248

Motivation: Logik-Programmierung { A(s(s(s(null))), s(s(null)), u)} s 1 =[] { A(s(s(s(null))), s(null), z)} s 1 =[] { A(s(s(s(null))), null, z )} { A(x, y, z), A(x, s(y), s(z))} s 2 = [] sub 1 = [u/s(z), x/s(s(s(null))), y/s(null)] { A(x, y, z), A(x, s(y), s(z))} s 2 = [z/z ] sub 2 = [z/s(z ), x/s(s(s(null))), y/null] {A(x, null, x)} s 1 =[] s 2 = [] sub 3 = [z /s(s(s(null))), x/s(s(s(null)))] Barbara König Logik 249

Motivation: Logik-Programmierung Wir sammeln alle Substitutionen auf, wenden sie auf u an und erhalten: u sub 1 sub 2 sub 3 = s(z) sub 2 sub 3 = s(s(z )) sub 3 = s(s(s(s(s(null))))) Das heißt, die leere Klausel kann abgeleitet werden, wenn man u durch s 5 (null) ersetzt. Das ist aber genau das Ergebnis der Addition 3 + 2. Diesen Prozess nennt man auch Antwortgenerierung. Barbara König Logik 250

Hornklauseln Definition (Hornklauselprogramm, Teil 1) Ein Hornklauselprogramm oder Logikprogramm ist eine Klauselmenge, in der jede Klausel höchstens ein positives Literal enthält. Die Klauseln werden folgendermaßen klassifiziert: Tatsachenklauseln: Klauseln der Form {P} mit einem positiven Literal P. PROLOG-Schreibweise: P. Prozedurklauseln: Klauseln der Form {P, Q 1,..., Q k }, die Folgerungen darstellen. PROLOG-Schreibweise: P : Q 1,..., Q k (: steht für ) Barbara König Logik 251

Hornklauseln Definition (Hornklauselprogramm, Teil 2) Tatsachen- und Prozedurklauseln nennt man auch Programmklauseln. Sie stellen das eigentliche Logikprogramm dar. Logikprogramme werden aufgerufen durch sogenannte Zielklauseln: Zielklausel: eine Klausel der Form { Q 1,..., Q k }, entspricht dem negierten Berechnungsziel PROLOG-Schreibweise:? Q 1,..., Q k Barbara König Logik 252

SLD-Resolution Folgende Form der Resolution funktioniert speziell für Hornklauseln: Definition (SLD-Resolution) Eine SLD-Resolutionsherleitung der leeren Klausel hat die rechts abgebildete Form, wobei G die Zielklausel ist, G 1, G 2,... nur aus negativen Literalen bestehen und K 1,..., K n Programmklauseln sind. G K 1 G 1 K 2 G 2. K n Die Abkürzung SLD steht für linear resolution with selection function for definite clauses Barbara König Logik 253

SLD-Resolution Satz (Vollständigkeit der SLD-Resolution) Sei F mit Zielklausel G ein unerfüllbares Hornklauselprogramm. Dann gibt es für F eine SLD-Resolutionsherleitung der leeren Klausel. Barbara König Logik 254

Deklarative Programmiersprache PROLOG Die Idee der Ermittlung eines Rechenergebnisses führt zur Definition einer Programmiersprache basierend auf Hornklauselprogrammen: PROLOG (entwickelt Anfang der siebziger Jahre). Dabei beschreiben die Programmklauseln das eigentlich Programm und die Zielklausel die zu bearbeitenden Anfrage. PROLOG ist, genau wie funktionale Programmiersprachen, eine deklarative Programmiersprache. Das heißt, es wird nicht so sehr beschrieben, wie etwas berechnet wird, sondern was berechnet werden soll. Barbara König Logik 255

Deklarative Programmiersprache PROLOG Imperativ Zustandsorientiert: Zustand eines Programms besteht aus Programmzähler und Belegung der Variablen (+ Heap) Programm besteht aus Befehlen, die diesen Zustand transformieren. Sprachen: FORTRAN, ALGOL, Pascal, Ada, C, Java Deklarativ Beschreibung einer Lösung durch Bedingungen, ohne genau zu spezifizieren, wie diese Lösung berechnet werden soll. Sprachen: Logik-Programmiersprachen: PROLOG; funktionale Sprachen: ML, OCaml, Haskell, Scheme, Lisp Barbara König Logik 256

Deklarative Programmiersprache PROLOG Beispiel: Hausbau Hausbau (imperativ): Hebe zunächst den Keller aus. Baue dann eine Süd-, Ost-, West- und Nordwand. Setze anschließend ein Dach auf die Wände. Hausbau (deklarativ): Ein Haus besteht aus einem Keller, der von vier Wänden umgeben ist, auf denen sich das Dach befindet. Barbara König Logik 257