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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

2 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

3 Wer sind wir? Dozentin: Prof. Barbara König Raum LF barbara Sprechstunde: nach Vereinbarung Web-Seite: Barbara König Logik 3

4 Wer sind wir? Übungsleitung: Dennis Nolte Raum LF Übungsleitung: Dr. Harsh Beohar Raum LF Barbara König Logik 4

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

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

7 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 bereitgestellt. Barbara König Logik 7

8 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

9 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: (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

10 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

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

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

13 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

14 Geschichte der Logik Beginn in Griechenland: Aristoteles ( 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

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

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

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

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

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

32 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

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

34 Logik-Tools Aussagenlogik: SAT-Solver: Überprüfen der Erfüllbarkeit von aussagenlogischen Formeln limboole ( : Anschauliche Lehrsoftware für die Tarski s World Theorembeweiser für die 1. Stufe (basierend auf Resolution) otter ( Barbara König Logik 34

35 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

36 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

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

46 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

47 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 A B A B A A Barbara König Logik 47

48 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

49 Resolution Verknüpfungstafeln (II) Tafeln für die Operatoren, : A B A B Name: Implikation, Folgerung A B A B 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

50 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

51 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

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

53 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

54 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

55 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

56 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

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

58 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

59 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

60 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

61 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

62 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

63 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

64 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

65 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

66 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

67 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

68 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

69 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

70 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

71 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

72 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

73 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

74 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

75 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

76 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

77 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

78 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

79 Resolution Ablesen von DNF und KNF aus Wahrheitstafel A B C F 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

80 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

81 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

82 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

83 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

84 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

85 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

86 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

87 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

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

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

90 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

91 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

92 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

93 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

94 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

95 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

96 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

97 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

98 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

99 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

100 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

101 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

102 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

103 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

104 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

105 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

106 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

107 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

108 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

109 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

110 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

111 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

112 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

113 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

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 }} Barbara König Logik 114

115 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

116 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

117 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

118 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

119 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

120 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

121 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

122 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

123 Resolution Beispiel mit otter Wir verwenden otter einen Theorembeweiser basierend auf Resolution. 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

124 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

125 Resolution Beispiel mit otter Textuelle Ausgabe von otter PROOF [] 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

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

127 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

128 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

129 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

130 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

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

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

133 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 = 729 atomaren Formeln lassen sich nun die Sudoku-Spielregeln mit Hilfe der Aussagenlogik formalisieren. Barbara König Logik 127

134 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

135 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 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

136 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

137 Syntax der : Variablen, Terme Definition (Syntax der ) Eine Variable hat die Form x i mit i = 1, 2, 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, 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

138 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

139 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

140 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

141 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

142 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

143 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

144 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

145 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

146 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

147 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

148 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

149 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

150 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

151 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

152 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

153 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

154 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

155 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

156 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

157 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

158 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

159 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

160 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

161 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

162 Tarski s World Screenshot Barbara König Logik 156

163 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

164 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

165 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

166 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

167 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

168 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

169 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

170 Ä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

171 Ä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

172 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

173 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

174 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

175 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

176 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

177 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

178 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

179 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

180 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

181 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

182 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

183 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

184 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

185 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

186 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

187 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

188 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

189 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

190 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

191 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

192 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

193 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

194 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

195 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

196 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

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

198 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

199 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

200 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

201 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

202 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

203 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

204 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

205 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

206 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

207 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

208 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

209 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

210 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

211 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

212 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

213 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

214 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

215 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

216 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

217 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

218 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

219 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

220 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

221 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

222 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

223 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

224 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

225 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

226 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

227 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

228 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

229 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

230 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

231 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

232 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

233 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

234 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

235 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

236 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

237 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

238 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

239 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

240 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

241 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

242 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

243 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

244 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

245 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

246 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

247 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

248 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

249 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

250 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

251 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

252 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

253 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 = 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

254 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

255 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

256 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 Diesen Prozess nennt man auch Antwortgenerierung. Barbara König Logik 250

257 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

258 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

259 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

260 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

261 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

262 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

263 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

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

Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume & Dr. Sander Bruggink Barbara König Logik 1 (Motivation) Wir benötigen Algorithmen für Erfüllbarkeitstests,

Mehr

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

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4 Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)

Mehr

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

Resolution (Motivation) Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Resolution (Idee) Resolution (Idee) (Motivation) Vorlesung Logik Sommersemester 0 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Wir benötigen Algorithmen für Erfüllbarkeitstests, die zumindest in vielen Fällen gutartiges

Mehr

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

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Barbara König Logik 1 Mengen, Relationen und Funktionen Menge: Menge X von Elementen,

Mehr

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

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

Mehr

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

Geschichte der Logik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Syllogismen (I) Syllogismen (II) Geschichte der Logik Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Beginn in Griechenland: Aristoteles (384 322 v.chr.) untersucht das Wesen

Mehr

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

Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Dr. Harsh Beohar Barbara König Logik 1 Barbara König Logik 2 Das heutige Programm: Organisatorisches

Mehr

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

Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Barbara König Logik 1 Das heutige Programm: Organisatorisches Vorstellung Ablauf

Mehr

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

Vorlesung Logik Wintersemester 2018/19 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2018/19 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Richard Eggert Barbara König Logik 1 Das heutige Programm: Organisatorisches Vorstellung Ablauf

Mehr

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

Vorlesung Logik Wintersemester 2014/15 Universität Duisburg-Essen Vorlesung Logik Wintersemester 2014/15 Universität Duisburg-Essen Barbara König Übungsleitung: Dr. Sander Bruggink, Dennis Nolte Barbara König Logik 1 Barbara König Logik 2 Das heutige Programm: Organisatorisches

Mehr

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

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/?? Ä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, gilt A(F ) = A(G). Hierfür schreiben wir F G.. 1/?? Aufgabe Gelten

Mehr

/26

/26 7 8 3 3 7 2 8 2 8. /2 Sudoku 2 2 3 3 7 7 8 8 8 Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem 3x3 Kästchen alle Zahlen von bis stehen.. 2/2 Warum? 7 8 3 3 7 2 8

Mehr

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

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen. Wer sind wir? Wer sind wir? Das heutige Programm: Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und der

Mehr

Vorlesung Logik Wintersemester 2016/17 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: Vorlesung Logik Wintersemester 2016/17 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und der

Mehr

Sudoku. Warum 6? Warum 6?

Sudoku. Warum 6? Warum 6? . / Sudoku Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem x Kästchen alle Zahlen von bis stehen.. / Warum?. / Warum?. / Geschichte der Logik Syllogismen (I) Beginn

Mehr

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

Vorlesung Logik Wintersemester 2018/19 Universität Duisburg-Essen. Wer sind wir? Wer sind wir? Das heutige Programm: Vorlesung Logik Wintersemester 2018/19 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Richard Eggert Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und

Mehr

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

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

Mehr

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

Resolution (Idee) Aus der Herleitung der leeren Disjunktion (= leere Klausel) folgt Unerfüllbarkeit. Resolution (Idee) (F A) (F A) (F A) (F A) (F F ) Aus der Herleitung der leeren Disjunktion (= leere Klausel) folgt Unerfüllbarkeit. Zwei Fragen: Kann man aus einer unerfüllbaren Formel immer die leere

Mehr

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

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

Mehr

Theoretische Informatik: Logik

Theoretische Informatik: Logik Theoretische Informatik: Logik Vorlesung mit Übungen im WS 2006/2007 Vorlesung: Montag Montag 9-10 Uhr, Raum 1603 WAneu 14-16 Uhr, Raum 1603 WAneu Beginn: Montag, den 23.10.2006, 9 15 Uhr. Übungen in 3

Mehr

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem: Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem: 4 4 4 4 4 1 1 1 1 2 2 3 3 5 5 5 5 5 5 6 6 6 7 7 8 8 9 9 9 9 9 8 6 Verwenden Sie dazu eine atomare Formel A[n, x, y] für jedes Tripel (n,

Mehr

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

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 Formale der Informatik 1 Kapitel 15 Folgerbarkeit, Äquivalenzen und Normalformen Frank Heitmann heitmann@informatik.uni-hamburg.de 8. Juni 2015 Syntax Definition (Syntax der Aussagenlogik) Mit AS AL sei

Mehr

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015 Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015 Prof. Barbara König Übungsleitung: Jan Stückrath Barbara König Automaten und Formale Sprachen 1 Das heutige Programm:

Mehr

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

Logik. Markus Lohrey. Wintersemester 2012/2013. Universität Leipzig. Markus Lohrey (Universität Leipzig) Logik Wintersem. Logik Markus Lohrey Universität Leipzig Wintersemester 2012/2013 Markus Lohrey (Universität Leipzig) Logik Wintersem. 2012/2013 1 / 214 Organisatorisches zur Vorlesung Informationen finden Sie unter z.

Mehr

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

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

Mehr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem

Mehr

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

Logik. Markus Lohrey. Sommersemester Universität Siegen. Markus Lohrey (Universität Siegen) Logik Sommersem / 299 Logik Markus Lohrey Universität Siegen Sommersemester 2014 Markus Lohrey (Universität Siegen) Logik Sommersem. 2014 1 / 299 Organisatorisches zur Vorlesung Informationen finden Sie unter z. B. http://www.eti.uni-siegen.de/ti/lehre/ss14/logik/

Mehr

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

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2. Theorie der Informatik 24. Februar 2014 2. Aussagenlogik II Theorie der Informatik 2. Aussagenlogik II 2.1 Äquivalenzen Malte Helmert Gabriele Röger 2.2 Vereinfachte Schreibweise Universität Basel 24.

Mehr

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.

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. Grundlagen der Mathematik für Informatiker 1 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage)

Mehr

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

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung Formale der Informatik 1 Kapitel 15 und Frank Heitmann heitmann@informatik.uni-hamburg.de 30. Mai 2016 Zusammenfassung Syntax Zusammenfassung Syntax: Motivation Definition der Syntax: Alphabet, Junktor

Mehr

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 30. Mai 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/42 Zusammenfassung Syntax

Mehr

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution Computational Logic Algorithmische Logik Boolesche Algebra und Resolution Ralf Moeller Hamburg Univ. of Technology Boole'sche Algebra Äquivalenzen als "Transformationsgesetze" Ersetzbarkeitstheorem Zentrale

Mehr

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

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren: Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

Mehr

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ß.) =?

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ß.) =? Grundlagen der Mathematik für Informatiker 1 Grundlagen der Mathematik für Informatiker 2 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl.

Mehr

Logik Vorlesung 5: Grundlagen Resolution

Logik Vorlesung 5: Grundlagen Resolution Logik Vorlesung 5: Grundlagen Resolution Andreas Maletti 21. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere

Mehr

Logische Äquivalenz. Definition Beispiel 2.23

Logische Äquivalenz. Definition Beispiel 2.23 Logische Äquivalenz Definition 2.22 Zwei aussagenlogische Formeln α, β A heißen logisch äquivalent, falls für jede Belegung I von α und β gilt: Schreibweise: α β. Beispiel 2.23 Aus Folgerung 2.6 ergibt

Mehr

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.

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. Grundlagen der Mathematik für Informatiker 1 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage)

Mehr

Ersetzbarkeitstheorem

Ersetzbarkeitstheorem Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen

Mehr

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

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17. Wer sind wir? Willkommen zu Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17 Prof. Barbara König Übungsleitung: Sebastian Küpper Willkommen zu Berechenbarkeit und Komplexität (Bachelor Angewandte Informatik, Duisburg

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 06.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax (Formeln) Semantik Wertebelegungen/Valuationen/Modelle

Mehr

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Logik Vorlesung 4: Horn-Logik und Kompaktheit Logik Vorlesung 4: Horn-Logik und Kompaktheit Andreas Maletti 14. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

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

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1 Aussagenlogik Formale Methoden der Informatik WiSe 22/23 teil 6, folie Teil VI: Aussagenlogik. Einführung 2. Boolesche Funktionen 3. Boolesche Schaltungen Franz-Josef Radermacher & Uwe Schöning, Fakultät

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 4 7.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

1 Aussagenlogik AL: Verknüpfung von Aussagen

1 Aussagenlogik AL: Verknüpfung von Aussagen 1 Aussagenlogik AL: Verknüpfung von Aussagen Syntax atomare Formeln A,B,C sind AL-Formeln F und G AL-Formeln (F G),(F G) und F AL-Formeln müssen in endlich vielen Schritten gebildet werden können echtes

Mehr

Vorlesung Automaten und Formale Sprachen Sommersemester 2018

Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Barbara König Automaten und Formale Sprachen 1 Das heutige Programm: Organisatorisches

Mehr

Logik Vorlesung 3: Äquivalenz und Normalformen

Logik Vorlesung 3: Äquivalenz und Normalformen Logik Vorlesung 3: Äquivalenz und Normalformen Andreas Maletti 7. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

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

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2013/14 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2013/14 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara

Mehr

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de Mit der Aussagenlogik lassen sich einfache Verknüpfungen zwischen (atomaren) Gebilden ausdrücken

Mehr

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

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Jan Stückrath Barbara König BeKo/TI 1 Willkommen

Mehr

Grundlagen der Logik

Grundlagen der Logik Grundlagen der Logik Denken Menschen logisch? Selektionsaufgabe nach Watson (1966): Gegeben sind vier Karten von denen jede auf der einen Seite mit einem Buchstaben, auf der anderen Seite mit einer Zahl

Mehr

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

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25 Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/25 Einführendes Beispiel Falls Lisa Peter trifft, dann trifft Lisa auch Gregor.

Mehr

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 2: Logik 1 Prädikatenlogik (Einleitung) 2 Aussagenlogik Motivation Grundlagen Eigenschaften Eigenschaften Normalformen

Mehr

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

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation Wozu formale Logik? Logik im Fingerhut Studiengang Informatik Universität Bremen präzise Beschreibung von Aussagen über die Welt bzw. über verschiedene Welten Ziehen und Überprüfen von Schlussfolgerungen

Mehr

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 16. Resolution. Motivation. Beispiel rundlagen und Motivation Formale rundlagen der Informatik 1 Kapitel 16 Frank Heitmann heitmann@informatik.uni-hamburg.de 31. Mai 2016 Motivation Wir benötigen einen (Un-)Erfüllbarkeitstest für aussagenlogische

Mehr

Beispiel Aussagenlogik nach Schöning: Logik...

Beispiel Aussagenlogik nach Schöning: Logik... Beispiel Aussagenlogik nach Schöning: Logik... Worin besteht das Geheimnis Ihres langen Lebens? wurde ein 100-jähriger gefragt. Ich halte mich streng an die Diätregeln: Wenn ich kein Bier zu einer Mahlzeit

Mehr

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

Übung 15. Zeige, dass man jede Formel äquivalent in eine neue Formel umwandeln kann, die nur die Operatoren und! verwendet. Logik und Diskrete Strukturen (Sommer 28) Übung 5 Zeige, dass man jede Formel äquivalent in eine neue Formel umwandeln kann, die nur die Operatoren und! verwendet. Zum Beweis muss man nur prüfen, dass

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

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

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf

Mehr

Deduktion in der Aussagenlogik

Deduktion in der Aussagenlogik Deduktion in der Aussagenlogik Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches. Was folgt logisch aus dieser Theorie? Deduktion: aus

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 5 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Normalformen Atome, Literale, Klauseln Konjunktive

Mehr

Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik

Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de 23. Mai 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/42 Literaturhinweis Literaturhinweis

Mehr

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

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung Deduktion in der Aussagenlogik Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches Was folgt logisch aus dieser Theorie? Deduktion: aus

Mehr

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

Frank Heitmann 2/42. 1 Etwas aus der realen Welt in der Logik abstrakt ausdrücken. 2 In der Logik Schlüsse ziehen. Literaturhinweis Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de 23. Mai 2016 Literaturhinweis Der Logikteil (die nächsten fünf Wochen)

Mehr

Aussagenlogik: Syntax von Aussagen

Aussagenlogik: Syntax von Aussagen Aussagenlogik: Syntax von Aussagen A ::= X (A A) (A A) ( A) (A A) (A A) 0 1 Prioritätsreihenfolge :,,,,. A B: Konjunktion (Verundung). A B: Disjunktion (Veroderung). A B: Implikation. A B: Äquivalenz.

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Ronja Düffel WS2018/19 01. Oktober 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis der

Mehr

Syntax der Aussagenlogik

Syntax der Aussagenlogik Einführende Beispiele bitte im Buch nachlesen: Uwe Schöning: Logik für Informatiker. 5. Auflage, Spektrum Akad. Verlag, 2. Definition: Syntax der Aussagenlogik ) Atomare Formeln (A i, i =, 2, 3,...)sindFormeln.

Mehr

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

FORMALE SYSTEME. 23. Vorlesung: Logisches Schließen. TU Dresden, 16. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 23. Vorlesung: Logisches Schließen Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 16. Januar 2017 Rückblick Markus Krötzsch, 16. Januar 2017 Formale Systeme Folie 2 von 31

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung

Mehr

Logik für Informatiker Logic for computer scientists

Logik für Informatiker Logic for computer scientists Logik für Informatiker Logic for computer scientists Till Mossakowski Wintersemester 2014/15 Till Mossakowski Logik 1/ 24 Die Booleschen Junktoren Till Mossakowski Logik 2/ 24 Die Negation Wahrheitstafel

Mehr

Klauselmengen. Definition Sei

Klauselmengen. Definition Sei Klauselmengen Definition 2.38 Sei α = (p 11... p 1k1 )... (p n1... p nkn ) eine in aussagenlogische Formel in KNF. Dann heißen die Mengen {p i1,..., p iki }, 1 i n, der jeweils disjunktiv verknüpften Literale

Mehr

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

23. Vorlesung: Logisches Schließen Markus Kr otzsch Professur f ur Wissensbasierte Systeme Normalformen Logik: Glossar FORMALE SYSTEME 23. Vorlesung: Logisches Schließen Markus Krötzsch Professur für Wissensbasierte Systeme TU Dresden, 15. Januar 2018 Atom kleinste mögliche Formel p P Teilformel Unterausdruck,

Mehr

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

Aufgabe 13 (Markierungsalgorithmus). Gegeben ist die Formel F = (A D C) (E A) ( ( B D) E) A B (B D) INTA - Lösungshinweise zum Übungsblatt 4, Version 1.0α. Wenn sie Fehler finden oder Ihnen etwas auch nach dem Gespräch mit ihren Kommilitonen noch unklar ist, dann schicken sie mir bitte eine Email! Aufgabe

Mehr

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

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir? Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Das heutige Programm Organisatorisches Vorstellung Ablauf der Vorlesung

Mehr

Einführung in die Logik (Vorkurs)

Einführung in die Logik (Vorkurs) Einführung in die Logik (Vorkurs) Jürgen Koslowski 2014-04-07 Ein Beispiel Familie A will im kommenden Jahr eine Waschmaschine, ein Auto und ein Moped anschaffen. Aber falls Herr A seinen üblichen Bonus

Mehr

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12 Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Barbara König Modellierung 1 Das heutige Programm Organisatorisches

Mehr

Vorlesung Logik SoSe 2014

Vorlesung Logik SoSe 2014 Vorlesung Logik SoSe 2014 Prof.Dr. Jacobo Torán Mo 12 14, H20 Übungen: Simon Straub 1 Logik Logik ist ein Versuch zur Formalisierung und Mechanisierung des menschlischen Schließens. In der formalen Logik

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 2 28.04.2015 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Organisatorisches Termine Donnerstags: 30.04.2015 nicht

Mehr

3. Grundlegende Begriffe von Logiken - Aussagenlogik

3. Grundlegende Begriffe von Logiken - Aussagenlogik 3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,

Mehr

b= NaN

b= NaN 42 Beispiel: IEEE single precision: 0 10000000 00000000000000000000000 b= + 2 128 127 1.0 2 = 2 0 10000001 10100000000000000000000 b= + 2 129 127 1.101 2 = 6.5 1 10000001 10100000000000000000000 b= 2 129

Mehr

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

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37 Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/37 Modellierungsaufgabe Es gibt drei Tauben und zwei Löcher. Jede Taube soll in

Mehr

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

1.1 Grundbegriffe. Logik und Diskrete Strukturen (Sommer 2018) Prof. Dr. Ulrich Hertrampf . Grundbegriffe Beispiele: Paris und Mäuse / Otto und der Arzt /... Definition: Syntax der Aussagenlogik ) Atomare Formeln (A i, i =, 2, 3,...)sindFormeln. 2) Falls F und G Formeln, dann auch (F ^ G) und

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 5 8.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

Was bisher geschah: klassische Aussagenlogik

Was bisher geschah: klassische Aussagenlogik Was bisher geschah: klassische Aussagenlogik Syntax Symbole und Struktur Junktoren: t, f,,,,, aussagenlogische Formeln AL(P) induktive Definition: IA Atome (Aussagenvariablen) p, q, r,... P IS zusammengesetzte

Mehr

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

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen Vorbemerkungen if (x > y) z = x; else z = y; Wenn es blaue Tiger regnet, dann fressen alle Kirschbäume schwarze Tomaten. q(1) = 1, q(i) = q(i 1) + 2i 1 für i 2 Welchen Wert hat q(6)? 24 ist durch 2 teilbar.

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Sommersemester 2018 Ronja Düffel 14. März 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis

Mehr

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

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14 Logik Logik Vorkurs Informatik Theoretischer Teil WS 2013/14 30. September 2013 Logik > Logik > logische Aussagen Logik Logik > Logik > logische Aussagen Motivation Logik spielt in der Informatik eine

Mehr

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

Der Hilbert-Kalkül für die Aussagenlogik (Notizen zur Vorlesung Logik im Wintersemester 2003/04 an der Universität Stuttgart) Der Hilbert-Kalkül für die Aussagenlogik (Notizen zur Vorlesung Logik im Wintersemester 2003/04 an der Universität Stuttgart) Javier Esparza und Barbara König 4. Dezember 2003 Für eine gegebene aussagenlogische

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 4. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der Aussagenlogik:

Mehr

Logic in a Nutshell. Christian Liguda

Logic in a Nutshell. Christian Liguda Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung

Mehr

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

FORMALE SYSTEME. 10. Januar Aussagenlogik. Logische Schlussfolgerung. Happy 80th Birthday, Don Knuth! 10. Januar 2018 FORMALE SYSTEME 22. Vorlesung: Äquivalenzen und Normalformen Markus Krötzsch Professur für Wissensbasierte Systeme TU Dresden, 11. Januar 2018 Happy 80th Birthday, Don Knuth! If you find

Mehr

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

1.1 Motivation. Theorie der Informatik. Theorie der Informatik. 1.1 Motivation. 1.2 Syntax. 1.3 Semantik. 1.4 Formeleigenschaften. 1. Theorie der Informatik 19. Februar 2014 1. Aussagenlogik I Theorie der Informatik 1. Aussagenlogik I Malte Helmert Gabriele Röger Universität Basel 19. Februar 2014 1.1 Motivation 1.2 Syntax 1.3 Semantik

Mehr

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

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser Informatik A Prof. Dr. Norbert Fuhr fuhr@uni-duisburg.de auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser 1 Teil I Logik 2 Geschichte R. Descartes (17. Jhdt): klassische

Mehr

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil Formale Grundlagen der Informatik 1 zum Logik-Teil Frank Heitmann heitmann@informatik.uni-hamburg.de 20. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/32 Überblick Im hatten wir Aussagenlogik

Mehr