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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

2 Barbara König Logik 2

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

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

5 Wer sind wir? Übungsleitung: Dr. Sander Bruggink Raum LF 265 Übungsleitung: Dennis Nolte Raum LF 263 Barbara König Logik 5

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

7 Termine der Übungsgruppen/Tutorien Übungsgruppen (zur Besprechung der Übungsblätter): Gruppe Tag Uhrzeit Raum 1 Mittwoch 16:00 18:00 LE 105 2A Donnerstag 10:00 12:00 LC 137 2B Donnerstag 10:00 12:00 LF Donnerstag 12:00 14:00 LE Donnerstag 14:00 16:00 LF Donnerstag 16:00 18:00 LF Freitag 8:00 10:00 LF Freitag 12:00 14:00 LE 120 Barbara König Logik 7

8 Hinweise zu den Übungen Die Übungen und Tutorien beginnen in der dritten Vorlesungswoche am Mittwoch, den 29. 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 8

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

10 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-2-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 2014/15 (Ingenieurwissenschaften Informatik und Angewandte Kognitionswissenschaft) ein. Bitte mit Uni-Kennung anmelden! Zugangsschlüssel:... Barbara König Logik 10

11 Prüfung Klausur am Ende des Semesters. Voraussichtlicher Termin: Mittwoch, 4. März 2015, 8:30-10:30 Uhr Räume: LX 1203, LX 1205 Anmeldung über das Prüfungsamt Wenn Sie 50% der Übungspunkte erzielt haben, so erhalten Sie einen Bonus für die Klausur. (Für das Vorrechnen in der Übung gibt es 10 Extrapunkte.) Auswirkung: Verbesserung um eine Notenstufe; z.b. von 2,3 auf 2,0 Bonuspunkte aus dem WS 2013/14 (oder früher) gelten nicht mehr! Barbara König Logik 11

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

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

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

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

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

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

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

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

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

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

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

23 Anwendungen in der Informatik (II) Theorembeweiser: Der Computer beweist mathematische Sätze automatischer Beweis von wichtigen Sätzen im Bereich der Booleschen Algebren 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 23

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

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

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

27 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 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))) Barbara König Logik 32

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

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

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

36 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 1 i 3 oder i = 7}. Barbara König Logik 36

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

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

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

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

41 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) R. Anschaulich: jedem Element der Menge X wird genau ein Element der Menge Y zugeordnet. Barbara König Logik 41

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

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

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

45 Resolution Teilformel Die Teilformeln einer Formel F entsprechen dann 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 45

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

64 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, gilt A(F ) = A(G). Hierfür schreiben wir F G. Barbara König Logik 64

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

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

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

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

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

70 Resolution Gültigkeits- und Erfüllbarkeitstests mit limboole 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.) Anders als andere Werkzeuge konvertiert limboole selbst die Eingabe in (konjunktive) Normalform. Es gibt noch zahlreiche andere Tools dieser Art, die normalerweise als SAT-Solver bezeichnet werden. Einige davon sind inzwischen auch effizienter als limboole. Barbara König Logik 70

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

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

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

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

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

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

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

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

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

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

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

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

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

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

85 Resolution Umformungsmethode (in KNF) Gegeben: eine Formel F. 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 85

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 }} A 4 wird mit 0 belegt Barbara König Logik 115

117 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 115

118 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 116

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 116

120 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 116

121 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 117

122 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 118

123 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 119

124 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 120

125 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 121

126 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 122

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

128 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 124

129 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 125

130 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 126

131 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 127

132 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 127

133 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 127

134 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 128

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

136 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 130

137 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 131

138 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 132

139 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 133

140 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 134

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

142 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 136

143 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 137

144 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 138

145 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 139

146 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 140

147 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 141

148 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 142

149 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 143

150 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 von 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 144

151 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 145

152 Semantik der : Strukturen Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert der Formeln 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 146

153 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 147

154 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 148

155 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 149

156 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 150

157 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 151

158 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 152

159 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 153

160 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 154

161 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 155

162 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 156

163 Tarski s World Screenshot Barbara König Logik 157

164 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 158

165 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 159

166 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 160

167 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 161

168 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 162

169 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 163

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

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

172 Ä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 166

173 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 167

174 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 168

175 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 169

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

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

178 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 172

179 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 173

180 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 174

181 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. 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 175

182 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 176

183 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 177

184 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 178

185 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 179

186 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 180

187 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 181

188 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 182

189 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 183

190 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 184

191 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 185

192 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 186

193 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 187

194 Der fundamentale Satz der Satz Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar, wenn F ein Herbrand-Modell besitzt. Barbara König Logik 188

195 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 189

196 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 190

197 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 191

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

199 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 193

200 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. Es gilt: Barbara König Logik 194

201 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 195

202 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 196

203 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 197

204 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, dann kann der Algorithmus auch stoppen und erfüllbar ausgeben. Barbara König Logik 198

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

206 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 200

207 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 201

208 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 202

209 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 203

210 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 204

211 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 die leere Klausel abgeleitet werden kann. Barbara König Logik 205

212 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 206

213 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 207

214 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 208

215 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 Klauseln 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 209

216 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 210

217 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 211

218 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 212

219 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 213

220 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 214

221 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 215

222 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 216

223 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 217

224 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 218

225 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 219

226 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 220

227 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 221

228 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 222

229 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 223

230 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 224

231 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 225

232 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 226

233 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 227

234 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 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)} { A(x, y, z), A(x, s(y), s(z))} sub 1 = [u/s(z), x/s(s(s(null))), y/s(null)] { A(s(s(s(null))), s(null), z)} { A(x, y, z ), A(x, s(y), s(z ))} sub 2 = [z/s(z ), x/s(s(s(null))), y/null] { A(s(s(s(null))), null, z )} sub 3 = {A(x, null, x)} [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 Prozedurale Interpretation der Resolution Prozedurale Interpretation Sei F mit Zielklausel G = G 0 ein Hornklauselprogramm mit einer SLD-Resolutionsherleitung (wie zuvor beschrieben). Wir schreiben (G i, sub i ) F (G i+1, sub i s), falls G i+1 der Resolvent von G i und einer Programmklausel K i+1 ist, wobei die Variablen in K i+1 so umbenannt wurden, dass G i und K i+1 keine gemeinsamen Variablen haben. Außerdem ist s der bei der Resolution entstehende allgemeinste Unifikator. Barbara König Logik 255

262 Prozedurale Interpretation der Resolution Definition (Rechnung) Sei F ein Logikprogramm mit Zielklausel G. Die Rechnung eines Hornklauselprogramms ist eine (endliche oder unendliche) Folge der Form (G, []) F (G 1, sub 1 ) F (G 2, sub 2 ) F... Wenn es sich um eine endliche Rechnung handelt und das letzte Paar die Form (, sub) hat, dann heißt die Rechnung erfolgreich und sub angewandt auf G heißt das Rechenergebnis. Barbara König Logik 256

263 Prozedurale Interpretation der Resolution Bemerkungen: Gegenüber herkömmlichen SLD-Resolutionen werden hier noch zusätzlich die Unifikatoren mitgeführt. Rechnungen können nicht-deterministisch sein und es kann daher mehrere mögliche Rechenergebnisse geben. Barbara König Logik 257

264 Prozedurale Interpretation der Resolution Satz von Clark Sei F ein Logik-Programm und G =? A 1,..., A k eine Zielklausel. Korrektheit: Falls es eine erfolgreiche Rechnung von F mit Zielklausel G und Ergebnissubstitution sub gibt, dann ist jede Grundinstanz von (A 1 A n )sub eine Folgerung von F. Vollständigkeit: Falls jede Grundinstanz von (A 1 A n )sub Folgerung von F ist, so gibt es eine erfolgreiche Rechnung von F mit Zielklausel G mit dem Ergebnis sub, so dass für eine geeignete Substitution s gilt: (A 1 A n )sub = (A 1 A n )sub s Barbara König Logik 258

265 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 259

266 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 260

267 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 261

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

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

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

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

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

Hilbert-Kalkül (Einführung)

Hilbert-Kalkül (Einführung) Hilbert-Kalkül (Einführung) Es gibt viele verschiedene Kalküle, mit denen sich durch syntaktische Umformungen zeigen läßt, ob eine Formel gültig bzw. unerfüllbar ist. Zwei Gruppen von Kalkülen: Kalküle

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Kapitel 1.3 Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Mathematische Logik (WS 2011/12) Kapitel 1.3: Normalformen 1/ 29 Übersicht

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter

Mehr

Teil 7. Grundlagen Logik

Teil 7. Grundlagen Logik Teil 7 Grundlagen Logik Was ist Logik? etymologische Herkunft: griechisch bedeutet Wort, Rede, Lehre (s.a. Faust I ) Logik als Argumentation: Alle Menschen sind sterblich. Sokrates ist ein Mensch. Also

Mehr

Die Folgerungsbeziehung

Die Folgerungsbeziehung Kapitel 2: Aussagenlogik Abschnitt 2.1: Syntax und Semantik Die Folgerungsbeziehung Definition 2.15 Eine Formel ψ AL folgt aus einer Formelmenge Φ AL (wir schreiben: Φ = ψ), wenn für jede Interpretation

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Kapitel 1.3 Normalformen aussagenlogischer Formeln Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Boolesche Formeln, Literale und Klauseln Eine Boolesche Formel ist eine aussagenlogische

Mehr

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik Grundzeichen Aussagenlogik Aussagenvariablen P, Q, R,... Junktoren nicht und oder Runde Klammern (, ) Formeln Aussagenlogik Formeln sind spezielle Zeichenreihen aus Grundzeichen, und zwar 1 Jede Aussagenvariable

Mehr

Normalformen boolescher Funktionen

Normalformen boolescher Funktionen Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion

Mehr

Logik Vorlesung 6: Resolution

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

Mehr

Brückenkurs Mathematik

Brückenkurs Mathematik Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume

Mehr

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen Prädikatenlogik 1. Stufe (kurz: PL1) Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen notwendig: Existenz- und Allaussagen Beispiel: 54 Syntax der Prädikatenlogik erster Stufe (in der

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

Mehr

wichtiger, effizient zu behandelnder Spezialfall (benannt nach Alfred Horn)

wichtiger, effizient zu behandelnder Spezialfall (benannt nach Alfred Horn) 2.4 Hornformeln wichtiger, effizient zu behandelnder Spezialfall (benannt nach Alfred Horn) Def.: (Hornformel) Eine Formel F ist eine Hornformel, falls F in KNF ist und jedes Konjunktionsglied (also jede

Mehr

Einführung in die Mathematik (Vorkurs 1 )

Einführung in die Mathematik (Vorkurs 1 ) Einführung in die Mathematik (Vorkurs 1 ) Wintersemester 2008/09 Dr. J. Jordan Institut für Mathematik Universität Würzburg Germany 1 Modulbezeichnung 10-M-VKM 1 Inhaltsverzeichnis 1 Aussagen und Beweise

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010 Klausur Formale Systeme Fakultät für Informatik Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 A1 (15) A2 (10) A3 (10) A4

Mehr

Aufgabe - Fortsetzung

Aufgabe - Fortsetzung Aufgabe - Fortsetzung NF: Nicht-Formel F: Formel A: Aussage x :( y : Q(x, y) R(x, y)) z :(Q(z, x) R(y, z)) y :(R(x, y) Q(x, z)) x :( P(x) P(f (a))) P(x) x : P(x) x y :((P(y) Q(x, y)) P(x)) x x : Q(x, x)

Mehr

Semantic Web Technologies I!

Semantic Web Technologies I! www.semantic-web-grundlagen.de Semantic Web Technologies I! Lehrveranstaltung im WS11/12! Dr. Elena Simperl! DP Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de Logik Grundlagen!

Mehr

Informatik A (Autor: Max Willert)

Informatik A (Autor: Max Willert) 2. Aufgabenblatt Wintersemester 2012/2013 - Musterlösung Informatik A (Autor: Max Willert) 1. Logik im Alltag (a) Restaurant A wirbt mit dem Slogan Gutes Essen ist nicht billig!, das danebenliegende Restaurant

Mehr

Logik: aussagenlogische Formeln und Wahrheitstafeln

Logik: aussagenlogische Formeln und Wahrheitstafeln FH Gießen-Friedberg, Sommersemester 2010 Lösungen zu Übungsblatt 1 Diskrete Mathematik (Informatik) 7./9. April 2010 Prof. Dr. Hans-Rudolf Metz Logik: aussagenlogische Formeln und Wahrheitstafeln Aufgabe

Mehr

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre Vorlesung Einführung in die mathematische Sprache und naive Mengenlehre Allgemeines RUD26 Erwin-Schrödinger-Zentrum (ESZ) RUD25 Johann-von-Neumann-Haus Fachschaft Menge aller Studenten eines Institutes

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

Mütze und Handschuhe trägt er nie zusammen. Handschuhe und Schal trägt er immer zugleich. (h s) Modellierung als Klauselmenge

Mütze und Handschuhe trägt er nie zusammen. Handschuhe und Schal trägt er immer zugleich. (h s) Modellierung als Klauselmenge Was bisher geschah Klassische Aussagenlogik: Syntax Semantik semantische Äquivalenz und Folgern syntaktisches Ableiten (Resolution) Modellierung in Aussagenlogik: Wissensrepräsentation, Schaltungslogik,

Mehr

9. Übung Formale Grundlagen der Informatik

9. Übung Formale Grundlagen der Informatik Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)

Mehr

Mathematischer Vorbereitungskurs für das MINT-Studium

Mathematischer Vorbereitungskurs für das MINT-Studium Mathematischer Vorbereitungskurs für das MINT-Studium Dr. B. Hallouet b.hallouet@mx.uni-saarland.de WS 2016/2017 Vorlesung 2 MINT Mathekurs WS 2016/2017 1 / 20 Studienlexikon: Zeitangabe an der Universität

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

5. Aussagenlogik und Schaltalgebra

5. Aussagenlogik und Schaltalgebra 5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft

Mehr

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise: Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 29/ Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws9

Mehr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 7. Aussagenlogik Analytische Tableaus Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Der aussagenlogische Tableaukalkül

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 19 & Die ist eine Erweiterung der Aussagenlogik. Sie hat eine größere Ausdrucksstärke und erlaub eine feinere Differenzierung. Ferner sind Beziehungen/Relationen

Mehr

Konjunktive und disjunktive Normalformen

Konjunktive und disjunktive Normalformen Konjunktive und disjunktive Normalformen Nachdem gesprochen wurde, wie man Boolesche Terme unter einer Belegung der Variablen interpretiert und dass somit jeder Boolesche Term eine Boolesche Funktion repräsentiert,

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 A1 (15) A2 (10) A3 (10) A4

Mehr

23.1 Constraint-Netze

23.1 Constraint-Netze Grundlagen der Künstlichen Intelligenz 1. April 2015 2. Constraint-Satisfaction-Probleme: Constraint-Netze Grundlagen der Künstlichen Intelligenz 2. Constraint-Satisfaction-Probleme: Constraint-Netze Malte

Mehr

Weitere Beweistechniken und aussagenlogische Modellierung

Weitere Beweistechniken und aussagenlogische Modellierung Weitere Beweistechniken und aussagenlogische Modellierung Vorlesung Logik in der Informatik, HU Berlin 2. Übungsstunde Aussagenlogische Modellierung Die Mensa versucht ständig, ihr Angebot an die Wünsche

Mehr

Semantic Web Technologies I Lehrveranstaltung im WS13/14

Semantic Web Technologies I Lehrveranstaltung im WS13/14 www.semantic-web-grundlagen.de Semantic Web Technologies I Lehrveranstaltung im WS13/14 Dr. Andreas Harth Dipl.-Inf. Martin Junghans Logik Grundlagen Einleitung und Ausblick XML und URIs Einführung in

Mehr

Theoretische Informatik SS 03 Übung 11

Theoretische Informatik SS 03 Übung 11 Theoretische Informatik SS 03 Übung 11 Aufgabe 1 Zeigen Sie, dass es eine einfachere Reduktion (als die in der Vorlesung durchgeführte) von SAT auf 3KNF-SAT gibt, wenn man annimmt, dass die Formel des

Mehr

Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004

Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004 Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004 In der letzten Vorlesung haben wir gesehen, wie man die einzelnen Zahlenbereiche aufbaut. Uns fehlen nur noch die reellen Zahlen (siehe

Mehr

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015 Prüfungsprotokoll Kurs 1825 Logik für Informatiker Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015 1. Aussagenlogik Alphabet und AS gegeben, wie sind die Aussagenlogischen

Mehr

Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen

Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Barbara König Logik 1 Motivation: Wir beschäftigen uns nun im folgenden mit der, die gegenüber

Mehr

Rhetorik und Argumentationstheorie.

Rhetorik und Argumentationstheorie. Rhetorik und Argumentationstheorie 2 [frederik.gierlinger@univie.ac.at] Teil 2 Was ist ein Beweis? 2 Wichtige Grundlagen Tautologie nennt man eine zusammengesetzte Aussage, die wahr ist, unabhängig vom

Mehr

Mathematik 1 für Wirtschaftsinformatik

Mathematik 1 für Wirtschaftsinformatik für Wirtschaftsinformatik Wintersemester 2012/13 Hochschule Augsburg : Gliederung 1 Grundlegende 2 Grundlegende 3 Aussagenlogik 4 Komplexe Zahlen 5 Lineare Algebra 6 Lineare Programme 2 Grundlegende

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei

Mehr

Klausur Formale Systeme Fakultät für Informatik 2. Klausur zum WS 2010/2011

Klausur Formale Systeme Fakultät für Informatik 2. Klausur zum WS 2010/2011 Fakultät für Informatik 2. Klausur zum WS 2010/2011 Prof. Dr. Bernhard Beckert 08. April 2011 Vorname: Matrikel-Nr.: Platz: Klausur-ID: **Platz** **Id** Die Bearbeitungszeit beträgt 60 Minuten. A1 (17)

Mehr

6. Induktives Beweisen - Themenübersicht

6. Induktives Beweisen - Themenübersicht 6. Induktives Beweisen - Themenübersicht Ordnungsrelationen Partielle Ordnungen Quasiordnungen Totale Ordnungen Striktordnungen Ordnungen und Teilstrukturen Noethersche Induktion Anwendung: Terminierungsbeweise

Mehr

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert

Mehr

Logik, Mengen und Abbildungen

Logik, Mengen und Abbildungen Kapitel 1 Logik, Mengen und bbildungen Josef Leydold Mathematik für VW WS 2016/17 1 Logik, Mengen und bbildungen 1 / 26 ussage Um Mathematik betreiben zu können, sind ein paar Grundkenntnisse der mathematischen

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Logik Vorlesung 1: Einführung

Logik Vorlesung 1: Einführung Logik Vorlesung 1: Einführung Andreas Maletti 17. Oktober 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere Eigenschaften

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Mathematik 1 für Informatik Inhalt Grundbegrie

Mathematik 1 für Informatik Inhalt Grundbegrie Mathematik 1 für Informatik Inhalt Grundbegrie Mengen, speziell Zahlenmengen Aussagenlogik, Beweistechniken Funktionen, Relationen Kombinatorik Abzählverfahren Binomialkoezienten Komplexität von Algorithmen

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Lösungen Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Kapitel I: Mengen Aufgabe

Mehr

Mengenlehre gibt es seit den achtziger Jahren des 19. Jahrhunderts. Sie wurde von

Mengenlehre gibt es seit den achtziger Jahren des 19. Jahrhunderts. Sie wurde von Grundbegriffe der Mengenlehre 2 Mengenlehre gibt es seit den achtziger Jahren des 19. Jahrhunderts. Sie wurde von Georg Cantor begründet. Der Begriffsapparat der Mengenlehre hat sich als so nützlich für

Mehr

Mathematik für Informatiker/Informatikerinnen 2

Mathematik für Informatiker/Informatikerinnen 2 Mathematik für Informatiker/Informatikerinnen 2 Koordinaten: Peter Buchholz Informatik IV Praktische Informatik Modellierung und Simulation Tel: 755 4746 Email: peter.buchholz@udo.edu OH 16, R 216 Sprechstunde

Mehr

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.) 3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

2 Mengen und Abbildungen

2 Mengen und Abbildungen 2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik. Kursleiter : W. Zimmer 1/24 Digitale Darstellung von Größen Eine Meßgröße ist digital, wenn sie in ihrem Wertebereich nur eine endliche Anzahl von Werten annehmen kann, also "abzählbar" ist. Digital kommt

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren) Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)

Mehr

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de Beschreibungslogiken Daniel Schradick 1schradi@informatik.uni-hamburg.de Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining

Mehr

Handout zu Beweistechniken

Handout zu Beweistechniken Handout zu Beweistechniken erstellt vom Lernzentrum Informatik auf Basis von [Kre13],[Bün] Inhaltsverzeichnis 1 Was ist ein Beweis? 2 2 Was ist Vorraussetzung, was ist Behauptung? 2 3 Beweisarten 3 3.1

Mehr

Grundlagen der Mengenlehre

Grundlagen der Mengenlehre mathe plus Grundlagen der Mengenlehre Seite 1 1 Grundbegriffe Grundlagen der Mengenlehre Def 1 Mengenbegriff nach Georg Cantor (1845-1918) Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

5. Vorlesung: Normalformen

5. Vorlesung: Normalformen 5. Vorlesung: Normalformen Wiederholung Vollständige Systeme Minterme Maxterme Disjunktive Normalform (DNF) Konjunktive Normalform (KNF) 1 XOR (Antivalenz) X X X X X X ( X X ) ( X X ) 1 2 1 2 1 2 1 2 1

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

Wissenschaftliches Arbeiten Quantitative Methoden

Wissenschaftliches Arbeiten Quantitative Methoden Wissenschaftliches Arbeiten Quantitative Methoden Prof. Dr. Stefan Nickel WS 2008 / 2009 Gliederung I. Motivation II. III. IV. Lesen mathematischer Symbole Wissenschaftliche Argumentation Matrizenrechnung

Mehr

SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER

SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER FORMALE SPRACHEN Wie jede natürliche Sprache, hat auch auch jede formale Sprache Syntax/Grammatik Semantik GRAMMATIK / SYNTAX Die Grammatik / Syntax einer formalen

Mehr

Empfehlenswerte Referenzen

Empfehlenswerte Referenzen Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein

Mehr

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle. Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...

Mehr

Deduktion in der Aussagenlogik

Deduktion in der Aussagenlogik Deduktion in der Aussagenlogik (Erläuterungen zu Kapitel 6, Teil 2 des FGI-1 Skriptes) Frank Heitmann 1 Motivation Wenn man sich erstmal darauf eingelassen hat, dass man mit Formeln etwas sinnvolles machen

Mehr

TU8 Beweismethoden. Daniela Andrade

TU8 Beweismethoden. Daniela Andrade TU8 Beweismethoden Daniela Andrade daniela.andrade@tum.de 12.12.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;) 2

Mehr

Induktive Definitionen

Induktive Definitionen Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive

Mehr

Übungen zu Logik und Künstliche Intelligenz Blatt 8

Übungen zu Logik und Künstliche Intelligenz Blatt 8 Heilbronn, den 14.5.2010 Prof. Dr. V. Stahl WS 10/11 Übungen zu Logik und Künstliche Intelligenz Blatt 8 Aufgabe 1. Überlegen Sie, wie man folgende Relationen R grafisch darstellen könnte und entscheiden

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr