Deduktion in der Prädikatenlogik

Werbung
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Deduktion in der Prädikatenlogik
Natürliche Deduktion: Existentieller Quantor
• Sprache der Prädikatenlogik ist mächtiger als die der
Aussagenlogik; damit verändern sich die Deduktionssysteme
• Einführung des existentiellen Quantors
• natürliche Deduktion: Schlussregeln der Aussagenlogik
gelten weiterhin und werden nur um Regeln für
Quantoren erweitert
• Resolution: Resolutionsregel wird um Unifikation
erweitert; oft Beschränkung auf Hornklauseln, d.h.
Klauseln mit höchstens einem positiven Literal
P{X/t}
--------- ∃I
∃X: P
Bedeutung: wenn man P für eine beliebige Substitution
{X/t} bewiesen hat, dann kann man schliessen, dass es
ein X gibt, für das P gilt.
• Eliminierung des existentiellen Quantors
[P]
.
.
Q ∃X: P
-------------- ∃E
Q
Bedeutung: wenn man Q aus P {X/t} für eine beliebige
Substitution {X/t} bewiesen hat und t nicht frei in P, in
Q oder in einer noch nicht gestrichenen Hypothese
vorkommt, dann kann man aus ∃X: P auf Q schliessen.
Weitere Logik: Deduktion in der Prädikatenlogik 1
Weitere Logik: Deduktion in der Prädikatenlogik 2
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Natürliche Deduktion: Universeller Quantor
Resolution: Klauselform der Prädikatenlogik
• Einführung des universellen Quantors
• Pränexform
P{X/t}
--------- ∀I
∀X: P
Bedeutung: wenn man P für eine beliebige Substitution
{X/t} bewiesen hat und t nicht frei in P oder in einer
noch nicht gestrichenen Hypothese vorkommt, dann
kann man schliessen, dass P für alle X gilt.
• Eliminierung des universellen Quantors
∀X: P
--------- ∀E
P{X/t}
Bedeutung: aus ∀X: P kann man schliessen, dass P für
eine Instanz P{X/t} gilt.
Ein prädikatenlogischer Ausdruck ist in Pränexform,
wenn er die Form (Q1X1: (Q2X2: ....QnXn: A) ...)) hat,
wobei Qi Quantoren sind, Xi Variable und A keine
Quantoren enthält.
• Klauselform
Ein prädikatenlogischer Ausdruck ist in Klauselform,
wenn er die Form (∀X1: (∀X 2 : ....∀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))
Weitere Logik: Deduktion in der Prädikatenlogik 3
Weitere Logik: Deduktion in der Prädikatenlogik 4
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Umwandlung in Klauselform
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
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.
(∃ Y: p(X)) → p(a)
• 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))))
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)))
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)))
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.
(∀ X: ∃ Y: p(X, Y)) → p(X, f(X))
Ergebnis:
∀ 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)))
Weitere Logik: Deduktion in der Prädikatenlogik 5
Weitere Logik: Deduktion in der Prädikatenlogik 6
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Umwandlung in Klauselform
Klauselform der Prädikatenlogik
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)))
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))
• Klausel ist Aussage der Form
P1 ∨ P2 ∨ ... ∨ Pn ∨ ¬ N1 ∨ ¬ N2 ∨ ... ∨ ¬ Nm
alle Variablen sind implizit vor der Klausel universell
quantifiziert
• äquivalente Formen
≡ P1 ∨ P2 ∨ ... ∨ Pn ∨ ¬ (N1 ∧ N2 ∧ ... ∧ Nm)
≡ N1 ∧ N2 ∧ ... ∧ Nm → P1 ∨ P2 ∨ ... ∨ Pn
• Notation der logischen Programmierung
≡ P1 , P2 , ... , Pn ← N1 , N2 , ... , Nm
(NB. Kommata auf der linken Seite bedeuten
Disjunktion, auf der rechten Seite Konjunktion)
¬ p(Y, f1(Y)) ∨ ¬ r(Y, f2(Y))
Weitere Logik: Deduktion in der Prädikatenlogik 7
Weitere Logik: Deduktion in der Prädikatenlogik 8
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Resolution mit Variablen
Substitutionen, Unifikatoren
• gegeben zwei Klauseln
• Begriffe
p(X1) ∨ q(X1)
[L] s bedeutet Anwendung der Substitution s auf das
Literal L
¬ p(a) ∨ r(X2, Y2)
Literal [L] s = L' ist eine Instanz von L
• Resolvente?
Literal L subsumiert seine Instanz L'
• Da alle Variablen universell quantifiziert sind, kann
man jede Variable durch einen Term aus dem
Wertebereich der Variablen substituieren.
• Im Beispiel ergibt die Substitution {X1/a} die
Klauselinstanzen
p(a) ∨ q(a)
• Unifikator
Wenn es für zwei Literale L1 und L2 eine
Substitution s gibt, sodass
[L1] s = [L2] s
dann nennen wir s einen Unifikator von L1 und L2.
¬ p(a) ∨ r(X2, Y2)
• allgemeinster Unifikator (most general unificator, mgu)
• Resolvente
Der Unifikator s ist genau dann der allgemeinste
Unifikator für L1 und L2 ist, wenn für jeden anderen
Unifikator s' gilt, dass das Literal [L1] s das Literal
[L1] s' subsumiert.
q(a) ∨ r(X2, Y2)
Der allgemeinste Unifikator ist bis auf Variablenumbenennungen eindeutig.
Weitere Logik: Deduktion in der Prädikatenlogik 9
Weitere Logik: Deduktion in der Prädikatenlogik 10
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Beispiel für allgemeinsten Unifikator
Wann unifizieren zwei Literale?
• Literale
• Relationszeichen (Prädikatsname) und Arität müssen
übereinstimmen
p(a, Y, Z)
• alle Argumente müssen unifiziert werden können
p(X, b, Z)
werden durch die Substitution s
{X/a, Y/b, Z/c}
Unifikation gelingt, wenn ein oder beide Argumente
Variable sind
Unifikation gelingt, wenn beide Argumente die
gleiche Konstante sind
unifiziert
[p(a, Y, Z)] {X/a, Y/b, Z/c} ≡
[p(X, b, Z)] {X/a, Y/b, Z/c} ≡
p(a, b, c)
Aber s ist nicht der allgemeinste Unifikator. Der
allgemeinste Unifikator ist in diesem Fall
Unifikation gelingt, wenn beide Argumente
zusammengesetzte Terme mit dem gleichen
Funktionszeichen (Funktionsnamen, Funktor) und
der gleichen Arität sind und alle Argumente
unifizieren
{X/a, Y/b}
mit der Instanz
[p(a, Y, Z)] {X/a, Y/b} ≡
[p(X, b, Z)] {X/a, Y/b} ≡
p(a, b, Z)
Weitere Logik: Deduktion in der Prädikatenlogik 11
Weitere Logik: Deduktion in der Prädikatenlogik 12
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Resolution mit Unifikation
Beispiel (Truss p. 313)
• Gegeben
• Beweis der Addition 2 + 2 = 4 in Peano Arithmetik
durch Resolution
Literal L1 in einer Klausel K1
Literal ¬ L2 in einer Klausel K2
L1 und L2 haben allgemeinsten Unifikator u
• Resolvente besteht aus der Vereinigungsmenge aller
Literale von K1 und K2 abzüglich L1 und ¬ L2, auf die
u angewandt wurde
K1
K2
------------------------------------[{K1 - {L1}} ∪ {K2 - {¬L2}}] u
• Beispiel
p(X,f(2)) ∨ q(X) ∨ ¬ r(X,Y)
s(V) ∨ ¬ p(4,V)
-----------------------------------------------------------------q(4) ∨ ¬ r(4,Y) ∨ s(f(2))
allgemeinster Unifikator ist {X/4, V/f(2)} denn es gilt
p(X,f(2)) {X/4, V/f(2)} = p(4,V) {X/4, V/f(2)}
Axiome
X+0=X
X + s(Y) = s(X + Y)
Theorem
s(s(0)) + s(s(0)) = s(s(s(s(0))))
• Mit den Abkürzungen
sX für s(X)
add(X,Y,Z) für X+Y=Z
lauten die Axiome
add(X, 0, X)
add(X,Y,Z) → add(X, sY, sZ)
und das Theorem
add(ss0, ss0, ssss0)
• Umwandlung in Klauselform
(1) add(X, 0, X)
(2) ¬ add(X, Y, Z) ∨ add(X, sY, sZ)
(3) ¬ add(ss0, ss0, ssss0)}
Weitere Logik: Deduktion in der Prädikatenlogik 13
(negiertes Theorem)
Weitere Logik: Deduktion in der Prädikatenlogik 14
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Beispiel (Truss p. 313)
Beispiel (Truss p. 313)
• Für den ersten Resolutionsschritt verwenden wir das
negierte Theorem (3) und die einzige passende Klausel
(2). (Das Literal der Klausel (3) unifiziert mit dem
Literal der Klausel (1) nicht.)
• Für den dritten Resolutionsschritt verwenden wir die
Resolvente (5) und Klausel (1).
(2) ¬ add(X,Y,Z) ∨ add(X,sY,sZ)
(3) ¬ add(ss0,ss0,ssss0)
mit dem mgu = {X/ss0, Y/s0, Z/sss0} erhalten wir die
Resolvente
(4) ¬ add(ss0, s0, sss0)
• Für den zweiten Resolutionsschritt verwenden wir die
Resolvente (4) und Klausel (2). Klausel (1) kommt
wieder nicht in Frage.
(4) ¬ add(ss0, s0, sss0)
(2) ¬ add(X, Y, Z) ∨ add(X, sY, sZ)
Mit dem mgu = {X/ss0, Y/0, Z/ss0} erhalten wir die
Resolvente
(5) ¬ add(ss0, 0, ss0)
Weitere Logik: Deduktion in der Prädikatenlogik 15
(5) ¬ add(ss0, 0, ss0)
(1) add(X, 0, X)
Mit dem mgu = {X/ss0} erhalten wir die Resolvente
(6) {}
• Die leere Resolvente bedeutet, dass die Klauselmenge
{(1), (2), (3)} inkonsistent ist und dass das Theorem aus
den Axiomen folgt, d.h. dass 2 + 2 = 4 in der Peano
Arithmetik gilt.
• Der Resolutionsbeweis hat eine Kombination von zwei
Beweisstrategien benutzt, um effizient und effektiv zur
leeren Klausel zu gelangen:
set-of-support
man benutzt das negierte Theorem als eine der
beiden Klauseln beim ersten Resolutionsschritt
lineare Resolution
man verwendet ab dem zweiten Resolutionsschritt
immer die Resolvente des vorherigen Schrittes als
eine der beiden Klauseln; die andere Klausel ist eines
der Axiome oder eine vorherige Resolvente
Weitere Logik: Deduktion in der Prädikatenlogik 16
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Beispiel (Truss p. 313): Variation
Beispiel (Truss p. 313): Variation
• Im Beispiel wurde die Addition 2+2=4 überprüft. Nun
wollen wir den Resolutionsbeweis konstruktiv verwenden, d.h. einen Wert "durch Beweis berechnen".
• Dritter Resolutionsschritt:
Welchen Wert muss W haben, damit W + 2 = 4?
(1) add(X, 0, X)
(5) ¬ add(W, 0, ss0)
mgu = {X/W, Y/0, X/ss0}
• Klauselform
(6) {}
(1) add(X, 0, X)
(2) ¬ add(X, Y, Z) ∨ add(X, sY, sZ)
(3) ¬ add(W, ss0, ssss0)}
(negiertes Theorem)
X wurde an ss0 gebunden, W an X, d.h. W an ss0.
Damit haben wir W de facto als ss0 berechnet.
• Erster Resolutionsschritt:
(2) ¬ add(X,Y,Z) ∨ add(X,sY,sZ)
(3) ¬ add(W,ss0,ssss0)
mgu = {X/W, Y/s0, Z/sss0}
(4) ¬ add(W, s0, sss0)
• Zweiter Resolutionsschritt:
(2) ¬ add(X,Y,Z) ∨ add(X,sY,sZ)
(4) ¬ add(W, s0, sss0)
mgu = {X/W, Y/0, Z/ss0}
(5) ¬ add(W, 0, ss0)
Weitere Logik: Deduktion in der Prädikatenlogik 17
Weitere Logik: Deduktion in der Prädikatenlogik 18
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Implementierung der Resolution in Prolog
Definite Klauseln
• Programmiersprache Prolog: Versuch, Resolution
effizient und effektiv zu machen
• definite Klauseln enthalten genau ein positives Literal
• Einschränkungen der Sprache auf Hornklauseln
• Verwendung der SLD Resolutionsstrategie
• Gewinn in Effizienz und Effektivität wird durch
Unvollständigkeit erkauft, d.h. es können nicht mehr
alle Lösungen durch Resolution gefunden werden
∀(H∨ ¬B1∨ ¬B2 ∨ ... ∨ ¬Bn)
werden meistens als nach links gerichtete
Implikation geschrieben
H ‹– B1, B2, ... , Bn. (n≥0)
(Prolog: :- statt ‹– )
Atom H heisst Kopf
Konjunktion B1, B2, ... , Bn 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
Weitere Logik: Deduktion in der Prädikatenlogik 19
Weitere Logik: Deduktion in der Prädikatenlogik 20
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Definite Programme
Zielklauseln, Anfragen
• definites Programm: endliche Menge von definiten
Klauseln
• Klauseln, die nur negative Literale enthalten
pfad(X, Y) ‹– verbunden(X, Y).
pfad(X, Y) ‹– verbunden(X, Z), pfad(Z, Y).
verbunden(a, b).
∀(¬G1 ∨ ¬G2 ∨ ... ∨ ¬Gm)
können zu
¬∃ X1 ... Xk (G1∧ G2 ∧ ... ∧ Gm)
umgeformt werden, wobei X1 ... Xk die Variablen der
Klausel sind
verbunden(b, c).
• Prolog-Programme sind definite Programme
• Bedeutung: es gibt keine Instanzen der Variablen X1 ...
Xk, sodass die Konjunktion der Ziele Gi wahr ist
• ∀(¬G1 ∨ ¬G2 ∨ ... ∨ ¬G m ) wird definite Zielklausel
genannt und als Anfrage verstanden, die durch Widerspruch beantwortet werden kann
• meistens geschrieben
‹– G1, G2, ... , Gn
(Prolog: ?- G1, G2, ... , Gn.)
• Beispiel
‹– pfad(a, b).
• definite Klauseln und definite Zielklauseln werden
zusammen Horn-Klauseln genannt
Weitere Logik: Deduktion in der Prädikatenlogik 21
Weitere Logik: Deduktion in der Prädikatenlogik 22
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
SLD Resolution
SLD Resolution
• gegeben sei das Prolog Programm
• Prolog verwendet Tiefensuche, um den SLD Baum
abzusuchen, bzw. zu generieren
pfad(X, Y) ‹– verbunden(X, Y).
pfad(X, Y) ‹– verbunden(X, Z), pfad(Z, Y).
verbunden(a, b).
verbunden(b, c).
und die Anfrage
‹– pfad(a, Wohin).
• Anfrage ‹– pfad(a, Wohin) wird durch Resolution
beantwortet und die Variable Wohin wird während des
Resolutionsbeweises an die Konstante b gebunden - der
Wert von Wohin wird als b berechnet
• Prolog verwendet eine Kombination von set-of-support
Resolution mit linearer Resolution
• wenn eine Resolvente aus mehr als einem Literal
besteht, wird immer das am weitesten links stehende
Literal für den nächsten Resolutionsschritt verwendet
• Resolventen bilden den SLD Baum; Wurzel des Baumes
ist die ursprüngliche Anfrage, Blätter des Baumes sind
entweder leere Resolventen – Refutationsbeweis ist
gelungen – oder nichtleeere Resolventen, für die kein
weiterer Resolutionsschritt möglich ist
Weitere Logik: Deduktion in der Prädikatenlogik 23
• wenn ein Blatt eine nichtleere Resolvente ist, dann wird
automatisch Backtracking ausgelöst, d.h. der Beweis
wird am nächsten vorangehenden Knoten des Baumes
vorgesetzt, der alternative Zweige hat; gibt es keine
alternativen Zweige, dann ist der Refutationsbeweis
misslungen
• Prolog ist nichtdeterministisch, d.h. Anfragen können
mehr als eine Lösung generieren; konkret hat die
Anfrage
‹– pfad(a, Wohin).
die Lösungen
Wohin = b
Wohin = c
• wenn im SLD Baum unendliche Zweige auftauchen,
dann verhindert die Tiefensuche, dass Zweige
abgesucht werden, die rechts vom unendlichen Zweig
sind; d.h. mögliche Lösungen werden nicht gefunden;
Prolog ist also potentiell unvollständig
Weitere Logik: Deduktion in der Prädikatenlogik 24
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Semantik der Prädikatenlogik
Semantik der Prädikatenlogik
• Wann sind Ausdrücke wie
• Beispiel
p(X)
Term p(X, q(a))
X>2
D sei die Menge der Peano Zahlen mit den
Funktionen s/1 und +/2
wahr?
• Ausdrücke erhalten ihren Wahrheitswert durch eine
Interpretation I und eine Variablenabbildung
(Variablenzuordnung) V in einem Wertebereich
(Diskursbereich) D
• Interpretation I
Konstante c
I(c) ∈D
Funktionszeichen f mit Arität n
I(f): Dn → D
Relationszeichen r mit Arität n
I(r) ⊆ Dn
I(a) = s(0)
I(p/2) = +/2
I(q/1) = s/1
V(X) = s(s(s(0)))
p(X, q(a)) --> +(s(s(s(0))), s(s(0))) = s(s(s(s(s(0))))) ∈D
• Variablenbelegung V
V(X) ∈D
Variable X
• Abbildung eines Terms t
Konstante c
I(t) = I(c) ∈D
Variable X
I(t) = V(X) ∈D
f(t1, ..., tn)
I(t) = I(f)(I(t1), ..., I(tn)) ∈D
Weitere Logik: Deduktion in der Prädikatenlogik 25
Weitere Logik: Deduktion in der Prädikatenlogik 26
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Semantik der Prädikatenlogik
Semantik der Prädikatenlogik
• Wahrheitswerte prädikatenlogischer Ausdrücke
• Beispiel
In der Interpretation I und der Variablenbelegung V
kann jedem prädikatenlogischen Ausdruck P ein
Wahrheitswert I(P) ∈ {W, F} zugeordnet werden.
• atomare Ausdrücke
Ausdruck even(p(X, q(a)))
D sei die Menge der Peano Zahlen mit den
Funktionen s/1 und +/2
I(a) = s(0)
Ausdruck ist r(t1 , ..., tn) mit dem Relationszeichen
r/n und den Termen t1, ..., tn. I(r(t1 , ..., tn)) = W
genau dann, wenn Tupel <I(t1), ..., I(tn)> ∈ I(r)
I(p/2) = +/2
I(q/1) = s/1
V(X) = s(s(s(0)))
I(⊥) = F
• komplexe Ausdrücke
I((P ∧ Q)) = I(P) ∧ I(Q)
I((P ∨ Q)) = I(P) ∨ I(Q)
I(even) = {0, s(s(0)), s(s(s(s(0)))), ...} ⊆D
p(X, q(a)) --> +(s(s(s(0))), s(s(0))) = s(s(s(s(s(0))))) ∈D
I(even(p(X, q(a)))) = F, denn s(s(s(s(s(0))))) ∉I(even)
I((P ⇒ Q)) = I(P) ⇒ I(Q)
I((¬P)) = ¬I(P)
I((∀X: P)) = W genau dann, wenn I(P) = W und das
auch für alle anderen Variablenbelegung gilt, die
man erhält, wenn man V an der Stelle X beliebig
abändert.
I((∃X: P)) = W genau dann, wenn I(P) = W oder das
für mindestens eine andere Variablenbelegung gilt,
die man erhält, wenn man V an der Stelle X beliebig
abändert.
Weitere Logik: Deduktion in der Prädikatenlogik 27
Weitere Logik: Deduktion in der Prädikatenlogik 28
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Modelle
Modelle: Beispiel
• Modelle
• gegeben sei die Menge von Ausdrücken
D sei ein Wertebereich, I eine Interpretation
Ein Ausdruck P wird in der Interpretation I wahr
genannt und I heisst ein Modell dieses Ausdrucks,
wenn P für alle Variablenbelegungen wahr ist.
Ist ein geschlossener Ausdruck für eine Variablenbelegung wahr, dann gilt das für alle Variablenbelegungen.
Es kann mehr als ein Modell geben.
• Menge von prädikatenlogischen Ausdrücken heisst
erfüllbar, wenn sie mindestens ein Modell hat
{p(a), ∀X: (p(X) ⇒ q(X))}
• Modell 1
I1(a) = Sokrates
I1(p) = menschlich: {Sokrates, Platon, Meier, ...}
I1(q) = sterblich: {Sokrates, Platon, Meier, ...}
• Modell 2
I2(a) = 8
I2(p) = durch_4_teilbar: {0, 4, 8, ...}
widerlegbar, wenn es mindestens eine Interpretation
gibt, die kein Modell ist
I2(q) = gerade: {0, 2, 4, ...}
tautologisch, wenn jede Interpretation ein Modell ist
• es gibt unendlich viele Modelle
inkonsistent, wenn sie kein Modell hat
• man interessiert sich jedoch meistens nur für das
i n t e n d i e r t e Modell und wählt die Namen von
Konstanten, Funktionen und Prädikaten entsprechend
{menschlich(sokrates), ∀X: (menschlich(X) ⇒ sterblich(X))}
• Wahl der Namen erhöht nur die Lesbarkeit; Namen
sind jedoch beliebig; es gibt nach wie vor unendlich
viele Modelle
• Schluss: logische Aussagen legen den Diskursbereich
nicht eindeutig fest
Weitere Logik: Deduktion in der Prädikatenlogik 29
Weitere Logik: Deduktion in der Prädikatenlogik 30
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Folgerungsrelation
Korrektheit und Vollständigkeit der
Prädikatenlogik
• Folgerungsrelation, logische Konsequenz
M und N sind Mengen prädikatenlogischer
Ausdrücke
Es gilt die logische Konsequenz M |= N, wenn jedes
Modell der Menge M auch ein Modell der Menge N
ist, d.h.
∀I ∈(Menge der Modelle): |= Ι M ⇒ |= Ι N
• Beispiel
• Korrektheit
Ein unter bestimmten Voraussetzungen ableitbarer
Ausdruck ist unter diesen Voraussetzungen auch wahr,
d.h. logische Konsequenz der Voraussetzungen.
• Vollständigkeit
Ein unter bestimmten Voraussetzungen wahrer Ausdruck ist unter diesen Voraussetzungen auch ableitbar.
{p(a), ∀X: (p(X) ⇒ q(X))} |= q(a)
wenn jedes Modell der linken Seite auch Modell der
rechten Seite ist
Problem: es gibt unendlich viele Modelle
• Lösung durch Deduktion mit Modus Ponens
{p(a), ∀X: (p(X) ⇒ q(X))} |− q(a)
falls Prädikatenlogik korrekt und vollständig ist
Weitere Logik: Deduktion in der Prädikatenlogik 31
Weitere Logik: Deduktion in der Prädikatenlogik 32
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Korrektheit und Vollständigkeit der natürlichen
Deduktion in der Prädikatenlogik
Korrektheit und Vollständigkeit der prädikatenlogischen Resolution
• Gödels Vollständigkeitssatz:
• Korrektheit der Resolution
Natürliche Deduktion der Prädikatenlogik ist korrekt
und vollständig.
Wenn eine Klausel K aus einer Menge M von Klauseln
durch Resolution abgeleitet werden kann, dann ist K
eine logische Konsequenz von M.
• Korollar
Wenn die leere Klausel aus einer Menge M von
Klauseln durch Resolution abgeleitet werden kann,
dann ist M inkonsistent.
• Vollständigkeit der Resolution bezüglich Refutation
Wenn eine Menge von Klauseln inkonsistent ist, dann
kann man aus ihr durch Resolution die leere Klausel
ableiten.
Weitere Logik: Deduktion in der Prädikatenlogik 33
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Entscheidbarkeit der Prädikatenlogik
• Prädikatenlogik ist semi-entscheidbar
Im Gegensatz zur Aussagenlogik ist Prädikatenlogik
nicht entscheidbar, d.h. es gibt keinen allgemeingültigen Algorithmus, der für jeden Ausdruck
bestimmt, ob er aus einer Menge von Ausdrücken
ableitbar ist oder nicht.
• Ein allgemeiner Algorithmus kann also nur für die
Herleitbarkeit, aber nicht für die Nichtherleitbarkeit
gefunden werden.
Weitere Logik: Deduktion in der Prädikatenlogik 35
Weitere Logik: Deduktion in der Prädikatenlogik 34
Herunterladen