Prädikatenlogik

Werbung
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Prädikatenlogik
• Aussagen wie
Die Sonne scheint.
die in der Aussagenlogik atomar sind, werden in der
Prädikatenlogik in Terme (sonne) und Prädikate
(scheint) aufgelöst
scheint(sonne)
• Terme
Namen von Objekten des Diskursbereichs
(Subjekte, Objekte des natürlichsprachlichen Satzes)
• Prädikate
Namen von Eigenschaften, Relationen, Klassen
(Verben, Attribute des natürlichsprachlichen Satzes)
• Prädikatenlogik führt Variablen ein, die für (noch)
nicht bekannte Objekte des Diskursbereichs stehen
scheint(X)
Diese Variablen ähneln den aus der Mathematik
bekannten. Sie sind nicht zu verwechseln mit Variablen
in prozeduralen Programmiersprachen, die für
Speicherstellen stehen.
(Prädikatenlogik 2. Ordnung kennt auch Variablen für
Prädikate)
Einführung in die Logik: Prädikatenlogik 1
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Quantoren
• Quantoren erlauben Aussagen über Mengen von
Objekten, für die ein Prädikat gilt
Alle Menschen sind sterblich.
Es gibt sterbliche Menschen.
• universelle Quantifizierung macht eine Aussage über
alle Elemente einer Menge; sie ist genau dann wahr,
wenn die quantifizierte Aussage für jedes Element der
Menge gilt
Alle Menschen sind sterblich.
∀X: (mensch(X) → sterblich(X))
• existentielle Quantifizierung macht eine Aussage über
einzelne Elemente einer Menge; sie ist genau dann
wahr, wenn die quantifizierte Aussage für mindestens
ein Element der Menge gilt
Es gibt sterbliche Menschen.
∃X: (mensch(X) ∧ sterblich(X))
Einführung in die Logik: Prädikatenlogik 2
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Quantoren
• man kann Quantoren auch mit expliziten Bereichsangaben versehen
sei M die Menge aller Menschen
∀X: (mensch(X) → sterblich(X))
∀X, X∈M: sterblich(X)
[kurz: ∀X∈M: sterblich(X)]
analog
∃X: (mensch(X) ∧ sterblich(X))
∃X, X∈M: sterblich(X)
[kurz: ∃X∈M: sterblich(X)]
• bei einem endlichen Bereich M = {m1, m2, ...., mn} sieht
man
∀X∈M: p(X) ≡ p(m1) ∧ p(m2) ∧ ... ∧ p(mn)
∃X∈M: p(X) ≡ p(m1) ∨ p(m2) ∨ ... ∨ p(mn)
Einführung in die Logik: Prädikatenlogik 3
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Quantoren
• Skopus
In den Ausdrücken ∀X: P oder ∃X: P heisst P der
Skopus (Gültigkeitsbereich) der Variablen X.
Eine Variable im Skopus eines Quantors heisst
gebunden.
Eine nicht gebundene Variable heisst frei.
Ein Ausdruck ohne freie Variable heisst geschlossen.
• Beispiel
(∃X: gerade(X)) ∨ null(X)
Erstes Vorkommen von X ist gebunden, zweites frei.
(Besser: Variablen eindeutig benennen.)
• Beispiel
(∀X: mensch(X) → (∃Y: mensch(Y) ∧ liebt(X,Y)))
---------------------- Skopus X ------------------------------- Skopus Y --------Ausdruck ist geschlossen
Einführung in die Logik: Prädikatenlogik 4
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Quantoren
• Schachtelung von Quantoren
∀X: ∀Y: p(X,Y)
∀X: ∃Y: p(X,Y)
• geschachtelte universelle
können vertauscht werden
(existentielle)
Quantoren
∀X: ∀Y: p(X,Y) ≡ ∀Y: ∀X: p(X,Y)
∃X: ∃Y: p(X,Y) ≡ ∃Y: ∃X: p(X,Y)
• universelle und existentielle Quantoren dürfen im
allgemeinen nicht vertauscht werden
Alle Menschen lieben einen Menschen.
(M Menge aller Menschen)
∀X∈M: ∃Y∈M: liebt(X,Y)
Bedeutung: Für jeden Menschen gibt es einen – nicht
notwendigerweise denselben – Menschen, den er liebt.
∃Y∈M: ∀X∈M: liebt(X,Y)
Bedeutung: Es gibt (mindestens) einen Menschen, der
von allen Menschen geliebt wird.
(N Menge aller natürlichen Zahlen)
∀X∈N: ∃Y∈N: Y > X
[wahr]
∃Y∈N: ∀X∈N: Y > X
[falsch]
Einführung in die Logik: Prädikatenlogik 5
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Umformungen quantifizierter Ausdrücke
• Negation von Quantoren
¬ ∀X: p(X)) ≡ ∃X: ¬ p(X)
¬ ∃X: p(X)) ≡ ∀X: ¬ p(X)
• Skopusveränderungen (X taucht in P auf, nicht in Q)
(∀X: P) ∧ Q ≡ ∀X: (P ∧ Q)
(∀X: P) ∨ Q ≡ ∀X: (P ∨ Q)
(∃X: P) ∧ Q ≡ ∃X: (P ∧ Q)
(∃X: P) ∨ Q ≡ ∃X: (P ∨ Q)
(∀X: P) → Q ≡ ∃X: (P → Q)
(∃X: P) → Q ≡ ∀X: (P → Q)
Q → (∀X: P) ≡ ∀X: (Q → P)
Q → (∃X: P) ≡ ∃X: (Q → P)
• Name der quantifizierten Variablen ist belanglos
∀X: p(X) ≡ ∀Z23: p(Z23)
∃Y: p(Y) ≡ ∃XYZ: p(XYZ)
Einführung in die Logik: Prädikatenlogik 6
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Syntax der Prädikatenlogik
• zwei Alphabete
logische Zeichen
Theoriezeichen (abhängig vom Diskursbereich)
• logische Zeichen
Menge von Variablen: X, X23, ...
Konnektoren: ¬, ∧, ∨, →
logisches Atom: ⊥
Quantoren: ∀, ∃
Trennzeichen: ":" "," "(" ")"
• Theoriezeichen
Menge von Konstanten
Menge von Funktionszeichen mit Arität (f/N)
Menge von Relationszeichen mit Arität (p/N)
Einführung in die Logik: Prädikatenlogik 7
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Syntax der Prädikatenlogik
• Sprache der Prädikatenlogik besteht aus Termen und
wohlgeformten Ausdrücken (Formeln)
• Terme
Jede Variable ist ein Term.
X
(Variablen stehen für (noch) nicht bekannte Objekte
des Diskursbereiches.)
Jede Konstante ist ein Term.
a, sokrates
(Konstante stehen
Diskursbereiches.)
für
bekannte
Objekte
des
Wenn t1, ..., tn Terme sind und f ein n-stelliges
Funktionszeichen – meistens geschrieben als f/n –
dann ist f(t1, ..., tn) ein zusammengesetzter Term.
vater_von(sokrates)
vater_von(vater_von(sokrates))
(Zusammengesetzte Terme stehen für aus anderen
Objekten "konstruierte" Objekte des Diskursbereiches.)
Es gibt keine weiteren Terme.
Einführung in die Logik: Prädikatenlogik 8
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Syntax der Prädikatenlogik
• (wohlgeformte) Ausdrücke
⊥ ist ein atomarer Ausdruck.
Wenn t1, ..., tn Terme sind und r ein n-stelliges
Relationszeichen – meistens geschrieben als p/n
– dann ist r(t1, ..., tn) ein atomarer Ausdruck.
rot(X)
liebt(anton, maria)
(Relationszeichen werden auch Prädikate genannt.)
Wenn P und Q Ausdrücke sind, dann auch
(¬ P)
(P ∧ Q)
(P ∨ Q)
(P → Q)
(P und Q sind Platzhaltervariable, die für Aussagen
stehen.)
Ist P ein Ausdruck und X eine Variable, dann sind
auch
(∀X: P)
(∃ X: P)
Ausdrücke.
Es gibt keine weiteren Ausdrücke.
Einführung in die Logik: Prädikatenlogik 9
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Beispiel: Peano Arithmetik
• Theoriezeichen
Konstante:
0
Funktionszeichen:
s/1
(= Nachfolgerfunktion)
+/2
(= Addition)
*/2
(= Multiplikation)
Relationszeichen:
=/2
(= Gleichheitsrelation)
• Beispiele
Terme:
0
s(0)
s(s(0))
+(X, s(0))
(Präfixnotation)
≡ X + s(0)
(Infixnotation)
*(s(s(0)), X)
(Präfixnotation)
≡ s(s(0)) * X
(Infixnotation)
Ausdrücke:
=(X + s(Y), s(X + Y))
(Präfixnotation)
≡ X + s(Y) = s(X + Y)
(Infixnotation)
Einführung in die Logik: Prädikatenlogik 10
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Baumstruktur
• Terme haben eine Baumstruktur, z.B.
+(X, s(0))
+
X
s
0
• Formeln haben eine Baumstruktur, z.B.
∃X: (mensch(X) ∧ sterblich(X))
∃X
∧
mensch(X)
sterblich(X)
Einführung in die Logik: Prädikatenlogik 11
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Substitutionen
• Substitutionen
Ersetzen einer Variablen in einem Ausdruck durch
einen Term.
Seien X eine Variable, T ein Term und P ein
Ausdruck.
(P) {X/T} ist der Ausdruck, den man erhält, wenn
man jedes freie Auftreten von X in P durch T ersetzt.
(P) {X/T} wird Instanz von P genannt.
• Beispiele
(∀X: (gerade(X)) ∨ null(X)) {X/0}
≡ ∀X: (gerade(X)) ∨ null(0)
(vater(X)) {X/vater(anton)}
≡ vater(vater(anton))
Einführung in die Logik: Prädikatenlogik 12
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Normalformen
• 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)))
• gesucht: Normalformen für prädikatenlogische Ausdrücke
Einführung in die Logik: Prädikatenlogik 13
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Normalformen: Pränexform
• Pränexform
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.
• Beispiel
¬ ∀X: (p(X,Y)) ∧ q(X) ∧ ¬ (∀Z: (r(Z)) ∨ s(W))
≡
[Regel: ¬ ∀X: p(X)) ≡ ∃X: ¬ p(X)]
[Regel: ¬ (P ∧ Q) ≡ (¬ P ∨ ¬ Q)]
∃X: (¬ p(X,Y)) ∧ q(X) ∧ ¬ ∀Z: (r(Z)) ∧ ¬ s(W)
≡
[Regel: Umbenennung X durch U]
[Regel: ¬ ∀X: p(X) ≡ ∃X: ¬ p(X)]
∃U: ¬ p(U,Y) ∧ q(X) ∧ ∃Z: (¬ r(Z)) ∧ ¬ s(W)
≡
[Regel: (∃X: P) ∧ Q ≡ ∃X: (P ∧ Q)]
[Regel: Kommutativität von ∧]
∃U: ∃Z: (¬ p(U,Y) ∧ q(X) ∧ ¬ r(Z) ∧ ¬ s(W))
• Zu jeder prädikatenlogischen Formel gibt
(mindestens) eine logisch äquivalente Pränexform.
es
Einführung in die Logik: Prädikatenlogik 14
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Anwendung: Analyse natürlichsprachlicher Sätze
• natürlichsprachliche Sätze können auch in Prädikatenlogik übersetzt werden
• Beispiel 1
Jeder im Raum spricht Französisch oder Deutsch.
Umformulierung in halbformale Darstellung
Für alle X gilt, wenn X eine Person im Raum ist, dann
spricht X Französisch oder spricht X Deutsch.
Einführung von Prädikaten
r/1
"ist eine Person im Raum"
f/1
"spricht Französisch"
d/1
"spricht Deutsch"
prädikatenlogische Formel
∀X: (r(X) → (f(X) ∨ d(X)))
Einführung in die Logik: Prädikatenlogik 15
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Anwendung: Analyse natürlichsprachlicher Sätze
• Beispiel 2
Einige Personen sagen einige Zeit die Wahrheit, andere
lügen nie.
Umformulierung
Es gibt eine Person X und es gibt einen Zeitpunkt T, an
dem X die Wahrheit sagt. Es gibt eine Person Y, die zu
allen Zeitpunkten Z nicht lügt.
Einführung von Prädikaten
p/1
"ist eine Person "
z/1
"ist ein Zeitpunkt"
w/2
"sagt die Wahrheit zu einem Zeitpunkt"
l/2
"lügt zu einem Zeitpunkt"
prädikatenlogische Formel
∃X: ∃Z: (p(X) ∧ z(Z) ∧ w(X,Z))
∧
∃Y: (p(Y) ∧ ∀Z: (z(Z) → ¬ l(Y,Z)))
Die Information, dass sich w/2 und l/2 gegenseitig
ausschliessen, ist nicht explizit bekannt, und kann
deshalb nicht zur Vereinfachung verwendet werden.
Einführung in die Logik: Prädikatenlogik 16
Formale Grundlagen der Informatik (Fuchs/Kraan SS 99)
Anwendung: Analyse natürlichsprachlicher Sätze
• Beispiel 3
You can lie to all people some of the time and you can lie to
some people all of the time, but you cannot lie to all people
all of the time.
Umformulierung
Für alle Personen X gilt, es gibt eine Person Y und es gibt
einen Zeitpunkt T, an dem Y X belügt. Für alle Zeitpunkte
T gilt, dass es eine Person X gibt und eine Person Y gibt
und X Y belügt. Es gibt keinen Zeitpunkt T, an dem es
eine Person X gibt, die alle Personen Y belügt .
Einführung von Prädikaten
p/1
"ist eine Person "
z/1
"ist ein Zeitpunkt"
b(X,Y,Z)
"X belügt Y zu einem Zeitpunkt Z"
prädikatenlogische Formel
∀X: ∃Y: ∃Z: (p(X) ∧ p(Y) ∧ z(Z) ∧ b(Y, X, T))
∧
∀Z: ∃X: ∃Y: (p(X) ∧ p(Y) ∧ z(Z) ∧ b(X, Y, T))
∧
¬ ∃Z : ∃X: ∀Y: (p(X) ∧ p(Y) ∧ z(Z) ∧ b(X, Y, T))
Einführung in die Logik: Prädikatenlogik 17
Herunterladen