Prädikatenlogik Quantoren Quantoren Quantoren

Werbung
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Prädikatenlogik
Quantoren
• Aussagen wie
• Quantoren erlauben Aussagen über Mengen von
Objekten, für die ein Prädikat gilt
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
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
Namen von Objekten des Diskursbereichs
Alle Menschen sind sterblich.
(Subjekte, Objekte des natürlichsprachlichen Satzes)
∀X (mensch(X) → sterblich(X))
• 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
• 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))
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
Einführung in die Logik: Prädikatenlogik 2
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Quantoren
Quantoren
• man kann Quantoren auch mit expliziten Bereichsangaben versehen
• Skopus
sei M die Menge aller Menschen
∀X (mensch(X) → sterblich(X))
∀X ∈M (sterblich(X))
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.
analog
∃X (mensch(X) ∧ sterblich(X))
∃X∈M (sterblich(X))
• Beispiel
∃X (gerade(X)) ∨ null(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))
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 3
Einführung in die Logik: Prädikatenlogik 4
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Quantoren
Umformungen quantifizierter Ausdrücke
• Schachtelung von Quantoren
• Negation von Quantoren
∀X (∀Y (p(X,Y)))
¬ (∀X (p(X))) ≡ ∃X (¬ (p(X)))
∀X (∃Y (p(X,Y)))
¬ (∃X (p(X))) ≡ ∀X (¬ (p(X)))
• geschachtelte universelle (existentielle) Quantoren
können vertauscht werden
∀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)
• 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)
∀X∈M (∃Y∈M (liebt(X,Y)))
Bedeutung: Für jeden Menschen gibt es einen – nicht
notwendigerweise denselben – Menschen, den er liebt.
Q → ∃X (P) ≡ ∃X (Q → P)
• Name der quantifizierten Variablen ist belanglos
∃Y∈M (∀X∈M (liebt(X,Y)))
∀X (p(X)) ≡ ∀Z23 (p(Z23))
Bedeutung: Es gibt (mindestens) einen Menschen, der
von allen Menschen geliebt wird.
∃Y (p(Y)) ≡ ∃XYZ (p(XYZ))
(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
Einführung in die Logik: Prädikatenlogik 6
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Syntax der Prädikatenlogik
Syntax der Prädikatenlogik
• zwei Alphabete
• Sprache der Prädikatenlogik besteht aus Termen und
wohlgeformten Ausdrücken (Formeln)
logische Zeichen
Theoriezeichen (abhängig vom Diskursbereich)
• Terme
Jede Variable ist ein Term.
• logische Zeichen
Menge von Variablen: X, X23, ...
X
(Variablen stehen für (noch) nicht bekannte Objekte
des Diskursbereiches.)
Konnektoren: ¬, ∧, ∨, →
logisches Atom: ⊥
Quantoren: ∀, ∃
Jede Konstante ist ein Term.
Trennzeichen: "," "(" ")"
a, sokrates
• Theoriezeichen
(Konstante stehen für bekannte Objekte des
Diskursbereiches.)
Menge von Konstanten
Menge von Funktionszeichen mit Arität (f/N)
Menge von Relationszeichen mit Arität (p/N)
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 7
Einführung in die Logik: Prädikatenlogik 8
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Syntax der Prädikatenlogik
Bemerkungen zur Syntax
• (wohlgeformte) Ausdrücke
• Syntax der Prädikatenlogik ist nicht standardisiert:
jedes Textbuch verwendet eine (leicht) andere Notation
⊥ ist ein atomarer Ausdruck.
• Meine Notation:
Wenn t1, ..., tn Terme sind und r ein n-stelliges
Relationszeichen – meistens geschrieben als p/n
– dann ist r(t1, ..., tn) ein atomarer Ausdruck.
Klammern geben jeweils den Skopus an
¬ (P)
∀X (P)
rot(X)
oder fassen zusammengehörende Ausdrücke
zusammen
liebt(anton, maria)
¬ (P ∧ Q)
(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)
• Klammern sollten immer gesetzt werden, wenn der
Ausdruck sonst unklar ist
• Klammern können weggelassen werden, wenn der
Ausdruck eindeutig ist, z.B.
¬ (∀X (P)) ≡ ¬ ∀X (P)
∀X (p(x)) ≡ ∀X p(x)
¬ (p(x)) ≡ ¬ p(x)
∃ X (P)
Ausdrücke.
Es gibt keine weiteren Ausdrücke.
Einführung in die Logik: Prädikatenlogik 9
Einführung in die Logik: Prädikatenlogik 10
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Beispiel: Peano Arithmetik
Baumstruktur
• Theoriezeichen
• Terme haben eine Baumstruktur, z.B.
Konstante:
+(X, s(0))
0
+
Funktionszeichen:
s/1
(= Nachfolgerfunktion)
+/2
(= Addition)
*/2
(= Multiplikation)
X
s
0
Relationszeichen:
=/2
(= Gleichheitsrelation)
• Formeln haben eine Baumstruktur, z.B.
∃X (mensch(X) ∧ sterblich(X))
• Beispiele
Terme:
0
s(0)
∃X
s(s(0))
+(X, s(0))
(Präfixnotation)
≡ X + s(0)
(Infixnotation)
*(s(s(0)), X)
(Präfixnotation)
≡ s(s(0)) * X
(Infixnotation)
∧
mensch(X)
sterblich(X)
Ausdrücke:
=(X + s(Y), s(X + Y))
(Präfixnotation)
≡ X + s(Y) = s(X + Y)
(Infixnotation)
Einführung in die Logik: Prädikatenlogik 11
Einführung in die Logik: Prädikatenlogik 12
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Substitutionen
Normalformen
• Substitutionen
• prädikatenlogische Ausdrücke können in äquivalente
Ausdrücke umgeformt werden
Ersetzen einer Variablen in einem Ausdruck durch
einen Term.
• Beispiel
Seien X eine Variable, T ein Term und P ein
Ausdruck.
∀X (mensch(X) → sterblich(X))
(P){X/T} ist der Ausdruck, den man erhält, wenn
man jedes freie Auftreten von X in P durch T ersetzt.
∀X (¬ mensch(X) ∨ sterblich(X))
(P){X/T} wird Instanz von P genannt.
≡
≡
∀X (¬ (mensch(X) ∧ ¬ sterblich(X)))
• Beispiele
(∀X (gerade(X)) ∨ null(X)) {X/0}
≡
≡ ∀X (gerade(X)) ∨ null(0)
¬ ∃ X (mensch(X) ∧ ¬ sterblich(X)))
(vater(X)) {X/vater(anton)}
• gesucht: Normalformen für prädikatenlogische Ausdrücke
≡ vater(vater(anton))
Einführung in die Logik: Prädikatenlogik 14
Einführung in die Logik: Prädikatenlogik 13
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Normalformen: Pränexform
Anwendung: Analyse natürlichsprachlicher Sätze
• Pränexform
• natürlichsprachliche Sätze können auch in Prädikatenlogik übersetzt werden
Ein prädikatenlogischer Ausdruck ist in Pränexform,
wenn er die Form
Q1X1 (Q2X2 .... (QnXn (A) ...)
Jeder im Raum spricht Französisch oder Deutsch.
hat, wobei Qi Quantoren sind, Xi Variable und A
keine Quantoren enthält.
• Beispiel
¬ ∀X (p(X,Y)) ∧ q(U) ∧ ¬ (∀Z (r(Z)) ∨ s(W))
≡
• Beispiel 1
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.
[Regel: ¬ ∀X (p(X)) ≡ ∃X (¬ p(X))]
[Regel: ¬ (P ∧ Q) ≡ (¬ P ∨ ¬ Q)]
Einführung von Prädikaten
∃X (¬ p(X,Y)) ∧ q(U) ∧ ¬ ∀Z (r(Z)) ∧ ¬ s(W)
r/1
"ist eine Person im Raum"
≡
f/1
"spricht Französisch"
d/1
"spricht Deutsch"
[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))
prädikatenlogische Formel
∀X (r(X) → (f(X) ∨ d(X)))
• Zu jeder prädikatenlogischen Formel gibt es
(mindestens) eine logisch äquivalente Pränexform.
Einführung in die Logik: Prädikatenlogik 15
Einführung in die Logik: Prädikatenlogik 16
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Anwendung: Analyse natürlichsprachlicher Sätze
Semantik der Prädikatenlogik
• Beispiel 2
• Wann sind Ausdrücke wie
Einige Personen sagen einige Zeit die Wahrheit, andere
lügen nie.
Umformulierung
liebt(anton, maria)
X>2
wahr?
Es gibt eine Person P1 und es gibt einen Zeitpunkt T1, an
dem P1 die Wahrheit sagt. Es gibt eine Person P2, die
verschieden von P1 ist und zu allen Zeitpunkten T2 nicht
lügt.
Einführung von Prädikaten
p/1
"ist eine Person "
z/1
"ist ein Zeitpunkt"
w/2
• 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
"sagt die Wahrheit zu einem Zeitpunkt"
Funktionszeichen f mit Arität n
I(f): Dn → D
l/2
"lügt zu einem Zeitpunkt"
Relationszeichen r mit Arität n
I(r) ⊆ Dn
v/2
"sind verschieden"
prädikatenlogische Formel
∃P1 (∃T1 (p(P1) ∧ z(T1) ∧ w(P1,T1))
∧
∃P2 (p(P2) ∧ v(P1,P2) ∧ ∀T2 (z(T2) → ¬ l(P2,T2))))
Die Information, dass sich w/2 und l/2 gegenseitig
ausschliessen, ist nicht explizit bekannt, und kann
deshalb nicht zur Vereinfachung verwendet werden.
• 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
Einführung in die Logik: Prädikatenlogik 18
Einführung in die Logik: Prädikatenlogik 17
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Semantik der Prädikatenlogik
Semantik der Prädikatenlogik
• Beispiel
• Wahrheitswerte prädikatenlogischer Ausdrücke
Term p(X, q(a))
D sei die Menge der Peano Zahlen mit den
Funktionen s/1 und +/2
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 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)
Wir wählen
I(a) = s(0)
I(p/2) = +/2
I(⊥) = F
I(q/1) = s/1
• komplexe Ausdrücke
V(X) = s(s(s(0)))
I(P ∧ Q) = I(P) ∧ I(Q)
I(P ∨ Q) = I(P) ∨ I(Q)
Damit gilt
I(p(X, q(a))) = +(s(s(s(0))), s(s(0))) = s(s(s(s(s(0))))) ∈ D
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.
Einführung in die Logik: Prädikatenlogik 19
Einführung in die Logik: Prädikatenlogik 20
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Semantik der Prädikatenlogik
Modelle
• Beispiel
• Modelle
Ausdruck even(p(X, q(a)))
D sei ein Wertebereich, I eine Interpretation
D sei die Menge der Peano Zahlen mit den
Funktionen s/1 und +/2
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.
Wir wählen
I(a) = s(0)
I(p/2) = +/2
• Es kann mehr als ein Modell geben.
I(q/1) = s/1
• Eine Interpretation I, die eine Menge von Ausdrücken
M für alle Variablenzuordnungen wahr macht, heisst
ein Modell von M.
V(X) = s(s(s(0)))
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
• Menge von prädikatenlogischen Ausdrücken heisst
erfüllbar, wenn sie mindestens ein Modell hat
widerlegbar, wenn es mindestens eine Interpretation
gibt, die kein Modell ist
Damit gilt
I(even(p(X, q(a)))) = F
denn s(s(s(s(s(0))))) ∉ I(even)
tautologisch oder gültig, wenn jede Interpretation ein
Modell ist
inkonsistent, wenn sie kein Modell hat
Einführung in die Logik: Prädikatenlogik 22
Einführung in die Logik: Prädikatenlogik 21
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik
Modelle: Beispiel
Folgerungsrelation
• gegeben sei die Menge von Ausdrücken
• Folgerungsrelation, logische Konsequenz
{p(a), ∀X (p(X) →q(X))}
M und N sind Mengen prädikatenlogischer
Ausdrücke
• Modell 1
I1(a) = Sokrates
I1(p) = menschlich: {Sokrates, Platon, Meier, ...}
I1(q) = sterblich: {Sokrates, Platon, Meier, ...}
• Modell 2
Es gilt die logische Konsequenz M |= N, wenn jedes
Modell der Menge M auch ein Modell der Menge N
ist, d.h.
• Beispiel
{p(a), ∀X (p(X) →q(X))} |= q(a)
I2(a) = 8
wenn jedes Modell der linken Seite auch Modell der
rechten Seite ist
I2(p) = durch_4_teilbar: {0, 4, 8, ...}
Problem: es gibt unendlich viele Modelle
I2(q) = gerade: {0, 2, 4, ...}
• es gibt unendlich viele Modelle
• 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
• Lösung durch Beweis, z.B. mit Modus Ponens
Wenn A gilt, dann gilt B.
A ist wahr.
---------------------------B ist wahr.
{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
Einführung in die Logik: Prädikatenlogik 23
Einführung in die Logik: Prädikatenlogik 24
Herunterladen