Vorlesung Logik für Informatiker 9. Prädikatenlogik – Syntax und Semantik der Prädikatenlogik – Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS ’06 – p.1 Syntax der Prädikatenlogik: Logische Zeichen Wie in der Aussagenlogik 1 Symbol für den Wahrheitswert „wahr“ 0 Symbol für den Wahrheitswert „falsch“ ¬ Negationssymbol („nicht“) ∧ Konjunktionssymbol („und“) ∨ Disjunktionssymbol („oder“) → Implikationssymbol („wenn . . . dann“) ↔ Symbol für Äquivalenz („genau dann, wenn“) ( ) die beiden Klammern Logik für Informatiker, SS ’06 – p.2 Syntax der Prädikatenlogik: Logische Zeichen Wie in der Aussagenlogik 1 Symbol für den Wahrheitswert „wahr“ 0 Symbol für den Wahrheitswert „falsch“ ¬ Negationssymbol („nicht“) ∧ Konjunktionssymbol („und“) ∨ Disjunktionssymbol („oder“) → Implikationssymbol („wenn . . . dann“) ↔ Symbol für Äquivalenz („genau dann, wenn“) ( ) die beiden Klammern Quantoren ∀ Allquantor („für alle“) ∃ Existenzquantor („es gibt“) Logik für Informatiker, SS ’06 – p.2 Syntax der Prädikatenlogik: Vokabular Definition: Variablenmenge Var Abzählbare Menge von Variablensymbolen z.B.: x, y, a, b, . . . Logik für Informatiker, SS ’06 – p.3 Syntax der Prädikatenlogik: Vokabular Definition: Variablenmenge Var Abzählbare Menge von Variablensymbolen z.B.: x, y, a, b, . . . Definition: Prädikatenlogische Signatur Σ Paar Σ = h P, F i mit Logik für Informatiker, SS ’06 – p.3 Syntax der Prädikatenlogik: Vokabular Definition: Variablenmenge Var Abzählbare Menge von Variablensymbolen z.B.: x, y, a, b, . . . Definition: Prädikatenlogische Signatur Σ Paar Σ = h P, F i mit P: Prädikatensymbole z.B. bruderVon , >, =, . . . F : Funktionssymbole z.B. 2, koblenz , c, sqrt , leftLegOf , . . . Logik für Informatiker, SS ’06 – p.3 Syntax der Prädikatenlogik: Vokabular Definition: Variablenmenge Var Abzählbare Menge von Variablensymbolen z.B.: x, y, a, b, . . . Definition: Prädikatenlogische Signatur Σ Paar Σ = h P, F i mit P: Prädikatensymbole z.B. bruderVon , >, =, . . . F : Funktionssymbole z.B. 2, koblenz , c, sqrt , leftLegOf , . . . Bemerkung Das Gleichheitsprädikat kann enthalten sein Es wird infix notiert Logik für Informatiker, SS ’06 – p.3 Syntax der Prädikatenlogik: Vokabular Bemerkung Funktions- und Prädikatensymbole haben ein Stelligkeit n ≥ 0 Logik für Informatiker, SS ’06 – p.4 Syntax der Prädikatenlogik: Vokabular Bemerkung Funktions- und Prädikatensymbole haben ein Stelligkeit n ≥ 0 Definition: Konstante Funktionsssymbole mit Stelligkeit n = 0 heißen Konstante z.B. 2, koblenz , c Logik für Informatiker, SS ’06 – p.4 Syntax der Prädikatenlogik: Terme – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge Term Σ der Terme über Σ Logik für Informatiker, SS ’06 – p.5 Syntax der Prädikatenlogik: Terme – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge Term Σ der Terme über Σ Die kleinste Menge mit: • Var ⊆ Term Σ • Wenn – – – f∈F n die Stelligkeit von f t1 , . . . , tn ∈ Term Σ dann f (t1 , . . . , tn ) ∈ Term Σ Logik für Informatiker, SS ’06 – p.5 Syntax der Prädikatenlogik: Terme Bemerkungen • (Insbesondere) alle Konstanten in Term Σ Logik für Informatiker, SS ’06 – p.6 Syntax der Prädikatenlogik: Terme Bemerkungen • (Insbesondere) alle Konstanten in Term Σ • Terme bezeichnen Elemente Logik für Informatiker, SS ’06 – p.6 Syntax der Prädikatenlogik: Atomare Formeln – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge Atom Σ der Atome über Σ Logik für Informatiker, SS ’06 – p.7 Syntax der Prädikatenlogik: Atomare Formeln – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge Atom Σ der Atome über Σ Wenn – – – p∈P n die Stelligkeit von p t1 , . . . , tn ∈ Term Σ dann p(t1 , . . . , tn ) ∈ Atom Σ Logik für Informatiker, SS ’06 – p.7 Syntax der Prädikatenlogik: Atomare Formeln – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge Atom Σ der Atome über Σ Wenn – – – p∈P n die Stelligkeit von p t1 , . . . , tn ∈ Term Σ dann p(t1 , . . . , tn ) ∈ Atom Σ Bemerkung Atome haben Wahrheitswerte (im Unterschied zu Termen) Logik für Informatiker, SS ’06 – p.7 Syntax der Prädikatenlogik: Atomare Formeln Beispiele bruder ( kingJohn , richardTheLionheart ) Logik für Informatiker, SS ’06 – p.8 Syntax der Prädikatenlogik: Atomare Formeln Beispiele bruder ( kingJohn , richardTheLionheart ) | {z } | {z } | {z } Prädikat Konstante Konstante Logik für Informatiker, SS ’06 – p.8 Syntax der Prädikatenlogik: Atomare Formeln Beispiele bruder ( kingJohn , richardTheLionheart ) | {z } | {z } | {z } Konstante Konstante Prädikat | {z } | {z } Term Term Logik für Informatiker, SS ’06 – p.8 Syntax der Prädikatenlogik: Atomare Formeln Beispiele bruder ( kingJohn , | {z } | {z } Konstante Prädikat | {z } Term | richardTheLionheart ) | {z } Konstante | {z } Term {z } Atom Logik für Informatiker, SS ’06 – p.8 Syntax der Prädikatenlogik: Atomare Formeln Beispiel > ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) ) Logik für Informatiker, SS ’06 – p.9 Syntax der Prädikatenlogik: Atomare Formeln Beispiel > ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) ) | {z } | {z } | {z } | {z } | {z } | {z } | {z } Prädikat Funktion Funktion Konstante Funktion Funktion Konstante Logik für Informatiker, SS ’06 – p.9 Syntax der Prädikatenlogik: Atomare Formeln Beispiel > ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) ) |{z} | {z } | {z } | {z } | {z } | {z } | {z } Konstante Konstante Prädikat Funktion Funktion Funktion Funktion | {z } | {z } Term Term Logik für Informatiker, SS ’06 – p.9 Syntax der Prädikatenlogik: Atomare Formeln Beispiel > ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) ) |{z} | {z } | {z } | {z } | {z } | {z } | {z } Konstante Konstante Prädikat Funktion Funktion Funktion Funktion | {z } | {z } Term Term | {z } Atom Logik für Informatiker, SS ’06 – p.9 Syntax der Prädikatenlogik: Komplexe Formeln – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge For Σ der Formeln über Σ Logik für Informatiker, SS ’06 – p.10 Syntax der Prädikatenlogik: Komplexe Formeln – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge For Σ der Formeln über Σ Die kleinste Menge mit: • Atom Σ ⊆ For Σ • 1 ∈ ForΣ und 0 ∈ ForΣ • Wenn A, B ∈ ForΣ , dann auch ¬ A, (A ∧ B), (A ∨ B), (A → B), (A ↔ B) in For Σ Logik für Informatiker, SS ’06 – p.10 Syntax der Prädikatenlogik: Komplexe Formeln – Σ = h P, F i eine prädikatenlogische Signatur – Var eine Menge von Variablen Definition: Menge For Σ der Formeln über Σ Die kleinste Menge mit: • Atom Σ ⊆ For Σ • 1 ∈ ForΣ und 0 ∈ ForΣ • Wenn A, B ∈ ForΣ , dann auch ¬ A, (A ∧ B), (A ∨ B), (A → B), (A ↔ B) in For Σ • Wenn A ∈ ForΣ und x ∈ Var , dann ∀xA, ∃xA in ForΣ Logik für Informatiker, SS ’06 – p.10 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel Logik für Informatiker, SS ’06 – p.11 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel bruder ( kingJohn , richard ) → bruder ( richard , kingJohn ) Logik für Informatiker, SS ’06 – p.11 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel bruder ( kingJohn , richard ) | {z } | {z } | {z } Prädikat Term Term → bruder ( richard , kingJohn ) | {z } | {z } | {z } Prädikat Term Term Logik für Informatiker, SS ’06 – p.11 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel bruder ( kingJohn , richard ) | {z } | {z } | {z } Term Term Prädikat | {z } Atom → bruder ( richard , kingJohn ) | {z } | {z } | {z } Term Term Prädikat | {z } Atom Logik für Informatiker, SS ’06 – p.11 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel bruder ( kingJohn , richard ) | {z } | {z } | {z } Term Term Prädikat | {z } Atom | → {z bruder ( richard , kingJohn ) | {z } | {z } | {z } Term Term Prädikat | {z } Atom } Komplexe Formel Logik für Informatiker, SS ’06 – p.11 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel „Alle, die in Koblenz studieren, sind schlau“ ∀ x (studiertIn (x , koblenz ) → schlau (x )) |{z} | {z } Variable | Formel (Skopus) {z Formel } Logik für Informatiker, SS ’06 – p.12 Syntax der Prädikatenlogik: Komplexe Formeln Beispiel „Alle, die in Koblenz studieren, sind schlau“ ∀ x (studiertIn (x , koblenz ) → schlau (x )) |{z} | {z } Variable | Formel (Skopus) {z Formel } „Jemand, der in Landau studiert ist schlau“ ∃ x (studiertIn (x , landau ) ∧ schlau (x )) |{z} | {z } Variable | Formel (Skopus) {z Formel } Logik für Informatiker, SS ’06 – p.12 Freie und gebundene Variablen Definition: Freie / gebundene Variable Ein Vorkommen einer Variablen x heißt gebunden, wenn sie im Skopus einer Quantifizierung ∀x / ∃x ist frei sonst Logik für Informatiker, SS ’06 – p.13 Freie und gebundene Variablen Definition: Freie / gebundene Variable Ein Vorkommen einer Variablen x heißt gebunden, wenn sie im Skopus einer Quantifizierung ∀x / ∃x ist frei sonst Beispiel p(z) → ∀x (q(x, z) ∧ ∃z r(y, z)) x gebunden y frei z frei und gebunden (sollte vermieden werden!) Logik für Informatiker, SS ’06 – p.13 Semantik der Prädikatenlogik Definition: Prädikatenlogisches Modell (Interpretation) Paar hU , Ai mit Logik für Informatiker, SS ’06 – p.14 Semantik der Prädikatenlogik Definition: Prädikatenlogisches Modell (Interpretation) Paar hU , Ai mit U : eine nicht-leere Menge (Universum) Logik für Informatiker, SS ’06 – p.14 Semantik der Prädikatenlogik Definition: Prädikatenlogisches Modell (Interpretation) Paar hU , Ai mit U : eine nicht-leere Menge (Universum) A: eine Interpretationsfunktion – sie interpretiert – Variablen: durch ein Element des Universums – Prädikate: durch eine Relation auf dem Universum (mit passender Stelligkeit) – Funktionen: durche eine Funktion auf dem Universium (mit passender Stelligkeit) Logik für Informatiker, SS ’06 – p.14 Semantik der Prädikatenlogik Bemerkungen • Im allgemeinen ist das Universum U einen prädikatenlogischen Modells unendlich Logik für Informatiker, SS ’06 – p.15 Semantik der Prädikatenlogik Bemerkungen • Im allgemeinen ist das Universum U einen prädikatenlogischen Modells unendlich • Auch schon für ein endliches U gibt es eine riesige Zahl verschiedener Modelle Logik für Informatiker, SS ’06 – p.15 Semantik der Prädikatenlogik Notation I = hU , Ai ein prädikatenlogisches Modell Dann sI für A(s) Logik für Informatiker, SS ’06 – p.16 Semantik der Prädikatenlogik Gegeben ein prädikatenlogisches Modell I Definition: Semantik eines Terms t Element I(t) aus U , das rekursiv definiert ist durch Logik für Informatiker, SS ’06 – p.17 Semantik der Prädikatenlogik Gegeben ein prädikatenlogisches Modell I Definition: Semantik eines Terms t Element I(t) aus U , das rekursiv definiert ist durch • t = x eine Variable: • t = c eine Konstante: I(t) = x I I(t) = c I Logik für Informatiker, SS ’06 – p.17 Semantik der Prädikatenlogik Gegeben ein prädikatenlogisches Modell I Definition: Semantik eines Terms t Element I(t) aus U , das rekursiv definiert ist durch • t = x eine Variable: • t = c eine Konstante: • t = f (t1 , . . . , tn ): I(t) = x I I(t) = c I I(t) = f I (I(t1 ), . . . , I(tn )) Logik für Informatiker, SS ’06 – p.17 Semantik der Prädikatenlogik Gegeben ein prädikatenlogisches Modell I Definition: Semantik einer Formel Semantik I(F) einer Formel F in einem Modell I ist einer der Wahrheitswerte true und false Logik für Informatiker, SS ’06 – p.18 Semantik der Prädikatenlogik Gegeben ein prädikatenlogisches Modell I Definition: Semantik einer Formel Semantik I(F) einer Formel F in einem Modell I ist einer der Wahrheitswerte true und false I(1) = true I(0) = false I(p(t1 , . . . , tn ) = p I (I(t1 ), . . . , I(tn )) Logik für Informatiker, SS ’06 – p.18 Semantik der Prädikatenlogik und (wie in der Aussagenlogik): I(¬ F) = false true falls I(F) = true falls I(F) = false Logik für Informatiker, SS ’06 – p.19 Semantik der Prädikatenlogik und (wie in der Aussagenlogik): I(F ∧ G) = true I(F ∨ G) = true false false falls I(F) = true und I(G) = true sonst falls I(F) = true oder I(G) = true sonst Logik für Informatiker, SS ’06 – p.20 Semantik der Prädikatenlogik und (wie in der Aussagenlogik): I(F → G) = true false I(F ↔ G) = falls I(F) = false oder I(G) = true sonst true false falls I(F) = I(G) sonst Logik für Informatiker, SS ’06 – p.21 Semantik der Prädikatenlogik und zusätzlich: I(∀xF) = true false falls Ix/d (F) = true für alle d ∈ U sonst Logik für Informatiker, SS ’06 – p.22 Semantik der Prädikatenlogik und zusätzlich: I(∀xF) = I(∃xF) = true false true false falls falls Ix/d (F) = true für alle d ∈ U sonst Ix/d (F) = true für mindestens ein d ∈ U sonst Logik für Informatiker, SS ’06 – p.22 Semantik der Prädikatenlogik und zusätzlich: I(∀xF) = I(∃xF) = true false true false falls falls Ix/d (F) = true für alle d ∈ U sonst Ix/d (F) = true für mindestens ein d ∈ U sonst Notation Ix/d identisch mit I mit der Ausnahme, dass x Ix/d = d Logik für Informatiker, SS ’06 – p.22 Universelle Quantifizierung Intuition ∀xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F Logik für Informatiker, SS ’06 – p.23 Universelle Quantifizierung Intuition ∀xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F Beispiel ∀ x (studiertIn (x , koblenz ) → schlau (x )) entspricht studiertIn(student1, koblenz) → schlau(student1) ∧ studiertIn(student2, koblenz) → schlau(student2) ∧ studiertIn(koblenz, koblenz) → schlau(koblenz) ∧ ... Logik für Informatiker, SS ’06 – p.23 Universelle Quantifizierung Faustregel → ist der logische (Top-level-)Operator mit ∀ Logik für Informatiker, SS ’06 – p.24 Universelle Quantifizierung Faustregel → ist der logische (Top-level-)Operator mit ∀ Häufiger Fehler Verwendung von ∧ mit ∀ Logik für Informatiker, SS ’06 – p.24 Universelle Quantifizierung Faustregel → ist der logische (Top-level-)Operator mit ∀ Häufiger Fehler Verwendung von ∧ mit ∀ Beispiel Richtig: ∀x (studiertIn(x, koblenz) → schlau(x)) “Alle, die in Koblenz studieren, sind schlau” Logik für Informatiker, SS ’06 – p.24 Universelle Quantifizierung Faustregel → ist der logische (Top-level-)Operator mit ∀ Häufiger Fehler Verwendung von ∧ mit ∀ Beispiel Richtig: ∀x (studiertIn(x, koblenz) → schlau(x)) “Alle, die in Koblenz studieren, sind schlau” Falsch: ∀x (studiertIn(x, koblenz) ∧ schlau(x)) “Alle studieren in Koblenz und sind schlau”, d.h., Logik für Informatiker, SS ’06 – p.24 “Alle studieren in Koblenz und alle sind schlau” Existenzielle Quantifizierung Intuition ∃xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F Logik für Informatiker, SS ’06 – p.25 Existenzielle Quantifizierung Intuition ∃xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F Beispiel ∃ x (studiertIn (x , landau ) ∧ schlau (x )) entspricht studiertIn(student1, landau) ∧ schlau(student1) ∨ studiertIn(student2, landau) ∧ schlau(student2) ∨ studiertIn(landau, landau) ∧ schlau(landau) ∨ ... Logik für Informatiker, SS ’06 – p.25 Existenzielle Quantifizierung Faustregel ∧ ist der logische (Top-level-)Operator mit ∃ Logik für Informatiker, SS ’06 – p.26 Existenzielle Quantifizierung Faustregel ∧ ist der logische (Top-level-)Operator mit ∃ Häufiger Fehler Verwendung von → mit ∃ Logik für Informatiker, SS ’06 – p.26 Existenzielle Quantifizierung Faustregel ∧ ist der logische (Top-level-)Operator mit ∃ Häufiger Fehler Verwendung von → mit ∃ Beispiel Richtig: ∃x (studiertIn(x, landau) ∧ schlau(x)) “Es gibt jemand, der in Landau studiert und schlau ist” Logik für Informatiker, SS ’06 – p.26 Existenzielle Quantifizierung Faustregel ∧ ist der logische (Top-level-)Operator mit ∃ Häufiger Fehler Verwendung von → mit ∃ Beispiel Richtig: ∃x (studiertIn(x, landau) ∧ schlau(x)) “Es gibt jemand, der in Landau studiert und schlau ist” Falsch: ∃x (studiertIn(x, landau) → schlau(x)) “Es gibt jemanden, der, falls er/sie in Landau studiert, schlau ist” Trivial wahr, wenn es irgendjemanden gibt, der nicht in Landau studiert Logik für Informatiker, SS ’06 – p.26 Eigenschaften von Quantoren Quantoren gleicher Art kommutieren ∀ x∀ y ist das gleiche wie ∀ y∀ x ∃ x∃ y ist das gleiche wie ∃ y∃ x Logik für Informatiker, SS ’06 – p.27 Eigenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT ∃ x∀ y ist nicht das gleiche wie ∀ y∃ x Logik für Informatiker, SS ’06 – p.28 Eigenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT ∃ x∀ y ist nicht das gleiche wie ∀ y∃ x Beispiel ∃x∀ y loves(x, y) Es gibt eine Person, die jeden Menschen in der Welt liebt (einschließlich sich selbst) ∀ y∃x loves(x, y) Jeder Mensch wird von mindestens einer Person geliebt (Beides hoffentliche wahr aber verschieden: das erste impliziert das zweite aber nicht umgekehrt) Logik für Informatiker, SS ’06 – p.28 Eigenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT ∃ x∀ y ist nicht das gleiche wie ∀ y∃ x Beispiel ∀x∃ y mutter(y, x) Jeder hat eine Mutter (richtig) ∃ y∀x mutter(y, x) Es gibt eine Person, die die Mutter von jedem ist (falsch) Logik für Informatiker, SS ’06 – p.29 Eigenschaften von Quantoren Dualität der Quantoren ∀x . . . ist das gleiche wie ¬∃x ¬ . . . ∃x . . . ist das gleiche wie ¬∀x ¬ . . . Logik für Informatiker, SS ’06 – p.30 Eigenschaften von Quantoren Dualität der Quantoren ∀x . . . ist das gleiche wie ¬∃x ¬ . . . ∃x . . . ist das gleiche wie ¬∀x ¬ . . . Beispiel ∀x mag(x, eiskrem) ist das gleiche wie ¬∃x ¬mag(x, eiskrem) ∃x mag(x, broccoli) ist das gleiche wie ¬∀x ¬mag(x, broccoli) Logik für Informatiker, SS ’06 – p.30 Eigenschaften von Quantoren ∀ distributiert über ∧ ∀ x ( . . . ∧ . . .) ist das gleiche wie (∀x . . .) ∧ (∀x . . .) Logik für Informatiker, SS ’06 – p.31 Eigenschaften von Quantoren ∀ distributiert über ∧ ∀ x ( . . . ∧ . . .) ist das gleiche wie (∀x . . .) ∧ (∀x . . .) Beispiel ∀x (studiert (x) ∧ arbeitet (x)) ist das gleiche wie (∀x studiert (x)) ∧ (∀x arbeitet (x)) Logik für Informatiker, SS ’06 – p.31 Eigenschaften von Quantoren ∃ distributiert über ∨ ∃ x ( . . . ∨ . . .) ist das gleiche wie (∃x . . .) ∨ (∃x . . .) Logik für Informatiker, SS ’06 – p.32 Eigenschaften von Quantoren ∃ distributiert über ∨ ∃ x ( . . . ∨ . . .) ist das gleiche wie (∃x . . .) ∨ (∃x . . .) Beispiel ∃x (eiskrem (x) ∨ broccoli (x)) ist das gleiche wie (∃x eiskrem (x)) ∨ (∃x broccoli (x)) Logik für Informatiker, SS ’06 – p.32 Eigenschaften von Quantoren ∀ distributiert NICHT über ∨ ∀ x ( . . . ∨ . . .) ist NICHT das gleiche wie (∀x . . .) ∨ (∀x . . .) Logik für Informatiker, SS ’06 – p.33 Eigenschaften von Quantoren ∀ distributiert NICHT über ∨ ∀ x ( . . . ∨ . . .) ist NICHT das gleiche wie (∀x . . .) ∨ (∀x . . .) Beispiel ∀x (eiskrem (x) ∨ broccoli (x)) ist NICHT das gleiche wie (∀x eiskrem (x)) ∨ (∀x broccoli (x)) Logik für Informatiker, SS ’06 – p.33 Eigenschaften von Quantoren ∃ distributiert NICHT über ∧ ∃ x ( . . . ∧ . . .) ist NICHT das gleiche wie (∃x . . .) ∧ (∃x . . .) Logik für Informatiker, SS ’06 – p.34 Eigenschaften von Quantoren ∃ distributiert NICHT über ∧ ∃ x ( . . . ∧ . . .) ist NICHT das gleiche wie (∃x . . .) ∧ (∃x . . .) Beispiel ∃x (gerade (x) ∧ ungerade (x)) ist NICHT das gleiche wie (∃x gerade (x)) ∧ (∃x ungerade (x)) Logik für Informatiker, SS ’06 – p.34 Beispiele: Familienverhältnisse • „Brüder sind Geschwister“ ∀x∀ y (bruder(x, y) → geschwister(x, y)) Logik für Informatiker, SS ’06 – p.35 Beispiele: Familienverhältnisse • „Brüder sind Geschwister“ ∀x∀ y (bruder(x, y) → geschwister(x, y)) • „bruder“ ist symmetrisch ∀x∀ y (bruder(x, y) ↔ bruder(y, x)) Logik für Informatiker, SS ’06 – p.35 Beispiele: Familienverhältnisse • „Brüder sind Geschwister“ ∀x∀ y (bruder(x, y) → geschwister(x, y)) • „bruder“ ist symmetrisch ∀x∀ y (bruder(x, y) ↔ bruder(y, x)) • „Mütter sind weibliche Elternteile“ ∀x∀ y (mutter(x, y) ↔ (weiblich(x) ∧ elter (x, y))) Logik für Informatiker, SS ’06 – p.35 Beispiele: Familienverhältnisse • „Brüder sind Geschwister“ ∀x∀ y (bruder(x, y) → geschwister(x, y)) • „bruder“ ist symmetrisch ∀x∀ y (bruder(x, y) ↔ bruder(y, x)) • „Mütter sind weibliche Elternteile“ ∀x∀ y (mutter(x, y) ↔ (weiblich(x) ∧ elter (x, y))) • „Ein Cousin ersten Grades ist das Kind eines Geschwisters eines Elternteils“ ∀x∀ y (cousin1(x, y) ↔ ∃ p∃ ps (elter (p, x) ∧ geschwister(ps, p) ∧ elter (ps, y))) Logik für Informatiker, SS ’06 – p.35 Das Gleichheitsprädikat Semantik Für alle Interpratationen I gilt: I(term 1 = term 2 ) = true genau dann, wenn I(term 1 ) = I(term 2 ) Logik für Informatiker, SS ’06 – p.36 Das Gleichheitsprädikat Semantik Für alle Interpratationen I gilt: I(term 1 = term 2 ) = true genau dann, wenn I(term 1 ) = I(term 2 ) Beispiele a = b ist erfüllbar a = a ist allgemeingültig Logik für Informatiker, SS ’06 – p.36 Das Gleichheitsprädikat Beispiel Formalisierung von „Bruder, der nicht nur Halbbruder ist“ ∀x∀ y bruder(x, y) ↔ (¬(x = y) ∧ ∃m∃v (¬(m = v) ∧ elter (m, x) ∧ elter (v, x) ∧ elter (m, y) ∧ elter (v, y))) Logik für Informatiker, SS ’06 – p.37 Wichtige Begriffe für Prädikatenlogik Definition – Allgemeingültigkeit – Erfüllbarkeit – Unerfüllbarkeit – Logische Folgerung – Logische Äquivalenz für Prädikatenlogik genauso definiert wie für Aussagenlogik (nur mit prädikatenlogischen Modellen statt aussagenlogischen) Logik für Informatiker, SS ’06 – p.38 Ausblick: Entscheidbarkeit der Erfüllbarkeit Kalküle Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B. Resolution) Wenn KB ` F , dann KB |= F Wenn KB |= F , dann KB ` F Logik für Informatiker, SS ’06 – p.39 Ausblick: Entscheidbarkeit der Erfüllbarkeit Kalküle Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B. Resolution) Wenn KB ` F , dann KB |= F Wenn KB |= F , dann KB ` F Aber diese Kalküle können die Erfüllbarkeit von Formeln NICHT entscheiden Logik für Informatiker, SS ’06 – p.39 Ausblick: Entscheidbarkeit der Erfüllbarkeit Aussagenlogik Allgemeingültigkeit, Erfüllbarkeit, Unerfüllbarkeit ENTSCHEIDBAR Logik für Informatiker, SS ’06 – p.40 Ausblick: Entscheidbarkeit der Erfüllbarkeit Aussagenlogik Allgemeingültigkeit, Erfüllbarkeit, Unerfüllbarkeit ENTSCHEIDBAR Prädikatenlogik Menge der allgemeingültigen Formeln AUFZÄHLBAR Menge der unerfüllbaren Formeln AUFZÄHLBAR Menge der erfüllbaren Formeln NICHT AUFZÄHLBAR Logik für Informatiker, SS ’06 – p.40 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur Logik für Informatiker, SS ’06 – p.41 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur • Term, Atom, Formel Logik für Informatiker, SS ’06 – p.41 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur • Term, Atom, Formel • Prädikatenlogisches Modell Logik für Informatiker, SS ’06 – p.41 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur • Term, Atom, Formel • Prädikatenlogisches Modell • Auswertung von Formeln in Modellen Logik für Informatiker, SS ’06 – p.41 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur • Term, Atom, Formel • Prädikatenlogisches Modell • Auswertung von Formeln in Modellen • Eigenschaften von Quantoren (Vertauschbarkeit untereinander und mit ∧, ∨ Logik für Informatiker, SS ’06 – p.41 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur • Term, Atom, Formel • Prädikatenlogisches Modell • Auswertung von Formeln in Modellen • Eigenschaften von Quantoren (Vertauschbarkeit untereinander und mit ∧, ∨ • Gleichheitsprädikat Logik für Informatiker, SS ’06 – p.41 Zusammenfassung: Syntax und Semantik • Prädikatenlogische Signatur • Term, Atom, Formel • Prädikatenlogisches Modell • Auswertung von Formeln in Modellen • Eigenschaften von Quantoren (Vertauschbarkeit untereinander und mit ∧, ∨ • Gleichheitsprädikat • Entscheidbarkeit der Erfüllbarkeit von Formeln Logik für Informatiker, SS ’06 – p.41