Normalformen der Prädikatenlogik

Ähnliche Dokumente
Deduktion in der Prädikatenlogik

Deduktion. Semantische Folgerungsbeziehung. Syntaktische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Prädikatenlogik. Quantoren. Quantoren. Quantoren. Quantoren erlauben Aussagen über Mengen von Objekten des Diskursbereichs, für die ein Prädikat gilt

Deklarative Semantik

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Deduktion in der Aussagenlogik

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

SLD-Ableitungsbäume. G = B 1... B m. G die Menge aller SLD-Resolventen von G und definiten. G einen Nachfolger, der mit G markiert ist.

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

7. Prädikatenlogik. Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit.

f(1, 1) = 1, f(x, y) = 0 sonst üblicherweise Konjunktion, manchmal auch

Grundlagen der Programmierung

Logik für Informatiker

Prädikatenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Normalformen und Grenzen der Prädikatenlogik 1. Stufe

Logik für Informatiker

Syntax der Prädikatenlogik: Komplexe Formeln

Allgemeingültige Aussagen

Logik Vorlesung 10: Herbrand-Theorie

Resolution und Regeln

Logik Vorlesung 10: Herbrand-Theorie

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

Logik für Informatiker

Grundlagen der Theoretischen Informatik

Logische und funktionale Programmierung

Künstliche Intelligenz Logische Agenten & Resolution

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

Logik-Grundlagen. Syntax der Prädikatenlogik

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

Prädikatenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Normalformen und Grenzen der Prädikatenlogik 1. Stufe

Logik Vorlesung 7: Grundlagen Prädikatenlogik

Prädikatenlogik. Einführende Beispiele Geschwister x y ( u v (Eltern(u, v, x) Eltern(u, v, y) Geschwister(x, y)))

Beweisen mit Semantischen Tableaux

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

KAPITEL 5. Logik Aussagenlogik

Logik Vorlesung 9: Normalformen

Logik für Informatiker

Grundlagen der Logik

Prädikatenlogik: Syntax

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Logik für Informatiker

Logik Vorlesung 8: Modelle und Äquivalenz

3 Prädikatenlogik der 1. Stufe (PL1) Teil I

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Syntax der Prädikatenlogik: Variablen, Terme. Formeln. Freie und gebundene Variablen, Aussagen. Aufgabe

WS 2013/14. Diskrete Strukturen

Logik für Informatiker

TU9 Aussagenlogik. Daniela Andrade

Wissensbasierte Systeme 7. Prädikatenlogik

Alphabet der Prädikatenlogik

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

Eigenschaften der Resolution für PL1 Formeln

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Formale Systeme, WS 2013/2014. Lösungen zu Übungsblatt 5

Einführung in die Logik (Vorkurs)

Einführung in die Theoretische Informatik

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Substitution. Unifikation. Komposition der Substitution. Ausführung der Substitution

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Logic in a Nutshell. Christian Liguda

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

Grundlagen von Datenbanken

Grundbegriffe der Informatik

5.2 Logische Gültigkeit, Folgerung, Äquivalenz

Einführung in die mathematische Logik

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

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

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

Diskrete Strukturen. Sebastian Thomas RWTH Aachen Mathematische Logik

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

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

Eigenschaften der SLD-Resolution

Normalform. 2.1 Äquivalenz und Folgerung. 2.2 Die pränexe Normalform

3.2 Prädikatenlogik. WS 06/07 mod 321

Logik Vorlesung 5: Grundlagen Resolution

3. Prädikatenlogik. Im Sinne der Aussagenlogik sind das verschiedene Sätze, repräsentiert etwa durch A, B, C. Natürlich gilt nicht: A B = C

Was ist Logik? Was ist Logik? Logische Konnektoren. Aussagenlogik. Logik stellt Sprachen zur Darstellung von Wissen zur Verfügung

1 Aussagenlogischer Kalkül

Klausur zur Vorlesung Logik für Informatiker Sommersemester 2017

Transkript:

Normalformen der Prädikatenlogik prädikatenlogische Ausdrücke können in äquivalente Ausdrücke umgeformt werden Beispiel "X (mensch(x) Æ sterblich(x)) "X (ÿ mensch(x) sterblich(x)) "X (ÿ (mensch(x) Ÿ ÿ sterblich(x))) ÿ $ X (mensch(x) Ÿ ÿ sterblich(x))) Normalformen für prädikatenlogische Ausdrücke? Klauselform 1

Normalformen: Pränexform Pränexform Ein prädikatenlogischer Ausdruck ist in Pränexform, wenn er die Form Q 1 X 1 (Q 2 X 2... (Q n X n (A)...) hat, wobei Q i Quantoren sind, X i Variable und A keine Quantoren enthält. Beispiel ÿ "X (p(x,y)) Ÿ q(u) Ÿ ÿ ("Z (r(z)) s(w)) [Regel: ÿ "X (p(x)) $X (ÿ p(x))] [Regel: ÿ (P Ÿ Q) (ÿ P ÿ Q)] $X (ÿ p(x,y)) Ÿ q(u) Ÿ ÿ "Z (r(z)) Ÿ ÿ s(w) [Regel: ÿ ("X (p(x))) $X (ÿ p(x))] $X (ÿ p(x,y)) Ÿ q(u) Ÿ $Z (ÿ r(z)) Ÿ ÿ s(w) [Regel: ($X P) Ÿ Q $X (P Ÿ Q)] [Regel: Assoziativität von Ÿ] $X $Z (ÿ p(x,y) Ÿ q(u) Ÿ ÿ r(z) Ÿ ÿ s(w)) Zu jeder prädikatenlogischen Formel gibt es (mindestens) eine logisch äquivalente Pränexform. Klauselform 2

Normalformen: Klauselform Klauselform Ein geschlossener prädikatenlogischer Ausdruck ist in Klauselform, wenn er die Form "X1 ("X2..."Xn A)...) hat, wobei Xi alle Variablen sind, die in A auftauchen, A keine Quantoren enthält und die Form einer Disjunktion von atomaren Ausdrücken oder deren Negation hat. Beispiel Ausdruck "X (mensch(x) Æ sterblich(x)) Pränexform wie gegeben Klauselform "X (ÿ mensch(x) sterblich(x)) Klauselform 3

Umwandlung in Klauselform Eine Menge von prädikatenlogischen Ausdrücken kann in eine Menge von Klauseln transformiert werden, die genau dann konsistent ist, wenn die Ausgangsmenge konsistent ist. Die Umwandlung eines Ausdrucks in Klauselform geschieht in 8 Schritten Beispiel " X (" Y p(x, Y) Æ (" Y (q(x, Y) Æ r(x, Y)))) 1. Wir eliminieren Æ und erhalten " X ( " Y p(x, Y) (" Y ( q(x, Y) r(x, Y)))) [Regel: (p Æ q) ( p q)] 2. Wir verteilen die Negationen, sodass jede Negation nur auf ein Atom wirkt, und erhalten " X ($ Y p(x, Y) $ Y (q(x, Y) Ÿ r(x, Y))) [Regel: ÿ "X (p(x)) $X (ÿ p(x))] [Regel: ÿ $X (p(x)) "X (ÿ p(x))] [Regel: p p] [Regel: De Morgan] 3. Wir benennen die Variablen um, sodass jede Variable nur einmal quantifiziert wird, und erhalten " X ($ Y p(x, Y) $ Z (q(x, Z) Ÿ r(x, Z))) Klauselform 4

Umwandlung in Klauselform 4. Wir eliminieren alle existentiellen Quantoren. Wenn ein existentieller Quantor nicht im Gültigkeitsbereich eines universellen Quantors vorkommt, ersetzen wir jedes Auftauchen der quantifizierten Variablen durch eine bisher nicht verwendete Konstante (Skolemkonstante). [Regel: $ X p(x) Æ p(a)] Wenn ein existentieller Quantor im Gültigkeitsbereich universeller Quantoren vorkommt, dann ist es möglich, dass die existentiell quantifizierte Variable von den universell quantifizierten abhängt. Wir ersetzen sie daher durch eine bisher nicht verwendete Funktion der universell quantifizierten Variablen (Skolemfunktion). [Regel: " X ($ Y p(x, Y)) Æ " X p(x, f(x))] Ergebnis für das Beispiel: " X ( p(x, f1(x)) (q(x, f2(x)) Ÿ r(x, f2(x)))) 5. Alle verbleibenden Variablen sind nun universell quantifiziert. Wir können die universellen Quantoren daher auch fortlassen. Alle Variablen werden implizit als universell quantifiziert betrachtet. p(x, f1(x)) (q(x, f2(x)) Ÿ r(x, f2(x))) Klauselform 5

Umwandlung in Klauselform 6. Wir bringen den Satz in konjunktive Normalform d.h. eine Konjunktion von Disjunktionen. ( p(x, f1(x)) q(x, f2(x))) Ÿ ( p(x, f1(x)) r(x, f2(x))) [Regel: (p (q Ÿ r)) ((p q) Ÿ (p r))] 7. Wir eliminieren alle konjunktiven Konnektoren und schreiben die Konjunktion als eine Menge von Klauseln. { p(x, f1(x)) q(x, f2(x)), p(x, f1(x)) r(x, f2(x))} 8. Zum Schluss benennen wir die Variablen noch einmal um, sodass keine Variable in mehr als einer Klausel auftaucht. { p(x, f1(x)) q(x, f2(x)), p(y, f1(y)) r(y, f2(y))} (NB. Wird in Prolog nicht immer gemacht.) Die Umwandlung eines Ausdrucks in Klauselform kann automatisch ausgeführt werden, z.b. bei der Umwandlung von natürlichsprachlichen Ausdrücken in Prädikatenlogik und dann in Klauselform. Klauselform 6

Klauselform der Prädikatenlogik Klausel ist Aussage der Form P 1 P 2... P n ÿ N 1 ÿ N 2... ÿ N m Pi und Ni sind logische Atome Pi positive Literale, ÿ N i negative Literale alle Variablen sind implizit vor der Klausel universell quantifiziert äquivalente Formen P 1 P 2... P n ÿ N 1 ÿ N 2... ÿ N m P 1 P 2... P n ÿ (N 1 Ÿ N 2 Ÿ... Ÿ N m ) N 1 Ÿ N 2 Ÿ... Ÿ N m Æ P 1 P 2... P n Notation der logischen Programmierung P 1 P 2... P n ÿ N 1 ÿ N 2... ÿ N m P 1, P 2,..., P n N 1, N 2,..., N m (Kommata auf der linken Seite bedeuten Disjunktion, auf der rechten Seite Konjunktion) Klauselform 7

Definite Klauseln definite Klauseln enthalten genau ein positives Literal H ÿ B 1 ÿ B 2... ÿ B n werden meistens als nach links gerichtete Implikation geschrieben H B 1, B 2,..., B n. (n 0) (Prolog: :- statt ) Notationen Atom H heisst Kopf Konjunktion B 1, B 2,..., B n Körper Kommata stehen für die logische Konjunktion alle Variablen sind implizit vor der Klausel universell quantifiziert Klausel heisst Regel, wenn n>0 Klausel heisst Fakt, wenn n=0 ( wird dann oft fortgelassen) Fakt kann als Regel mit dem Körper true betrachtet werden Klauselform 8

Definite Programme Ein definites Programm ist eine endliche Menge von definiten Klauseln. Beispiel pfad(x, Y) verbunden(x, Y). pfad(x, Y) verbunden(x, Z), pfad(z, Y). verbunden(a, b). Prolog-Programme sind definite Programme In Prolog werden üblicherweise die gleichen Variablennamen in den Klauseln eines Prädikats verwendet. Es wird dabei vorausgesetzt, dass X in den Klauseln für verschiedene Variablen steht. D.h. der Skopus einer Variablen ist die Klausel, in der sie steht. Klauselform 9

Zielklauseln, Anfragen Klauseln, die nur negative Literale enthalten "(ÿg 1 ÿg 2... ÿg m ) können zu ÿ$ X 1... X k (G 1 Ÿ G 2 Ÿ... Ÿ G m ) ("universelle Hülle) umgeformt werden, wobei X 1... X k die Variablen der Klausel sind Die Klausel behauptet, dass es keine Instanzen der Variablen X 1... X k gibt, sodass die Konjunktion der Ziele G i wahr ist. Eine solche Klausel wird definite Zielklausel genannt und als Anfrage verstanden, die durch Widerspruch beantwortet werden kann. Meistens geschrieben G 1, G 2,..., G n. (Prolog:?- G 1, G 2,..., G n.) Beispiel pfad(a, b). Definite Klauseln und definite Zielklauseln werden zusammen Horn-Klauseln genannt. Klauselform 10

Semantik definiter Programme Die Semantik eines definiten Programms P kann durch Modelltheorie definiert werden, d.h. durch die Abbildung von Elementen des Programms P auf Elemente eines Bereichs. Der einfachste Bereich, der nur von der Sprache L abhängt, in der P geschrieben ist, wird Herbrand- Universum U(P) genannt. Er besteht aus allen variablenfreien Termen, die aus den Konstanten und Funktionssymbolen von L gebildet werden können. Beispielprogramm P 1 pfad(x, Y) verbunden(x, Y). pfad(x, Y) verbunden(x, Z), pfad(z, Y). verbunden(a, b). Herbrand-Universum U(P 1 ) = {a, b} Herbrand-Basis B(P) ist die Menge aller variablenfreien Atome von P. B(P 1 ) = {pfad(a,a), pfad(a,b), pfad(b,a), pfad(b,b), verbunden(a,a), verbunden(a,b), verbunden(b,a), verbunden(b,b)} Klauselform 11

Semantik definiter Programme Jede Teilmenge der Herbrand-Basis B(P) wird als Herbrand-Interpretation I bezeichnet. I enthält die Atome, die als wahr interpretiert werden. Eine Herbrand-Interpretation I ist ein Herbrand-Modell eines Programms P genau dann, wenn I das Programm P erfüllt. Für P 1 gibt es 28 verschiedene Herbrand-Interpretationen I 1 = {} I 2 = {pfad(a,a)}... I M = {pfad(a,b), verbunden(a,b)}... von denen jede, die mindestens die Elemente von I M enthält, ein Herbrand-Modell von P 1 ist. Der Durchschnitt zweier Herbrand-Modelle ist wieder ein Herbrand-Modell. Der Durchschnitt aller Herbrand-Modelle ist I M und wird das kleinste Herbrand-Modell M(P 1 ) genannt. Klauselform 12

Semantik definiter Programme M(P 1 ) ist eindeutig und enthält als Elemente genau die variablenfreien Atome A, die die logische Konsequenz von P 1 sind, d.h. M(P 1 ) = {A Œ B(P 1 ) P 1 = A} Ein definites Programm hat genau dann ein Modell, wenn es ein Herbrand-Modell besitzt. Das minimale Herbrand-Modell M(P) eines Programms P kann auch als Fixpunkt einer Funktion T P definiert werden. T P bildet eine Herbrand-Interpretation I auf eine Herbrand-Interpretation T P (I) ab, die aus der Menge Atome A besteht, wobei A entweder eine variablenfreie Instanz eines Fakts aus P ist, oder der Kopf einer variablenfreien Instanz einer Regel aus P, deren Körper-Atome in I enthalten sind. Beispiel P 1 I 0 = {} I 1 = T P (I 0 ) = {verbunden(a, b)} I 2 = T P (I 1 ) = {verbunden(a, b), pfad(a, b)} I 3 = T P (I 2 ) = {verbunden(a, b), pfad(a, b)} = I 2 = M(P1) Der kleinste Fixpunkt von T P ist identisch mit dem kleinsten Herbrand-Modell M(P) von P. T P wird in Modellgeneratoren implementiert Klauselform 13