Logik Gabriele Kern-Isberner LS 1 – Information Engineering TU Dortmund Wintersemester 2014/15 WS 2014/15 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 1 / 278 Übersicht, Organisatorisches und Literatur Logik im WS 2014/15 Übersicht, Organisatorisches und Literatur G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 2 / 30 Übersicht, Organisatorisches und Literatur Inhalte der Vorlesung Gliederung der Vorlesung (Plan) Aussagenlog. Modellieren, Äquivalenzen, Normalformen Grundlagen der logischen Programmierung Folgern vs. Beweisen, Endlichkeitssatz, Vollständigkeitssatz Vollständigkeit, Unvollständigkeit, Unentscheidbarkeit Erfüllbarkeit: Markierungsalgorithmus und aussagenlogische Resolution Teil A: Aussagenlogik Syntax und Semantik Beispiele, Syntax Logik für Informatiker Teil C: Prädikatenlogik Erfüllbarkeit: Prädikatenlogische Resolution Erfüllbarkeit: Grundresolution Semantik, prädikatenlogisches Modellieren, Normalformen Teil B: Modallogik Modallogisches Modellieren, Syntax und Semantik G. Kern-Isberner (TU Dortmund) Logik Weitere Resultate Erfüllbarkeit: Tableauxkalküle WS 2014/15 14 / 30 Übersicht, Organisatorisches und Literatur Inhalte der Vorlesung Wiederkehrende Themen dieser Vorlesung Die folgenden Fragen werden für jede der drei betrachteten Logiken eine Rolle spielen: Zentrale Themen für alle 3 Logiken • Syntax: Wie sind Formeln aufgebaut? • Semantik: Wie wird die Bedeutung (im Sinne einer formalen Interpretation) von Formeln formal definiert? • Modellierung: Wie lassen sich Situationen modellieren, umgangssprachliche Aussagen in Formeln überführen und Formeln verstehen? • Wie lassen sich „logische Schlüsse“ automatisieren? • Eine besondere Rolle spielen dabei Erfüllbarkeitstests: Wie lässt sich herausfinden, ob eine gegebene Formel überhaupt wahr werden kann? G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 13 / 30 Teil A A – Aussagenlogik (AL) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 2 / 158 AL – Modellierung, Äquivalenzen und Normalformen Modellierung mit Aussagenlogik Formalisierung umgangssprachlicher Aussagen (1/2) • Vorsicht bei der Formalisierung umgangssprachlicher Aussagen! • Implikationen: – Wenn ich die Studienleistung schaffe, kann ich die Klausur mitschreiben: studienleistung → klausur – Ich kann die Klausur mitschreiben, wenn ich die Studienleistung schaffe: studienleistung → klausur – Nur wenn ich die Studienleistung schaffe, kann ich die Klausur mitschreiben: klausur → studienleistung G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 32 / 158 AL – Modellierung, Äquivalenzen und Normalformen Logische Äquivalenzen Äquivalenzen der Aussagenlogik (1/3) Satz 2.3 Für aussagenlogische Formeln ϕ, ϕ1 , ϕ2 , ϕ3 gelten: • Kommutativität – ϕ1 ∧ ϕ2 ≡ ϕ2 ∧ ϕ1 – ϕ1 ∨ ϕ2 ≡ ϕ2 ∨ ϕ1 • Assoziativität – (ϕ1 ∧ ϕ2 ) ∧ ϕ3 ≡ ϕ1 ∧ (ϕ2 ∧ ϕ3 ) – (ϕ1 ∨ ϕ2 ) ∨ ϕ3 ≡ ϕ1 ∨ (ϕ2 ∨ ϕ3 ) • Idempotenz – ϕ∧ϕ≡ϕ – ϕ∨ϕ≡ϕ • Absorption – ϕ1 ∧ (ϕ1 ∨ ϕ2 ) ≡ ϕ1 – ϕ1 ∨ (ϕ1 ∧ ϕ2 ) ≡ ϕ1 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 48 / 158 AL – Modellierung, Äquivalenzen und Normalformen Logische Äquivalenzen Äquivalenzen der Aussagenlogik (2/3) Satz 2.3 (Forts.) Für aussagenlogische Formeln ϕ, ϕ1 , ϕ2 , ϕ3 gelten: • Distributivität – ϕ1 ∨ (ϕ2 ∧ ϕ3 ) ≡ (ϕ1 ∨ ϕ2 ) ∧ (ϕ1 ∨ ϕ3 ) – ϕ1 ∧ (ϕ2 ∨ ϕ3 ) ≡ (ϕ1 ∧ ϕ2 ) ∨ (ϕ1 ∧ ϕ3 ) • Doppelnegation – ¬¬ϕ ≡ ϕ • De Morgansche Regeln – ¬(ϕ1 ∧ ϕ2 ) ≡ ¬ϕ1 ∨ ¬ϕ2 – ¬(ϕ1 ∨ ϕ2 ) ≡ ¬ϕ1 ∧ ¬ϕ2 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 49 / 158 AL – Modellierung, Äquivalenzen und Normalformen Normalformen Normalformen der Aussagenlogik: KNF und DNF • Ein Literal L ist eine Formel der Form X oder ¬X mit X ∈ AV W • Eine disjunktive Klausel ist eine Disjunktion ki=1 Li von Literalen V • Eine konjunktive Klausel ist eine Konjunktion ki=1 Li von Literalen • Eine AL-Formel ϕ ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion disjunktiver Klauseln ist • Eine AL-Formel ϕ ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion konjunktiver Klauseln ist G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 56 / 158 AL – Erfüllbarkeit Das Erfüllbarkeitsproblem Erfüllbare und allgemeingültige Formeln (1/2) Definition 3.2 Modell, Erfüllbarkeit, Allgemeingültigkeit • Eine Belegung α mit [[ϕ]]α = 1 heißt Modell von ϕ (Andere Notation : α |= ϕ) • Ist Φ eine Menge von aussagenlogischen Formeln, so heißt α Modell von Φ, falls für alle ϕ ∈ Φ gilt: [[ϕ]]α = 1 (bzw. : α |= Φ) • Eine Formel ϕ heißt – erfüllbar, falls sie ein Modell hat, – andernfalls unerfüllbar • Eine Formel ϕ heißt allgemeingültig (oder: Tautologie), falls jede zu ϕ passende Belegung ein Modell von ϕ ist • Für Mengen von Formeln werden die Begriffe erfüllbar und allgemeingültig analog definiert G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 70 / 158 AL – Erfüllbarkeit Das Erfüllbarkeitsproblem Erfüllbare und allgemeingültige Formeln (2/2) Beispiele • (A1 ∧ ¬A1 ) ist unerfüllbar • (A1 ∨ ¬A1 ) ist allgemeingültig • A1 ∨ A2 ist erfüllbar aber nicht allgemeingültig • {(A1 ∨ ¬A2 ), A2 , ¬A1 } ist unerfüllbar Die Menge AL ist wie folgt strukturiert: allgemeingültig erfüllbar aber nicht allgemeingültig unerfüllbar G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 71 / 158 AL – Erfüllbarkeit Hornformeln Hornklauseln und Hornformeln (1/2) Definition 3.3 Horn-Klausel, Horn-Formel • Eine Klausel (L1 ∨ · · · ∨ Lk ) heißt Horn-Klausel, falls sie höchstens ein positives Literal Li hat • Eine Formel in KNF heißt Horn-Formel, falls alle ihre Klauseln Horn-Klauseln sind Beispiel • (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ A4 ) ist keine Horn-Formel • (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ ¬A4 ) ist eine Horn-Formel Eine Horn-Klausel in Implikationsform hat in ihrer Disjunktion höchstens ein Literal. Horn-Formeln sind nach dem Logiker Alfred Horn (1918-2001) benannt G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 78 / 158 AL – Erfüllbarkeit Hornformeln Erfüllbarkeitstest für Horn-Formeln: Markierungsalgorithmus Markierungsalgorithmus Eingabe: Horn-Formel ϕ Ausgabe: „ ja“, falls ϕ erfüllbar ist, sonst „nein“ 1: Markiere alle Variablen X, für die es eine Klausel X in ϕ gibt 2: while es gibt Klauseln der Art (X1 ∧ . . . ∧ Xk ) → X in ϕ, für die 3: 4: 5: 6: (a) X1 , . . . , Xk markiert sind und (b) X noch nicht markiert ist, do Wähle eine solche Klausel und markiere X if es gibt eine Klausel der Art (X1 ∧ . . . ∧ Xk ) → ⊥ in ϕ, für die X1 , . . . , Xk markiert sind then Ausgabe „unerfüllbar“ else Ausgabe „erfüllbar“ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 80 / 158 AL – Erfüllbarkeit Aussagenlogische Resolution Klauseln und Klauselmengen (1/4) Es ist klar, dass die Semantik einer Klausel nicht davon abhängt, ob ein bestimmtes Literal einmal oder mehrfach in ihr vorkommt und in welcher Reihenfolge die Literale sind. • Zum Beispiel: (A1 ∨ A3 ∨ ¬A2 ∨ A1 ) ≡ (¬A2 ∨ A3 ∨ A1 ) Wir repräsentieren disjunktive Klauseln deshalb oft nur durch die Menge ihrer Literale: • Statt (A1 ∨ A3 ∨ ¬A2 ∨ A1 ) schreiben wir beispielsweise {A1 , A3 , ¬A2 } oder {A1 , ¬A2 , A3 } Eine Formel ϕ in KNF repräsentieren wir dann durch ihre Klauselmenge K(ϕ), also die Menge ihrer Literalmengen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 90 / 158 AL – Erfüllbarkeit Aussagenlogische Resolution Klauseln und Klauselmengen (3/4) Die Erfüllbarkeit einer KNF-Formel ϕ wollen wir jetzt auf die Erfüllbarkeit ihrer Klauselmenge K(ϕ) zurückführen. Eine Formel in KNF wird durch eine Belegung genau dann wahr, wenn in jeder Klausel mindestens ein Literal wahr wird. Deshalb definieren wir, dass eine Klauselmenge K durch eine Belegung α erfüllt wird, wenn es in jeder Klausel K ∈ K ein Literal L gibt mit α |= L. Wir nennen K erfüllbar, wenn es eine Belegung gibt, die K erfüllt. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 92 / 158 AL – Erfüllbarkeit Aussagenlogische Resolution Das Resolutionslemma (1/2) Lemma 3.7 (Resolutionslemma) • Seien L1 , . . . , Lk und L01 , . . . , L0l Literale und X eine aussagenlogische Variable • Ist α eine Wahrheitsbelegung mit – α |= {L1 , . . . , Lk , X} und – α |= {L01 , . . . , L0l , ¬X}, dann gilt auch α |= {L1 , . . . , Lk , L01 , . . . , L0l } Wir nennen {L1 , . . . , Lk , L01 , . . . , L0l } dann die Resolvente von {L1 , . . . , Lk , X} und {L01 , . . . , L0l , ¬X}. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 95 / 158 AL – Erfüllbarkeit Aussagenlogische Resolution Der Resolutionssatz der Aussagenlogik (2/9) Dazu definieren wir: – – – – Res(K) =def K ∪ {K|K ist Resolvente zweier Klauseln aus K} Res1 (K) =def Res(K) k−1 Resk (K) =def Res(Res (K)),für jedes k > 1 S ∞ Res (K) =def k≥1 Resk (K) Satz 3.8 (Resolutionssatz) Eine endliche Klauselmenge K ist genau dann unerfüllbar, wenn ∈ Res∞ (K). Beweis • Wir zeigen: (1) wenn ∈ Res∞ (K) dann K unerfüllbar (2) wenn K unerfüllbar dann ∈ Res∞ (K) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 101 / 158 AL – Vollständigkeits- und Endlichkeitssatz Semantisches Folgern und syntaktisches Beweisen Folgerung und Unerfüllbarkeit (2/4) Definition 4.4 (Aussagenlogische Folgerung) • Sei Φ eine Menge von AL-Formeln und ψ eine AL-Formel • ψ folgt aus Φ, in Zeichen: Φ |= ψ, gdw.a jede zu Φ ∪ {ψ} passende Belegung, die Modell von Φ ist, auch Modell von ψ ist. a gdw. = genau dann, wenn Beispiel {A, A → B} |= B Zu beachten: die Menge Φ kann auch unendlich sein G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 133 / 158 AL – Vollständigkeits- und Endlichkeitssatz Semantisches Folgern und syntaktisches Beweisen Semantisches Folgern und syntaktisches Beweisen (1/3) Wir wenden uns jetzt also dem syntaktischen Beweisen zu: • Φ ` ψ soll bedeuten, dass ψ aus Φ durch syntaktische Operationen hergeleitet (bewiesen) werden kann • Die genaue Bedeutung von „`“ hängt dabei jeweils von einem spezifischen Beweissystem ab • Unsere Mindestanforderung an ein solches Beweissystem ist, dass es korrekt ist: Φ ` ψ impliziert Φ |= ψ • Idealerweise sollte ein Beweissystem auch noch vollständig sein: Φ |= ψ impliziert Φ ` ψ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 136 / 158 AL – Vollständigkeits- und Endlichkeitssatz Vollständigkeitssatz der Aussagenlogik Vollständigkeitssatz der Aussagenlogik: abzählbare Version (1/3) Satz 4.14 (Vollständigkeitssatz (abz.)) • Sei Φ eine Menge aussagenlogischer Formeln über einer abzählbaren Menge aussagenlogischer Variablen • Sei ψ eine aussagenlogische Formel • Dann sind äquivalent: – Φ |= ψ – Φ`ψ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 155 / 158 Modallogik – Übersicht Teil B B – Modallogik (ML) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 2 / 126 ML – Grundlagen Syntax und Semantik der Modallogik Modallogik: Semantik (4/4) Beispiel 1 B 2 A, B 4 C 3 A Es gilt: K1 , 1 |= 3A ∧ 3(A ∧ ¬B) Die Operatoren und 3 sind dual zueinander: • Für alle K und s sind äquivalent: – K, s |= ϕ – K, s |= ¬3¬ϕ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 30 / 126 ML – Grundlagen Syntax und Semantik der Modallogik Modallogik: Model Checking Die Berechnung aller Welten s einer Kripke-Struktur K, für die eine gegebene Formel ϕ der Modallogik gilt, erfolgt am einfachsten „bottom-up“ (d.h., über den Aufbau der Formeln) gemäß der Def. der Semantik. Beispiel 1 B 2 A, B 4 C 3 A G. Kern-Isberner (TU Dortmund) Beispiel Wir berechnen die Welten von K, in denen ϕ = 3A ∧ 3(A ∧ ¬B) gilt: A B ¬B A ∧ ¬B 3(A ∧ ¬B) 3(A ∧ ¬B) A 3A ϕ Logik 1 X X X X X X X X X 2 X X X X X X X X X 3 X X X X X X X X X 4 X X X X X X X X X WS 2014/15 31 / 126 ML – Erfüllbarkeit Erfüllbarkeit und Folgerungen in ML (1/2) Wie in der Aussagenlogik nennen wir eine Formel erfüllbar, wenn sie ein Modell hat: Definition 6.4 ((ML)Erfüllbarkeit, Kripke-Modell) Eine modallogische Formel ϕ heißt erfüllbar, wenn es eine Kripkestruktur K mit einer Welt s gibt, so dass K, s |= ϕ gilt. In diesem Fall nennen wir (K, s) auch ein Kripke-Modell von ϕ. Auch die Folgerung lässt sich analog zur Aussagenlogik definieren: Definition 6.5 ((ML)Folgerung) Seien ϕ, ψ ML-Formeln. ψ folgt aus ϕ, in Zeichen: ϕ |= ψ gdw. jedes Kripke-Modell (K, s) von ϕ auch ein Kripke-Modell von ψ ist, d.h., wenn K, s |= ϕ impliziert K, s |= ψ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 48 / 126 ML – Erfüllbarkeit Erfüllbarkeit und Folgerungen in ML (2/2) Folgerungen1 lassen sich wieder sehr bequem auf Fragen der Unerfüllbarkeit reduzieren (vgl. Proposition 4.10): Proposition 6.5 • Sei Φ eine Menge von ML-Formeln und ψ eine ML-Formel • Dann gilt: Φ |= ψ gdw. Φ ∪ {¬ψ} ist unerfüllbar 1 wobei wir wie in der Aussagenlogik auch wieder Folgerungen aus Mengen von ML-Formeln betrachten können G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 49 / 126 ML – Erfüllbarkeit Ein Tableaukalkül für die Aussagenlogik AL-Tableaukalkül: Regeln (2/2) • Zunächst wird die Wurzel des Baumes erzeugt und mit ϕ beschriftet • Danach wird so lange eine der beiden folgenden Regeln angewendet, bis dies nicht mehr möglich ist: ∨-Regel: – Wähle einen unmarkierten Knoten v mit einer Formel der Form ϕ1 ∨ ϕ2 und markiere ihn – Hänge an jedes Blatt u des an v hängenden Teilbaumes zwei neue Knoten u1 und u2 als Kinder an, und beschrifte sie mit ϕ1 bzw. ϕ2 ∧-Regel: – Wähle einen unmarkierten Knoten v mit einer Formel der Form ϕ1 ∧ ϕ2 und markiere ihn – Hänge an jedes Blatt u des an v hängenden Teilbaumes ein neues Kind u0 an, das mit ϕ1 beschriftet ist, und an u0 ein weiteres Kind u00 , das mit ϕ2 beschriftet ist G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 58 / 126 ML – Erfüllbarkeit Ein Tableaukalkül für die Aussagenlogik AL-Tableaukalkül: Bedeutung (2/2) • Eine Formel ϕ ist genau dann erfüllbar, wenn ϕ ein offenes saturiertes Tableau T hat (Das werden wir noch beweisen!) • Und: Wenn es ein solches Tableau für ϕ gibt, so haben alle saturierten Tableaus für ϕ ein offenes Blatt Eine erfüllende Belegung für ϕ lässt sich dann wie folgt konstruieren: • Wähle ein offenes Blatt v von T • Definiere eine Wahrheitsbelegung α so, dass sie alle Literale auf dem Weg von v zur Wurzel wahr macht Bemerkung: Verschieden strukturierte Tableaus unterscheiden sich durch die Reihenfolge, in denen Konjunktionen und Disjunktionen bearbeitet werden. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 60 / 126 ML – Erfüllbarkeit Ein Tableaukalkül für die Aussagenlogik AL-Tableaukalkül: Beispiel (Forts.) Beispiel ¬A ∧ ((B ∨ A) ∧ (¬B ∨ A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) X ¬A ∧ ((B ∨ A) ∧ (¬B ∨ A)) X A ∧ ((¬A ∧ B) ∨ ¬B) X ¬A A (B ∨ A) ∧ (¬B ∨ A) X (¬A ∧ B) ∨ ¬B X B∨A X ¬A ∧ B X ¬B , ¬A ¬B ∨ A X B ¬B A A ¬B A B • Erfüllende Belegung: A 7→ 1, B 7→ 0 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 61 / 126 ML – Erfüllbarkeit Ein Tableaukalkül für die Modallogik Tableaukalkül für ML: Erstes Beispiel (1/2) Beispiel • Ist 33A ∧ (¬A ∨ ¬A) erfüllbar? s1 , 33A ∧ (¬A ∨ ¬A) X s1 , 33A X s1 , (¬A ∨ ¬A) X (s1 , s2 ) ∈ E X s2 , 3A X (s2 , s3 ) ∈ E X s3 , A s2 , ¬A ∨ ¬A X G. Kern-Isberner (TU Dortmund) s2 , ¬A X s2 , ¬A X , s3 , ¬A Logik WS 2014/15 74 / 126 ML – Erfüllbarkeit Ein Tableaukalkül für die Modallogik Tableaukalkül für ML: Erstes Beispiel (2/2) Beispiel (Forts.) Also gilt ϕ in Welt s1 der folgenden Kripkestruktur und ist deshalb erfüllbar: s1 s2 s3 A G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 75 / 126 ML – Erfüllbarkeit Ein Tableaukalkül für die Modallogik Behandlung von s, ϕ-Knoten Wichtig beim Umgang mit : • Wird ein Knoten v mit Beschriftung s, ϕ bearbeitet, so muss für jeden mit (s, s0 ) ∈ E beschrifteten Knoten w ein mit s0 , ϕ beschrifteter Knoten an jedes Blatt, das unterhalb von v und w liegt, angefügt werden • Ist v ein Knoten mit Beschriftung s, 3ϕ, der markiert wird, und ist u ein mit (s, s0 ) ∈ E beschrifteter Knoten, der dabei neu eingefügt wird, dann muss für jeden schon markierten Knoten z mit Beschriftung s, ψ in Pu ein mit s0 , ψ beschrifteter Knoten an jedes Blatt unterhalb von u angefügt werden G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 77 / 126 ML – Weitere Eigenschaften Bisimulationen Bisimulationen (2/4) Definition 7.7 (Bisimulationen) • Seien K1 = (V1 , E1 , P1 ) und K2 = (V2 , E2 , P2 ) Kripkestrukturen • Eine Relation S ⊆ V1 × V2 heißt Bisimulation zwischen K1 und K2 , falls für alle (s1 , s2 ) ∈ S gilt: (a) P1 (s1 ) = P2 (s2 ) (b) ∗ für alle t1 mit (s1 , t1 ) ∈ E1 gibt es t2 mit (s2 , t2 ) ∈ E2 und (t1 , t2 ) ∈ S, und ∗ für alle t2 mit (s2 , t2 ) ∈ E2 gibt es t1 mit (s1 , t1 ) ∈ E1 und (t1 , t2 ) ∈ S • (K1 , s1 ) ∼ (K2 , s2 ) ⇔def es gibt eine Bisimulation S zwischen K1 und K2 mit (s1 , s2 ) ∈ S • Wir nennen s1 und s2 dann bisimilar G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 98 / 126 ML – Weitere Eigenschaften Bisimulationen ML und Bisimulationen (1/4) Dass zwei Welten bisimilar sind, können wir durch Angabe einer Bisimulation zeigen. Aber: Wie können wir zeigen, dass zwei Welten s1 , s2 nicht bisimilar sind? Intuitiv: Wenn in s1 eine ML-Formel gilt, die in s2 nicht gilt, so kann Spieler 1 das Spiel von s1 aus gewinnen Der folgende Satz 7.9 zeigt, dass diese Intuition korrekt ist und im Endlichen sogar die Umkehrung gilt. Notation: (K1 , s1 ) ≡ (K2 , s2 ) ⇔def für alle ϕ ∈ ML gilt: K1 , s |= ϕ gdw. K2 , s2 |= ϕ. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 102 / 126 ML – Weitere Eigenschaften Bisimulationen ML und Bisimulationen (2/4) Satz 7.9 Für Kripkestrukturen K1 , K2 und Welten s1 , s2 gilt: (a) Wenn (K1 , s1 ) ∼ (K2 , s2 ) dann (K1 , s1 ) ≡ (K2 , s2 ) (b) Sind K1 und K2 endlich, so gilt: Wenn (K1 , s1 ) ≡ (K2 , s2 ) dann (K1 , s1 ) ∼ (K2 , s2 ) Satz 7.9 ermöglicht es, in vielen Fällen Kripkestrukturen durch kleinere Kripkestrukturen zu ersetzen, die genau dieselben ML-Formeln erfüllen: Dazu wird für eine Kripkestruktur K die Menge S aller Paare (s, s0 ) mit K, s ∼ K, s0 berechnet und die sich ergebenden Äquivalenzklassen von Welten werden durch einzelne Welten ersetzt. (Quotientenstruktur) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 103 / 126 ML – Weitere Eigenschaften Bisimulationen Bisimulationen: Berechnung (1/2) Berechnung der maximalem Bisimulation für zwei Kripkestrukturen K1 , K2 : Bisimulations-Algorithmus Eingabe: Kripkestrukturen K1 = (V1 , E1 , P1 ), K2 = (V2 , E2 , P2 ) Ausgabe: Die Menge S aller Paare (s1 , s2 ) mit (K1 , s1 ) ∼ (K2 , s2 ) 1: Initialisiere S durch die Menge aller Paare (s1 , s2 ) mit P1 (s1 ) = P2 (s2 ) 2: while es ergeben sich Änderungen für S do % S wird verkleinert 3: if es gibt s1 , s2 , t1 mit • (s1 , s2 ) ∈ S, (s1 , t1 ) ∈ E1 , und • es gibt kein t2 ∈ V2 mit (s2 , t2 ) ∈ E2 und (t1 , t2 ) ∈ S, then 4: Entferne (s1 , s2 ) aus S 5: if es gibt s1 , s2 , t2 mit • (s1 , s2 ) ∈ S, (s2 , t2 ) ∈ E2 , und • es gibt kein t1 ∈ V1 mit (s1 , t1 ) ∈ E1 und (t1 , t2 ) ∈ S, then 6: Entferne (s1 , s2 ) aus S G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 114 / 126 Prädikatenlogik – Übersicht Teil C C – Prädikatenlogik (PL) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 2 / 278 PL – Strukturen & Syntax Strukturen Strukturen (2/2) Definition 8.2 (Struktur) • Eine Struktur A besteht aus – – – – einer Grundmenge A 6= ∅, Relationen R1 , . . . , Rk über A Funktionen f1 , . . . , fl über A Konstanten c1 , . . . , cm aus A • Wir schreiben A dann als (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm ) Bemerkungen: • Es ist auch k = 0, l = 0 oder m = 0 möglich • Wir betrachten nur Strukturen mit endlich vielen Relationen und Funktionen • Wir betrachten nur Strukturen mit nichtleerer Grundmenge • Statt „Grundmenge“ sagen wir manchmal auch „Universum“, die Elemente der Grundmenge nennt man auch „Individuen“ oder „Objekte“ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 19 / 278 PL – Strukturen & Syntax Strukturen Strukturen: Signaturen (2/3) • Eine Signatur ist eine Menge von Relations-, Funktions- und Konstantensymbolen • Die Signatur σ(A) einer Struktur A ist die Menge der Symbole zu den in A vorkommenden Relationen, Funktionen und Konstanten • Eine Struktur A ist passend zu einer Signatur S, wenn S ⊆ σ(A) Beispiele • Die Signatur von Erreichbarkeitsproblemen ist {E, c, d}, wobei E ein 2-stelliges Relationssymbol ist und c, d Konstantensymbole sind • Die Signatur von Zeichenketten über dem Alphabet {a, b, c} ist {≤, Qa , Qb , Qc }, wobei ≤ ein 2-stelliges Relationssymbol ist und Qa , Qb , Qc jeweils 1-stellige Relationssymbole sind G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 25 / 278 PL – Strukturen & Syntax Syntax der Prädikatenlogik Syntax der Prädikatenlogik (1/2) Sei PV eine abzählbare Menge prädikatenlogischer Variablen. PV enthalte mindestens x, y, z sowie xi , yi , zi , für alle i ∈ N. Definition 8.3 (Syntax prädikatenlogischer Terme) • Sei σ eine Signatur • Die Menge PT(σ) der prädikatenlogischen Terme über σ ist induktiv wie folgt definiert: – Jede Variable aus PV ist ein Term – Jedes Konstantensymbol aus σ ist ein Term – Ist f ein k-stelliges Funktionssymbol aus σ und sind t1 , . . . , tk Terme über σ, so ist f (t1 , . . . , tk ) ein Term über σ Terme, die keine Variablen verwenden, nennen wir Grundterme. Beispiel Terme über {R, f, c}, für 2-stelliges f , sind z.B. c, x, y, f (c, c), f (c, x), f (y, f (x, x)), . . .. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 27 / 278 PL – Strukturen & Syntax Syntax der Prädikatenlogik Syntax der Prädikatenlogik (2/2) Definition 8.4 (Syntax prädikatenlogischer Formeln) Sei σ eine Signatur. Die Menge PL(σ) der prädikatenlogischen Formeln über σ ist induktiv wie folgt definiert: (1) Ist R ein k-stelliges Relationssymbol aus σ und sind t1 , . . . , tk Terme über σ, so ist R(t1 , . . . , tk ) in PL(σ) (2) Sind ϕ, ϕ1 , ϕ2 in PL(σ), so auch (a) ¬ϕ (b) (ϕ1 ∧ ϕ2 ) (c) (ϕ1 ∨ ϕ2 ) (3) Ist x eine Variable und ϕ in PL(σ), so sind auch (a) ∃x ϕ und (b) ∀x ϕ in PL(σ) G. Kern-Isberner (TU Dortmund) • Zusätzliche Klammern in Formeln sind erlaubt • ∃ heißt Existenzquantor, ∀ heißt Allquantor • Formeln vom Typ (1) heißen atomar • Formeln, die nur durch (1) und (2) gebildet werden können, heißen quantorenfrei • Wenn σ durch den Zusammenhang klar ist (oder unwichtig), schreiben wir einfach PL statt PL(σ) • Umgekehrt: die Signatur σ(ϕ) einer Formel ϕ ist die Menge der in ϕ vorkommenden Relations-, Funktions- und Konstantensymbole Wenn die Signatur nicht explizit angegeben ist, gelten folgende Konventionen: • Variablen sind kleine Buchstaben vom Ende des Alphabets • Konstantensymbole sind kleine Buchstaben vom Anfang des Alphabets • Funktionssymbole sind kleine Buchstaben „aus der Mitte des Alphabets“ wie f, g, h • Relationssymbole sind große Buchstaben Logik WS 2014/15 28 / 278 PL – Strukturen & Syntax Syntax der Prädikatenlogik Freie und gebundene Variablen Beispiel • Sei ϕ1 = R(x) ∨ ∀z P (x, g(z)) ∨ ∀y P (f (x), y) – Sämtliche Vorkommen von x in ϕ1 sind frei, die Vorkommen von y und z sind gebunden • In ϕ2 = P (x) ∨ ∃x R(x, y) kommt x sowohl frei als auch gebunden vor – Die Menge der freien Variablen dieser Formel ist also {x, y} • Sei ϕ3 = ∀x [∀y ∃x E(y, x) ∧ E(x, y)] ∧ E(x, x) – frei: x in E(x, x) und y in E(x, y) – gebunden: x in E(y, x) (durch ∃x) und x in E(x, y) (durch ∀x) y in E(y, x) (durch ∀y) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 31 / 278 PL – Strukturen & Syntax Semantik der Prädikatenlogik Prädikatenlogische Interpretationen (2/2) Für die Semantik einer PL-Formel ϕ benötigen wir deshalb zweierlei: • eine Struktur, in der die Relations-, Funktions- und Konstantensymbole interpretiert werden, sowie • eine Zuordnung von Werten zu den freien Variablen von ϕ Definition 8.5 ((passende) Interpretationen) • Eine Interpretation I = (A, β) besteht aus – einer Struktur A mit Grundmenge A und – einer partiellen Abbildung β : PV → A (der Belegung) • Eine Interpretation (A, β) heißt passend für eine PL-Formel ϕ, falls – A passend zur Signatur von ϕ ist und – β(x) für jede freie Variable x von ϕ definiert ist • Entsprechend sind zu einem Term passende Interpretationen definiert • Notation: Ist β z.B. eine Belegung mit β(x) = 2, so schreiben wir statt (A, β) auch (A, x 7→ 2). G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 34 / 278 PL – Strukturen & Syntax Semantik der Prädikatenlogik Semantik der Prädikatenlogik (1/2) Die Semantik der Prädikatenlogik ordnet jeder Formel ϕ und jeder passenden Interpretation I einen Wahrheitswert [[ϕ]]I zu. Sei a ∈ A. Ist β eine Belegung, so ist β[x/a] die Belegung, die aus β in der folgenden Weise entsteht: a, wenn y = x β[x/a](y) = β(y), wenn y 6= x Ist I = (A, β), so bezeichnet I[x/a] die Interpretation (A, β[x/a]). G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 40 / 278 PL – Strukturen & Syntax Semantik der Prädikatenlogik Semantik der Prädikatenlogik (2/2) Definition 8.6 (Semantik prädikatenlogischer Formeln) • Sei I = (A, β) eine Interpretation • Der Wert [[t]]I eines (zu I passenden) Terms t ist induktiv wie folgt definiert: – [[x]]I =def β(x) für Variablen x ∈ PV – [[c]]I =def cA für Konstantensymbole c – [[f (t1 , . . . , tk )]]I =def f A ([[t1 ]]I , . . . , [[tk ]]I ) • Der Wahrheitswert [[ϕ]]I einer PL-Formel ϕ ist induktiv wie folgt definiert: (1) [[R(t1 , . . . , tk )]]I = 1 ⇔ ([[t1 ]]I , . . . , [[tk ]]I ) ∈ RA (2) (a) [[¬ϕ]]I = 1 ⇔ [[ϕ]]I = 0 (3) (b) (c) (a) (b) [[ϕ1 ∧ ϕ2 ]]I ⇔ [[ϕ1 ]]I = 1 und [[ϕ2 ]]I = 1 [[ϕ1 ∨ ϕ2 ]]I ⇔ [[ϕ1 ]]I = 1 oder [[ϕ2 ]]I = 1 [[∃xϕ]]I = 1 ⇔ es gibt ein a ∈ A mit [[ϕ]]I[x/a] = 1 [[∀xϕ]]I = 1 ⇔ für alle a ∈ A gilt [[ϕ]]I[x/a] = 1 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 41 / 278 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (2/6) Beispiel (Forts.) Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: • f (a) ist bester Freund von a • g(a) ist bester Studierender in der Übungsgruppe von a • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt Wer bester Freund eines ÜbungsgruppenBesten ist, hat die Aufgaben verstanden • Für jeden Studierenden gilt: wenn es einen Studierenden gibt, dessen Übungsgruppen-Bester ihn als besten Freund hat, dann hat er die Aufgaben verstanden • ∀x ((∃y f (g(y)) = x) → R(x)) • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 53 / 278 PL – Modellierung und Normalformen Äquivalenzen Äquivalenzen der Prädikatenlogik (3/4) Satz 9.3 • Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 gelten: (1) ¬∀x ϕ ≡ ∃x ¬ϕ und ¬∃x ϕ ≡ ∀x ¬ϕ (2) (∀x ϕ1 )∧(∀x ϕ2 ) ≡ ∀x (ϕ1 ∧ϕ2 ) und (∃x ϕ1 )∨(∃x ϕ2 ) ≡ ∃x (ϕ1 ∨ϕ2 ) (3) ∀x ∀y ϕ ≡ ∀y ∀x ϕ und ∃x ∃y ϕ ≡ ∃y ∃x ϕ (4) Falls x in ϕ2 nicht vorkommt: ∀x (ϕ1 ∧ ϕ2 ) ≡ (∀x ϕ1 ) ∧ ϕ2 und ∀x (ϕ1 ∨ ϕ2 ) ≡ (∀x ϕ1 ) ∨ ϕ2 (5) Falls x in ϕ2 nicht vorkommt: ∃x (ϕ1 ∨ ϕ2 ) ≡ (∃x ϕ1 ) ∨ ϕ2 und ∃x (ϕ1 ∧ ϕ2 ) ≡ (∃x ϕ1 ) ∧ ϕ2 Beweisskizze • Die Beweise erfolgen jeweils durch Rückführung auf die Semantik von PL-Formeln G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 64 / 278 PL – Modellierung und Normalformen Normalformen Normalformen: Begriffe (1/4) Definition 9.2 (reduzierte Form, NNF, Pränexform) • Eine PL-Formel ist in reduzierter Form, wenn sie nur ∃, ∨, ¬ verwendet, aber nicht ∀ und ∧ • Eine PL-Formel ϕ ist in Negations-Normalform (NNF), wenn Negationen in ϕ nur unmittelbar vor atomaren Formeln vorkommen • Eine PL-Formel ϕ ist in Pränexform, wenn sie die Gestalt Q1 x1 Q2 x2 . . . Qk xk ϕ0 hat, wobei – die Qi jeweils entweder ∃ oder ∀ sind, – die xi paarweise verschieden sind, und – ϕ0 quantorenfrei ist (also: ϕ0 ist atomar oder geklammert!) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 67 / 278 PL – Modellierung und Normalformen Normalformen Berechnung der Pränexform: Beispiel Beispiel • Wir betrachten die Formel [R(x) ∨ ∀y P (x, g(y))] ∧ ¬∀x ∃y P (f (x), y) • Da x gebunden und frei vorkommt und y zweimal quantifiziert wird, ersetzen wir die Variable y im ersten All-Quantor (und ihre Vorkommen) sowie die Variable x im Allquantor: [R(x) ∨ ∀y1 P (x, g(y1 ))] ∧ ¬∀x1 ∃y P (f (x1 ), y) • Da die Formel von der Form ϕ1 ∧ ϕ2 ist, wird zunächst für die beiden Teilformeln die Pränexform bestimmt: – PF(R(x) ∨ ∀y1 P (x, g(y1 ))) liefert die Formel ∀y1 [R(x) ∨ P (x, g(y1 ))] – PF(¬∀x1 ∃y P (f (x1 ), y)) führt zum Aufruf PF(∀x1 ∃y P (f (x1 ), y)) und liefert dann ∃x1 ∀y ¬P (f (x1 ), y) • Insgesamt erhalten wir also: ∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y)) Die hier betrachtete Formel ist nicht dieselbe wie im letzten Kapitel! G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 74 / 278 PL – Modellierung und Normalformen Normalformen Erfüllbarkeit: Grundbegriffe (1/2) Definition 9.3 (Modell, (un)erfüllbar, allgemeingültig, |=) • Sei ϕ eine prädikatenlogische Formel • Eine Interpretation I mit [[ϕ]]I = 1 heißt Modell von ϕ – Alternative Notation dafür: I |= ϕ • ϕ heißt erfüllbar, falls ϕ ein Modell hat, andernfalls unerfüllbar • ϕ heißt allgemeingültig (oder: Tautologie), falls jede zu ϕ passende Interpretation ein Modell von ϕ ist • I ist Modell einer Menge Φ prädikatenlogischer Formeln (I |= Φ), falls für alle ϕ ∈ Φ gilt: I |= ϕ Die Begriffe „erfüllbar“ und „allgemeingültig“ werden für Mengen Φ von Formeln analog definiert. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 76 / 278 PL – Modellierung und Normalformen Normalformen Skolemform (4/6) Allgemeiner kann jede Formel durch Anwendung der folgenden Skolem-Regel (und der Äquivalenzumwandlungen) in eine erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform umgewandelt werden: • Ist ϕ = ∀x1 ∀x2 . . . ∀xk ∃y ϕ0 , und kommt das Funktionssymbol f in ϕ0 nicht vor, so ist die Formel ∀x1 ∀x2 . . . ∀xk ϕ0 [y/f (x1 , . . . . , xk )] erfüllbarkeitsäquivalent zu ϕ • Steht der ∃-Quantor am Anfang (ist also k = 0), so wird y durch eine Konstante ersetzt Zur Erinnerung: Konstanten sind eigentlich 0-stellige Funktionen Zu beachten: ϕ darf durchaus weitere Quantoren enthalten 0 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 81 / 278 PL – Modellierung und Normalformen Normalformen Skolemform (5/6) Die Umwandlung einer prädikatenlogischen Formel ϕ in eine erfüllbarkeitsäquivalente Formel in Skolemform erfolgt in drei Phasen: (i) Wandle ϕ in eine äquivalente Formel ϕ1 in Pränexform um (ii) Wandle ϕ1 in eine erfüllbarkeitsäquivalente, geschlossene Pränex-Formel ϕ2 um: – ϕ2 = ∃x1 . . . ∃xm ϕ1 , wobei x1 , . . . , xm die freien Variablen von ϕ1 sind (iii) Wandle ϕ2 durch Anwendung der Skolem-Regel (von links nach rechts) in eine erfüllbarkeitsäquivalente geschlossene Skolemformel ϕ3 um G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 82 / 278 PL – Erfüllbarkeit: Grundresolution Einleitung Folgern: Grundbegriffe (1/2) Das semantische Folgern ist für die Prädikatenlogik analog zur Aussagenlogik definiert: Definition 10.1 (PL-Folgerung, |=) • Seien Φ eine Menge von PL-Formeln und ψ eine PL-Formel • Φ |= ψ gdw. jede zu Φ ∪ {ψ} passende Interpretation, die Modell von Φ ist, auch Modell von ψ ist • Wir sagen auch: ψ folgt aus Φ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 91 / 278 PL – Erfüllbarkeit: Grundresolution Einleitung Folgern: Grundbegriffe (2/2) Der Zusammenhang zwischen Folgern und Unerfüllbarkeit ist in der Prädikatenlogik auch genauso wie in der Aussagenlogik: Proposition 10.1 Seien Φ eine Menge von PL-Formeln und ψ eine PL-Formel. Dann gilt: Φ |= ψ gdw. Φ ∪ {¬ψ} ist unerfüllbar G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 92 / 278 PL – Erfüllbarkeit: Grundresolution Herbrand-Strukturen Herbrand-Strukturen (3/3) Definition 10.2 (Herbrand-Universum, Herbrand-Struktur) • Sei ϕ eine geschlossene Skolemformel • Das Herbrand-Universum H(ϕ) von ϕ sei die Menge aller Grundterme aus – PT(σ(ϕ)), falls ϕ ein Konstantensymbol enthält, und – PT(σ(ϕ) ∪ {a}) andernfalls • Eine Struktur H heißt Herbrand-Struktur für ϕ, falls gilt: – Die Grundmenge von H ist H(ϕ) – Ist c ein Konstantensymbol von ϕ, so ist cH = c – Ist f ein k-stelliges Funktionssymbol von ϕ und sind t1 , . . . , tk ∈ H(ϕ), so ist f H (t1 , . . . , tk ) = f (t1 , . . . , tk ) • Ein Herbrand-Modell einer Formel ϕ ist eine Herbrand-Struktur, die ein Modell für ϕ ist G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 107 / 278 PL – Erfüllbarkeit: Grundresolution Herbrand-Strukturen Satz von Herbrand (1/5) Satz 10.3 (Satz von Herbrand) Jede prädikatenlogische Formel χ hat genau dann ein Modell, wenn sie ein Herbrand-Modell hat. Beweisskizze • Die Richtung „⇐“ ist klar • Für „⇒“ sei ϕ = ∀x1 . . . ∀xl ψ eine durch Skolemisierung entstandene zu χ erfüllbarkeitsäquivalente geschlossene Skolemformel • Wir zeigen: – Hat ϕ ein Modell, so hat ϕ auch ein Herbrand-Modell H – Dieses Modell ist dann auch ein Herbrand-Modell für χ ∗ Die zusätzlichen Funktionen und Konstanten, die beim Übergang von χ zu ϕ durch Skolemisierung eingefügt wurden, können dazu einfach aus dem Modell entfernt werden G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 109 / 278 PL – Erfüllbarkeit: Grundresolution Grundresolution Erfüllbarkeitstest für prädikatenlogische Formeln Wenn eine Formel ϕ unerfüllbar ist, lässt sich also aus E(ϕ) die leere Klausel per (aussagenlogischer) Resolution herleiten. Damit erhalten wir den folgenden Algorithmus: Grundresolutionsalgorithmus Eingabe: geschlossene Skolemformel ϕ Ausgabe: „unerfüllbar“, falls ϕ unerfüllbar ist, andernfalls „erfüllbar“ oder keine Termination 1: M := ∅, i := 0 2: while i < |E(ϕ)| do 3: i := i + 1, ψi := i-te Formel von E(ϕ) 4: M := M ∪ {ψi } % M wird sukzessive mit E(ϕ) gefüllt 5: if Resolutionsalgo sagt, dass M aussagenlogisch unerfüllbar ist then 6: RETURN „unerfüllbar“ 7: RETURN „erfüllbar“ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 123 / 278 PL – Prädikatenlogische Resolution Einleitung Prädikatenlogische Resolution: Einleitung (2/2) Beispiel • „Direkterer“ Resolutionsbeweis für die Unerfüllbarkeit von ϕ2 : – Matrixklauselform von ϕ2 : {P (x)}, {¬P (f (x))} {P (x)} {¬P (f (x))} x 7→ a x 7→ f (a) {P (f (a))} {¬P (f (a))} Die prädikatenlogische Resolution sucht in der Matrixklauselform gezielt nach Paaren von Literalen, die nach Anwendung geeigneter Substitutionen für einen Resolutionsschritt genutzt werden können. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 135 / 278 PL – Prädikatenlogische Resolution Substitutionen Substitutionen: Definition (2/3) Wir notieren Substitutionen häufig in der Form σ = {x1 7→ t1 , . . . , xk 7→ tk } Beispiel • Sei L = ¬R(x, y, x) • Für σ = {y 7→ g(b)} ist σ(L) = ¬R(x, g(b), x) • Für σ = {x 7→ f (y)} ist σ(L) = ¬R(f (y), y, f (y)) • Für σ = {x 7→ f (y), y 7→ g(b)} ist σ(L) = ¬R(f (y), g(b), f (y)) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 138 / 278 PL – Prädikatenlogische Resolution Vorüberlegungen PL-Resolution: Vorüberlegungen (7/8) 2. Beispiel zur Grundresolution (Wdh.) • {{R(x)}, {P (x), ¬R(y), ¬R(f (a))}, {¬P (b), ¬R(g(b, y))}} {P (x), ¬R(y), ¬R(f (a))} x 7→ b y 7→ f (a) {R(x)} x 7→ f (a) {P (b), ¬R(f (a))} {¬P (b), R(g(b, y))} x 7→ g(b, a) y 7→ a {R(f (a))} {R(g(b, a))} {¬P (b), ¬R(g(b, a))} {P (b)} {¬P (b)} Weitere Beobachtungen: (1) Klauseln können in Grundresolutionsbeweisen mehrfach verwendet werden ({R(x)}) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 149 / 278 PL – Prädikatenlogische Resolution Vorüberlegungen PL-Resolution: Vorüberlegungen (8/8) 2. Beispiel zur Grundresolution (Wdh.) • {{R(x)}, {P (x), ¬R(y), ¬R(f (a))}, {¬P (b), ¬R(g(b, y))}} {P (x), ¬R(y), ¬R(f (a))} x 7→ b y 7→ f (a) {R(x)} x 7→ f (a) {P (b), ¬R(f (a))} {¬P (b), R(g(b, y))} x 7→ g(b, a) y 7→ a {R(f (a))} {R(g(b, a))} {¬P (b), ¬R(g(b, a))} {P (b)} {¬P (b)} Weitere Beobachtungen: (2) In einem Resolutionsschritt können Klauseln verwendet werden, die durch unterschiedliche Substitutionen entstehen: Der Resolutionsschritt auf der linken Seite verwendet die PL-Klauseln (a) {P (x), ¬R(y), ¬R(f (a))} mit Substitution x 7→ b, y 7→ f (a), (b) {R(x)} mit Substitution x 7→ f (a) – Beides ist erlaubt, da alle vorkommenden Variablen universell quantifiziert sind G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 150 / 278 PL – Prädikatenlogische Resolution Unifikation Unifikatoren (3/4) Beispiel • Die Substitution σ: • Die Substitution σ 0 (vorherige Folie): u 7→ a v 7→ f (z) w 7→ b x 7→ f (z) y 7→ b u 7→ a v 7→ f (a) w 7→ b x 7→ f (a) y 7→ b z 7→ a ist ein MGU für – A1 = R(x, a, y), – A2 = R(f (z), u, b), lässt sich schreiben als: σ 0 = {z 7→ a} ◦ σ – A3 = R(v, u, w) und bildet alle Atome auf R(f (z), a, b) ab G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 154 / 278 PL – Prädikatenlogische Resolution Unifikation Unifikatoren (2/4) Definition 11.4 (Unifikator) Eine Substitution σ heißt Unifikator der Atome A1 , . . . , Am , falls σ(A1 ) = · · · = σ(Am ) gilt. Um uns im Rahmen eines Resolutionsbeweises möglichst viele Möglichkeiten für spätere Resolutionsschritte zu erhalten, interessieren wir uns für Unifikatoren, die möglichst wenige Festlegungen treffen: Definition 11.5 (allgemeinster Unifikator, MGU) Ein Unifikator σ heißt allgemeinster Unifikator (MGU) für A1 , . . . , Am , falls für jeden Unifikator σ1 von A1 , . . . , Am eine Substitution σ2 existiert mit σ1 = σ2 ◦ σ. Die Abkürzung MGU steht für „most general unifier“ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 153 / 278 PL – Prädikatenlogische Resolution Unifikation Unifikatoren (4/4) Natürlich gibt es nicht für jede Menge von Atomen einen Unifikator: Beispiel Beispiele von Atompaaren ohne Unifikator: • Verschiedene Relationsnamen: – P (a), R(y) • Verschiedene Funktionssymbole: – P (a, f (x)), P (y, g(b)) • Variablen-Rekursion: – P (a, f (x)), P (y, x) Der Algorithmus auf der nächsten Folie entscheidet, ob die gegebene Atommenge einen Unifikator hat; er • berechnet einen allgemeinsten Unifikator oder • gibt „nicht unifizierbar“ aus G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 155 / 278 PL – Prädikatenlogische Resolution Unifikation Der Unifikationsalgorithmus Unifikationsalgorithmus Eingabe: Menge L 6= ∅ von PL-Atomen Ausgabe: Allgemeinster Unifikator σ für L oder „nicht unifizierbar“ 01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: 15: 16: 17: 18: if es kommen verschiedene Relationssymbole in L vor then return „nicht unifizierbar“ L0 := L, σ := ∅ while |L0 | > 1 do Wähle zwei Atome A1 , A2 in L0 Seien z1 (in A1 ) und z2 (in A2 ) die ersten Zeichen, an denen A1 und A2 verschieden sind if weder z1 noch z2 ist Variable then return „nicht unifizierbar“ if z1 ist Variable then Sei t der in A2 mit z2 beginnende Term if z1 kommt in t vor then return „nicht unifizierbar“ else σ := {z1 7→ t} ◦ σ Wende z1 7→ t auf alle Atome in L0 an else Falls z2 ist Variable: analog return σ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 156 / 278 PL – Prädikatenlogische Resolution Prädikatenlogische Resolution Prädikatenlogische Resolution: Beispiel Beispiel {¬R(x)} {R(f (y)), P (z)} x 7→ f (y) {¬R(f (y))} {P (z)} Ein prädikatenlogischer Resolutionsschritt lässt sich auf zwei Klauseln K1 und K2 anwenden, wenn • • • • in K1 ein Atom A1 vorkommt, in K2 ein negiertes Atom ¬A2 vorkommt, und A1 und A2 unifizierbar sind (oder umgekehrt) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 164 / 278 PL – Prädikatenlogische Resolution Prädikatenlogische Resolution Prädikatenlogische Resolventen (1/3) Ein prädikatenlogischer Resolutionsschritt besteht also im Allgemeinen aus: • Variablenumbenennungen und • einer Unifikation Beispiel K = {P (x), S(f (x), a)} K 0 = {¬P (f (x)), ¬P (y), ¬Q(z)} τ 0 = {x 7→ u} τ =∅ H = {P (x), S(f (x), a)} H 0 = {¬P (f (u)), ¬P (y), ¬Q(z)} {x 7→ f (u)} {y 7→ f (u)} R = {S(f (f (u)), a), ¬Q(z)} Wir teilen hier in der Notation die Substitution σ = {x 7→ f (u), y 7→ f (u)} in ihre Bestandteile auf. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 167 / 278 PL – Prädikatenlogische Resolution Prädikatenlogische Resolution Prädikatenlogische Resolution Für PL-Klauselmengen K definieren wir: • Res(K) =def K ∪ {K | K ist PL-Resolvente zweier Klauseln aus K} • Res0 (K) =def K • Resk (K) =def Res(Resk−1 (K)), für alle k ≥ 1 S • Res∞ (K) =def k≥0 Resk (K) Satz 11.3 (PL-Resolutionssatz) Eine prädikatenlogische Formel ϕ ist genau dann unerfüllbar, wenn für ihre Matrixklauselform K gilt: ∈ Res∞ (K). Der Beweis des Resolutionssatzes wird in Kapitel 13 gegeben. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 171 / 278 PL – Prädikatenlogische Resolution Prädikatenlogische Resolution Notation von Resolutionsbeweisen Ab jetzt: kompaktere Darstellung in Resolutionsbeweisen: • Variablenumbenennungen, Substitutionen und Übergang zur Resolventen werden da in einem Schritt kombiniert • Mengenklammern bei Substitutionen lassen wir weg Beispiel Statt {¬A(y, a)} {¬P (x, z), ¬A(z, y), A(x, y)} τ 0 = {y 7→ u} {¬A(y, a)} {¬P (x, z), ¬A(z, u), A(x, u)} {y 7→ x} {u 7→ a} {¬P (x, z), ¬A(z, a)} schreiben wir also {¬A(y, a)} y 7→ x G. Kern-Isberner (TU Dortmund) {¬P (x, z), ¬A(z, y), A(x, y)} y 7→ a {¬P (x, z), ¬A(z, a)} Logik WS 2014/15 172 / 278 PL – Logische Programmierung und Prolog Prolog und prädikatenlogische Resolution: Beispiele Log. Programmierung und PL-Resolution (4/6) Beispiel • Wir betrachten weiterhin das folgende Prolog-Programm: ancestor_of(X,Y) :- parent_of(X,Y). ancestor_of(X,Y) :- parent_of(X,Z),ancestor_of(Z,Y). parent_of(bob,alfred). parent_of(dave,bob). parent_of(eric,dave). und die Anfrage ? :- ancestor_of(Y,alfred). Wegen – – ∀x ∀y (∃z (P (x, z) ∧ A(z, y)) → A(x, y)) ≡ ∀x ∀y ∀z ((P (x, z) ∧ A(z, y)) → A(x, y)) und ¬∃y A(y, a) ≡ ∀y ¬A(y, a) ist diese Folgerungsfrage äquivalent zur Unerfüllbarkeit der Matrixklauselform {{¬P (x, y), A(x, y)}, {¬P (x, z), ¬A(z, y), A(x, y)}, {P (b, a)}, {P (d, b)}, {P (e, d)}, {¬A(y, a)}} Die Unerfüllbarkeit dieser Klauselmenge lässt sich nun mit Hilfe der prädikatenlogischen Resolution überprüfen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 182 / 278 PL – Logische Programmierung und Prolog Prolog und prädikatenlogische Resolution: Beispiele Log. Programmierung und PL-Resolution (6/6) In der folgenden Tabelle ist der Zusammenhang zwischen Logik-Programmen und prädikatenlogischen Klauseln noch einmal zusammengefasst: Logik-Programme Regel B :- A1,...,An. Faktum B. Anfrage ? :- A1,...,An G. Kern-Isberner (TU Dortmund) Klauseln {¬A1 , . . . , ¬An , B} Prozedurklausel {B} Tatsachenklausel {¬A1 , . . . , ¬An } Zielklausel Logik WS 2014/15 184 / 278 PL – Logische Programmierung und Prolog SLD-Resolution PL-Resolution: Vollständige Restriktionen für Hornklauseln Einige weitere Einschränkungen: • Input-Restriktion: Mindestens eine der beiden verwendeten Klauseln muss immer aus K sein • Einheits-Restriktion: Mindestens eine der beiden verwendeten Klauseln enthält nur ein Literal • SLD-Resolution: – Lineare Restriktion – Input-Restriktion – Erste Klausel K0 ist Zielklausel (nur negierte Literale) Bei der SLD-Resolution gibt es außerdem eine Präferenzregel, die jeweils das zu unifizierende Literal in der jeweils aktuellen Zielklausel auswählt. Ein Beispiel für die SLD-Resolution haben wir schon gesehen: Das Affen-Beispiel (Affe, Stuhl, Banane). G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 200 / 278 PL – Logische Programmierung und Prolog SLD-Resolution PL-Resolution: Vollständige Restriktionen (1/3) K bezeichne immer eine gegebene Klauselmenge. Wir betrachten zunächst folgende Einschränkungen (Restriktionen) der prädikatenlogischen Resolution: • P-Restriktion: eine der beiden verwendeten Klauseln darf nur positive Literale enthalten • N-Restriktion: eine der beiden verwendeten Klauseln darf nur negative Literale enthalten • Lineare Restriktion: Der Resolutionsbeweis besteht aus einer Folge K0 , . . . , Kn , für die gilt: – K0 ∈ K, – für jedes i > 0 ist Ki Resolvente von Ki−1 und einer anderen Klausel K mit K = Kj für j < i oder K ∈ K G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 197 / 278 PL – Logische Programmierung und Prolog SLD-Resolution SLD-Resolution Satz 12.5 Die folgenden Einschränkungen der prädikatenlogischen Resolution sind im Allgemeinen unvollständig, aber vollständig für Hornklauseln: • Resolution mit Input-Restriktion • Resolution mit Einheits-Restriktion • Resolution mit SLD-Restriktion Da Logik-Programme nur aus Hornklauseln bestehen, lassen sich mit der SLD-Resolution also alle Lösungen für Logik-Programme finden • Die Auswertung von PROLOG-Programmen erfolgt deshalb meist mit SLD-Resolution G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 201 / 278 PL – Logische Programmierung und Prolog Auswertungsstrategien für Prolog-Programme Auswertungsstrategien (1/5) Zu einem Logik-Programm und einer Zielklausel kann es viele verschiedene Berechnungen geben. In jedem Schritt gibt es zwei Wahlmöglichkeiten: (1) Auswahl eines Literals in der (aktuellen) Zielklausel (2) Auswahl der passenden Prozedurklausel Beispiel A :A :B :B. B :C :C. B,C. D. D. E,F. A,C. G. Kern-Isberner (TU Dortmund) ?:-A,B,C ?:-A,B,C ?:-A,B,C ?:-A,D,C Logik ?:-A,C ?:-A,B,C ?:-A,E,F,C WS 2014/15 209 / 278 PL – Logische Programmierung und Prolog Auswertungsstrategien für Prolog-Programme Auswertungsstrategien (3/5) Die möglichen kanonischen Berechnungen lassen sich noch kompakter darstellen: • Da die Links-nach-rechts-Auswertung vorgegeben ist, sind keine Verzweigungen zur Auswahl eines Literals in der aktuellen Anfrage nötig Beispiel 1: q(X,Z):-q(Y,Z),r(X,Y) 2: q(X,X). 3: r(b,c). Z: ? :- q(X,c). 1 1 2 Ergebnis: X 7→ c ?:-r(X,c) 2 3 ?:-r(Y,c),r(X,Y) 3 ?:-r(X,b) unendlich 2 ?:-q(Y,c),r(X,Y) ?:-q(V,c),r(Y,V),r(X,Y) 1 ?:-q(X,c) Ergebnis: X 7→ b nicht erfolgreich Der Baum kann mit Backtracking durchsucht werden. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 211 / 278 PL – Weitere Ergebnisse Der Gödelsche Vollständigkeitsatz Gödelscher Vollständigkeitssatz Satz 13.11 (Gödel 1929) • Sei Φ eine endliche oder abzählbar unendliche Menge prädikatenlogischer Formeln über einer endlichen Signatur σ und sei ψ eine prädikatenlogische Formel • Dann gilt: Φ |= ψ ⇔ Φ ` ψ Beweisskizze • „Φ ` ψ ⇒ Φ |= ψ“: – Wie im Beweis von Satz 13.9 • „Φ |= ψ ⇒ Φ ` ψ“: – Es gelte Φ |= ψ ⇒ Φ ∪ {¬ψ} ist unerfüllbar – Aus dem Endlichkeitssatz folgt, dass es eine endliche Teilmenge Φ0 von Φ gibt, so dass Φ0 ∪ {¬ψ} unerfüllbar ist ⇒ Φ0 ` ψ (Satz 11.14) ⇒ Φ ` ψ nach Definition von „`“ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 241 / 278 PL – Weitere Ergebnisse Der Gödelsche Vollständigkeitsatz Der Endlichkeitssatz der Prädikatenlogik (1/2) Satz 13.10 (Endlichkeitssatz der PL) • Sei Φ eine abzählbar unendliche Menge prädikatenlogischer Formeln über einer endlichen Signatur σ • Dann gilt: Φ ist genau dann erfüllbar, wenn jede endliche Teilmenge von Φ erfüllbar ist Beweisidee • Es genügt zu zeigen: Wenn jede endliche Teilmenge von Φ erfüllbar ist, dann ist Φ erfüllbar • Sei Φ = {ϕ1 , ϕ2 , . . .} also eine abzählbar unendliche Menge prädikatenlogischer Formeln über einer endlichen Signatur σ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 239 / 278 PL – Weitere Ergebnisse Algorithmen Entscheidungsprobleme für die PL (5/6) Zur Erinnerung: • • • • L1 L2 L3 L4 = = = = Menge Menge Menge Menge der der der der erfüllbaren Formeln unerfüllbaren Formeln allgemeingültigen Formeln (Tautologien) durch endliche Modelle erfüllbaren Formeln Satz 13.13 (a) L2 , L3 , L4 sind semientscheidbar, aber nicht entscheidbar (b) L1 ist nicht semientscheidbar Zu beachten: Satz 13.13 gilt für Signaturen, die mindestens ein 2-stelliges Relations- oder Funktionssymbol enthalten. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 260 / 278 PL – Weitere Ergebnisse Hilbert- und Sequenzenkalkül Andere Beweiskalküle Außer dem Resolutionskalkül gibt es viele verschiedene Beweiskalküle für die Prädikatenlogik. Wir werfen einen Blick auf zwei solche Kalküle: • Hilbertkalkül: – Der Hilbert-Kalkül hat nur wenige Axiome und Regeln – Es ist aber ziemlich schwierig, Ableitungen für Formeln zu finden • Sequenzenkalkül: – Es gibt eine Vielzahl von Kalkülen aus der Familie der Sequenzenkalküle – Der hier betrachtete Sequenzenkalkül hat nur ein Axiom aber zehn Schlussregeln – Häufig ist es erheblich einfacher, einen Beweis im Sequenzenkalkül zu finden – Sequenzenkalküle werden häufig für automatische Beweise eingesetzt Die Anwendung dieser Kalküle ist kein Prüfungsstoff, aber wichtig für das Verständnis logischer Ableitungen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 263 / 278 PL – Weitere Ergebnisse Hilbert- und Sequenzenkalkül Andere Beweiskalküle: Hilbertkalkül (1/3) Definition 13.8 (Hilbertkalkül) • AX sei die Menge aller Formeln, die sich in einer der drei folgenden Formen schreiben lassen: (A1) [ϕ1 → (ϕ2 → ϕ3 )] → [(ϕ1 → ϕ2 ) → (ϕ1 → ϕ3 )] (A2) ϕ1 → (ϕ2 → ϕ1 ) (A3) (¬ϕ1 → ¬ϕ2 ) → (ϕ2 → ϕ1 ) • ψ ist Hilbert-beweisbar aus Φ (Φ `H ψ), falls es eine Folge ψ1 , . . . , ψn gibt mit: – ψn = ψ, und jedes ψi ist entweder ∗ aus AX, oder ∗ in Φ, oder ∗ entsteht durch Anwendung einer Schlussregel auf ψj , ψk mit j, k < i • Die Schlussregeln sind: – Modus ponens: G. Kern-Isberner (TU Dortmund) ψ ψ → ψ0 ψ0 Logik Generalisierung: WS 2014/15 ψ(c) ∀x ψ(x) 264 / 278 PL – Weitere Ergebnisse Vergleich der betrachteten Logiken Prädikatenlogik vs. Aussagenlogik Vieles ist ähnlich in Aussagenlogik und Prädikatenlogik. Aber offensichtlich ist die Prädikatenlogik mächtiger. Wie ist denn nun das genaue Verhältnis zwischen den beiden? • Aussagenlogik kann als Prädikatenlogik auf Strukturen aufgefasst werden, die ausschließlich 0-stellige Prädikate haben: Aussagenvariablen ≡ Prädikate Vorsicht: Manches, das ähnlich heißt, hat unterschiedliche Bedeutung! • Aussagenlogische Variablen entsprechen nicht prädikatenlogischen Variablen • Aussagenlogische und prädikatenlogische Substitutionen entsprechen sich ebenfalls nicht (und die Notation ist unterschiedlich) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 274 / 278 PL – Weitere Ergebnisse Vergleich der betrachteten Logiken Prädikatenlogik vs. Modallogik (1/2) Gemäß Definition ist die Modallogik eine Erweiterung der Aussagenlogik. Statt nur über eine Welt kann sie über verschiedene Welten sprechen. Wie verhält sich die Modallogik zur Prädikatenlogik? Zur Beantwortung dieser Frage definieren wir für jede Kripkestruktur K = (V, E, P ) eine mathematische Struktur K0 mit • Universum V • der 2-stelligen Relation E und • einer 1-stelligen Relation PX für jede AL-Variable X, die in einer Menge P (s) mit s ∈ V vorkommt Satz 13.14 Zu jeder ML-Formel ϕ gibt es eine PL-Formel ϕ0 (x) mit nur zwei Variablen x, y, so dass für jede Kripkestruktur K und jede Welt s von K gilt: K, s |= ϕ ⇔ (K0 , x 7→ s) |= ϕ0 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 275 / 278 PL – Weitere Ergebnisse Vergleich der betrachteten Logiken Prädikatenlogik vs. Modallogik (2/2) Die Formel 3A lässt sich beispielsweise übersetzen in: ϕ0 (x) ≡ ∃y [E(x, y) ∧ (∀x (E(y, x) → PA (x)))] Beweisskizze • ML-Formeln lassen sich induktiv wie folgt übersetzen: – – – – A durch PA (x) ¬χ durch ¬χ0 χ ∧ ψ durch χ0 ∧ ψ 0 3χ durch ∃y [(E(x, y) ∧ χ0 [x y])] • Hierbei bezeichnet χ0 [x y] die Formel, die aus χ0 durch Vertauschen aller Vorkommen von x und y entsteht – ∀x ∃y E(x, y)[x y] ist beispielsweise ∀y ∃x E(y, x) • Dass die Konstruktion korrekt ist, lässt sich durch Induktion nach dem Aufbau von ϕ beweisen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 276 / 278