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