Logik Prof. Dr. Madlener TU Kaiserslautern SS 2011 Prof. Dr. Madlener: Logik 1 Logik Studiengang Informatik“, Ang. Informatik“und WiWi/Inf“ ” ” ” SS’11 Prof. Dr. Madlener TU - Kaiserslautern Vorlesung: Mi 11.45-13.15 52/207 ◮ Informationen http://www-madlener.informatik.unikl.de/teaching/ss2011/logik/logik.html ◮ Grundlage der Vorlesung: Skript Einführung in die Logik und Korrektheit von Programmen. Prof. Dr. Madlener: Logik 2 ◮ Bewertungsverfahren: Zulassungsvoraussetzungen zu Abschlussklausur: Übungen: mind. 50 % Aufsichtsarbeit: mind. 50 % ◮ Aufsichtsarbeit: Vor. Freitag 1/06/11 ◮ Abschlussklausur: 2011 /17.08/ ?.10 ◮ Übungen: Gruppen Einschreiben, Sprechzeiten siehe Homepage Prof. Dr. Madlener: Logik 3 Grundlagen der Aussagenlogik Syntax Semantik Deduktiver Aufbau der Aussagenlogik Natürliche Kalküle Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Normalformen Davis-Putnam-Algorithmen Resolutions-Verfahren Prof. Dr. Madlener: Logik 4 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Semantik der P-Logik 2-Stufe – Interpretationen, Belegungen, Bewertu Transformationen von Termen und Formeln Entscheidbarkeit in der Prädikatenlogik Unentscheidbarkeit der Allgemeingültigkeit Hauptsätze der Prädikatenlogik erster Stufe Theorien erster Stufe Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Resolventenmethode – (Allg. Resolutionsverfahren) Logisches Programmieren und Prolog Prof. Dr. Madlener: Logik 5 Einleitung Methoden zur Lösung von Problemen mit Hilfe von Rechnern Formalisierung (≡ Festlegung) ◮ Logik:: Lehre vom folgenrichtigen Schließen“ bzw. Lehre ” ” von formalen Beziehungen zwischen Denkinhalten“ Zentrale Fragen: Wahrheit und Beweisbarkeit von Aussagen Mathematische Logik. ◮ Logik in der Informatik: ◮ ◮ ◮ Aussagenlogik: Boolsche Algebra. Logische Schaltkreise (Kontrollsystemen), Schaltungen, Optimierung. Prädikatenlogik: Spezifikation und Verifikation von Softwaresystemen. Modal- und Temporallogik: Spezifikation und Verifikation reaktiver Systeme. Prof. Dr. Madlener: Logik 6 Logik in der Informatik 1. Semantik von Programmiersprachen (Hoarscher Kalkül). 2. Spezifikation von funktionalen Eigenschaften. 3. Verifikationsprozess bei der SW-Entwicklung. Beweise von Programmeigenschaften. 4. Spezielle Programmiersprachen (z.B. PROLOG) ◮ Automatisierung des logischen Schließens 1. Automatisches Beweisen (Verfahren,...) 2. Grundlagen von Informationsystemen (Verarbeitung von Wissen, Reasoning,. . . ) Prof. Dr. Madlener: Logik 7 Voraussetzungen 1. Mathematische Grundlagen. Mengen, Relationen, Funktionen. Übliche Formalisierungen: Mathematische ” Beweise“, Mathematische Sprache, d.h. Gebrauch und Bedeutung der üblichen Operatoren der naiven Logik. Also Bedeutung von nicht, und, oder, impliziert, äquivalent, es gibt, für alle. 2. Grundlagen zur Beschreibung formaler Sprachen. Grammatiken oder allgemeiner Kalküle (Objektmenge und Regeln zur Erzeugung neuer Objekte aus bereits konstruierter Objekte), Erzeugung von Mengen, Relationen und Funktionen, Hüllenoperatoren (Abschluss von Mengen bzgl. Relationen). 3. Vorstellung von Berechenbarkeit, d.h. entscheidbare und rek.aufzählbare Mengen, Existenz nicht entscheidbarer Mengen und nicht berechenbarer Funktionen. Prof. Dr. Madlener: Logik 8 Berechnungsmodelle/Programmiersprachen Algorithmische Unlösbarkeit? prinzipielle Lösbarkeit ↓ effiziente Lösbarkeit ↓ algorithmischer Entwurf ↓ P: Programm in einer HPS Prof. Dr. Madlener: Logik x Problem Spezifikation (Formalisiert) 9 Syntaktische und semantische Verifikation von P. ◮ Syntaxanalyse Sprachen Chomski-Hierarchie Kontext freie Sprachen Grammatiken/Erzeugungsprozess ◮ Programmverifikation Tut P auch was erwartet wird. Gilt P Problem Spezifikation Prof. Dr. Madlener: Logik 10 Typische Ausdrücke ◮ (x + 1)(y − 2)/5 Terme als Bezeichner von Objekten. ◮ 3+2=5 ◮ 29 ist (k)eine Primzahl “ Aussagen. ” 3 + 2 = 5 und 29 ist keine Primzahl “ Aussage. ” wenn 29 keine Primzahl ist, dann ist 0 = 1 “ Aussage. ” jede gerade Zahl, die größer als 2 ist, ist die Summe zweier ” Primzahlen “ Aussage. ◮ ◮ ◮ ◮ Gleichungen als spezielle Formeln. 2 ≤ x und (∀y ∈ N) ((2 ≤ y und y + 1 ≤ x) → nicht(∃z ∈ N)y ∗ z = x) Aussage. Prof. Dr. Madlener: Logik 11 Typische Ausdrücke (Fort.) ◮ (∀X ⊆ N)(0 ∈ X ∧ (∀x ∈ N)(x ∈ X → x + 1 ∈ X ) → X = N) Induktionsprinzip. ◮ (∀X ⊆ N)(X 6= ∅ → X hat ein kleinstes Element) Jede nichtleere Menge natürlicher Zahlen enthält ein minimales Element. Zweiwertige Logik Jede Aussage ist entweder wahr oder falsch. ◮ Es gibt auch andere Möglichkeiten (Mehrwertige Logik). ◮ Prädikatenlogik erster Stufe (PL1): Nur Eigenschaften von Elementen und Quantifizierung von Elementvariablen erlaubt. Prof. Dr. Madlener: Logik 12 Grundlagen der Aussagenlogik Kapitel I Grundlagen der Aussagenlogik Prof. Dr. Madlener: Logik 13 Grundlagen der Aussagenlogik Aussagenlogik ◮ Aussagen ◮ Aufbau von Aussagen ◮ Bedeutung von Aussagen Prof. Dr. Madlener: Logik Bedeutung wahr(1), falsch (0) Syntax. Semantik. 14 Grundlagen der Aussagenlogik Syntax Syntax Definition 1.1 (Syntax) Die Sprache der Aussagenlogik Sei Σ = V ∪ O ∪ K Alphabet mit V = {p1 , p2 , ...} abzählbare Menge von Aussagevariablen, O = {¬, ∧, ∨, →, ↔, ...} Menge von Verknüpfungen mit Stelligkeiten (Junktoren, Operatoren) und K = {(, )} Klammern Hilfssymbole. Die Menge der Aussageformen (Formeln der Aussagenlogik) F ⊂ Σ∗ wird induktiv definiert durch: 1. V ⊂ F Menge der atomaren Aussagen 2. A, B ∈ F so (¬A), (A ∧ B), (A ∨ B), (A → B), (A ↔ B) ∈ F 3. F ist die kleinste Menge die V enthält und 2. erfüllt (Hüllenoperator) Prof. Dr. Madlener: Logik 15 Grundlagen der Aussagenlogik Syntax Bemerkung 1.2 ◮ Eigenschaften von Elementen in F werden durch strukturelle Induktion, d.h. durch Induktion über den Aufbau der Formeln, nachgewiesen. ◮ Beispiele für Eigenschaften sind: 1. Für A ∈ F gilt: A ist atomar (ein pi ) oder beginnt mit (“ und ” endet mit )“. ” 2. Sei f (A, i) = ♯ (“− ♯ )“ in den ersten i Buchstaben von A, ” ” dann gilt f (A, i) > 0 für 1 ≤ i < |A| und f (A, i) = 0 für i = |A|. ◮ ◮ F kann als Erzeugnis einer Relation R ⊂ U ∗ × U mit U = Σ∗ oder eines Kalküls dargestellt werden. Dabei wird F frei von dieser Relation erzeugt, da für alle u, v ∈ U ∗ und A ∈ F gilt: uRA und vRA so u = v . F = L(G ) für eine eindeutige kontextfreie Grammatik G . Prof. Dr. Madlener: Logik 16 Grundlagen der Aussagenlogik Syntax Satz 1.3 (Eindeutigkeitssatz) Jede A-Form A ∈ F ist entweder atomar oder sie lässt sich eindeutig darstellen als A ≡ (¬A1 ) oder A ≡ (A1 ∗ A2 ) mit ∗ ∈ {∧, ∨, →, ↔} wobei A1 , A2 ∈ F . Beweis: Induktion über Aufbau von F . Prof. Dr. Madlener: Logik 17 Grundlagen der Aussagenlogik Syntax Vereinbarungen Schreibweisen, Abkürzungen, Prioritäten. ◮ Äußere Klammern weglassen. ◮ A-Formen sind z.B.: p1 , p101 , p1 ∨ p12 als Abkürzung für (p1 ∨ p12 ), (((p1 → p2 ) ∧ (¬p2 )) → (¬p1 )), p1 ∨ (¬p1 ) ◮ ◮ Zur besseren Lesbarkeit: Prioritäten: ¬, ∧, ∨, →, ↔ d.h. A ∧ B → C steht für ((A ∧ B) → C ) A ∨ B ∧ C steht für (A ∨ (B ∧ C )) ¬A ∨ B ∧ C steht für ((¬A) ∨ (B ∧ C )) A ∨ B ∨ C steht für ((A ∨ B) ∨ C ) (Linksklammerung). Andere Möglichkeiten. Präfix“- oder Suffix“- Notation ” ” Für (A ∗ B) schreibe ∗AB und für (¬A) schreibe ¬A Prof. Dr. Madlener: Logik 18 Grundlagen der Aussagenlogik Semantik Semantik Definition 1.4 (Bewertung, Belegung) Eine Bewertung der A-Formen ist eine Funktion ϕ : F → {0, 1} = B mit 1. ϕ(¬A) = 1 − ϕ(A) 2. ϕ(A ∨ B) = max(ϕ(A), ϕ(B)) 3. ϕ(A ∧ B) = min(ϕ(A), ϕ(B)) ( 0 falls ϕ(A) = 1 und ϕ(B) = 0 4. ϕ(A → B) = 1 sonst ( 0 falls ϕ(A) 6= ϕ(B) 5. ϕ(A ↔ B) = 1 falls ϕ(A) = ϕ(B) Prof. Dr. Madlener: Logik 19 Grundlagen der Aussagenlogik Semantik Belegungen und Bewertungen (Fort.) ◮ ◮ Sprechweise: A ist falsch“ unter ϕ, falls ϕ(A) = 0 ” A ist wahr“ unter ϕ oder ϕ erfüllt“ A, falls ϕ(A) = 1. ” ” Darstellung von Bewertungen durch Wahrheitstafeln: A ¬A 1 0 1 0 A B A∨B A∧B A→B A↔B 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 Prof. Dr. Madlener: Logik 20 Grundlagen der Aussagenlogik Semantik Belegungen und Bewertungen (Fort.) ◮ ◮ Eine Belegung der A-Variablen V ist eine Funktion ψ : V → B. Offenbar induziert jede Bewertung eine Eindeutige Belegung durch ψ(pi ) := ϕ(pi ). Lemma 1.5 Jede Belegung ψ : V → B lasst sich auf genau eine Weise zu einer Bewertung ϕ : F → B fortsetzen. Insbesondere wird jede Bewertung durch die Werte auf V eindeutig festgelegt. Prof. Dr. Madlener: Logik 21 Grundlagen der Aussagenlogik Semantik Bewertungen Folgerung 1.6 Die Bewertung einer Aussageform A ∈ F hängt nur von den Werten der in ihr vorkommenden Aussagevariablen aus V ab. Das heißt, will man ϕ(A) berechnen, genügt es, die Werte ϕ(p) zu kennen für alle Aussagevariablen p, die in A vorkommen. ◮ Beispiel: Sei ϕ(p) = 1, ϕ(q) = 1, ϕ(r ) = 0. Dann kann ϕ(A) iterativ berechnet werden: A ≡ (( p → ( q → |{z} r )) → (( p ∧ q ) → |{z} r )) |{z} |{z} |{z} |{z} 0 0 1 | 1 {z 1 } } | 1 {z 1 {z 0 } {z } | | 0 0 | {z } 1 Also gilt ϕ(A) = 1. Prof. Dr. Madlener: Logik 22 Grundlagen der Aussagenlogik Semantik ◮ Frage Welche Werte kann ϕ(A) annehmen, wenn ϕ alle Belegungen durchläuft. Ist etwa ϕ(A) = 1 für alle Belegungen ϕ? Um das nachzuprüfen, genügt“ es, die endlich vielen ” unterschiedlichen Belegungen der Variablen, die in A vorkommen, zu überprüfen. Kommen n Variablen in A vor, so gibt es 2n verschiedene Belegungen. A definiert eine Boolesche Funktion fA : Bn → B. ◮ Beispiel: Für die drei Variablen p, q und r aus A im obigen Beispiel gibt es 8 Belegungen, die betrachtet werden müssen. Prof. Dr. Madlener: Logik 23 Grundlagen der Aussagenlogik Semantik Bewertungen p 0 0 0 0 1 1 1 1 q 0 0 1 1 0 0 1 1 r 0 1 0 1 0 1 0 1 q→r 1 1 0 1 1 1 0 1 p∧q 0 0 0 0 0 0 1 1 p → (q → r ) 1 1 1 1 1 1 0 1 (p ∧ q) → r 1 1 1 1 1 1 0 1 A 1 1 1 1 1 1 1 1 A ist wahr“ unabhängig von den Werten von p, q, r , d.h. für jede ” Bewertung ϕ. Weitere solche Formeln sind etwa: (A → (B → A)), (A → (B → C )) → ((A → B) → (A → C )) oder ((¬A → ¬B) → (B → A)). Prof. Dr. Madlener: Logik 24 Grundlagen der Aussagenlogik Semantik Wichtige Begriffe Definition 1.7 Sei A ∈ F , Σ ⊆ F . 1.(a) A heißt Tautologie (allgemeingültig), falls ϕ(A) = 1 für jede Bewertung ϕ gilt. (Schreibweise “|= A”) (b) A ist erfüllbar, falls es eine Bewertung ϕ gibt, mit ϕ(A) = 1. (c) A ist widerspruchsvoll, falls ϕ(A) = 0 für jede Bewertung ϕ. (d) Schreibe • Taut = {A | A ∈ F ist Tautologie}, die Menge der Tautologien oder Theoreme“ der Aussagenlogik, bzw. ” • Sat := {A | A ∈ F und A ist erfüllbar} die Menge der erfüllbaren Formeln. Prof. Dr. Madlener: Logik 25 Grundlagen der Aussagenlogik Semantik Definition (Fort.) 2.(a) Σ ist erfüllbar, falls es eine Bewertung ϕ gibt mit ϕ(A) = 1 für alle A ∈ Σ. (“ϕ erfüllt Σ”) (b) Semantischer Folgerungsbegriff: A ist logische Folgerung von Σ, falls ϕ(A) = 1 für jede Bewertung ϕ, die Σ erfüllt. Man schreibt “Σ |= A”. Ist Σ = {A1 , . . . , An }, ist die Kurzschreibweise “A1 , . . . , An |= A” üblich. (c) Die Menge Folg(Σ) der Folgerungen aus Σ ist definiert durch: Folg(Σ) := {A | A ∈ F und Σ |= A}. Prof. Dr. Madlener: Logik 26 Grundlagen der Aussagenlogik Semantik Einfache Folgerungen Bemerkung 1.8 Beispiele 1. (p ∨ (¬p)), ((p → q) ∨ (q → r )), p → (q → p), (p → p), (p → ¬¬p) und A aus Folgerung 1.6 sind Tautologien. (p ∧ (¬p)) ist widerspruchsvoll. A ∈ Taut gdw ¬A widerspruchsvoll (p ∧ q) ist erfüllbar jedoch keine Tautologie und nicht widerspruchsvoll. Die Mengen Taut, Sat sind entscheidbar. Beachte Taut ⊂ Sat. Prof. Dr. Madlener: Logik 27 Grundlagen der Aussagenlogik Semantik Bemerkung (Fort.) 2.(a) Sei Σ = {p} und A = p ∨ q. Dann gilt Σ |= A, denn falls ϕ(p) = 1, dann auch ϕ(p ∨ q) = 1. Jede Bewertung, die Σ erfüllt, erfüllt also auch A. (b) Ist Σ = ∅, dann gilt Σ |= A genau dann, wenn A Tautologie ist, d.h. Folg(∅) = Taut . (c) Ist Σ nicht erfüllbar, dann gilt Σ |= A für alle A ∈ F , d.h. Folg(Σ) = F . Insbesondere Σ |= A, ¬A für ein A. (d) Sei Σ ⊆ Σ′ . Ist Σ′ erfüllbar, dann ist auch Σ erfüllbar. (e) Es gilt Σ ⊆ Folg(Σ) und Folg(Folg(Σ)) = Folg(Σ). (f) Falls Σ ⊆ Σ′ , dann gilt Folg(Σ) ⊆ Folg(Σ′ ). 3. Σ |= A gilt genau dann, wenn Σ ∪ {¬A} nicht erfüllbar. Ist Σ endlich, dann ist es entscheidbar, ob Σ erfüllbar ist, und die Menge Folg(Σ) ist entscheidbar. Prof. Dr. Madlener: Logik 28 Grundlagen der Aussagenlogik Semantik Deduktionstheorem und Modus-Ponens Regel Lemma 1.9 a) Deduktionstheorem: Σ, A |= B gdw Σ |= (A → B). (Σ, A ist Kurzschreibweise für Σ ∪ {A}) b) Modus-Ponens-Regel: Es gilt {A, A → B} |= B. Insbesondere ist B eine Tautologie, falls A und (A → B) Tautologien sind. Prof. Dr. Madlener: Logik 29 Grundlagen der Aussagenlogik Semantik Übliche Notationen für Regeln der Form “A1 , . . . , An |= B” sind: A1 .. . An B und A1 , . . . , An B Für die Modus Ponens Regel also: A, (A → B) (MP) B Prof. Dr. Madlener: Logik 30 Grundlagen der Aussagenlogik Semantik Kompaktheitssatz der Aussagenlogik Satz 1.10 (Kompaktheitssatz) Σ ⊆ F ist erfüllbar genau dann, wenn jede endliche Teilmenge von Σ erfüllbar ist. Σ ⊆ F ist unerfüllbar genau dann, wenn es eine unerfüllbare endliche Teilmenge von Σ gibt. Insbesondere gilt Σ |= A genau dann, wenn es eine endliche Teilmenge Σ0 ⊆ Σ gibt mit Σ0 |= A. Prof. Dr. Madlener: Logik 31 Grundlagen der Aussagenlogik Semantik Anwendungen Kompaktheitssatz Beispiel 1.11 Sei Σ ⊆ F . Gibt es zu jeder Bewertung ϕ ein A ∈ Σ mit ϕ(A) = 1, so gibt es A1 , ..., An ∈ Σ (n > 0) mit |= A1 ∨ ... ∨ An . • Betrachte die Menge Σ′ = {¬A | A ∈ Σ}, nach Voraussetzung ist sie unerfüllbar. Also gibt es eine endliche nichtleere Teilmenge {¬A1 , ..., ¬An } von Σ′ die unerfüllbar ist. Also gilt für jede Bewertung ϕ gibt es ein i mit ϕ(¬Ai ) = 0 oder ϕ(Ai ) = 1 und somit ϕ(A1 ∨ ... ∨ An ) = 1. ◮ Der zweite Teil des Satzes ist die Grundlage für Beweisverfahren für Σ |= A. Dies ist der Fall wenn Σ ∪ {¬A} unerfüllbar ist. Widerspruchbeweise versuchen systematisch eine endliche Menge Σ0 ⊂ Σ zu finden, so dass Σ0 ∪ {¬A} unerfüllbar ist. Prof. Dr. Madlener: Logik 32 Grundlagen der Aussagenlogik Semantik Logische Äquivalenz Definition 1.12 (Logische Äquivalenz) Seien A, B ∈ F heißen logisch äquivalent mit der Schreibweise A |==| B, falls für jede Bewertung ϕ gilt: ϕ(A) = ϕ(B). Insbesondere ist dann A |= B und B |= A. ◮ Einige Beispiele für logisch äquivalente Formeln: 1. 2. 3. 4. A |==| ¬(¬A), A |==| A ∨ A, A |==| A ∧ A A ∧ B |==| B ∧ A und A ∨ B |==| B ∨ A, A ∧ (B ∧ C ) |==| (A ∧ B) ∧ C und A ∨ (B ∨ C ) |==| (A ∨ B) ∨ C , A ∧ (B ∨ C ) |==| (A ∧ B) ∨ (A ∧ C ) und A ∨ (B ∧ C ) |==| (A ∨ B) ∧ (A ∨ C ) (Distributiv) Prof. Dr. Madlener: Logik 33 Grundlagen der Aussagenlogik Semantik Logische Äquivalenz (Fort.) 5. ¬(A ∧ B) |==| (¬A) ∨ (¬B) und ¬(A ∨ B) |==| (¬A) ∧ (¬B) (De Morgan) 6. A → B |==| (¬A) ∨ B, A ∧ B |==| ¬(A → (¬B)) und A ∨ B |==| (¬A) → B. 7. A ↔ B |==| (A → B) ∧ (B → A) ◮ Man beachte, dass |==| reflexiv, transitiv und symmetrisch, d.h. eine Äquivalenzrelation ist. ◮ Ersetzt man in einer Formel eine Teilformel durch eine logisch äquivalente Formel, so erhält man eine logisch äquivalente Formel. Prof. Dr. Madlener: Logik 34 Grundlagen der Aussagenlogik Semantik Logische Äquivalenz (Fort.) ◮ Folgende Aussagen sind äquivalent: • |= (A ↔ B) • A |= B und B |= A • A |==| B • Folg(A) = Folg(B) Folgerung 1.13 Zu jedem A ∈ F gibt es B, C , D ∈ F mit 1. A |==| B, B enthält nur → und ¬ als log. Verknüpfungen 2. A |==| C , C enthält nur ∧ und ¬ als log. Verknüpfungen 3. A |==| D, D enthält nur ∨ und ¬ als log. Verknüpfungen Prof. Dr. Madlener: Logik 35 Grundlagen der Aussagenlogik Semantik Logische Äquivalenz (Fort.) Definition 1.14 (Vollständige Operatorenmengen) Eine Menge OP ⊆ {¬, ∨, ∧, →, ↔, ..} heißt vollständig, falls es zu jedem A ∈ F eine logisch äquivalente A-Form B ∈ F (OP) gibt. ◮ ◮ ◮ Vollständige Operatorenmengen für die Aussagenlogik sind z.B.: {¬, →}, {¬, ∨}, {¬, ∧}, {¬, ∨, ∧}, {false, →} Dabei ist false eine Konstante, mit ϕ(false) = 0 für jede Bewertung ϕ. Offenbar gilt ¬A |==| (A → false). Normalformen:: DNF (Disjunktive Normalform), KNF (Konjunktive Normalform), KDNF, KKNF (Kanonische Formen). Prof. Dr. Madlener: Logik 36 Grundlagen der Aussagenlogik Semantik Boolsche Funktionen Jede Aussageform A(p1 , ..., pn ) stellt in natürlicher Form eine Boolsche Funktion fA : Bn → B dar. Nämlich durch die Festlegung fA (b1 , ..., bn ) = ϕ~b (A) mit der Bewertung ϕ~b (pi ) = bi ◮ Man kann leicht durch Induktion nach n zeigen, dass jede Boolsche Funktion f : Bn → B (n > 0) sich in obiger Form durch eine Aussageform in p1 , ..., pn und einer vollständigen Operatorenmenge darstellen lässt. ◮ Die Boolsche Algebra über B hat als übliche Operatormenge true, false, not, or, and mit der standard Interpretation. ◮ Für andere Operatormengen die etwa nand, nor enthalten, siehe Digitale Logik (Gatter: Ein- Ausgabesignale, Verzögerung. nand, nor Gattern werden bevorzugt, da nur zwei Transistoren nötig). Prof. Dr. Madlener: Logik 37 Grundlagen der Aussagenlogik Semantik Beispiel Patientenüberwachungssystem Beispiel Patientenüberwachungssystem erhält gewisse Daten über den Zustand eines Patienten. Z.B. Temperatur, Blutdruck, Pulsrate. Die Schwellenwerte für die Daten seien etwa wie folgt festgelegt: Zustände Ein/ Ausgaben A B C O Prof. Dr. Madlener: Logik Bedeutung Temperatur außerhalb 36-39◦ C. Blutdruck außerhalb 80-160 mm. Pulsrate außerhalb 60-120 Schläge pro min. Alarmaktivierung ist notwendig. 38 Grundlagen der Aussagenlogik Semantik Die Anforderungen, d.h. bei welchen Kombinationen der Werte der Zustände eine Alarmaktivierung notwendig ist, werden durch den Medizin-Experten festgelegt. Sie seien in folgender Tabelle fixiert. I /O - Tabelle A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Prof. Dr. Madlener: Logik O 0 0 0 1 0 1 1 1 Logischer Entwurf: Betrachte die Zeilen in denen O den Wert 1 hat und stelle eine KDNF auf (Disjunktion von Konjunktionen von Literalen, wobei ein Literal eine atomare Form oder die Negation einer solchen ist). (¬A ∧ B ∧ C ) ∨ (A ∧ ¬B ∧ C ) ∨ (A ∧ B ∧ ¬C ) ∨ (A ∧ B ∧ C ) 39 Grundlagen der Aussagenlogik Semantik Als eine Realisierung könnte man das folgende Schaltnetz nehmen: INPUTS A AND 1 B AND 2 OR 4 OUTPUT OR 5 C AND 3 Prof. Dr. Madlener: Logik 40 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Dieser Abschnitt beschäftigt sich mit einem axiomatischen Aufbau der Aussagenlogik mittels eines “Deduktiven Systems” oder eines Kalküls“. ” Eine syntaktisch korrekte Formel in einem Deduktiven System wird “Theorem” genannt, wenn sie durch rein mechanische Anwendungen der Regeln des Systems aus den Axiomen des Systems “abgeleitet” werden kann. Man kann mehrere deduktive Systeme angeben, in denen aussagenlogische Formeln genau dann Theoreme sind, wenn sie auch Tautologien sind. Prof. Dr. Madlener: Logik 41 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Deduktive Systeme-Kalküle Definition 1.15 (Deduktives System) Ein Deduktives System F = F(Ax, R) besteht aus ◮ einem Alphabet ∆ (hier ∆ = V ∪ K ∪ {→, ¬}), ◮ F ⊆ ∆⋆ , einer Menge von (wohldefinierten) Formeln (hier die Aussageformen), ◮ Ax ⊆ F , einer Menge von Axiomen und R, einer Menge von Regeln der Form A1 , . . . , An (n ∈ N+ ). A (A1 , ..., An , A ∈ F ) ◮ Die Mengen F , Ax und R sind im allgemeinen rekursiv entscheidbar. Prof. Dr. Madlener: Logik 42 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Deduktive Systeme-Kalküle ◮ Die Menge T = T (F) der Theoreme ist definiert durch: 1. Ax ⊆ T (d.h. alle Axiome sind Theoreme) A ,...,A 2. Sind A1 , . . . , An ∈ T und ist die Regel 1 A n in R, dann ist A ∈ T . 3. T ist die kleinste Menge von Formeln, die (1) und (2) erfüllt. ◮ ◮ ◮ Man schreibt für A ∈ T (F) auch ⊢F A oder einfach ⊢ A und sagt “A ist in F herleitbar”. Deduktiver Folgerungsbegriff: Sei Σ ⊆ F , A ∈ F , dann bedeutet Σ ⊢F (Ax,R) A nichts anderes als ⊢F (Ax∪Σ,R) A. Sprechweise: “A ist in F aus Σ herleitbar”. Sind F1 und F2 deduktive Systeme über der Formelmenge F und gilt T (F1 ) = T (F2 ) so nennt man sie äquivalent. Prof. Dr. Madlener: Logik 43 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Bemerkung Bemerkung 1.16 1. Eigenschaften der Elemente von T werden durch strukturelle Induktion bewiesen. T wird von einer Relation R ′ ⊆ F ⋆ × F erzeugt. Eine Formel A ist ein Theorem oder ist in F herleitbar, falls es eine endliche Folge von Formeln B0 , . . . , Bn gibt mit A ≡ Bn und für 0 ≤ i ≤ n gilt: Bi ∈ Ax oder es gibt l und i1 , . . . , il < i und eine Regel B i1 . . . B il ∈ R. Bi ◮ ◮ Die Folge B0 , . . . , Bn heißt auch Beweis (Herleitung) für A in F. Das bedeutet ⊢ A gilt genau dann, wenn es einen Beweis B0 , . . . , Bn mit A ≡ Bn gibt. Prof. Dr. Madlener: Logik 44 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Bemerkung (Fort.) 2. Die Menge T der Theoreme ist rekursiv aufzählbar (denn Ax und R sind rekursiv). Die Menge der Beweise Bew := {B1 ⋆ B2 ⋆ . . . ⋆ Bn | B1 , . . . , Bn ist Beweis} ist rekursiv. (Siehe Argumentation von L(G ) ist rekursiv aufzählbar für Grammatiken G ). ◮ ◮ Ist Σ rekursiv entscheidbar, so gelten obige Aussagen entsprechend. Insbesondere ist FolgF (Σ) = {A | Σ ⊢F (Ax,R) A} rekursiv aufzählbar. Beachte: Beweise sind im allgemeinen nicht eindeutig. Es wird im allgemeinen nicht verlangt, dass T von R frei erzeugt wird. Prof. Dr. Madlener: Logik 45 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Bemerkung (Fort.) 3. Gibt es ein deduktives System F0 , so dass ⊢F0 A genau dann gilt, wenn |= A gilt? • Hierzu werden Ax und R häufig endlich beschrieben durch Schemata. Beispielsweise beschreibt das Schemata (A → (B → A)) die Menge {A0 | es gibt A, B ∈ F mit A0 ≡ (A → (B → A))} und das Schemata n A, A → B beschreibt die Menge von Regeln B A0 , A1 | Es gibt A, B ∈ F mit B0 o A0 ≡ A, B0 ≡ B und A1 ≡ A → B . Prof. Dr. Madlener: Logik 46 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Das deduktive System F0 Definition 1.17 (Das deduktive System F0 ) Das deduktive System F0 für die Aussagenlogik besteht aus der Formelmenge F0 der Formeln in V , ¬, →, ( und ). Die Axiomenmenge Ax wird durch folgende Axiomenschemata beschrieben: Ax1: A → (B → A) Ax2: (A → (B → C )) → ((A → B) → (A → C )) Ax3: ((¬A) → (¬B)) → (B → A) Dabei beschreiben Ax1, Ax2 und Ax3 disjunkte Formelmengen. Prof. Dr. Madlener: Logik 47 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Das deduktive System F0 Die Regelmenge R wird beschrieben durch das Regelschema MP: A, (A → B) B (modus ponens). ◮ Beachte: Ax und R sind rekursiv entscheidbar. ◮ Es genügt zunächst nur Axiome für Formeln in → und ¬ zu betrachten, da alle anderen Formeln zu einer Formel in → und ¬ logisch äquivalent sind. ◮ Die Menge der Theoreme von F0 wird nicht frei erzeugt. Die Modus-Ponens-Regel ist hochgradig nicht eindeutig. A, A → B A′ , A′ → B und sind beides Regeln mit gleicher B B Folgerung. Das erschwert sehr das Finden von Beweisen. Prof. Dr. Madlener: Logik 48 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Beispiel Beispiel 1.18 Für jedes A ∈ F0 gilt ⊢ (A → A), d.h. (A → A) ∈ T (F0 ) Beweis: B0 ≡ (A → ((A → A) → A)) → ((A → (A → A)) → (A → A)) B1 ≡ A → ((A → A) → A) B2 ≡ (A → (A → A)) → (A → A) B3 ≡ A → (A → A) B4 ≡ A → A Prof. Dr. Madlener: Logik Ax2 Ax1 MP(B0 , B1 ) Ax1 MP(B2 , B3 ) 49 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik ◮ Wie findet man Beweise im System F0 ? Einziger Hinweis: Die Zielformel B, sofern sie kein Axiom ist, muss in der Form (A1 → (...(An → B)...)) vorkommen. Wähle geeignete A´s. ◮ Beachte: Alle Axiome sind Tautologien der Aussagenlogik. Da diese abgeschlossen gegenüber Modus Ponens sind, sind alle Theoreme von F0 Tautologien. D.h. T (F0 ) ⊆ Taut(F0 ). ◮ Will man in ganz F Beweise führen, so muss man weitere Axiome einführen. Z.B. Ax1∧ : (A ∧ B) → (¬(A → (¬B))) Ax2∧ : (¬(A → (¬B))) → (A ∧ B) Prof. Dr. Madlener: Logik 50 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Deduktiver Folgerungsbegriff Definition 1.19 (Deduktiver Folgerungsbegriff) Sei Σ ⊆ F0 , A ∈ F0 . 1. A ist aus Σ in F0 herleitbar, wenn A sich aus Ax ∪ Σ mit den Regeln aus R herleiten lässt, d.h. A ist Theorem im deduktiven System F mit Axiomenmenge Ax ∪ Σ und gleicher Regelmenge wie F0 . Schreibweise Σ ⊢F0 A, einfacher Σ ⊢ A. B0 , . . . , Bn ist ein Beweis für Σ ⊢ A, falls A ≡ Bn und für alle 0 ≤ i ≤ n gilt: Bi ∈ Ax ∪ Σ oder es gibt j, k < i mit Bk ≡ (Bj → Bi ). 2. Σ heißt konsistent, falls für keine Formel A ∈ F0 gilt Σ ⊢ A und Σ ⊢ ¬A. Gibt es eine solche Formel, so heißt Σ inkonsistent. Prof. Dr. Madlener: Logik 51 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Folgerung 1.20 (Beweishilfsmittel) 1. Gilt Σ ⊢ A, so folgt unmittelbar aus der Definition 1.19, dass es eine endliche Teilmenge Σ0 ⊆ Σ gibt mit Σ0 ⊢ A. Dies entspricht dem Kompaktheitssatz für ”|=“. 2. Ist Σ inkonsistent, dann gibt es eine endliche Teilmenge Σ0 ⊆ Σ, die inkonsistent ist (denn ist Σ ⊆ Γ und Σ ⊢ A, dann gilt auch Γ ⊢ A). 3. Ist Σ ⊆ Γ so FolgF0 (Σ) ⊆ FolgF0 (Γ). 4. Aus Σ ⊢ A und Γ ⊢ B für alle B ∈ Σ folgt Γ ⊢ A. Ist also Σ ⊆ FolgF0 (Γ) so FolgF0 (Σ) ⊆ FolgF0 (Γ). Beweise lassen sich also zusammensetzen. 5. Gilt Σ ⊢ A, so ist {Σ, ¬A} inkonsistent. Gilt auch die Umkehrung? 6. Es gilt stets T (F0 ) ⊆ FolgF0 (Σ) für jede Menge Σ. Prof. Dr. Madlener: Logik 52 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Satz 1.21 (Deduktionstheorem) Sei Σ ⊆ F0 und seien A, B ∈ F0 . Dann gilt: Σ, A ⊢ B gdw Σ ⊢ (A → B) Beweis: ⇐ “ Klar wegen MP-Regel. ” ⇒ “ Sei B0 , ..., Bm ein Beweis für Σ, A ⊢ B, d.h. B ≡ Bm . ” Beh.: Für i = 0, ..., m gilt Σ ⊢ (A → Bi ) Induktion nach i und Fallunterscheidung, je nachdem ob Bi gleich A ist, in Ax ∪ Σ liegt oder mit MP-Regel aus Bj , Bk mit j, k < i entsteht. Prof. Dr. Madlener: Logik 53 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Anwendungen des Deduktionstheorems Beispiel 1.22 (Beweistransformationen. Wiederverwendung von Beweisen. ) ◮ ◮ Vereinbarungen zur Darstellung von Beweisen: B1 , . . . , Bn heißt abgekürzter Beweis für Σ ⊢ Bn , falls für jedes j mit 1 ≤ j ≤ n gilt: Σ ⊢ Bj oder es gibt j1 , . . . , jr < j mit Bj1 , . . . , Bjr ⊢ Bj . Gibt es einen abgekürzten Beweis für Σ ⊢ A, dann gibt es auch einen Beweis für Σ ⊢ A. 1. ⊢ (A → A) folgt aus dem Deduktionstheorem, da A ⊢ A gilt. 2. Um A → B, B → C ⊢ A → C zu zeigen, zeige A, A → B, B → C ⊢ C . Prof. Dr. Madlener: Logik 54 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Anwendungen des Deduktionstheorems (Fort.) 3. ⊢ (¬¬A → A) dazu genügt es zu zeigen ¬¬A ⊢ A Beweis: B1 B2 B3 B4 B5 B6 B7 B8 ≡ ¬¬A ≡ ¬¬A → (¬¬¬¬A → ¬¬A) ≡ ¬¬¬¬A → ¬¬A ≡ (¬¬¬¬A → ¬¬A) → (¬A → ¬¬¬A) ≡ ¬A → ¬¬¬A ≡ (¬A → ¬¬¬A) → (¬¬A → A) ≡ ¬¬A → A ≡A Prof. Dr. Madlener: Logik Ax1 MP Ax3 MP Ax3 MP MP 55 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Anwendungen des Deduktionstheorems (Fort.) 4. ⊢ (A → B) → ((B → C ) → (A → C )) (zeige: A → B, B → C ⊢ A → C ) 5. ⊢ (B → ((B → A) → A)) 6. ⊢ (¬B → (B → A)) (zu zeigen: ¬B, B ⊢ A) Beweis: B1 B2 B3 B4 B5 B6 B7 ≡ ¬B ≡ ¬B → (¬A → ¬B) ≡ ¬A → ¬B ≡ (¬A → ¬B) → (B → A) ≡B →A ≡B ≡A Prof. Dr. Madlener: Logik Vor Ax1 MP Ax3 MP Vor MP 56 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik 7. ⊢ B → ¬¬B 8. ⊢ ((A → B) → (¬B → ¬A)) und ⊢ ((¬B → ¬A) → (A → B)) 9. ⊢ (B → (¬C → ¬(B → C ))) 10. ⊢ ((B → A) → ((¬B → A) → A)) 11. ⊢ (A → B) → ((A → ¬B) → ¬A) Frage: Lassen sich alle Tautologien als Theoreme im System F0 herleiten ? Prof. Dr. Madlener: Logik 57 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Vollständigkeit und Entscheidbarkeit von F0 Satz 1.23 (Korrektheit und Vollständigkeit von F0 ) Sei A ∈ F0 eine Formel der Aussagenlogik. a) Korrektheit: Aus ⊢F0 A folgt |= A, d.h. nur Tautologien können als Theoreme in F0 hergeleitet werden. b) Vollständigkeit: Aus |= A folgt ⊢F0 A, d.h. alle Tautologien lassen sich in F0 herleiten. Prof. Dr. Madlener: Logik 58 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Vollständigkeit und Entscheidbarkeit von F0 (Fort.) Als Hilfsmittel dient: Lemma 1.24 Sei A ≡ A(p1 , . . . , pn ) ∈ F0 , n > 0, wobei p1 , . . . , pn die in A vorkommenden Aussagevariablen sind. Sei ϕ eine Bewertung. Ist pi , falls ϕ(pi ) = 1 A , falls ϕ(A) = 1 Pi := A′ := ¬pi , falls ϕ(pi ) = 0 ¬A, falls ϕ(A) = 0 (1 ≤ i ≤ n), dann gilt P1 , . . . , Pn ⊢ A′ . Angenommen das Lemma gilt und sei |= A, d.h. ϕ(A) = 1 für alle Bewertungen ϕ. Sei ϕ eine Bewertung mit ϕ(pn ) = 1. Es gilt P1 , . . . , Pn ⊢ A und wegen Pn ≡ pn gilt P1 , . . . , Pn−1 , pn ⊢ A. Betrachtet man eine Bewertung ϕ′ mit ϕ′ (pn ) = 0 und sonst gleich ϕ , erhält man P1 , . . . , Pn−1 , ¬pn ⊢ A. Prof. Dr. Madlener: Logik 59 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Vollständigkeit und Entscheidbarkeit von F0 (Fort.) ◮ ◮ ◮ ◮ Durch Anwenden des Deduktionstheorems entstehen daraus P1 , . . . , Pn−1 ⊢ pn → A und P1 , . . . , Pn−1 ⊢ ¬pn → A. Gleichzeitig gilt nach dem 10. Beispiel von 1.22 auch P1 , . . . , Pn−1 ⊢ ((pn → A) → ((¬pn → A) → A)). Durch zweimaliges Anwenden des Modus-Ponens entsteht P1 , . . . , Pn−1 ⊢ A. Dies gilt für jede Wahl der Pi , i = 1, ..., n − 1 und somit lässt sich das Argument iterieren. D.h. in einer Herleitung von A muss kein pi verwendet werden, also ⊢ A. Das Lemma wird durch Induktion über den Aufbau von A nachgewiesen. D.h. für A ≡ p1 , ¬C , B → C unter Verwendung von Deduktionen aus Beispiel 1.22. Prof. Dr. Madlener: Logik 60 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Folgerung Folgerung 1.25 Sei Σ ⊆ F0 , A ∈ F0 . 1. Σ ⊢F0 A gilt genau dann, wenn Σ |= A gilt. 2. Σ ist genau dann konsistent, wenn Σ erfüllbar ist. 3. Σ ist genau dann inkonsistent, wenn Σ unerfüllbar ist. 4. Ist Σ endlich und A ∈ F0 , dann ist Σ ⊢F0 A entscheidbar. Prof. Dr. Madlener: Logik 61 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Beweis der Folgerung Beweis: 1. Σ ⊢F0 A 1.20 ⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit A1 , . . . , An ⊢F0 A D.T. ⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit ⊢F0 (A1 → (A2 → . . . (An → A) . . .)) 1.23 ⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit |= (A1 → (A2 → . . . (An → A) . . .)) D.T. ⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit A1 , . . . , An |= A K.S. ⇐⇒ Σ |= A Prof. Dr. Madlener: Logik 62 Grundlagen der Aussagenlogik Deduktiver Aufbau der Aussagenlogik Beweis der Folgerung 2. Σ ist konsistent. ⇐⇒ Es gibt kein A mit Σ ⊢ A und Σ ⊢ ¬A. ⇐⇒ Es gibt kein A mit Σ |= A und Σ |= ¬A. ⇐⇒ Σ ist erfüllbar (Bemerkung 1.8 c)). Prof. Dr. Madlener: Logik 63 Grundlagen der Aussagenlogik Natürliche Kalküle Natürliche Kalküle Es gibt andere deduktive Systeme, für die Satz 1.23 gilt. Das deduktive System F0 wurde von S.C. Kleene eingeführt. Das folgende deduktive System geht auf G. Gentzen zurück. Definition 1.26 (Gentzen-Sequenzenkalkül) Eine Sequenz ist eine Zeichenreihe der Form Γ ⊢ ∆ mit zwei endlichen Mengen von Formeln Γ und ∆. Seien Γ, ∆ ⊆ F endliche Mengen von Formeln und A, B ∈ F . Der Kalkül für Objekte der Form Γ ⊢G ∆ wird definiert durch folgende Axiome und Regeln: Prof. Dr. Madlener: Logik 64 Grundlagen der Aussagenlogik Natürliche Kalküle Gentzen-Sequenzenkalkül: Axiome und Regeln Ax1: Γ, A ⊢G A, ∆ Ax2: Γ, A, ¬A ⊢G ∆ Ax3: Γ ⊢G A, ¬A, ∆ Γ, A, B ⊢G ∆ Γ ⊢G A, B, ∆ R∧,∨ : Γ, A ∧ B ⊢G ∆ Γ ⊢G (A ∨ B), ∆ Γ, A ⊢G ∆, B Γ ⊢G A, ∆ ; Γ, B ⊢G ∆ R→ : Γ ⊢G (A → B), ∆ Γ, (A → B) ⊢G ∆ Γ ⊢G A, ∆ Γ, A ⊢G ∆ R¬ : Γ ⊢G ¬A, ∆ Γ, ¬A ⊢G ∆ R∧′ : Γ ⊢G A, ∆ ; Γ ⊢G B, ∆ Γ ⊢G (A ∧ B), ∆ Γ, A ⊢G ∆ ; Γ, B ⊢G ∆ R∨′ : Γ, (A ∨ B) ⊢G ∆ Prof. Dr. Madlener: Logik 65 Grundlagen der Aussagenlogik Natürliche Kalküle Gentzen-Sequenzenkalkül Γ ⊢G ∆ ist ableitbar bedeutet: Es gibt ein r ∈ N und eine Folge von Sequenzen Γ1 ⊢G ∆1 , . . . , Γr ⊢G ∆r mit 1. Γr ≡ Γ und ∆r ≡ ∆ 2. Jedes Γj ⊢G ∆j mit 1 ≤ j ≤ r ist Axiom oder geht aus vorangehenden Folgegliedern aufgrund einer Regel hervor. Bemerkung 1.27 (Semantische Interpretation) Die Aussage Γ ⊢G ∆ kann wie folgt anschaulich interpretiert werden: Für jede Bewertung ϕ gibt es eine Formel A ∈ Γ mit ϕ(A) = 0 oder es gibt eine Formel B ∈ ∆ mit ϕ(B) = 1. Sind Γ = {A1 , . . . , An } und ∆ = {B1 , . . . , Bm }, also endlich, entspricht dies also der Formel (A1 ∧ · · · ∧ An ) → (B1 ∨ · · · ∨ Bm ). Prof. Dr. Madlener: Logik 66 Grundlagen der Aussagenlogik Natürliche Kalküle ◮ Der Semantische Folgerungsbegriff Σ |= A für eine Menge von Formeln {Σ, A} kann wie folgt auf Mengenpaare Γ, ∆ erweitert werden: Γ |= ∆ gdw Γ |= A wobei A die Disjunktion der Formeln in ∆ ist. ◮ Interpretiert man in einer Sequenz Γ ⊢G ∆ die Menge Γ als Voraussetzungen, und die Menge ∆ als Konklusion, so lässt sich die Korrektheit des Kalküls leicht nachweisen. ◮ Es gilt also: Aus Γ ⊢G ∆ folgt Γ |= ∆. (Übung) ◮ Es gilt auch die Umkehrung dieser Aussage, d.h. der Sequenzenkalkül von Gentzen ist korrekt und vollständig. (Bew. siehe z.B. Kleine Büning/Lettmann: Aussagenlogik, Deduktion und Algorithmen) Prof. Dr. Madlener: Logik 67 Grundlagen der Aussagenlogik Natürliche Kalküle Beispiel Beispiel 1.28 Es gilt p ∨ q, (¬p) ∨ r ⊢G q ∨ r Beweis: B1 B2 B3 B4 B5 B6 B7 B8 ≡ q, r ⊢ q, r ≡ q, ¬p ⊢ q, r ≡ q, (¬p) ∨ r ⊢ q, r ≡ p, r ⊢ q, r ≡ ¬p, p ⊢ q, r ≡ p, (¬p) ∨ r ⊢ q, r ≡ p ∨ q, (¬p) ∨ r ⊢ q, r ≡ p ∨ q, (¬p) ∨ r ⊢ q ∨ r Prof. Dr. Madlener: Logik Ax1 Ax1 R∨′ (1,2) Ax1 Ax2 R∨′ (4,5) R∨′ (3,6) R∨ (7) 68 Grundlagen der Aussagenlogik Natürliche Kalküle Bemerkung 1.29 (Weitere Kalküle für die Aussagenlogik) Man findet in der Literatur eine Vielzahl von natürlichen“ ” Kalkülen (deduktiven Systemen), die ebenfalls korrekt und vollständig sind. Für diese werden auch Beweisstrategien für so genannte Goals“ und Subgoals“ vorgestellt. ” ” Als Beispiel Hilberts Kalkül, das z.B. für jeden Operator eine Regel für die Einführung und eine für die Entfernung des Operators enthält. Prof. Dr. Madlener: Logik 69 Grundlagen der Aussagenlogik Natürliche Kalküle Hilberts Kalkül • Konjunktion ∧I : p, q p∧q ∧E : p∧q p • Disjunktion ∨I : p p∨q ∨E : p ∨ q, ¬p q • Implikation p, p → q →E : q Modus Ponens ¬q, p → q →E : ¬p Modus Tollens • Negation p, ¬p ¬E : q Widerspruchsregel ¬¬p ¬E : p Doppelnegation • Äquivalenz ↔E : Prof. Dr. Madlener: Logik p↔q p→q ↔E : p↔q q→p 70 Grundlagen der Aussagenlogik Natürliche Kalküle • Transitivität ↔I : p ↔ q, q ↔ r p↔r • Deduktions - Theorem →I : p, ..., r , s ⊢ t p, ..., r ⊢ s → t • Reductio ad absurdum ¬I : p, ..., r , s ⊢ t, p, ..., r , s ⊢ ¬t p, ..., r ⊢ ¬s • Hypothetischer Syllogismus p → q, q → r p→r • Konstruktives Dilemma p → q, r → s, p ∨ r q∨s Hinzukommen die üblichen Assoziativitäts-, Kommutativitäts-, Distributivitäts-, Negations-, Implikations- und de Morgan Regeln. Prof. Dr. Madlener: Logik 71 Grundlagen der Aussagenlogik Natürliche Kalküle Beispiele in Hilberts Kalkül Beispiel 1.30 Zeige (p ∧ q) ∨ r ⊢ ¬p → r Beweis: ◮ Transformationsbeweis 1. (p ∧ q) ∨ r Prämisse 2. r ∨ (p ∧ q) Kommutativität 3. (r ∨ p) ∧ (r ∨ q) Distributivität 4. (r ∨ p) ∧E 5. (p ∨ r ) Kommutativität 6. (¬¬p ∨ r ) Negations-Gesetz 7. ¬p → r Implikations-Gesetz Prof. Dr. Madlener: Logik 72 Grundlagen der Aussagenlogik Natürliche Kalküle Beispiele in Hilberts Kalkül Zeige (p ∧ q) ∨ r ⊢ ¬p → r Beweis: ◮ Bedingter Beweis 1. (p ∧ q) ∨ r 2. ¬(¬p ∨ ¬q) ∨ r 3. (¬p ∨ ¬q) → r 4. ¬p 5. ¬p ∨ ¬q 6. r 7. ¬p → r Prof. Dr. Madlener: Logik Prämisse Doppelnegation, de Morgan Implikationsgesetz Annahme ∨I Modus Ponens →E aus 3. und 5. Aus 4, 5, 6 mit Ded. Theo. →I 73 Grundlagen der Aussagenlogik Natürliche Kalküle Beispiele in Hilberts Kalkül Zeige (p ∧ q) ∨ r ⊢ ¬p → r Beweis: ◮ Indirekter Beweis 1. (p ∧ q) ∨ r 2. (p ∨ r ) ∧ (q ∨ r ) 3. (p ∨ r ) 4. ¬(¬p → r ) 5. ¬(p ∨ r ) 6. ¬¬(¬p → r ) 7. ¬p → r Prof. Dr. Madlener: Logik Prämisse Distributivgesetz ∧E Annahme Implikations-und Negationsgesetz Red. Abs. →I aus 3, 4, 5. Doppelnegation 74 Algorithmischer Aufbau der Aussagenlogik Algorithmischer Aufbau der Aussagenlogik In diesem Abschnitt betrachten wir Verfahren die bei gegebener endlichen Menge Σ und A-Form A entscheiden ob Σ |= A gilt. Die bisher betrachteten Verfahren prüfen alle Belegungen der in den Formeln vorkommenden Variablen oder zählen effektiv die Theoreme eines geeigneten deduktiven Systems auf. Dies ist sicherlich recht aufwendig. Obwohl die Komplexität dieses Problems groß ist (Entscheidbarkeit von SAT ist bekanntlich NP-vollständig), ist die Suche nach Verfahren, die oft“ schneller ” als die brute force Methode“ sind, berechtigt. ” Wir betrachten drei solcher Verfahren die alle Erfüllbarkeitsverfahren sind, d.h. sie basieren auf: Σ |= A gdw {Σ, ¬A} unerfüllbar: Semantische Tableaux Davis-Putnam Resolution Prof. Dr. Madlener: Logik 75 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Beispiel Beispiel 2.1 (Semantische Tableaux) Um die Allgemeingültigkeit einer Formel A zu zeigen, konstruiere einen binären Baum für ¬A , dessen Knoten jeweils die Klasse möglicher Belegungen repräsentieren die diesen Knoten erfüllen. Die Wurzel des Baumes repräsentiert alle möglichen Belegungen und die Vereinigung der Klassen der Söhne eines inneren Knotens des Baumes ist die Klasse der Belegungen, die der Knoten repräsentiert. Gelingt es, einen solchen Baum derart zu konstruieren, dass sämtliche Blätter des Baumes zu einem Widerspruch führen, ist gezeigt, dass es keine Belegung gibt, die ¬A erfüllt. Somit gilt, dass A Tautologie ist. Prof. Dr. Madlener: Logik 76 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux |= (p ∨ (q ∧ r ) → (p ∨ q) ∧ (p ∨ r )) gilt genau dann, wenn ¬((p ∨ (q ∧ r )) → ((p ∨ q) ∧ (p ∨ r ))) unerfüllbar ist. ¬((p ∨ (q ∧ r)) → ((p ∨ q) ∧ (p ∨ r))) p ∨ (q ∧ r) ¬((p ∨ q) ∧ (p ∨ r)) p q∧r ¬(p ∨ q) ¬(p ∨ r) q ¬q ¬p r ¬p ¬r ¬(p ∨ q) ¬(p ∨ r) ¬p ¬p ¬q ¬r Da alle Äste zu Widersprüchen führen, gibt es keine Belegung, die die Formel erfüllt! Prof. Dr. Madlener: Logik 77 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Feststellungen Zwei Arten von Formeln, solche, die zu Verzweigungen führen (β-Formeln), und solche, die nicht zu Verzweigungen führen (α-Formeln). ◮ α-Formeln mit Komponenten α1 und α2 , die zu Knoten mit den Markierungen α1 und α2 führen: α α1 α2 ◮ ¬¬A A (A) A1 ∧ A2 A1 A2 ¬(A1 ∨ A2 ) ¬A1 ¬A2 ¬(A1 → A2 ) A1 ¬A2 β-Formeln mit Komponenten β1 und β2 , die zu Verzweigungen führen mit Knotenmarkierungen β1 und β2 : β β1 Prof. Dr. Madlener: Logik β2 ¬(A1 ∧ A2 ) ¬A1 ¬A2 A1 ∨ A2 A1 A2 A1 → A2 ¬A1 A2 78 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Feststellungen (Fort.) ◮ Beachte: Jede Aussageform ist entweder atomar (d.h. eine Variable) oder die Negation einer atomaren Formel (d.h. ein Literal) oder eine α- oder eine β-Formel, und genau von einem dieser drei Typen. ◮ Es gilt: Eine α-Formel ist genau dann erfüllbar, wenn beide Komponenten α1 und α2 erfüllbar sind. Eine β-Formel ist genau dann erfüllbar, wenn eine der Komponenten β1 oder β2 erfüllbar ist. Prof. Dr. Madlener: Logik 79 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Feststellungen (Fort.) ◮ Insbesondere gilt für Γ ⊆ F und α-Formel α mit Komponenten α1 und α2 und β-Formel β mit Komponenten β1 und β2 : Γ ∪ {α} erfüllbar gdw Γ ∪ {α1 , α2 } erfüllbar und Γ ∪ {β} erfüllbar gdw Γ ∪ {β1 } oder Γ ∪ {β2 } erfüllbar. ◮ Ein Literal ist eine Aussagevariable pi oder eine negierte Aussagevariable ¬pi . Für eine A-Form A sind A und ¬A komplementär oder konjugiert. ◮ Enthält Γ komplementäre Formeln (Literale) A und ¬A, so ist Γ nicht erfüllbar. Im Beispiel enthält jeder Ast komplementäre Literale, also ist die Astformelmenge für kein Ast erfüllbar. Prof. Dr. Madlener: Logik 80 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Formalisierung der Tableaux Definition 2.2 (Tableaux) Tableaux sind binäre Bäume mit Knoten, die mit Formeln aus F markiert sind. Sei Σ ⊆ F . 1. Die Menge der Tableaux τΣ für Σ wird induktiv definiert durch: (a) τ{A} ist der Baum mit einem Knoten, der mit A ∈ Σ markiert ist. In diesem Fall schreibt man auch τA statt τ{A} . Graphisch: A (b) Ist τ Tableau für Σ und δ Marke eines Blattes von τ, so lässt sich τ wie folgt zu einem Tableau τ ′ für Σ fortsetzen: τ ′ entsteht aus τ indem man als Nachfolger von δ: Prof. Dr. Madlener: Logik 81 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Formalisierung (Fort.) 1. (b) (Σ) einen Knoten hinzufügt, der mit einer Formel A ∈ Σ markiert ist. (A soll nicht bereits als Marke im Ast von δ vorkommen.) Graphisch: δ A Prof. Dr. Madlener: Logik 82 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Formalisierung (Fort.) 1. (b) (α) einen Knoten hinzufügt, der mit α1 oder α2 markiert ist, falls eine α-Formel α auf dem Ast zu δ vorkommt und α1 und α2 die Komponenten von α sind. Graphisch: α α δ α1 δ oder α2 In der Praxis werden jedoch an δ nacheinander die Knoten für beide Komponenten hinzugefügt: α δ α1 α2 Prof. Dr. Madlener: Logik 83 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Formalisierung (Fort.) 1. (b) (β) zwei Knoten hinzufügt, die mit den Komponenten β1 bzw. β2 einer β-Formel β markiert sind, falls β auf dem Ast zu δ vorkommt. Graphisch: β δ β1 β2 Entsteht τ ′ aus τ durch Anwendung einer der Regeln (Σ), (α) oder (β), so heißt τ ′ direkte Fortsetzung von τ. 1. (c) τ ∈ τΣ genau dann, wenn τ = τA für ein A ∈ Σ oder es gibt eine Folge τ0 , . . . , τn (= τ ), n ∈ N, so dass τj+1 eine direkte Fortsetzung von τj ist für j = 0, . . . , n − 1 und τ0 = τA für ein A ∈ Σ. Prof. Dr. Madlener: Logik 84 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Formalisierung (Fort.) 2. Ein Ast eines Tableaus τ heißt abgeschlossen, falls er zwei konjugierte Formeln enthält (d.h. für ein A ∈ F sowohl A als auch (¬A) enthält), sonst heißt der Ast offen. ◮ ◮ Ein Tableau τ heißt abgeschlossen, wenn jeder Ast von τ abgeschlossen ist. τ heißt erfüllbar, wenn τ einen erfüllbaren Ast (d.h. die Marken entlang des Ast bilden eine erfüllbare Formelmenge) enthält. 3. Sei Γ ⊆ F , A ∈ F . Dann ist A Tableau-Folgerung aus Γ Schreibe: Γ ⊢τ A genau dann, wenn für Σ = Γ ∪ {¬A} jedes Tableau aus τΣ sich zu einem abgeschlossenen Tableau aus τΣ fortsetzen lässt. Prof. Dr. Madlener: Logik 85 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Bemerkung 2.3 Ziel ist es zu zeigen: Γ ⊢τ A ⇐⇒ Γ |= A. 1. Abgeschlossene Äste und Tableaux sind nicht erfüllbar. 2. Ist Γ erfüllbar, so ist jedes Tableau aus τΓ erfüllbar (und insbesondere nicht abgeschlossen). 3. Gilt Γ ⊢τ A, so ist Σ = Γ ∪ {¬A} nicht erfüllbar. Insbesondere sind Tableau-Folgerungen korrekt (aus Γ ⊢τ A folgt Γ |= A). 4. Gibt es ein abgeschlossenes Tableau in τΓ , so lässt sich jedes Tableau aus τΓ zu einem abgeschlossenen Tableau fortsetzen. 5. Tableaux sind endliche Bäume. Ist τ ∈ τΣ , so kommen als Marken nur (negierte oder unnegierte) Teilformeln von Formeln aus Σ vor. Insbesondere: Ist Σ endlich, so auch τΣ . Unendliche Tableaux können als Grenzfälle (falls Σ unendlich) betrachtet werden. Prof. Dr. Madlener: Logik 86 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Beispiel 2.4 ⊢τ ¬(p ∧ q) → (¬p ∨ ¬q): ¬(¬(p ∧ q) → (¬p ∨ ¬q)) ⊢τ A → (B → A): ¬(p ∧ q) ¬(A → (B → A)) ¬(¬p ∨ ¬q) A ¬¬p ¬(B → A) ¬¬q B p ¬A q ¬p Prof. Dr. Madlener: Logik ¬q 87 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Beispiel 2.5 ⊢τ (p ∨ q) → (p ∧ q) gilt nicht: ¬((p ∨ q) → (p ∧ q)) p∨q ¬(p ∧ q) p ¬p q ¬q ¬p ¬q Es gibt Belegungen, die ¬((p ∨ q) → (p ∧ q)) erfüllen, nämlich ϕ mit ϕ(p) = 1 und ϕ(q) = 0 und ϕ′ mit ϕ′ (p) = 0 und ϕ′ (q) = 1. Also gilt nicht ⊢τ (p ∨ q) → (p ∧ q). Prof. Dr. Madlener: Logik 88 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Beispiele (Fort.) Beispiel 2.6 ⊢τ (¬A → A) → A ¬((¬A → A) → A) (¬A → A) ¬A ¬¬A A A Prof. Dr. Madlener: Logik 89 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Beispiele (Fort.) Beispiel 2.7 ⊢τ (¬B → ¬A) → ((¬B → A) → B) ¬((¬B → ¬A) → ((¬B → A) → B)) ¬B → ¬A ¬((¬B → A) → B) ¬B → A ¬B ¬¬B ¬A ¬¬B Prof. Dr. Madlener: Logik A 90 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Vollständige Tableaux Definition 2.8 Sei τ ein Tableau, Θ ein Ast von τ . ◮ Θ heißt vollständig, falls für die Menge der Formeln in Θ gilt: Mit jeder α-Formel α ∈ Θ ist stets {α1 , α2 } ⊆ Θ und mit jeder β-Formel β ∈ Θ ist stets β1 ∈ Θ oder β2 ∈ Θ. ◮ τ heißt vollständig, falls jeder Ast in τ abgeschlossen oder vollständig ist. ◮ Sei Σ ⊆ F , Σ endlich. τ ∈ τΣ heißt vollständig für Σ, falls τ vollständig ist und jeder offene Ast Σ enthält. ◮ Sei Σ ⊆ F , Σ unendlich, so verallgemeinerte Tableaux erlaubt (d.h. jeder offene Ast ist unendlich und enthält Σ). Prof. Dr. Madlener: Logik 91 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Bemerkung 2.9 1. Ziel: Ist Σ endlich, so lässt sich jedes Tableau aus τΣ zu einem vollständigen Tableau für Σ mit Hilfe von Σ-, α- und β-Regeln erweitern. Beachte, dass α- und β- Regeln nur (negierte) Teilformeln einführen und dass eine Formel nur endlich viele Teilformeln enthalten kann. (Gilt entsprechend für Σ unendlich mit verallg. Tableaux). 2. Sei Γ die Menge der Formeln eines vollständigen offenen Astes von τ. Dann gilt: 2.1 Es gibt kein p ∈ V mit {p, ¬p} ⊆ Γ. 2.2 Ist α ∈ Γ, so auch α1 , α2 ∈ Γ. 2.3 Ist β ∈ Γ, so ist β1 ∈ Γ oder β2 ∈ Γ. Prof. Dr. Madlener: Logik 92 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Vollständige Tableaux (Fort.) Lemma 2.10 Jede Menge Σ von Formeln, die 1, 2 und 3 aus der Bemerkung 2.9.2 genügt, ist erfüllbar. Insbesondere sind vollständige offene Äste von Tableaux erfüllbar. Gibt es offene vollständige Tableaux für Γ, so ist Γ erfüllbar. Beweis: Definiere: ϕ(p) = 0 1 Offensichtlich ist ϕ wohldefiniert. Beh.: Falls A ∈ Σ, dann ϕ(A) = 1. Prof. Dr. Madlener: Logik ¬p ∈ Σ sonst (Induktion) 93 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Satz 2.11 Sei Γ ⊆ F . Dann gilt: 1. Γ ist nicht erfüllbar gdw Tableau. 2. Äquivalent sind ◮ ◮ τΓ enthält ein abgeschlossenes Γ |= A (oder Γ ⊢ A) τ{Γ,¬A} enthält ein abgeschlossenes Tableau. 3. Äquivalent sind ◮ ◮ |= A (oder ⊢ A) τ¬A enthält ein abgeschlossenes Tableau. Beachte: Der Kompaktheitssatz (1.10) folgt aus 1., denn ist Γ nicht erfüllbar, enthält τΓ ein abgeschlossenes Tableau und abgeschlossene Tableaux sind stets endliche Bäume, d.h. eine endliche Teilmenge von Γ ist nicht erfüllbar. Prof. Dr. Madlener: Logik 94 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Systematische Tableaukonstruktion ◮ Sei Γ ⊆ F , dann ist Γ abzählbar. Sei also Γ = {A1 , A2 , . . .}. Konstruktion einer Folge von Tableaux τn (n ∈ N) : 1. τ1 ≡ A1 . Ist A1 Literal, dann wird der Knoten markiert. 2. Sind alle Äste von τn abgeschlossen, dann Stopp! τn+1 entsteht aus τn wie folgt: 3. Ist Y die erste unmarkierte α-Formel in τn , durch die ein offener Ast geht, so markiere Y und erweitere jeden offenen Ast, der durch Y geht, um die Teilformeln α1 und α2 von Y . α1 α1 und α2 werden markiert, falls sie Literale sind. Dadurch werden möglicherweise Äste abgeschlossen. α2 Prof. Dr. Madlener: Logik 95 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux oder: 4. Ist Y die erste unmarkierte β-Formel in τn , durch die ein offener Ast geht, so markiere Y und erweitere jeden offenen Ast, der durch Y geht, um Markiere β1 und/oder β2 , falls diese Literale sind. Dadurch werden möglicherweise Äste abgeschlossen. β1 β2 oder: 5. Gibt es eine Formel Aj ∈ Γ, die noch nicht in jedem offenen Ast vorkommt, so erweitere alle diese Äste um: Aj Prof. Dr. Madlener: Logik Falls möglich, Knoten markieren und Äste abschließen. 96 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux ◮ Verfahren: Beginne mit τ1 . Wiederhole 3. solange wie möglich. Dann 4.. Sind weder 3. noch 4. möglich so 5. Geht nichts mehr, so stopp. • Aus τn (n ≥ 1) erhält man kein weiteres Tableau, falls τn abgeschlossen ist oder alle Formeln von τn markiert sind und Γ endlich und ausgeschöpft ist. S ◮ Setze τ∞ := n∈N τn . Dann ist τ∞ ein binärer Baum. Behauptung: τ∞ ist vollständig! Prof. Dr. Madlener: Logik 97 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Beweis: 1. τ∞ = τk für ein k ∈ N. ◮ ◮ 2. ◮ ◮ Ist τk abgeschlossen, gilt die Behauptung. Ist τk nicht abgeschlossen, so ist τk vollständig: Alle Formeln sind markiert und Γ muss endlich sein. Alle Formeln von Γ sind in den offenen Ästen von τk . Somit ist Γ nach Lemma 2.10 erfüllbar. Es gibt kein k ∈ N mit τ∞ = τk . Dann ist τ∞ ein unendlicher Baum. Es gibt eine Folge von Knoten {Yn }, n ∈ N, die unendlich viele Nachfolger haben: Setze Y1 = A1 , die Wurzel mit unendlich vielen Nachfolgerknoten. Ist Yn bereits gefunden, dann hat Yn entweder einen oder zwei direkte Nachfolger, von denen einer unendlich viele Nachfolger hat. Wähle als Yn+1 diesen Knoten. Dann ist der Ast {Yn |n ∈ N} in τ∞ , offen, vollständig und enthält Γ, d.h. Γ ist erfüllbar. Prof. Dr. Madlener: Logik 98 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Bemerkung und Folgerung Bemerkung 2.12 1. Ist Γ eine rekursiv aufzählbare Menge, so ist das Hinzufügen einer Formel An ∈ Γ zu einem Tableau effektiv, d.h. falls Γ rekursiv aufzählbar aber nicht erfüllbar ist, so stoppt die systematische Tableau-Konstruktion. Insbesondere stoppt die systematische Tableau-Konstruktion immer, wenn Γ endlich ist. Sie liefert dann entweder: ◮ ◮ Γ ist nicht erfüllbar, d.h. es gibt ein n ∈ N, so dass τn abgeschlossen ist, oder: Γ ist erfüllbar und die (offenen) Äste von τn liefern alle Belegungen, die Γ erfüllen. Die systematische Tableau-Konstruktion liefert also für endliche Mengen in den offennen vollständigen Äste alle Belegungen der wesentlichen Variablen, die Γ erfüllen. Prof. Dr. Madlener: Logik 99 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Folgerungen (Fort.) 2. Zur Vereinfachung der systematischen Tableau-Konstruktion für eine Menge Γ = {A1 , . . . , An } beginne mit A1 A2 A3 An−1 An als Anfangstableau. Prof. Dr. Madlener: Logik 100 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Folgerungen (Fort.) 3. Γ |= A ⇐⇒ Γ ∪ {¬A} unerfüllbar ⇐⇒ τ{Γ,¬A} enthält abgeschlossenes Tableau ⇐⇒ Γ ⊢τ A Für Γ endlich beginne also mit Anfangstableau für {¬A, A1 , . . . , An } Prof. Dr. Madlener: Logik 101 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Folgerungen (Fort.) 4. •(a) |= ((p ∨ q) ∧ (¬p ∨ r )) → (q ∨ r ) oder (p ∨ q) ∧ (¬p ∨ r ) |= (q ∨ r ) ¬(((p ∨ q) ∧ (¬p ∨ r)) → (q ∨ r)) (p ∨ q) ∧ (¬p ∨ r) ¬(q ∨ r) (p ∨ q) ¬p ∨ r ¬q ¬r p ¬p Prof. Dr. Madlener: Logik q r 102 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Folgerungen (Fort.) •(b) Bestimme alle Belegungen, die A ≡ (p → q) ∨ (¬q → r ) erfüllen! (p → q) ∨ (¬q → r) p→q ¬p ¬q → r q ¬¬q r q Demnach ist {ϕ | ϕ ist Bewertung mit ϕ(p) = 0 oder ϕ(q) = 1 oder ϕ(r ) = 1} die Menge aller Belegungen, die A erfüllen. An den Blättern des Baumes lässt sich auch eine äquivalente Disjunktive Normalform (DNF) zur Formel A ablesen, nämlich ¬p ∨ q ∨ r . Prof. Dr. Madlener: Logik 103 Algorithmischer Aufbau der Aussagenlogik Semantische Tableaux Normalformen ◮ Normalformen haben oft den Vorteil, dass man aus Formeln in dieser Form gewisse Informationen leicht ablesbar sind. So lassen sich z.B. aus einer KDNF (kanonische disjunktive Normalform) alle erfüllende Belegungen aus den Elementarkonjunktionen direkt ablesen. Aus minimalen DNF lassen sich leicht die Schaltnetze (mit UND, ODER, NEG Gattern) herleiten. Die systematische Tableux Konstruktion erlaubt es diese Normalformen aus einem vollständigen Tableau abzulesen. Prof. Dr. Madlener: Logik 104 Algorithmischer Aufbau der Aussagenlogik Normalformen Normalformen Motivation: Oft will man eine beliebige A-Form in eine Form transformieren die einfachere“ Gestalt hat und spezielle ” Algorithmen zur Lösung einer bestimmten Fragestellung für Formeln in dieser Gestalt verfügbar sind. Die Transformation sollte nicht zu teuer sein, sonst würde sich der Aufwand dafür nicht lohnen. ◮ Transformiert werden kann in einer ◮ ◮ logisch äquivalenten Formel, d.h. A |==| T (A) oder erfüllungs äquivalenten Formel, d.h. A erfüllbar gdw. T (A) erfüllbar ◮ Wir behandeln drei dieser Normalformen: ◮ ◮ ◮ Negationsnormalform (NNF) Form in ¬, ∨, ∧ Konjunktive Normalform (KNF) Form in ¬, ∨, ∧ Disjunktive Normalform (DNF) Form in ¬, ∨, ∧ Prof. Dr. Madlener: Logik 105 Algorithmischer Aufbau der Aussagenlogik Normalformen Normalformen Definition 2.13 (NNF) Eine Formel A ist in NNF gdw. jedes Negationszeichen direkt vor einem Atom (A-Variable) steht und keine zwei Negationszeichen direkt hintereinander stehen. Also: 1. Für p ∈ V sind p und ¬p in NNF 2. Sind A, B in NNF, so auch (A ∨ B) und (A ∧ B) Beachte (A → B) wird durch (¬A ∨ B) und ¬(A → B) durch (A ∧ ¬B) ersetzt. Lemma 2.14 Zu jeder Formel A ∈ F ({¬, ∧, ∨, →}) gibt es eine logisch äquivalente Formel B ∈ F (¬, ∨, ∧) in NNF mit |B| ∈ O(|A|). Beweis: Übung. Verwende Doppelnegationsregel, de Morgan. Prof. Dr. Madlener: Logik 106 Algorithmischer Aufbau der Aussagenlogik Normalformen Klauseln Definition 2.15 (Klausel) Eine Formel A ≡ (L1 ∨ ... ∨ Ln ) mit Literalen Li für i = 1, ..., n wird Klausel genannt. • Sind alle Literale einer Klausel negativ, so ist es eine negative Klausel. Sind alle Literale positiv, so ist es eine positive Klausel. Klauseln die maximal ein positives Literal enthalten, heißen Horn Klauseln. • A wird k-Klausel genannt, falls A maximal k Literale enthält. 1-Klauseln werden auch Unit-Klauseln genannt. • Eine Formel A ist in KNF gdw. A eine Konjunktion von Klauseln ist. D.h. A ≡ (A1 ∧ ... ∧ Am ) mit Klauseln Ai für i = 1, ..., m. • Sind die Ai k-Klauseln, so ist A in k-KNF. Prof. Dr. Madlener: Logik 107 Algorithmischer Aufbau der Aussagenlogik Normalformen Normalformen (Fort.) Beispiel 2.16 A ≡ (p ∨ q) ∧ (p ∨ ¬q) ∧ (¬p ∨ q) ∧ (¬p ∨ ¬q) ist in 2-KNF (Beachte ist unerfüllbar). Betrachtet man Klauseln als Mengen von Literalen, so lassen sich Formeln in KNF als Mengen von Literalmengen darstellen, etwa A ≡ {{p, q}, {p, ¬q}, {¬p, q}, {¬p, ¬q}}. Lemma 2.17 Zu jeder Formel A ∈ F ({¬, ∧, ∨}) gibt es eine logisch äquivalente Formel B in KNF mit |B| ∈ O(2|A| ). ◮ Beachte: Es gibt eine Folge von Formeln An mit |An | = 2n, für die jede logisch äquivalente Formel Bn in KNF mindestens die Länge 2n besitzt. Prof. Dr. Madlener: Logik 108 Algorithmischer Aufbau der Aussagenlogik Normalformen Definition 2.18 (DNF) Eine A-Form A ist in DNF gdw. A eine Disjunktion von Konjunktionen von Literalen ist, d.h. A ≡ (A1 ∨ ... ∨ Ai ) mit Ai ≡ (Li 1 ∧ ... ∧ Limi ). Definition 2.19 (Duale Formel) Die duale Formel von A, d(A) (auch A∗ ) ist definiert durch: ◮ ◮ ◮ ◮ d(p) ≡ p für p ∈ V d(¬A) ≡ ¬d(A) d(B ∨ C ) ≡ (d(B) ∧ d(C )) d(B ∧ C ) ≡ (d(B) ∨ d(C )) Prof. Dr. Madlener: Logik 109 Algorithmischer Aufbau der Aussagenlogik Normalformen Lemma 2.20 Für jede A-Form A gilt: 1. Sei A in KNF, dann ist NNF(¬A) in DNF. 2. Ist A in KNF, so ist d (A) in DNF. 3. A ist Tautologie gdw. d(A) widerspruchsvoll. 4. A ist erfüllbar gdw. d(A) ist keine Tautologie. Setzt man ϕ′ (p) = 1 − ϕ(p), so gilt ϕ′ (d(A)) = 1 − ϕ(A) Prof. Dr. Madlener: Logik 110 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Davis-Putnam-Algorithmen ◮ Erfüllbarkeits-Algorithmen ◮ Formeln in NNF (¬, ∧, ∨) ◮ Bottom-Up Verfahren - Festlegung einer erfüllenden Bewertung durch Auswahl der Werte der Atome Prof. Dr. Madlener: Logik 111 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Definition 2.21 Sei A A-Form in NNF, p ∈ V definiere A[p/1] (bzw. A[p/0]) als Ergebnis des folgenden Ersetzungsprozesses: 1. Ersetze in A jedes Vorkommen von p durch 1. 2. • Tritt nun eine Teilform ¬1 auf, ersetze sie durch 0, • • • • ¬0 ersetze durch 1. Teilformeln B ∧ 1, sowie B ∨ 0 werden durch B ersetzt, Teilformeln B ∨ 1 durch 1 und Teilformeln B ∧ 0 durch 0 ersetzt. 3. Schritt 2 wird so lange durchgeführt, bis keine weitere Ersetzung möglich ist. Analog für A[p/0] wobei p durch 0 ersetzt wird. Prof. Dr. Madlener: Logik 112 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen ◮ A[p/1] (bzw. A[p/0]) sind wohldefiniert. (Warum ?) ◮ Als Ergebnis des Ersetzungsprozesses A[p/i ] i = 1, 0 erhält man: ◮ ◮ ◮ eine A-Form (in NNF bzw. KNF wenn A diese Form hatte) 1 die leere Formel“ ” 0 die leere Klausel“ (⊔, ) ” Die leere Formel wird als wahr interpretiert. Die leere Klausel als falsch (nicht erfüllbar), d. h. A[p/i ] als A-Form behandelbar. ◮ Allgemeiner verwende A[l /1] bzw. A[l /0] für Literale l . ◮ Beachte: Für A in KNF und Literal l gilt: A[l /1] entsteht aus A durch Streichen aller Klauseln, die das Literal l enthalten und durch Streichen aller Vorkommen des Literals ¬l in allen anderen Klauseln. Prof. Dr. Madlener: Logik 113 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Eigenschaften Für jedes Atom p ∈ V und A ∈ F in NNF gilt: 1. A[p/i ] i ∈ 1, 0 ist entweder die leere Formel oder die leere Klausel oder eine A-Form in NNF in der p nicht vorkommt. Ist ϕ eine Bewertung mit ϕ(p) = i , so gilt ϕ(A) = ϕ(A[p/i ]). 2. A ∧ p |==| A[p/1] ∧ p A ∧ ¬p |==| A[p/0] ∧ ¬p 3. A ist erfüllbar gdw A[p/1] = 1 oder A[p/0] = 1 oder eine der Formeln A[p/1], A[p/0] erfüllbar ist. ֒→ Durch Testen der Formeln A[p/1] und A[p/0], die nun p nicht mehr enthalten, kann rekursiv die Erfüllbarkeit von A entschieden werden. Prof. Dr. Madlener: Logik 114 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Regelbasierter Aufbau von DP-Algorithmen Definition 2.22 (Regeln für Formeln in NNF) 1. Pure-Literal Regel Kommt ein Atom p ∈ V in einer A-Form A nur positiv oder nur negativ vor, so können wir p mit 1 bzw. 0 belegen und die Formel dementsprechend kürzen. ֒→ (Es gilt A[p/0] |= A[p/1] bzw. A[p/1] |= A[p/0]), genauer A erfüllungsäquivalent A[p/1] bzw. A[p/0]. 2. Splitting-Regel Kommt jedes Atom sowohl positiv als auch negativ vor, so wähle ein solches Atom p in A aus und bilde aus A die zwei A-Formen A[p/1] und A[p/0]. ֒→ Die Ausgangsformel A ist genau dann erfüllbar, wenn bei einer der Kürzungen der Wert 1 oder eine erfüllbare Formel als Ergebnis auftritt. Prof. Dr. Madlener: Logik 115 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Regelbasierter Aufbau von DP-Algorithmen ◮ Regeln reduzieren das Erfüllbarkeitsproblem für eine Formel mit n Atomen auf EP für Formeln mit maximal (n − 1) Atomen. ◮ Algorithmen, die mit Hilfe dieser beiden Regeln mit verschiedenen Heuristiken (zur Auswahl des splitting Atoms) und weiteren Verfeinerungen arbeiten, werden als Davis-Putnam-Algorithmen bezeichnet. Prof. Dr. Madlener: Logik 116 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Beispiel 2.23 (Darstellung der Abarbeitung als Baum) A ≡ ¬p ∨ ((¬q ∨ r) ∧ (q ∨ s) ∧ ¬r ∧ ¬s ∧ (p ∨ q)) p=1 p=0 (¬q ∨ r) ∧ (q ∨ s) ∧ ¬r ∧ ¬s q=1 r ∧ ¬r ∧ ¬s ¬s = 1 r ∧ ¬r r=1 0 Prof. Dr. Madlener: Logik 1 q=0 s ∧ ¬r ∧ ¬s ¬r = 1 r = 0s = 1 0 0 s ∧ ¬s s=0 0 117 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Weitere Verfeinerungen Definition 2.24 (Regeln für Formeln in KNF) 3. Unit-Regel Sei A in KNF und A enthält eine Unit Klausel Ai ≡ l . Bilde A[l /1] (A ist erfüllbar gdw A[l /1] erfüllbar), da das Literal einer UnitKlausel durch eine erfüllende Bewertung auf wahr gesetzt werden muss. Prof. Dr. Madlener: Logik (¬q ∨ r) ∧ (q ∨ s) ∧ ¬r ∧ ¬s ¬r = 1 ¬q ∧ (q ∨ s) ∧ ¬s ¬q = 1 s ∧ ¬s s=1 0 118 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen ◮ Seien A1 und A2 Klauseln. A1 subsumiert A2 (A1 ⊆ A2 ) gdw jedes Literal aus A1 auch in A2 auftritt. ◮ Aus der Erfüllbarkeit einer Klausel folgt sofort die Erfüllbarkeit aller Klauseln, die sie subsummiert. 4. Subsumption-Rule Sei A in KNF. Streiche aus A alle Klauseln, die von anderen subsumiert werden:: SR(A). Streiche insbesondere tautologische Klauseln (solche die p und ¬p für ein p enthalten). ◮ Da in KNF alle Klauseln konjunktiv verknüpft sind, braucht man nur diejenigen zu berücksichtigen, die von keiner anderen subsumiert werden. Prof. Dr. Madlener: Logik 119 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen procedure Davis/Putnam //Eingabe: A in KNF// //Ausgabe: Boolscher Wert für Erfüllbarkeit (1,0)// begin if A ∈ {0, 1} then return(A); p:=pure(A,s); //liefert Atom und Belegung, falls nur positiv oder nur negativ vorkommt sonst null// if p 6= null then return(DPA(A[p/s])); p:=unit(A,s); //Unit Klausel mit Belegung sonst null// if p 6= null then return(DPA(A[p/s])); A:=Subsumption Reduce(A); //entfernt subs. Klauseln// p:=split(A); //liefert Atom in A// if DPA(A[p/1]) = 1 then return(1); return(DPA(A[p/0])); end Prof. Dr. Madlener: Logik 120 Algorithmischer Aufbau der Aussagenlogik Davis-Putnam-Algorithmen Auswahlkriterien für die Splitting Regel ◮ Wähle das erste in der Formel vorkommende Atom, ◮ wähle das Atom, welches am häufigsten vorkommt, ◮ · · · das in den kürzesten Klauseln am häufigsten vorkommt, X wähle Atom mit |Ai | minimal, ◮ p in Ai ◮ berechne die Anzahl der positiven und negativen Vorkommen in den kürzesten Klauseln und wähle das Atom mit der größten Differenz. ◮ Weitere Heuristiken in Implementierung vorhanden. Prof. Dr. Madlener: Logik 121 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Resolutions-Verfahren ◮ Das Resolutionskalkül als Deduktionssystem operiert auf Klauselmengen, d. h. Formeln in KNF mit nur einer Schlussregel: Aus Klauseln (A ∨ l ) und (B ∨ ¬l ) kann eine neue Klausel (A ∨ B) erzeugt werden. ◮ Ziel: Leere Klausel zu erzeugen. ◮ Klauseln als Mengen (p ∨ ¬q ∨ p) ↔ {p, ¬q} l ≡ p so ¬l ≡ ¬p l ≡ ¬p so ¬l ≡ p Prof. Dr. Madlener: Logik 122 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Resolutions-Verfahren Definition 2.25 (Resolutionsregel (Resolventenregel)) Seien A, B Klauseln, l ein Literal. l kommt in A und ¬l kommt in B vor. Dann können A und B über l (bzw. ¬l ) resolviert werden. ◮ Die Resolvente der Klauseln A und B ist die Klausel (A\{l }) ∪ (B\{¬l }). A und B sind die Elternklauseln der Resolvente Schema A , B Resl (A, B) ≡ (A\{l }) ∪ (B\{¬l }) Prof. Dr. Madlener: Logik (Resolutionsregel) 123 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Eigenschaften der Resolvente Beachte: ◮ ◮ Enthält die Resolvente ein Literal l ′ , so muss dieses bereits in A oder B enthalten sein. Schreibe auch A ∨ l , B ∨ ¬l ⊢ A ∨ B. Res ◮ ◮ ◮ A ∧ B erfüllbar gdw gdw A ∧ B |= Res(A, B). A ∧ B ∧ Resl (A, B) erfüllbar. Resl (A, B) erfüllbar. Resolvente kann leere Klausel ⊔ sein. Prof. Dr. Madlener: Logik 124 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Darstellung - Beispiele Beispiel 2.26 Darstellung für Klauseln A, B, die über l resolvieren A B (A \ {l}) ∪ (B \ {¬l}) a) Formel F ≡ {(p ∨ q ∨ r ∨ s), (¬p ∨ q ∨ r ∨ s)} p∨q∨r∨s ¬p ∨ q ∨ r ∨ s q∨r∨s Prof. Dr. Madlener: Logik 125 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Beispiele b) F ≡ {(p ∨ q), (¬q ∨ r ), (¬r ∨ s)} p∨q ¬q ∨ r ¬r ∨ s p∨r p∨s c) F ≡ {(p ∨ q), (¬p ∨ q), (p ∨ ¬q), (¬p ∨ ¬q)} ¬p ∨ q p∨q ¬p ∨ ¬q p ∨ ¬q ¬q q 0 Prof. Dr. Madlener: Logik 126 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Beispiele d) F ≡ {(¬p ∨ ¬q ∨ ¬r ), (p ∨ ¬s), (q ∨ ¬r ), (r ∨ ¬t), t} (Horn-Klauseln) ¬p ∨ ¬q ∨ ¬r p ∨ ¬s q ∨ ¬r ¬q ∨ ¬r ∨ ¬s r ∨ ¬t ¬r ∨ ¬s t ¬s ∨ ¬t ¬s Prof. Dr. Madlener: Logik 127 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Ableitungen im Resolutionskalkül Definition 2.27 (Herleitungen (Ableitungen)) Sei A ≡ {C1 , . . . , Cn } eine Formel in KNF und C ein Klausel. Eine Folge D1 , . . . , Dk von Klauseln ist eine Herleitung der Klausel C aus A. Wenn C ≡ Dk und für alle j mit 1 ≤ j ≤ k Klauseln E , F ∈ A ∪ {D1 , . . . , Dj−1 } existieren mit E , F ⊢ Dj . Res ◮ C ist (mit der Resolventenregel oder im Resolutionskalkül) herleitbar aus A + Schreibweise: A ⊢ C Res ◮ (A Ausgangs-Klauseln) k ist die Länge der Herleitung. Prof. Dr. Madlener: Logik 128 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren ◮ Minimale Herleitungen sind solche für die kein Schritt weggelassen werden kann. D.h. es werden keine unnötigen Klauseln hergeleitet. + + + Res Res Res ֒→ Gilt A ⊢ C1 und A ⊢ C2 , so schreibe A ⊢ C1 , C2 . ◮ Darstellung von Herleitungen mit Hilfe von DAG’s. {p, q} {p} {p, ¬q} {¬p, q} {¬p, ¬q} {q} {¬p} ⊔ Prof. Dr. Madlener: Logik 129 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Korrektheit und Widerlegungsvollständigkeit Satz 2.28 1. Der Resolutionskalkül ist korrekt. A in KNF, C Klausel dann + A ⊢ C , so A |= C Res 2. Der Resolutionskalkül ist nicht vollständig. + Es gibt A in KNF, C Klausel mit A |= C aber nicht A ⊢ C Res 3. Der Resolutionskalkül ist widerlegungsvollständig. + A in KNF, A widerspruchsvoll (unerfüllbar), so A ⊢ ⊔ Res Prof. Dr. Madlener: Logik 130 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Korrektheit und Widerlegungsvollständigkeit (Forts.) Beweis: √ 1. , 2. A ≡ p, C ≡ p ∨ q Behauptung. 3. Induktion nach Länge der Formel: Kürzeste Formel:{{p}, {¬p}}, dann p, ¬p ⊢ ⊔. Res Verwende dabei: A widerspruchsvoll, so auch A[p/1] und A[p/0] widerspruchsvoll. • Sei A mit Länge n + 1, A widerspruchsvoll. Es gibt ein Atom p in A das sowohl positiv als auch negativ vorkommt. Betrachte A[p/1] und A[¬p/1], beide nicht erfüllbar. Angenommen nicht Wert 0. • Nach Ind.Vor.: Prof. Dr. Madlener: Logik + A[p/1] ⊢ ⊔, Res + A[¬p/1] ⊢ ⊔. Res 131 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Korrektheit und Widerlegungsvollständigkeit (Forts.) ◮ A in KNF. A[p/1] entsteht durch Streichen der Klauseln, die p enthalten und durch Streichen von ¬p aus Klauseln, die ¬p enthalten. ֒→ Fügt man in A[p/1] die eliminierten Literale ¬p und zu A[¬p/1] die Atome p wieder hinzu, so sind diese Formeln A[p/1](¬p) und A[p/0](p) Teilformen von A. + ◮ Man kann somit die gleichen Resolutionen von A[p/1] ⊢ ⊔, Res + A[¬p/1] ⊢ ⊔ für die entsprechenden Klauseln von A Res durchführen. Prof. Dr. Madlener: Logik 132 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Korrektheit und Widerlegungsvollständigkeit (Forts.) ◮ + + Res Res Dann aber entweder A[p/1](¬p) ⊢ ⊔ bzw. A[¬p/1](p) ⊢ ⊔ auch aus A herleitbar oder + + Res Res + A[p/1](¬p) ⊢ ¬p und A[¬p/1](p) ⊢ p. Dann aber ¬p, p ⊢ ⊔ und somit A ⊢ ⊔. Res ◮ Res Ergibt A[p/1] oder A[¬p/1] den Wert 0, so enthält A eine Klausel p (falls A[¬p/1] = 0) oder eine Klausel ¬p (falls A[p/1] = 0). Dann analoger Schluss. Prof. Dr. Madlener: Logik 133 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Lemma 2.29 Sei A in KNF, C eine Klausel, dann gilt A |= C gdw es gibt eine Teilklausel C ′ ⊆ C : + A ⊢ C′ Res + ◮ Ist A erfüllbar und C Primimplikant von A, dann gilt A ⊢ C . Res Prof. Dr. Madlener: Logik 134 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Resolventenmethode: Strategien/Heuristiken ◮ Verfeinerungen der Methode Starke Herleitungen: A in KNF, widerspruchsvoll. Dann gibt es eine Herleitung C1 , . . . Cn ≡ ⊔ mit 1. in der Herleitung tritt keine Klausel mehrfach auf, 2. in der Herleitung tritt keine Tautologie auf, 3. in der Herleitung tritt keine schon subsumierte Klausel auf: Es gibt kein Ci , Cj , j < i , Cj ⊆ Ci . Prof. Dr. Madlener: Logik 135 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren ◮ Strategien, Heuristiken ◮ Stufenstrategie (Resolutionsabschluss) ( Alle erfüllende Bewertungen) ◮ Stützmengenrestriktion (Set of Support, Unit-Klauseln bevorzugen) ◮ P-(N-) Resolution ◮ Lineare Resolution (SL-Resolution) (PROLOG-Inferenzmaschine) Prof. Dr. Madlener: Logik 136 Algorithmischer Aufbau der Aussagenlogik Resolutions-Verfahren Beispiel:A ≡ {{¬p, ¬q, ¬r }, {p, ¬s}, {q, ¬r }, {r , ¬t}, {t}} Stufen: 0 1. {¬p, ¬q, ¬r } 2. {p, ¬s} 1 6. {¬q, ¬r , ¬s} (1,2) 7. {¬p, ¬r } (1,3) 2 11. {¬r , ¬s} (6,3) 12. {¬q, ¬s, ¬t} (6,4) 3. {q, ¬r } 4. {r , ¬t} 5. {t} 8. {¬p, ¬q, ¬t}(1,4) 9. {q, ¬t} (3,4) 10. {r } (4,5) 13. 14. 15. 16. 17. 18. 19. 20. {¬p, ¬t} (7,4) {¬p, ¬r , ¬t} (8,3) {¬p, ¬q} (8,5) {q} (10,3) {¬r , ¬s, ¬t} (6,9) {¬q, ¬s} (6,10) {¬p} (7,10) {¬p, ¬t} (8,9) 3 21. {¬s, ¬t} (11,4) 22. {¬s} (11,10) .. . ϕ(q) = 1, p(p) = 0, ϕ(s) = 0, ϕ(r ) = 1, ϕ(t) = 1 Prof. Dr. Madlener: Logik 137 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Funktionen, Prädikate Funktionen, Prädikate ◮ Beschreibung von Strukturen (Datentypen, Algebren,. . . ) ◮ Beschreibung von Integritätsbedingungen (Relationen,. . . ) ◮ Lösbarkeit von Anfragen (Gleichungen,. . . ) Prof. Dr. Madlener: Logik 138 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Beispiel 3.1 Bereich Z, Operationen, Prädikate,. . . ◮ Zahlen: Konstanten: · · · , −2, −1, 0, 1, 2, · · · ◮ Individuenvariablen (Abzählb.): x, y , z, . . . ◮ Funktionszeichen (Operatoren): +, ·, − ◮ Prädikatszeichen (Relationen): <, > ◮ Logische Zeichen: =, ∧, ∨, ¬, →, . . . ◮ ◮ (Stelligkeit 2) (Stelligkeit 2) Quantoren: ∀ (für alle), ∃ (es gibt) Trennzeichen: (, ), · · · Prof. Dr. Madlener: Logik 139 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Hilberts-10-Problem: Gibt es ein Verfahren, um zu entscheiden, ob eine beliebige diophantische Gleichung eine Lösung hat? ◮ Hat ein Polynom in mehreren Veränderlichen mit Koeffizienten in Z eine Lösung in Z ? ∃x, y , z.3x 2 − 2xy 3 + 5z 3 + 6 = 0 • Entscheide effektiv, ob eine Aussage in Z gilt. ◮ Beschreibung von Eigenschaften: U(x) ≡ ∃z.x = 2 · z + 1, G (x) ≡ ∃z.x = 2 · z ∀x(U(x) ∨ G (x)) Prof. Dr. Madlener: Logik 140 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Aufbau von Formeln: Aus Konstanten, Funktionen, Individuenvariablen können Terme definiert werden. Terme dienen als Bezeichner für Elemente. ◮ Jede Variable ist Term, jede ganze Zahl ist Term t1 , t2 Terme, so auch (t1 + t2 ), (t1 − t2 ), (t1 · t2 ) ◮ Atomare Formeln: ◮ t1 , t2 Terme: So sind t1 = t2 , t1 < t2 , t1 > t2 Atomare Formeln. ◮ A, B Formeln: So sind (A ∧ B), (A ∨ B), (A → B), (¬A), und für ◮ x Variable, A Formel: ∀x.A Prof. Dr. Madlener: Logik , ∃x.A Formeln. 141 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Interpretationen • Bedeutung von Termen und Formeln. Interpretation: Hier in Z: Terme klar +, −, · durch die Operatoren auf Z. Bedeutung von: (x + 5) = y , ∀x.(x + 5) = 0, ∃x.(x + 5) = 0, ∀x.∃y .(x + 5) = y • Interpretation: Bereich, Funktionen, Prädikate. Belegung der Individuen-Variablen. ◮ x →3 y → 8, dann (x + 5) = y wahr. • Allgemeinere Formeln: Quantifizierung über Funktionen, Prädikaten. • A ≡ ∃F .((F (a) = b) ∧ ∀x.[p(x) → F (x) = g (x, F (f (x)))]) wobei F Funktionsvariable, a, b Individuenkonstanten, p Prädikatskonstante und f , g Funktionskonstanten sind. Prof. Dr. Madlener: Logik 142 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Interpretationen A ≡ ∃F .((F (a) = b) ∧ ∀x.[p(x) → F (x) = g (x, F (f (x)))]) D=N a = 0, b = 1 ◮ f (x) = x − 1 g (x, y ) = x · y p(x) ≡ x > 0 Gibt es eine Funktion F : N → N : . F (0) = 1 F (x) = x · F (x − 1) (x > 0) 2. D=N a = 0, b = 1 1. ◮ . f (x) = x g (x, y ) = y + 1 p(x) ≡ x > 0 Gibt es eine Funktion F : N → N : F (0) = 1 F (x) = F (x) + 1 (x > 0) Prof. Dr. Madlener: Logik 143 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Allgemeine Sprache der Prädikatenlogik zweiter Stufe Definition 3.2 (Syntax) (a) Alphabet: 1 Wahrheitswerte: W , F (Log-Konstanten) 2 Logische Symbole: 2.1 Junktoren: ¬, →, ∧, ∨, ↔, · · · , If Then Else 2.2 Operatoren: =, if then else 2.3 Quantoren: ∀ (Allquantor), ∃ (Existenzquantor) 3 Variablensymbole: 3.1 n-stellige Funktionsvariablen: Fjn (j ≥ 1, n ≥ 0) n = 0 Individuenvariablen: Bezeichnung xj 3.2 n-stellige Prädikatenvariablen: Pjn (j ≥ 1, n ≥ 0) n = 0 aussagenlogische Variablen Prof. Dr. Madlener: Logik 144 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen 4 Konstantensymbole: 4.1 n-stellige fj0 4.2 n-stellige pj0 Funktionskonstanten: fjn (j ≥ 1, n ≥ 0) Individuenkonstanten: Bezeichnung aj Prädikatskonstanten: pjn (j ≥ 1, n ≥ 0) A-log-Konstanten Bezeichnung pj 5 Hilfssymbole (Klammern). ! Alle Zeichen verschieden, kein Buchstabe Teilwort eines anderen. ! Entscheidbare Teilalphabete. Stelligkeiten eindeutig festgelegt. ! Spezielle Sprachen werden durch Festlegung der Konstanten (oft nur endlich viele) definiert. Prof. Dr. Madlener: Logik 145 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Allgemeine Sprache der Prädikatenlogik zweiter Stufe (Forts.) (b) Ausdrücke: Terme - Formeln 1. Die Menge Term der Terme (Bezeichner): i. Jede Individuenvariable xj und Individuenkonstante aj (j ≥ 1) ist ein (atomarer) Term ii. Sind t1 , . . . , tn (n ≥ 1) Terme, so auch fj n (t1 , . . . , tn ) und Fjn (t1 , . . . , tn ) (j ≥ 1) iii. Ist A Formel, t1 , t2 Terme, so auch (if A then t1 else t2 ) iv. Term ist kleinste Menge mit i die Abg. bzg. ii. und iii ist. Prof. Dr. Madlener: Logik 146 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen 2. Die Menge der Formeln Form: • Atomare Formeln: AForm i. W , F ∈ AForm ii. pj0 , Pj0 ∈ AForm (j ≥ 1) iii. Sind t1 , . . . , tn (n ≥ 1) Terme, so pjn (t1 , . . . , tn ), Pjn (t1 , . . . , tn ) ∈ AForm (j ≥ 1) iv. Sind t1 , t2 Terme, dann ist (t1 = t2 ) ∈ AForm • Formeln: Form i. AForm ⊆ Form ii. A, B, C ∈ Form, so auch (¬A), (A → B), (A ∨ B), (A ∧ B), (A ↔ B) (If A Then B Else C ) ∈ Form iii. Ist v Variable, A Formel ((∀v )A), ((∃v )A) ∈ Form (gelegentlich mit Einschränkung) Prof. Dr. Madlener: Logik 147 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen (c) freie (gebundene) Variable. Geltungsbereich eines Quantors: ◮ Ist B ≡ ((∀v )A) oder B ≡ ((∃v )A), so ist A der Geltungsbereich von ∀v bzw. ∃v . ◮ Ein Vorkommen von v in A heißt gebunden. ◮ Ein Vorkommen einer Variablen v in einer Formel heißt gebunden, falls es im Geltungsbereich eines Quantors Qv vorkommt. Sonstige Vorkommen einer Variablen heißen frei. ◮ Eine Variable v heißt freie Variable einer Formel A, wenn es in A freie Vorkommen von v gibt. Formeln ohne freie Variablen heißen abgeschlossen oder Aussagen. (d) Teilterme und Teilformeln werden wie üblich definiert. Beachte: Jeder Term, Formel wird eindeutig aus den Teiltermen bzw. Teilformeln aufgebaut. Prof. Dr. Madlener: Logik 148 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Bemerkung 3.3 a) Term, Form sind rekursiv entscheidbar, zusammengesetzte Terme und Formeln lassen sich eindeutig zerlegen. Freie und gebundene Vorkommen lassen sich effektiv bestimmen. b) Vereinbarungen: Stelligkeit aus Kontext a, b, c Individuenkonstanten, f , g , h, . . . Funktionskonstanten p, q, r . . . Prädikatskonstanten, x, y , z . . . Individuenvariablen F , G , H, . . . Funktionsvariablen P, Q, R, . . . Prädikatsvariablen, A, B, C , . . . Formeln, t, s Terme. Die Mengen Var (t), Var (A) seien die Variablen, die in t bzw. in A vorkommen. Prof. Dr. Madlener: Logik 149 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Beispiel ∃F {(F (a) = b ) ∧ ∀x[p(x) → (F (x) = g (x, F (f (x))))]} |{z} |{z} Term Term Term Term Term .... at-F at.F at.F Formel Formel Formel i) A ≡ Formel Var (A) = {F , x} F kommt 3× vor, gebunden x kommt 4× vor, gebunden A abgeschlossene Formel Prof. Dr. Madlener: Logik 150 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen ii) A ≡ ∀P{ P (a) ∧ ∀x[[ x 6= a ∧ P (f ( x ))] → P ( x )]] ↑ ↑ ↑ ↑ geb. geb. geb. geb. ↑ ↑ geb. geb. → P ( x )} ↑ ↑ geb. frei A ist nicht abgeschlossen, x hat freies Vorkommen d.h. FVar (A) = {x}. Prof. Dr. Madlener: Logik 151 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen Eingeschränkte Teilsprachen Konstanten, Variablen einschränken 1. Allgemeine Sprache der Prädikatenlogik erster stufe: PL1 ◮ Nur Individuenvariablen xi (keine Funktion- und Prädikatsvariablen) x1 6= x2 ∧ ∀x2 (∃x3 p(x, f (x2 , x3 )) → (p(x2 , x1 ) ∨ p(x2 , a))) 2. ◮ ◮ Sprache der Gleichheitslogik Nur Individuenvariablen xj (j ≥ 1), Funktionskonstanten. Keine Prädikatskonstanten und Variablen, keine Funktionsvariablen. Oft noch eingeschränkt, nur Individuenkonstanten reine Gleichheitslogik Term : xi , ai , if A then t1 else t2 AForm : W , F , t1 = t2 ∀x1 ∀x2 ∀x3 (((x1 = x2 ) ∧ (x2 = a)) → (x1 = a)) Prof. Dr. Madlener: Logik 152 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen 3. Sprache der quantifizierten Aussagenlogik Nur aussagenlogische Konstanten pj0 (j ≥ 1) und aussagenlogische Variablen Pj0 (j ≥ 1) sind zugelassen. Keine Terme. Atomare Formeln: aussagenlogische Konstanten und Variablen, W , F , p, Pi . (∀P1 (P1 → p) → ∃P2 (P2 → W )) Prof. Dr. Madlener: Logik 153 Grundlagen der Prädikatenlogik Beziehungen zwischen Eigenschaften von Elementen 4. Sprache der Aussagenlogik Nur aussagenlogische Konstanten pj0 (j ≥ 1) sind zugelassen. (If p1 Then p2 Else p3 ) ↔ ((p1 → p2 ) ∨ (¬p1 → p3 )) 5. Sprache der monadischen Logik (2-Stufe) Individuenvariablen xi , keine Funktionssymbole. Monadische Prädikatsvariablen + Konstanten: pj1 , Pj1 ∀P∀x∀y ((P(x) → p(y )) → p(x)) Prof. Dr. Madlener: Logik 154 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Semantik der P-Logik 2-Stufe Interpretationen, Belegungen, Bewertungen ! ! D 6= ∅, 0-stellige Prof. Dr. Madlener: Logik Funktionen Prädikate f : D n → D (totale Funktion), P ⊆ D n (als Relationen) oder P : D n → {0, 1} Funktionen (Element aus D), Prädikate (Element aus {0, 1}). 155 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Definition 3.4 (Interpretationen, Belegungen) Sei L Sprache der P-Logik 2-Stufe (festgelegt durch die Menge der Konstantensymbole i. R. endlich). a) Eine Interpretation I für L ist ein Tripel I = (D, Ic , Iv ) mit ◮ ◮ ◮ D 6= ∅ Individuenbereich (Definitionsbereich). Ic ist eine Interpretation (Belegung) der Konstanten f n ∈ L, so Ic (f n ) : D n → D p m ∈ L, so Ic (p m ) ⊆ D m (oder : D m → {0, 1}) Iv ist eine Belegung der Variablen (auch Zustand genannt): F n Funktionsvariablen Iv (F n ) : D n → D (n ≥ 0) P m Prädikatsvariablen Iv (P m ) ⊆ D m (D m → {0, 1}) (D, Ic ) heißt auch Relationalstruktur. Kommen keine Prädikatskonstanten vor, so Algebra. Prof. Dr. Madlener: Logik 156 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Interpretationen, Belegungen (Forts.) b) Fortsetzung von I auf Term, bzw. Form: I : Term → D I : Form → B i) Bewertung der Terme: ◮ ◮ ◮ ◮ I (ai ) = Ic (ai ) I (xi ) = Iv (xi ) I (f (t1 , . . . , tn )) = Ic (f )(I (t1 ), . . . , I (tn )) I (F (t1 , . . . , tn )) = Iv (F )(I( (t1 ), . . . , I (tn )) I (t1 ) falls I (A) = 1 (W ) I (if A then t1 else t2 ) = I (t2 ) falls I (A) = 0 (F ) ii) Bewertung der Formeln: ◮ ◮ ◮ ◮ Prof. Dr. Madlener: Logik I (W ) = 1 I (F ) = 0 I (p 0 ) = Ic (p 0 ) I (p(t1 , . . . , tn )) = Ic (p)(I (t1 ), . . . , I (tn )) I (P(t1 , . . . , tn( )) = Iv (P)(I (t1 ), . . . , I (tn )) 1 falls I (t1 ) =D I (t2 ) I (t1 = t2 ) = 0 sonst I (P 0 ) = Iv (P 0 ) 157 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Interpretationen, Belegungen (Forts.) b) ii) ◮ ◮ ◮ ◮ Prof. Dr. Madlener: Logik I (¬A), I (A ∧ B), I (A ∨ B), I (A → B), I (A ↔ B), I (If A Then B Else C ) Wie in A-Logik. ( 1 falls für alle d ∈ D gilt I x,d (A) = 1 I ((∀x)A) = 0 sonst ( 1 falls es d ∈ D gibt mit I x,d (A) = 1 I ((∃x)A) = 0 sonst ( d y ≡x x,d ′ ′ I = (D, Ic , Iv ), Iv (y ) = Iv (y ) sonst Entsprechend für Quantifizierungen mit den anderen Funktions- und Prädikatsvariablen. 158 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Interpretationen, Belegungen (Forts.) Jede Interpretation I = (D, Ic , Iv ) induziert durch 3 (i) und ii)) eine Bewertung aller Terme und Formeln, die die bewerteten Konstanten und Variablen als freie Variablen enthalten. Umgekehrt wird jede Bewertung I , die i) und ii) genügt eindeutig durch eine solche Interpretation induziert. Beachte: 3-Parameter: D, Ic , Iv : Relationalstruktur D, Ic und Zustand Iv . Prof. Dr. Madlener: Logik 159 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Interpretationen, Belegungen (Forts.) c) Gilt I (A) = 1, so ist A wahr in der Interpretation I oder I erfüllt A. Schreibweise |=I A oder I |= A (Beachte A ist hier eine beliebige Formel, kann also freie Variablen enthalten). Prof. Dr. Madlener: Logik 160 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Folgerungen Bemerkung 3.5 ◮ Um die Bewertung einer Formel A zu bestimmen, genügt es die Bewertung der in ihr vorkommenden Konstanten und frei vorkommenden Variablen zu kennen!! I = (D, Ic , Iv ) ◮ Insbesondere: Ist A abgeschlossen, so genügt es Interpretationen der Form (D, Ic ), d. h. Definitionsbereich und Belegung der Konstanten zu betrachten. ◮ Seien I1 , I2 Interpretationen mit D1 = D2 und A eine Formel. Stimmen I1 und I2 auf allen Konstanten und freien Variablen, die in A vorkommen, überein, so gilt I1 (A) = I2 (A). Prof. Dr. Madlener: Logik 161 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Beispiel Beispiel 3.6 i) ∃x∀y (p(y ) → x = y ) Stimmt in allen Interpretationen für die I (p) höchstens ein Element enthält. Es gibt höchstens ein x, so dass p(x) wahr ” ist“. ii) Es gibt genau ein x, so dass p(x) wahr ist“. ” ∃x[p(x) ∧ ∀y [p(y ) → x = y ]] iii) ∀z∃u∃v ((z = u ∨ z = v ) ∧ u 6= v ) ∧∀x∀y ∀P[x 6= y ∨ P(x, x) ∨ ¬P(y , y )] ◮ ◮ Wahr in jeder Interpretation mit |D| ≥ 2 Falsch in jeder Interpretation mit |D| = 1 Prof. Dr. Madlener: Logik 162 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Beispiel (Fort.) iv) Eigenschaften von Relationen: Reflex., Sym., Tra. ◮ ∀x p(x, x) ◮ ∀x∀y (p(x, y ) → p(y , x)) ◮ ∀x∀y ∀z[(p(x, y ) ∧ p(y , z)) → p(x, z)] v) Relationen, Funktionen ◮ A ≡ ∀x p(x, f (x)), A1 ≡ p(x, f (x)) I = (N, Ic , Iv ), Ic (p) ≡ ≤ -Prädikat, Ic (f ) : n → n2 , I x,n (A1 )(≡ n ≤ n2 ) = 1 Prof. Dr. Madlener: Logik 163 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Definition Definition 3.7 Sei L Sprache der P-Logik 2-Stufe a) A ∈ Form heißt allgemeingültig, falls I (A) = 1 für jede Interpretation I für L. Schreibweise: |= A b) A ∈ Form heißt erfüllbar, falls es eine Interpretation I für L gibt mit I (A) = 1. I heißt auch Modell für A (nur für abg. A). Gibt es keine solche Interpretation, so heißt A unerfüllbar. c) Σ ⊆ Form heißt erfüllbar, falls es eine Interpretation I für L gibt, die alle Formeln A ∈ Σ erfüllt. Prof. Dr. Madlener: Logik 164 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Einfache Folgerungen Bemerkung 3.8 A allgemeingültig gdw ¬A unerfüllbar. Es genügt Interpretationen zu betrachten, die die Konstanten und freien Variablen der Formel A belegen. - unendlich viele, da D 6= ∅ beliebig. Bemerkung 3.9 Es gibt allgemeingültige Formeln: Tautologie-Theorem: Sei A(p1 , . . . , pn ) eine Formel der Aussagenlogik in A-Variablen p1 , . . . , pn . A′ entstehe aus A durch simultane Ersetzung von pi durch Bi ∈ Form. Dann A′ ∈ Form. Ist A Tautologie, so ist A′ allgemeingültig. (z. B. A1 ∨ ¬A1 , A1 → (A2 → A1 ) . . . ) Prof. Dr. Madlener: Logik 165 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Einfache Folgerungen Bemerkung 3.10 i) ∀x∀y ∀P(x 6= y ∨ (P(x, x) ∨ ¬P(y , y ))) ist allgemeingültig. Es genügt Interpretationen mit I = (D) D 6= ∅ zu betrachten. |D| = 1 ok, |D| > 1 Iv (x, y , P), x → d1 , y → d2 ( 1 d1 6= d2 ok, d1 = d2 Iv (P)(d1 , d2 ) = 0 ii) A ≡ ∃P∀x∃y (P(x, x) ∧ ¬P(x, y )) Weder allgemeingültig noch unerfüllbar. |D| = 1 I (A) = 0, |D| ≥ 2 I (A) = 1 iii) Allgemeingültig sind: t = t, ∀xA ↔ ¬∃x(¬A), ∃xA ↔ ¬∀x(¬A) Prof. Dr. Madlener: Logik 166 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Ordnungsrelationen Bemerkung 3.11 (Eigenschaften von Ordnungsrelationen:) p 2-stellige P-Konstante A1 ≡ ∀x∀y ∀z((p(x, y ) ∧ p(y , z)) → p(x, z)) Tra. A2 ≡ ∀x∀y (p(x, y ) ∨ p(y , x) ∨ x = y ) Trichot. A3 ≡ ∀x¬p(x, x) Antireflex. A4 ≡ ∀x∀y (p(x, y ) → ∃z(p(x, z) ∧ p(z, y ))) dicht A5 ≡ ∀x∃y p(x, y ) ohne letztes Elem. A6 ≡ ∀x∃y p(y , x) ohne erstes Elem. Keine der Formeln ist allgemeingültig! (Überzeugen Sie Sie sind erfüllbar: I1 = ({0, 1, 2}, <) < I2 = (N, <) 0 I3 = ([0, 1], <) 1 I4 = (Q, <) 2 Prof. Dr. Madlener: Logik sich) 0 1 F W F F F F 2 W W F 167 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Einige typische Formeln Beispiele Allgemeingültige Formeln ∀xp(x) → ∃xp(x) p(x) → p(x) ∀xq(x) → q(a) p(a) → ∃xp(x) ∀x∀y (p1 (x, y ) → p1 (x, y )) ∃y ∀xp1 (x, y ) → ∀x∃yp1 (x, y ) (∀xp(x) ∨ ∀xq(x)) → ∀x(p(x) ∨ q(x)) Zeige ¬A unerfüllbar Prof. Dr. Madlener: Logik Nicht-Allgemeingültige Formeln ∃xp(x) → ∀xp(x) p(x) → p(a) q(a) → ∀xq(x) ∃xp(x) → p(a) ∀x∀y (p1 (x, y ) → p1 (y , x)) ∀x∃yp1 (x, y ) → ∃y ∀xp1 (x, y ) ∀x(p(x) ∨ q(x)) → ∀xp(x) ∨ ∀xq(x) Zeige ¬A erfüllbar I = (Z, p(x) ⇔ x > 0, q(x) : x ≤ 0, p1 (x, y ) : x > y a ← 0, x ← 1) 168 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Arithmetik Beispiel 3.12 Die Sprache der Arithmetik N ◮ Konstanten: 0, S, +, ·, ◮ Stelligkeiten 0, 1, 2, 2 1. 2. 3. 4. 5. 6. 7. ◮ I = (N, 0,′ , +, ·)(n′ = n + 1) ∀x∀y (S(x) = S(y ) → x = y ) ∀x S(x) 6= 0 ∀x x + 0 = x ∀x∀y (x + S(y )) = S(x + y ) ∀x x · 0 = 0 ∀x∀y x · S(y ) = (x · y ) + x ∀P[(P(0) ∧ ∀x(P(x) → P(S(x)))) → ∀xP(x)] Sind gültig in I . Man beachte 7. ist Induktionsprinzip für Teilmengen von N. Es ist eine Formel der P-Logik 2-Stufe. Prof. Dr. Madlener: Logik 169 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Arithmetik Beispiel (Forts.) Frage nach der Axiomatisierbarkeit der Arithmetik: ◮ Ist die Allgemeingültigkeit für Formeln einer Sprache L entscheidbar? ◮ Rekursiv aufzählbar? ◮ Welche effektiven Methoden gibt es? Prof. Dr. Madlener: Logik 170 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Allgemeingültigkeit: Entscheidbare Fälle Lemma 3.13 Die Allgemeingültigkeit für Formeln der quantifizierten A-Logik ist entscheidbar. Beweis: Methode der Quantorenelimination: Finde zu Formel der Q-A-Logik eine logisch äquivalente der A-Logik. (Problemreduktion!) (Pi0 ← W , Pi0 ← F ) (∀Pi0 )B ↔ BP 0 [W ] ∧ BP 0 [F ] i i (∃Pi0 )B ↔ BP 0 [W ] ∨ BP 0 [F ] i i I( ) = I( ) ◮ Nach Transformation bleibt eine Formel der A-Logik: Entscheide, ob diese eine Tautologie ist. Prof. Dr. Madlener: Logik 171 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Allgemeingültigkeit: Entscheidbare Fälle (Forts.) Beispiel 3.14 ∀P∃Q((P ↔ ¬Q) ∨ (p → Q)) ist Allgemeingültig ∃Q((W ↔ ¬Q) ∨ (p → Q)) ∧ ∃Q((F ↔ ¬Q) ∨ (p → Q)) [((W ↔ ¬W ) ∨ (p → W )) ∨ ((W ↔ ¬F ) ∨ (p → F ))]∧ [(F ↔ ¬W ) ∨ (p → W ) ∨ ((F ↔ ¬F )∨ (p → F ))] W ∧W W Prof. Dr. Madlener: Logik 172 Grundlagen der Prädikatenlogik Semantik der P-Logik 2-Stufe Allgemeingültigkeit: Entscheidbare Fälle (Forts.) Ausblick Andere: ◮ Gleicheitslogik ◮ Monadische P-Logik 1-Stufe mit = ◮ Monadische P-Logik 2-Stufe mit = ◮ Pressburgerarithmetik: Gültige PL1-Formeln in (N, 0,′ , +, <) ◮ Syntaktisch eingeschränkte Formelnklassen ∀( ), ∀∃, ∃∀, . . . ? Prof. Dr. Madlener: Logik 173 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Transformationen von Termen und Formeln Einschränkung auf PL1 Definition 3.15 (Substitution) A ∈ Form, t, t̂ ∈ Term, x Individuen-Variable. ◮ Substitution von x durch t in A bzw. (in t̂): • Ax [t] (t̂x [t]) ist die Formel (der Term), die aus A (bzw. t̂) entsteht, wenn man jedes freie Vorkommen von x in A (bzw. t̂) durch t ersetzt. ◮ Analog simultane Substitutionen • Ax1 ,...,xn [t1 , . . . , tn ] bzw. tx1 ,...,xn [t1′ , . . . , tn′ ] Prof. Dr. Madlener: Logik 174 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Transformationen von Termen und Formeln (Forts.) ◮ Allgemeiner ist eine Substitution durch σ : {xi : i ∈ N} → Term gegeben. σ(A), σ(t) können entsprechend durch Induktion über den Aufbau der Formeln bzw. Terme definiert werden. ◮ Die Substitution heißt erlaubt, falls kein Vorkommen einer Variablen in t bzw. ti nach der Substitution in A gebunden vorkommt. • Dies ist der Fall z. B. wenn die Variablen von t nicht in A vorkommen. (Kann durch Umbenennung der gebundenen Variablen erreicht werden). Prof. Dr. Madlener: Logik 175 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Beispiel 3.16 (Substitutionen) A ≡ ∃y x = 2 · y ◮ ◮ Ax [t] ≡ ∃y Ay [t] ≡ ∃y t ≡y +1 y +1=2·y x ≡2·y keine erlaubte Substitution da keine freie Vorkommen ◮ ty [t] ≡ (y + 1) + 1 ◮ Wie Ändert sich die Bedeutung einer Formel bei Substitutionen? • I = (N, +, ·) x ← 3 y ← 2 t ← 3 I (x) = I (t) ◮ Ersetzt man x durch t, sollte sich die Bedeutung einer Formel nicht verändern. • I (A) = I (∃y x = 2 · y ) = 0 • I (Ax [t]) = I (∃y y + 1 = 2y ) = 1 (keine erlaubte Substitution) Betrachte die Formel: • B ≡ ∀x(P(x, y ) → Q(x)) t ≡ f (y , z) ֒→ By [t] ≡ ∀x(P(x, f (y , z)) → Q(x)) erlaubte Substitution. Prof. Dr. Madlener: Logik 176 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Lemma 3.17 (Substitutionslemma) Sei A Term oder Formel, x Individuenvariable, t ∈ Term und Ax [t] eine erlaubte Substitution. Dann gilt für jede Interpretation I = (D, Ic , Iv ) • I (Ax [t]) = I x,I (t) (A) ◮ Insbesondere: Sind I , I ′ Interpretationen, die sich höchstens für x unterscheiden und gilt I ′ (x) = I (t), so gilt I ′ (A) = I (Ax [t]). • Beweis: Induktion über Aufbau von Formeln bzw. Terme. Prof. Dr. Madlener: Logik 177 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Folgerungen aus Substitutionslemma Folgerung 3.18 Sei Ax [t] erlaubt. a) Ist A allgemeingültig, so auch Ax [t]. b) ∀xA → Ax [t] ist allgemeingültig. c) Spezialfälle: allgemeingültig sind: ∀xA → A, A → ∃xA d) Falls Substitution nicht erlaubt, so gilt das Lemma nicht: A ≡ ∃y (S(x) = y ), Ax [y ] ≡ ∃y (S(y ) = y ) I = (N, · · · ) I (A) = 1 I (Ax [y ]) = 0 ∀x∃y (S(x) = y ) allgemeingültig. ∀x∃y (S(x) = y ) → ∃y (S(y ) = y ) nicht allgemeingültig. Prof. Dr. Madlener: Logik 178 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Universeller und Existentieller Abschluss ◮ Beachte: Sei A(x1 , . . . , xn ) Formel in der x1 , . . . , xn frei vorkommen, dann gilt • • • ∀x1 · · · ∀xn A allgemeingültig (universeller Abschluss) A erfüllbar gdw ∃x1 · · · ∃xn A erfüllbar (existentieller Abschluss) Sind A, A → B allgemeingültig, so ist auch B allgemeingültig. A allgemeingültig gdw Prof. Dr. Madlener: Logik 179 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Semantischer Folgerungsbefriff Definition 3.19 Sei L eine (Teil-)Sprache der PL2 Γ ⊆ Form, A, B ∈ Form a) A ist logische Folgerung aus Γ : Γ |= A. Wenn jede Interpretation, die Γ erfüllt auch A erfüllt (I (Γ) = 1 I (A) = 1). ◮ Sei Folg(Γ) = {A ∈ Form : Γ |= A}. b) A und B sind logisch äquivalent A |==| B, falls A |= B und B |= A. (Lässt sich auf Mengen verallgemeinern!) Prof. Dr. Madlener: Logik 180 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Bemerkung 3.20 1. Γ |= A gdw {Γ, ¬A} nicht erfüllbar. 2. ∅ |= A gdw |= A (d.h. A ist allgemeingültig). 3. Γ nicht erfüllbar gdw Γ |= A für alle A ∈ Form. 4. Γ ⊂ Σ, Γ |= A, so Σ |= A. (Monotonieeigenschaft) 5. Γ |==| Σ, d. h. Γ |= B für B ∈ Σ und Σ |= C für C ∈ Γ. Insbesondere Γ erfüllbar gdw Σ erfüllbar und Γ |= A gdw Σ |= A. Also Folg(Γ) = Folg(Σ). 6. A |==| B gdw |= A ↔ B gdw I (A) = I (B) für jede Interpretation I . A |==| B dann Γ |= A gdw Γ |= B. Prof. Dr. Madlener: Logik 181 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Beispiel 3.21 i) ∀xQ(x) |= Q(x) (Spezialfall von ∀xA → Ax [t] allgemeingültig erl. Subs.) ii) A(y ) 6|= ∀yA(y ) (y kommt frei in A vor) A(y ) ≡ p(y ), I = ({0, 1}, I (p)(x) ≡ (x = 0), y ← 0) I (A(y )) = 1, jedoch I (∀yA(y )) = 0 I (p)(1) = 0 iii) |= ∃x(p(x) → ∀xp(x)) Sei I = (D, I (p)) eine Interpretation, d. h. I (p) ⊆ D I (∃x(p(x) → ∀xp(x)) = 1 gdw es gibt d ∈ D, so dass I ′ = (D, I (p), x ← d), I ′ (p(x) → ∀xp(x)) = 1 gdw d 6∈ I (p) oder I ′ (∀xp(x)) = 1 für ein d ∈ D gdw es gibt ein d ∈ D mit d 6∈ I (p) oder I (p) = D Prof. Dr. Madlener: Logik 182 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln iv) Beispiele für äquivalente Formeln • ¬¬A |==| A • W ∨ A |==| A ∨ W |==| W F ∧ A |==| A ∧ F |==| F A ∨ A |==| A A ∧ A |==| A • B ◦ QvA |==| Qv (B ◦ A) Q Quantor, v nicht frei in B • Z.B. B ∨ QvA |==| Qv (B ∨ A) • ∀vA |==| ¬∃v (¬A), ∃vA |==| ¬∀v (¬A) • ∀xA(x) → B |==| ∃y (A(y ) → B) falls y weder in A(x) noch in B frei vorkommt • ∀x(A → B) |= ∀xA → ∀xB • ∀vA |==| ∀yAv [y ] ∃vA |==| ∃yAv [y ] Falls Sub. erlaubt und y nicht frei in A • Beachte: ∀vB |==| B ∃vB |==| B Falls v nicht frei in B vorkommt. Prof. Dr. Madlener: Logik 183 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Satz 3.22 (Wichtige Sätze) Sei Γ ⊆ Form, A, B ∈ Form. 1. Deduktionstheorem 2. Modus-Ponens-Regel 3. Kontrapositionsregel • Γ, A |= B gdw Γ |= A → B • Γ |= A, Γ |= A → B so Γ |= B • Γ, A |= ¬B gdw Γ, B |= ¬A 4. Generalisierungs-Theorem Kommt v ∈ Var in keiner Formel von Γ frei vor, so • Γ |= A gdw Γ |= ∀v A Insbesondere: A |= ∀v A bzw. |= A → ∀v A, falls v nicht frei in A vorkommt. 5. Ersetzungstheorem Sei A′ ∈ Form, A Teilformel von A′ . Entsteht B ′ aus A′ indem man einige Vorkommen der Teilformel A durch B ersetzt und gilt A |==| B, so auch A′ |==| B ′ . Prof. Dr. Madlener: Logik 184 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Beispiel 3.23 (Anwendung der Sätze) a) |= ∃x∀yA → ∀y ∃xA gdw ∃x∀yA |= ∀y ∃xA Deduktionstheorem | {z } gdw ∃x∀yA |= ∃xA Generalisierungstheorem gdw ¬∀x¬∀yA |= ¬∀x¬A Ersetzungstheorem gdw ∀x¬A |= ∀x¬∀yA Kontrapositionsregel gdw ∀x¬A |= ¬∀yA Generalisierungstheorem gdw {∀x¬A, ∀yA} nicht erfüllbar b) Variante des Ersetzungstheorems A′ entstehe aus A durch Substitution (erlaubte) einiger Vorkommen von x in A durch y . Dann gilt |= ∀x∀y (x = y → (A ↔ A′ )) (z. B. A ≡ f (x, y ) = g (x) A′ ≡ f (y , y ) = g (x)) Prof. Dr. Madlener: Logik 185 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Normalformen Definition 3.24 (Normalformen (Präfix Normalformen)) Eine Formel ist in PKNF (Pränex Konjunktiver NF), falls sie die Gestalt (∆v ) · · · (∆vn ) {[A11 ∨ · · · ∨ A1l1 ] ∧ · · · ∧ [Am1 ∨ · · · ∨ Amlm ]} } | | 1 {z {z } Präfix Matrix ∆ ∈ {∃, ∀}, vj Variablen, die in mindestens einem Akl vorkommen und paarweise verschieden sind. Akl Literale, d. h. atomare oder negierte atomare Formeln. Beispiel 3.25 ∀x∃Q∀y {[¬p ∨ x 6= a ∨ x = b] ∧ [Q(y ) ∨ y = b]} Prof. Dr. Madlener: Logik 186 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Normalformen Satz 3.26 (Verfahren PKNF) Jede Formel A ∈ Form lässt sich effektiv in eine logisch äquivalente Formel in PKNF (PDNF) transformieren. (Beachte die Länge der Formel kann exponentiell in der Länge der ursprünglichen Formel wachsen. Dies kann man vermeiden, wenn man nur erfüllungsäquivalente Formeln benötigt!). Prof. Dr. Madlener: Logik 187 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Verfahren PKNF, PDNF Schritte: 1. Eliminiere überflüssige Quantoren. 2. Umbenennung gebundener Variablen. (Vermeide freie und gebundene Vorkommen einer Variablen) 3. Eliminiere logische Verknüpfungen und Operatoren. →, ↔, If . . . , if . . . 4. NNF: Negation vor Atome. 5. Quantoren nach außen. 6. Matrix in KNF (DNF). Prof. Dr. Madlener: Logik 188 Grundlagen der Prädikatenlogik Transformationen von Termen und Formeln Verfahren PKNF, PDNF - Beispiele Beispiel 3.27 ∀x[(∀yp(x) ∨ ∀zq(z, y )) → ¬∀yr (x, y )] 1. ∀x[(p(x) ∨ ∀zq(z, y )) → ¬∀yr (x, y )] 2. ∀x[(p(x) ∨ ∀zq(z, y )) → ¬∀y ′ r (x, y ′ )] 3. ∀x[¬(p(x) ∨ ∀zq(z, y )) ∨ ¬∀y ′ r (x, y ′ )] 4. ∀x[(¬p(x) ∧ ∃z¬q(z, y )) ∨ ∃y ′ ¬r (x, y ′ )] 5. ∀x∃z∃y ′[(¬p(x) ∧ ¬q(z, y )) ∨ ¬r (x, y ′ )] 6. ∀x∃z∃y ′[(¬p(x) ∨ ¬r (x, y ′ )) ∧ (¬q(z, y ) ∨ ¬r (x, y ′ ))] (Ist PKNF) 7. PDNF ∀x∃z∃y ′ [(¬p(x) ∧ ¬q(z, y )) ∨ ¬r (x, y ′ )] Prof. Dr. Madlener: Logik 189 Entscheidbarkeit in der Prädikatenlogik Unentscheidbarkeit der Allgemeingültigkeit Unentscheidbarkeit der Allgemeingültigkeit Satz 4.1 Es gibt eine Menge von Formeln in den Konstanten a (0-stellig), f0 , f1 (1-stellig) und der Prädikatskonstanten p (2-stellig), für die die Allgemeingültigkeit unentscheidbar ist. •(In den Formeln kommt keine =“ vor). ” Beweis: Reduziere effektiv unentscheidbares Problem (z.B. PCP) auf die Entscheidung der Allgemeingültigkeit bestimmter Formeln. Prof. Dr. Madlener: Logik 190 Entscheidbarkeit in der Prädikatenlogik Unentscheidbarkeit der Allgemeingültigkeit Unentscheidbarkeit der Allgemeingültigkeit (Forts.) • PCP: Σ = {0, 1} S = {(α1 , β1 ), . . . , (αn , βn )} n ≥ 1 mit αi , βi ∈ Σ∗ S hat eine Lösung gdw es gibt j1 , . . . , jl ∈ [1 . . . n], l > 0 mit αj1 αj2 · · · αjl ≡ βj1 βj2 · · · βjl ◮ z. B. S = ((0, 000), (0100, 01), (001, 1)) hat die Lösung j1 = 1, j2 = 3, 0001 ≡ 0001. ◮ Problem PCP: Eingabe S. Entscheide, ob S Lösung hat. Ist nicht rekursiv entscheidbar (aber rekursiv aufzählbar). ֒→ Reduktion: Zu S berechne eine Formel AS mit S hat Lösung gdw AS ist allgemeingültig. Prof. Dr. Madlener: Logik 191 Entscheidbarkeit in der Prädikatenlogik Unentscheidbarkeit der Allgemeingültigkeit Unentscheidbarkeit der Allgemeingültigkeit (Forts.) Sprache PL1 mit: ◮ a F-Konstante, f0 , f1 1-st. F-Konstanten, p 2-stellige P-Konstante. ◮ σi ∈ {0, 1} (1 ≤ i ≤ m) , so fσm (· · · (fσ2 (fσ1 (x))) · · · ) Term, als Kodierung von Wörter: fσ1 σ2 . . . σm (x). Beachte die Reihenfolge!, d.h. fw (x) ist Term | {z } ∈Σ∗ für w ∈ Σ∗ . ◮ S = {(α1 , β1 ), (α2 , β2 ), · · · , (αn , βn )} n ≥ 1 Σ = {0, 1} n ^ ֒→ AS ≡ [ p(fαj (a), fβj (a))∧ j=1 ∀x∀y [p(x, y ) → Prof. Dr. Madlener: Logik → ∃zp(z, z) n ^ p(fαj (x), fβj (y ))]] j=1 192 Entscheidbarkeit in der Prädikatenlogik Unentscheidbarkeit der Allgemeingültigkeit Beispielreduktion Beispiel 4.2 ◮ Die zugeordnete Formel AS zu S = ((0, 000), (0100, 01), (001, 1)) ist: f000 (a)) ∧ p(f0100 (a), f01 (a)) ∧ p(f001 (a), f1 (a)) ∧ [p(f0 (a),^ ∀x∀y [ p(x, y ) → p(fαj (x), fβj (y ))]] → ∃zp(z, z) 1≤j≤3 ◮ Behauptung: S hat Lösung gdw AS allgemeingültig. Prof. Dr. Madlener: Logik 193 Entscheidbarkeit in der Prädikatenlogik Unentscheidbarkeit der Allgemeingültigkeit Beweis der Behauptung [ n ^ j=1 p(fαj (a), fβj (a)) ∧ ∀x∀y [p(x, y ) → n ^ j=1 p(fαj (x), fβj (y ))]] → ∃zp(z, z) x“: Angenommen AS allgemeingültig, I Interpretation mit ” D = {0, 1}∗ , a ← ε, f0 : x → x0, f1 : x → x1 p(x, y ) gdw x ≡ αj1 · · · αjm , y ≡ βj1 . . . βjm für j1 , . . . , jm (ji ∈ [1 . . . n] m > 0). y“: Angenommen PCP S habe Lösung j1 . . . jm , d. h. ” αj1 αj2 · · · αjm ≡ βj1 βj2 . . . βjm p(fαj1 αj2 ···αjm (a), fβj1 βj2 ...βjm (a)) wahr, also ist AS allgemeingültig. ! Es gibt weitere Unentscheidbarkeitsresultate die wir später noch behandeln werden. Es sei jedoch erwähnt, dass die Grenzen zwischen den entscheidbaren und unentscheidbaren Fälle der Allgemeingültigkeit sehr genau bekannt sind. (Siehe etwa Börger). Prof. Dr. Madlener: Logik 194 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Hauptsätze der Prädikatenlogik erster Stufe Sei L Sprache der PL1 Satz 4.3 a) Die Menge der allgemeingültigen Formeln {A ∈ Form(L) : |= A} ist rekursiv aufzählbar (i. Allg. nicht rekursiv entscheidbar). Es gibt ein rekursives deduktives System F für L mit ⊢ A gdw |= A (A ∈ Form(L)) F Prof. Dr. Madlener: Logik 195 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Hauptsätze der Prädikatenlogik erster Stufe (Forts.) b) Kompaktheitssatz für PL1: Sei Σ ⊆ Form(L). Σ erfüllbar gdw jede endliche Teilmenge von Σ ist erfüllbar. c) Insbesondere: Σ ⊆ Form(L), A ∈ Form(L): Σ |= A gdw es gibt Σ0 ⊆ Σ, Σ0 endlich : Σ0 |= A Prof. Dr. Madlener: Logik 196 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Hauptsätze der Prädikatenlogik erster Stufe (Forts.) d) Satz von Löwenheim-Skolem: Σ ⊆ Form(L) erfüllbar gdw es gibt eine Interpretation I = (D, Ic , Iv ), wobei D abzählbar oder endlich ist, die Σ erfüllt. ( D kann als eine Termmenge über die konstanten Symbole gewählt werden). Beachte jedoch: nicht gültig für PL2 Prof. Dr. Madlener: Logik 197 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Negative Ergebnisse für die Prädikatenlogik zweiter Stufe Satz 4.4 (von Gödel) Für Sprachen von PL2- und PL2 Formeln: a) Die Menge der allgemeingültigen Formeln 2-Stufe für PL2-Sprachen ist nicht rekursiv aufzählbar. b) Es gibt kein rekursives deduktives System“, dessen Theoreme ” die Menge der allgemeingültigen Formeln zweiter Stufe sind. c) Es gibt erfüllbare Mengen von Formeln 2-Stufe, die keine abzählbaren Modelle haben. Prof. Dr. Madlener: Logik 198 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Deduktive Systeme für PL1 Definition 4.5 (Deduktive Systeme für PL1) Sei L Sprache 1-Stufe mit Formeln in ¬, →, ∀, =. F = (Ax, R) bestimmt durch Axiomenmenge Ax (Axiomenschema) und Menge R von Regeln (Regelschema). ◮ Ax enthält alle Generalisierungen von folgenden durch Schemata beschriebenen Formelmengen: Ax1: A → (B → A) Ax2: (A → (B → C )) → ((A → B) → (A → C )) Ax3: (¬B → ¬A) → (A → B) falls Ax [t] erlaubt Ax4: ∀x A → Ax [t], Prof. Dr. Madlener: Logik 199 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Deduktive Systeme für PL1 (Forts.) ∀x (A → B) → (∀x A → ∀x B) ∀x(A → B) → (A → ∀xB) x nicht frei in A) A → ∀x A, falls x nicht frei in A vorkommt x =x x = y → (A → A′ ), wobei A′ aus A durch Ersetzen einiger freier Vorkommen von x durch y (erlaubt) R enthält alle Regeln, die vom Regelschema Modus Ponens A, A → B Modus Ponens beschrieben werden. MP B Ax5: (Ax5’: Ax6: Ax7: Ax8: ◮ Prof. Dr. Madlener: Logik 200 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Deduktive Systeme für PL1 (Forts.) • Alternatives Deduktionssystem F ′ = (Ax, R′ ) R ′ enthält MP-Regel und Generalisierungsregel. A Generalisierung (ohne Einschränkungen) GR ∀xA ! Beachte: Ax enthält nur allgemeingültige Formeln. MP und GR-Regel führen nicht aus der Menge der allgemeingültigen Formeln hinaus. ◮ Prof. Dr. Madlener: Logik 201 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Ziel F • Σ⊢A gdw Σ |= A • Σ⊢A , so Σ ⊢′ A • ⊢A gdw |= A • gdw ⊢′ A F F F Σ ⊢′ A F Korrektheit F 6 Σ⊢A F Korrektheit Umkehrung i. Allg. nicht (gilt nur für Σ Abg. Formeln). z. B. p(x) ⊢′ ∀xp(x) aber p(x) 6|= ∀xp(x) F ◮ Bemerkung: Alle Tautologien (taut. Theorem) sind herleitbar in F, d. h. Theoreme von F. Prof. Dr. Madlener: Logik 202 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Beispiele Beispiel 4.6 Verwende ∃y A als Abkürzung für ¬∀y ¬A 1. ⊢ ∀x (p(x) → ∃y p(y )) F B1 ≡ B2 ≡ B3 ≡ B4 ≡ B5 ≡ Prof. Dr. Madlener: Logik ∀x [(∀y ¬p(y ) → ¬p(x)) → (p(x) → ¬∀y ¬p(y ))] ∀x ((∀y ¬p(y ) → ¬p(x)) → (p(x) → ¬∀y ¬p(y ))) → [∀x (∀y ¬p(y ) → ¬p(x)) → ∀x (p(x) → ¬∀y ¬p(y ))] ∀x (∀y ¬p(y ) → ¬p(x)) → ∀x (p(x) → ¬∀y ¬p(y )) ∀x (∀y ¬p(y ) → ¬p(x)) ∀x (p(x) → ∃y p(y )) (Ax3,Gen) (Ax5) (MP) (Ax4,Gen) (MP) 203 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Beispiele (Forts.) 2. ⊢ ∀x A → ∃x A F Beweis: ⊢ ∀x ¬A → ¬A ⊢ (∀x ¬A → ¬A) → (A → ¬∀x ¬A) ⊢ A → ¬∀x ¬A ⊢ ∀x A → A ⊢ (∀x A → A) → ((A → ¬∀x ¬A) → (∀x A → ¬∀x ¬A)) ⊢ (A → ¬∀x ¬A) → (∀x A → ¬∀x ¬A) ⊢ ∀x A → ∃x A Prof. Dr. Madlener: Logik (Ax4) (Ax3) (MP) (Ax4) (Taut) (MP) (MP) 204 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Beispiele (Forts.) 3. ⊢ t = t ⊢ (x = y ) → (y = x) ⊢ ((x = y ) → ((y = z) → (x = z)) Folgen aus Ax, ∀x(x = x), (x = y ) → A(x) ↔ A(y )) für A (erlaubt). ⊢ ((t1 = t1′ ) ∧ · · · ∧ (tn = tn′ )) → (A(t1 , . . . , tn ) ↔ A(t1′ , . . . , tn′ )), wobei A(x1 , . . . , xn ) eine Formel mit mindestens n-freien Variablen und Substitutionen erlaubt (xi ← ti bzw. xi ← ti′ ). Spezialfall: ⊢ ((t1 = t1′ ) ∧ · · · ∧ (tn = tn′ )) → (f (t1 , . . . , tn ) = f (t1′ , . . . , tn′ )) Prof. Dr. Madlener: Logik 205 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Beweisidee • ∀x[(x = y ) → (A(x) ↔ A(y ))] • ∀x[(x = y ) → (A(x) ↔ A(y ))] → ((t = y ) → (A(t) ↔ A(y )) • (t = y ) → (A(t) ↔ A(y )) • ∀y (t = y ) → (A(t) ↔ A(y )) • (t = t ′ ) → (A(t) ↔ A(t ′ )) Prof. Dr. Madlener: Logik 206 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Deduktionstheorem - Generalisierungstheorem Satz 4.7 (Hauptsätze für F und F ′ ) Seien Γ ⊆ Form, A, B ∈ Form. a) Deduktionstheorem 1) Γ ⊢ A → B gdw Γ, A ⊢ B F F 2) Γ ⊢′ A → B gdw Γ, A ⊢′ B, falls die Generalisierung nicht auf F F eine in A frei vorkommende Variable angewandt wurde. 3) Γ, A ⊢′ B gdw Γ ⊢′ à → B, F F wobei à ein universeller Abschluss von A ist. b) Generalisierungstheorem: 1) Falls Γ ⊢ A und x nicht frei in Γ vorkommt, so Γ ⊢ ∀x A F F 2) Γ ⊢′ A gdw Γ ⊢′ ∀x A F F c) Kontrapositionstheorem: Für F und F ′ ◮ Γ, A ⊢ ¬B gdw Γ, B ⊢ ¬A Prof. Dr. Madlener: Logik 207 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Deduktionstheorem - Generalisierungstheorem (Forts.) ֒→ Es gelten somit für die hier vorgestellten prädikatenlogischen Systeme die für das deduktive System der Aussagenlogik entsprechenden Sätze. Vorsicht muss man beim System F ′ mit dem Deduktionstheorem haben, da wir dafür eine allgemeinere Generalisierungsregel zugelassen haben die semantisch nicht immer korrekt ist. ◮ Hinzu kommt das Generalisierungstheorem in den zwei Varianten. Prof. Dr. Madlener: Logik 208 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Beweis Deduktionstheorem 1. y“ Aus Γ ⊢ A → B folgt auch Γ, A ⊢ A → B. Da auch ” Γ, A ⊢ A gilt, folgt Γ, A ⊢ B, wegen MP (F und F ′ ). x“ Ang. Γ, A ⊢ B. Behauptung: Γ ⊢ A → B ” F F • Induktion über Beweislänge: Axiom oder Hypothese Γ⊢B (Ax) Γ ⊢ B → (A → B) (Ax) Γ⊢A→B (MP) ◮ Schritt ist MP-Schritt Schritt j : Γ, A ⊢ C IV:Γ ⊢ A → C .. .. . . Schritt k : Γ, A ⊢ C → B .. .. . . Schritt n + 1 : Γ, A ⊢ B Prof. Dr. Madlener: Logik IV : Γ ⊢ A → (C → B) Ax2+MP Γ⊢A→B 209 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Beweis Deduktionstheorem in F ′ 2. In F ′ x“ Generalisierungsregel ” Γ, A ⊢ C .. . Γ, A ⊢ ∀xC x nicht frei in A Dann IV: Γ⊢A→C Γ ⊢ ∀x(A → C ) (Gen) Γ ⊢ ∀x(A → C ) → (A → ∀xC ) (Ax5) x nicht frei in A Γ ⊢ A → ∀xC Definition 4.8 Sei Γ ⊆ Form, Γ heißt konsistent, falls es kein A ∈ Form gibt, mit Γ ⊢ A und Γ ⊢ ¬A. F Prof. Dr. Madlener: Logik F 210 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Konsistenz im deduktiven System Bemerkung 4.9 ◮ Γ ist konsistent gdw jede endliche Teilmenge von Γ ist konsistent. ◮ Ist Γ inkonsistent, dann gilt Γ ⊢ A für jede Formel A. ◮ Γ ∪ {¬A} inkonsistent gdw Γ ⊢ A. F ◮ ◮ Γ ∪ {A} inkonsistent gdw Γ ⊢ ¬A. Ist Γ inkonsistent, so ist Γ nicht erfüllbar: Sei nämlich A mit Γ ⊢ A und Γ ⊢ ¬A. I Interpretation, die Γ erfüllt (wegen Γ |= A und Γ |= ¬A) folgt aber I erfüllt {A, ¬A} ◮ Die Menge der allgemeingültigen Formeln ist konsistent. ◮ Die Menge der Theoreme von F (F ′ ) ist konsistent. Prof. Dr. Madlener: Logik 211 Entscheidbarkeit in der Prädikatenlogik Hauptsätze der Prädikatenlogik erster Stufe Vollständigkeit der Axiomatisierung Satz 4.10 (Gödel) Vollständigkeit der Axiomatisierung Seien A ∈ Form, Σ ⊆ Form, dann gilt: a) |= A gdw ⊢ A gdw F ⊢ A. F′ b) Σ konsistent gdw Σ erfüllbar. c) Σ ⊢ A gdw Σ |= A. F Beweis: Siehe Yashuhara oder Enderton. Prof. Dr. Madlener: Logik 212 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Theorien erster Stufe Definition 4.11 Sei L eine Sprache erster Stufe (fixiert durch die Funktions- und -Prädikatskonstanten). Γ ⊆ Formabg (L) heißt logische Theorie erster Stufe, falls Γ abgeschlossen ist gegenüber logischer Folgerung, d. h. A ∈ Formabg Γ |= A, so A ∈ Γ. ◮ Beachte: Alternative Definitionen in Literatur: • Γ Theorie, falls Γ abgeschlossen gegen MP und Generalisierung. • Γ Menge Formeln, abgeschlossen gegen logische Folgerung. ◮ T als generische Bezeichnung für Theorien. Prof. Dr. Madlener: Logik 213 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Theorien erster Stufe (Forts.) Bemerkung 4.12 Sei L Sprache 1-Stufe. a) TL = {A | A ∈ Formabg (L), allgemeingültig} ist Theorie. Sie ist in jeder Theorie über L enthalten. b) TΣ = {A | A ∈ Formabg (L), Σ |= A} für Σ ⊆ Formabg (L) ist eine Theorie, die von Σ erzeugte Theorie oder durch die Axiome Σ definierte Theorie. c) Ist T eine Theorie, A ∈ Formabg , so T ⊢ A gdw A ∈ T . F T inkonsistent gdw es gibt A mit T ⊢ A, ¬A, d. h. T ⊢ A für F alle A ∈ Formabg und T = Formabg . Prof. Dr. Madlener: Logik F 214 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Theorien erster Stufe (Forts.) d) Sei R Relationalsystem (Struktur) für L I = (D, Ic ). Dann ist TR = {A | A ∈ Formabg (L), R |= A} eine Theorie: Die Theorie von R Schreibe auch: Th(R). ◮ (TR |= A zeige R |= A klar, da R |= TR ) ֒→ Insbesondere: •TR ist konsistent für jede Struktur R. e) T ⊆ Formabg (L) ist Theorie gdw {A | A ∈ Formabg (L), |= A} ⊆ T und T ist abgeschlossen gegenüber MP. Prof. Dr. Madlener: Logik 215 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Theorien erster Stufe (Forts.) Definition 4.13 Sei T eine Theorie erster Stufe über L a) T heißt vollständig, falls für jede abgeschlossene Formel A gilt: A ∈ T oder ¬A ∈ T . b) T heißt (endlich) rekursiv axiomatisierbar, falls es eine (endliche) rekursive Teilmenge Σ ⊆ Formabg gibt mit TΣ = {A ∈ Formabg (L) | Σ |= A} = T . c) T heißt entscheidbar, falls T eine rekursiv entscheidbare Teilmenge von Form ist. Fragen: Finde (endliche) Axiomatisierungen wichtiger Theorien. Insbesondere wann gilt TR = TΣ für Σ rekursiv. Prof. Dr. Madlener: Logik 216 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Folgerungen Bemerkung 4.14 a) TR ist vollständig für jede Struktur R. TR ist somit konsistent und vollständig. b) T erfüllbar (T hat ein Modell) gdw T konsistent. c) T ist rekursiv axiomatisierbar, so T rekursiv aufzählbar. d) Ist T vollständig, konsistent und rekursiv axiomatisierbar. Dann ist T rekursiv entscheidbar. •A abgeschlossen, so A oder ¬A in T . Da T rekursiv aufzählbar, findet man A oder ¬A in dieser Aufzählung effektiv. Prof. Dr. Madlener: Logik 217 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Folgerungen (Forts.) e) Ist T vollständig und konsistent, dann gilt T = TR für eine Struktur R. •R |= T existiert, da T erfüllbar, d. h. T ⊆ TR . Angenommen T ( TR . Dann gibt es abgeschlossene Formel A ∈ TR mit A 6∈ T . Da T vollständig ist, muss ¬A ∈ T gelten, d. h. A, ¬A ∈ ΓR Frage: Wann ist TΣ vollständig für rekursive Σ? Entscheidbarkeit! Prof. Dr. Madlener: Logik 218 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele Beispiel 4.15 Th(N) Theorie der natürlichen Zahlen. R = hN; 0, S, +, ∗, =i natürliche Interpretation der Sprache der Arithmetik Konst. 0, S, +, ∗ Funktionskonstante n ∈ N, ñ ≡ S(S · · · (S(0) · · · ) Schreibe auch: (S n 0). Die Sätze von Gödel: a) Th(N) ist nicht rekursiv entscheidbar. b) Th(N) ist nicht rekursiv axiomatisierbar. Oder c) jede rekursive Axiomenmenge ist nicht vollständig für Th(N). Prof. Dr. Madlener: Logik 219 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele (Forts.) ֒→ Insbesondere: Peano Axiome P1 P2 P3 P4 P5 P6 P7 ∀x∀y (S(x) = S(y ) → x = y ) ∀x S(x) 6= 0 ∀x x + 0 = x ∀x∀y x + S(y ) = S(x + y ) ∀x x ∗ 0 = 0 ∀x∀y x ∗ S(y ) = x ∗ y + x Ax [0] → (∀x (A → Ax [S(x)]) → ∀x A), (A Formel mit x als einzige frei vorkommende Variable in A) Sind keine Axiomatisierung von Th(N). Prof. Dr. Madlener: Logik 220 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele (Forts.) Beispiel 4.16 (Elementare Arithmetik (Arith. 1-Stufe)) Basis der Sprache: ({0, 1, +, ∗}, {<}) Interpretation: IA = (N, Ic ) natürliche Interpretation Ic ֒→ Th(IA ) vollständig nicht rekursiv axiomatisierbar. Prof. Dr. Madlener: Logik 221 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele (Forts.) Beispiel 4.17 Pressburger Arithmetik: Sprache ({0, 1, +}, {<}) Interpretation IPA = (N, Ic ), Ic wie gehabt. ◮ Th(IPA ) ist vollständig, entscheidbar und endlich axiomatisierbar. ∀x¬(x < 0) Ax < ∀x∀y x < Sy ↔ x < y ∨ x = y ∀x∀y x < y ∨ x = y ∨ y < x Prof. Dr. Madlener: Logik 222 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele (Forts.) Beispiel 4.18 R reelle Zahlen, Sprache ({0, 1, +, ∗, · · · }, {<}) Sprache der Körpertheorie. Th(R) ist rekursiv entscheidbar (Quantorenelimination). Th(R) ist rekursiv axiomatisierbar. Prof. Dr. Madlener: Logik 223 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele (Forts.) Axiomatisierung: ◮ Axiome für Körper ◮ Nullstellen für Polynome mit ungeradem Grad + Ordnungsaxiome: ∀x ¬(x < x) ∀x∀y ∀z((x < y ∧ y < z) → x < z) ∀x∀y x < y ∨ y = x ∨ y < x ∀x∀y ∀z x < y → x + z < y + z ∀x∀y 0 < x ∧ 0 < y → 0 < x ∗ y ∀x 0 < x → ∃y (y ∗ y = x) Prof. Dr. Madlener: Logik 224 Entscheidbarkeit in der Prädikatenlogik Theorien erster Stufe Beispiele (Forts.) Reell abgeschlossene Körper R ist Beispiel“ dafür, Tarski ” ֒→ Wichtige Folgerungen: Entscheidbarkeit der Ebenen euklidische Geometrie! Beispiel 4.19 Theorie der Ordnung mit Gleichheit (<, =) ist weiteres Beispiel einer entscheidbaren Theorie. Prof. Dr. Madlener: Logik 225 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Aufzählungsverfahren für PL-1 ◮ Σ rekursiv, Σ ⊆ Form, TΣ = {A | Σ |= A} r.a. ◮ R Struktur, TR = {A | R |= A} i. Allg. nicht r.a. (vollst.) 1. Deduktive Beweismethoden (TΣ ) 2. Induktive Beweismethoden (TR ) ! Hier nur 1. Grundlage: Σ |= A gdw {Σ, ¬A} nicht erfüllbar. Prof. Dr. Madlener: Logik 226 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Tableaux-Methode für Pl-1 Definition 5.1 Sprache: ¬, ∧, ∨, →, ∀, ∃ (zunächst ohne =) Formeln der Sprache in Klassen einteilen: ◮ Atomare und negierte atomare Formeln. ◮ α-Formeln (wie in A-Logik) A ∧ B, ¬(A ∨ B), ¬(A → B), ¬¬A, α1 , α2 wie gehabt. ◮ β-Formeln (wie A-Logik) ◮ γ-Formeln ◮ δ-Formeln Prof. Dr. Madlener: Logik ¬(A ∧ B), (A ∨ B), (A → B) ∀xA, ¬∃xA (A ∈ Form) ∃xA, ¬∀xA (A ∈ Form) 227 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Tableaux-Methode für Pl-1 (Forts.) ◮ Regeln zur Tableau-Konstruktion: α, β Regeln zur Verarbeitung α, β Formeln. • γ-Regeln: γ ∀x A ¬∃x A γ[t] Ax [t] ¬Ax [t] t beliebiger Term, Substitution erlaubt. • δ-Regeln: δ ∃x A ¬∀x A δ[y ] Ax [y ] ¬Ax [y ] ! y Variable (oder c Konstante 0-stellig) y neu“: ” y kommt noch nicht in Formeln im Ast zu Ax [y ] frei vor und die Substitution ist erlaubt. Prof. Dr. Madlener: Logik 228 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Tableaux-Methode für Pl-1 (Forts.) ◮ Systematische Konstruktion eines Modells: Falls die Sprache keine F -Symbole enthält reichen die Bezeichner“ für Elemente des Definitionsbereichs aus. ” Sonst wähle als Definitionsbereich für die Interpretation eine geeignete abgeschlossene Termmenge. • Führe soviele Terme“ ein wie notwendig. ” Existentielle Formeln benötigen Lösungen“, solche dürfen ” nicht eingeschränkt sein (anderswie verwendet worden sein). ◮ δ-Formeln brauchen nur einmal erfüllt“ zu werden. ” γ-Formeln hingegen müssen für alle Objekte die eingeführt wurden garantiert werden, müssen somit immer weiterhin beachtet werden. Prof. Dr. Madlener: Logik 229 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Tableaux-Methode für Pl-1 (Forts.) Lemma 5.2 Sei Γ eine Menge von Formeln über einer abgeschlossenen Termmenge (Universum) U mit 1. Für keine Formel A gilt A ∈ Γ und ¬A ∈ Γ. 2. Für jede α-Formel in Γ gilt α1 , α2 ∈ Γ. 3. Für jede β-Formel in Γ gilt β1 ∈ Γ oder β2 ∈ Γ. 4. Für jede γ-Formel in Γ gilt γ[t] ∈ Γ für alle t ∈ U. 5. Für jede δ-Formel in Γ gibt es ein t ∈ U mit δ[t] ∈ Γ. ֒→ Dann ist Γ erfüllbar. Prof. Dr. Madlener: Logik 230 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Tableaux-Methode für Pl-1 (Forts.) ! Problem: U kann unendlich sein. Erst recht wenn F -Symbole vorhanden! ◮ Sprachen mit =“ dann Funktionskonstanten und Terme. ” • ǫ-Regel t1 = t2 A[t1 ← t2 ] ֒→ In einer Formel A kann ein Term t1 durch einen gleichen“ ” Term t2 ersetzt werden, wenn im Ast zu A der Knoten mit der Markierung t1 = t2 vorkommt. ∀x x = x als Wurzel der = Tableaux zulassen. ◭ ◮ Problematische Regel, da sie zu einer Formelexplosion führt. Prof. Dr. Madlener: Logik 231 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Tableaux-Methode für Pl-1 (Forts.) Satz 5.3 Sei A ∈ Form(L), Σ ⊆ Form(L) a) |= A gdw es gibt ein abgeschlossenes Tableau für ¬A. b) Σ |= A gdw es gibt ein abgeschlossenes Tableau für Σ ∪ {¬A}. ◮ Systematische Tableaux-Konstruktion: Σ, α, δ, γ, β Reihenfolge der Regelanwendungen: t Ax [t] muss erlaubt sein. y neu bei δ-Regel beachten (frei). ◮ Falls keine Funktionskonstanten in L Interpretation mit {c1 , c2 , . . . } als Konstanten. ! Beachte: Prof. Dr. Madlener: Logik 232 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiele Beispiel 5.4 (|= (∀xA → B) → ∃x(A → B), x nicht frei in B) ¬((∀x A → B) → ∃x (A → B)) ∀x A → B ¬∃x (A → B) ¬∀x A B ¬Ax [a] ¬(A → B)x [a] ¬(A → B)x [a] Ax [a] Ax [a] ¬B ¬B Prof. Dr. Madlener: Logik 233 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiel 5.5 (Γ = {∀xA ∨ ∀xB}, C ≡ ∀x(A ∨ B). Gilt Γ |= C ?) ∀x A ∨ ∀x B ¬∀x (A ∨ B) ¬(Ax [a] ∨ Bx [a]) ¬Ax [a] ¬Bx [a] ∀x A ∀x B Ax [a] Bx [a] ! γ-Formeln dürfen nicht abgehakt werden, da man immer wieder neue Terme einführen kann und γ[t] erfüllt werden muss! Prof. Dr. Madlener: Logik 234 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiele (Forts.) Beispiel 5.6 (∃x ¬p(x, x) |= ¬∀x∃yp(x, y )) Gibt es Modelle für {∃x ¬p(x, x), ∀x∃y p(x, y )} ∃x ¬p(x, x) ∀x∃y p(x, y) ¬p(a, a) ∃y p(a, y) p(a, b) ∃y p(b, y) p(b, c) Prof. Dr. Madlener: Logik 235 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 ֒→ Interpretation: p(x, y ) a b c d e · · · a 0 1 1 b 1 c d 1 1 e .. . ◮ Es gibt Interpretation mit nur 2 Elementen ¬p(a, a), p(a, b), p(b, a), p(b, b), die Modell sind. ֒→ Vorschrift neu“ kann aufgeweicht werden. ” ! Erst alle Konstanten verwenden, falls diese Wahl zu führt müssen neue Konstanten einführt werden, sonst Modell gefunden. Prof. Dr. Madlener: Logik 236 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiele (Forts.) ∃x ¬p(x, x) ∀x∃y p(x, y) ¬p(a, a) ∃y p(a, y) p(a, b) ∃y p(b, y) p(b, a) Interpretation z.B.: a b a 0 1 b 1 ∗ Prof. Dr. Madlener: Logik 237 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiel 5.7 (Gilt |= ∀x(p(x) ∨ q(x)) → (∀xp(x) ∨ ∀xq(x)) ?) ¬(∀x (p(x) ∨ q(x)) → (∀x p(x) ∨ ∀x q(x))) ∀x (p(x) ∨ q(x)) ¬(∀x p(x) ∨ ∀x q(x)) ¬∀x p(x) ¬∀x q(x) ¬p(a) ¬q(b) p(a) ∨ q(a) p(b) ∨ q(b) q(a) p(a) p(b) I = ({a, b} : Prof. Dr. Madlener: Logik q(b) I (p)(a) = I (q)(b) = F , I (p)(b) = I (q)(a) = W ) 238 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiel 5.8 ∀x∃y p(x, y ), ∀x ¬p(x, x) |= ∃x∃y ∃z (p(x, y ) ∧ p(y , z) ∧ ¬p(x, z)) ∀x∃y p(x, y) ∀x ¬p(x, x) ¬∃x∃y∃z (p(x, y) ∧ p(y, z) ∧ ¬p(x, z)) ¬p(c1 , c1 ) ∃y p(c1 , y) p(c1 , c2 ) ¬p(c2 , c2 ) ∃y p(c2 , y) ¬(p(c1 , c2 ) ∧ p(c2 , c1 ) ∧ ¬p(c1 , c1 )) ¬p(c1 , c2 ) ¬p(c2 , c1 ) p(c1 , c1 ) p(c2 , c3 ) Prof. Dr. Madlener: Logik 239 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiele (Forts.) Interpretation: p(c1 , c1 ) = F p(c1 , c2 ) = W p(c2 , c1 ) = F p(c2 , c3 ) = W c1 c2 c3 c4 .. . Prof. Dr. Madlener: Logik p(c2 , c2 ) = F p(c3 , c3 ) = F . . . c1 c2 c3 c4 c5 0 1 0 0 1 0 1 0 1 240 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiele Formeln mit = : Monoide und Gruppen Beispiel 5.9 {∀x∀y ∀z (x · y ) · z = x · (y · z) ∀x x · 1 = x ∀x x · x̄ = 1} Gruppenaxiome Behauptung: Es gilt: Aus Gruppenaxiome |= ∀x 1 · x = x und |= ∀x x̄ · x = 1 Prof. Dr. Madlener: Logik 241 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 ∀x x = x Axiome ¬∀x 1 ◦ x = x ¬∀x x ◦ x = 1 ¬b ◦ b = 1 b◦b=1 (b ◦ b) ◦ 1 = b ◦ b) b◦b=1 (b ◦ b) ◦ (b ◦ b) = b ◦ b (b ◦ b) ◦ (b ◦ b) = ((b ◦ b) ◦ b) ◦ b (b ◦ b) ◦ b = b ◦ (b ◦ b) (b ◦ b) ◦ b = b ◦ 1 b◦1=b b ◦ (b ◦ b) = b (b ◦ b) ◦ b = b (b ◦ b) ◦ (b ◦ b) = b ◦ b (b ◦ b) ◦ (b ◦ b) = 1 b◦b=1 Prof. Dr. Madlener: Logik 242 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Entscheidbare Fälle (Präfixe) Allgemeingültigkeit L Sprache ohne Funktionskonstanten abgeschlossene Formeln 1. ∀x1 · · · ∀xm A 2. ∀x1 · · · ∀xm ∃y1 · · · ∃ym A A quantorenfrei A quantorenfrei 3. ∀x1 · · · ∀xm ∃y ∀z1 · · · ∀zn A 4. ∀x1 · · · ∀xm ∃y1 ∃y2 ∀z1 · · · ∀zn A 5. ∃y1 · · · ∃yn ∀x1 · · · ∀xm ∃zA 6. ∀x1 · · · ∀xm ∃y1 ∃y2 ∃y3 ∀z1 · · · ∀zn A Prof. Dr. Madlener: Logik n, m ≥ 1 n. entsch. m, n ≥ 0 n. entsch. 243 Algorithmen der Prädikatenlogik Aufzählungsverfahren für PL-1 Beispiel 5.10 (Typ 3. Formel) ¬∀x1 ∀x2 ∃y∀z A ¬∀x2 ∃y∀z Ax1 [a] ¬∃y∀z Ax1 ,x2 [a, b] ¬∀z Ax1 ,x2 ,y [a, b, a] ¬∀z Ax1 ,x2 ,y [a, b, b] Ax1 ,x2 ,y,z [a, b, a, a1 ] Ax1 ,x2 ,y,z [a, b, b, a2 ] Prof. Dr. Madlener: Logik 244 Algorithmen der Prädikatenlogik Resolventenmethode Resolventenmethode (PL1 - Resolutionsverfahren) ◮ Formeln in Klauselnormalform auf Erfüllbarkeit testen. Definition 5.11 Eine Formel A ∈ Form(L) ist in Klauselform (KLF), wenn sie die Gestalt A ≡ ∀x1 ∀x2 · · · ∀xn [C1 ∧ C2 ∧ · · · ∧ Ck ] hat. Dabei sind die Cj Klauseln (d. h. Disjunktionen von Literalen ohne Wiederholungen) und die Variablen x1 , . . . , xn sind alle Variablen, die in den Cj vorkommen. ◮ ∀x1 , . . . , ∀xn Präfix [C1 ∧ · · · ∧ Ck ] Mantisse (Matrix). ֒→ PKNF und Präfix enthält kein ∃ Quantor. Prof. Dr. Madlener: Logik 245 Algorithmen der Prädikatenlogik Resolventenmethode ! Beachte: In Literalen kommen nun Variablen vor. L und M sind konjugierte (komplementäre) Literale, wenn L = M̄ (A Atom, ¬A ≡ Ā, Ā ≡ A). ◮ p(x), ¬p(y ) sind nicht konjugiert oder komplementär. Nach Substitution z. B. x ← a, y ← a, p(a), ¬p(a) sind konjugiert. Aber auch x ← x, y ← x, p(x), ¬p(x). ◮ Ziel: Resolventenmethode verallgemeinern auf Formeln mit Variablen und Funktionen (d.h. Terme). Prof. Dr. Madlener: Logik 246 Algorithmen der Prädikatenlogik Resolventenmethode Skolemisierung Lemma 5.12 (Skolem) Jede Formel A der P-Logik erster Stufe kann effektiv in eine erfüllbarkeitsäquivalente Formel A′ in Klauselform transformiert werden. ◮ A ist erfüllbar gdw A′ ist erfüllbar. ◮ Anwendung: Nachweis der Allgemeingültigkeit |= B gdw {¬B} unerfüllbar gdw (¬B)′ unerfülllbar. Prof. Dr. Madlener: Logik 247 Algorithmen der Prädikatenlogik Resolventenmethode Skolemisierung: Verfahren Beweis: A gegeben. Transformiere A wie folgt: Schritt Schritt Schritt Schritt 1: 2: 3: 4: Schritt 5: Prof. Dr. Madlener: Logik Bilde den existentiellen Abschluss von A. Eliminiere alle überflüssigen Quantoren. Umbenennung mehrfach quantifizierter Variablen. Ersetze Operatoren, die von ∧, ∨, ¬ verschieden sind. z. B. →, If . . . , ↔ . . . Schiebe ¬ nach innen, bis sie vor den Atomen stehen. Insbesondere ¬¬A durch A ersetzen. ¬∀xA ∃x¬A, ¬(A ∨ B) (¬A ∧ ¬B) ¬(A ∧ B) (¬A ∨ ¬B) 248 Algorithmen der Prädikatenlogik Resolventenmethode Skolemisierung: Verfahren (Fort.) Schritt 6: Schritt 7: Schritt 8: Schritt 9: Prof. Dr. Madlener: Logik Schränke Quantoren auf ihren Wirkungsbereich ein: Qx(A ∗ B) A ∗ QxB x nicht frei in A QxA ∗ B x nicht frei in B Eliminiere existentielle Quantoren durch Einführung von Skolem Funktionen. Wähle dabei die erste Teilformel (von links) der Form ∃yB(y ) und ersetze sie durch By [f (x1 , . . . , xn )], n ≥ 0, wobei a) x1 . . . xn alle unterschiedlichen freien Variablen in ∃yB(y ) sind, die links von ∃yB(y ) universell quantifiziert sind. b) f eine frische“ n-stellige Funktionskonstante. ” Schiebe ∀ Quantoren nach links. Bringe Matrix in KNF und simplifiziere. 249 Algorithmen der Prädikatenlogik Resolventenmethode Skolemisierung ◮ ◮ Korrektheit Aj ≡ · · · ∃yB(y ) Aj+1 ≡ · · · By [f (x1 , . . . , xn )] Behauptung: Aj ist erfüllbar gdw Aj+1 ist erfüllbar. Sei I Modell für Aj : Für jede mögliche Belegung der Variablen x1 , . . . , xn muss es ein oder mehrere Werte für y geben, mit denen Aj wahr wird. I ′ wie I zusätzlich eine n-stellige Funktionskonstante f : f (x1 , . . . , xn ) gibt für Wertetupel für x1 . . . xn ein (den) y Wert als Funktionsergebnis. Prof. Dr. Madlener: Logik 250 Algorithmen der Prädikatenlogik Resolventenmethode Beispiele Beispiel 5.13 ∀x {p(x) → ∃z {¬∀y [q(x, y ) → p(f (x1 ))] ∧ ∀y [q(x, y ) → p(x)]}} 1. Existentieller Abschluss und Elimination von überf. Quantoren: ∃x1 ∀x {p(x) → {¬∀y [q(x, y ) → p(f (x1 ))] ∧ ∀y [q(x, y ) → p(x)]}} 2. Umbenennung von y : ∃x1 ∀x {p(x) → {¬∀y [q(x, y ) → p(f (x1 ))] ∧ ∀z [q(x, z) → p(x)]}} 3. Elimination von →: ∃x1 ∀x {¬p(x) ∨ {¬∀y [¬q(x, y ) ∨ p(f (x1 ))] ∧ ∀z [¬q(x, z) ∨p(x)]}} Prof. Dr. Madlener: Logik 251 Algorithmen der Prädikatenlogik Resolventenmethode Beispiele (Forts.) 4. ¬ nach innen: ∃x1 ∀x {¬p(x) ∨ {∃y [q(x, y ) ∧ ¬p(f (x1 ))] ∧ ∀z [¬q(x, z) ∨p(x)]}} 5. Quantoren auf Geltungsbereich einschränken: ∃x1 ∀x {¬p(x) ∨ {[∃y q(x, y ) ∧ ¬p(f (x1 ))] ∧ [∀z ¬q(x, z) ∨p(x)]}} 6. Eliminieren der Ex.-Quantoren ∃x1 und ∃y (0 - stellige bzw. 1-stellige Funktionseinführung): ∀x {¬p(x) ∨ {[q(x, g (x)) ∧ ¬p(f (a))] ∧ [∀z ¬q(x, z) ∨ p(x)]}} Prof. Dr. Madlener: Logik 252 Algorithmen der Prädikatenlogik Resolventenmethode Beispiele (Forts.) 7. Quantoren nach links: ∀x∀z {¬p(x) ∨ {[q(x, g (x)) ∧ ¬p(f (a))] ∧ [¬q(x, z) ∨ p(x)]}} 8. KNF + Simplifikation: ∀x∀z {[¬p(x) ∨ q(x, g (x))] ∧ [¬p(x) ∨ ¬p(f (a))] ∧ [¬p(x) ∨¬q(x, z) ∨ p(x)]} A′ ≡ ∀x {[¬p(x) ∨ q(x, g (x))] ∧ ¬p(f (a))} ◮ A′ ≡ ∀x[[¬p(x) ∨ q(x, g (x))] ∧ [¬p(f (a))]] Erfüllbar? Prof. Dr. Madlener: Logik 253 Algorithmen der Prädikatenlogik Resolventenmethode Beispiele (Forts.) - Tableaux: ∀x {[¬p(x) ∨ q(x, g(x))] ∧ [¬p(f (a))]} [¬p(a) ∨ q(a, g(a))] ∧ ¬p(f (a)) ¬p(a) ∨ q(a, g(a)) ¬p(f (a)) ¬p(a) [¬p(f (a)) ∨ q(f (a), g(f (a)))] ∧¬p(f (a)) ¬p(f (a)) ∨ q(f (a), g(f (a))) ¬p(f (a)) ¬p(f (a)) Prof. Dr. Madlener: Logik q(a, g(a)) [¬p(f (a)) ∨ q(f (a), g(f (a)))] ∧¬p(f (a)) ¬p(f (a)) ∨ q(f (a), g(f (a))) ¬p(f (a)) q(f (a), g(f (a))) 254 Algorithmen der Prädikatenlogik Resolventenmethode Terme: a, f (a), g (a), g (f (a)), g (g (a)), g (g (f (a))), g (g (g (a))). T = {a, g n (a), g n (f (a)) n ≥ 0} Definitionsbereich ◮ Erfüllbar: I = ({a}, f (a) := a, g (a) := a, p(a) = 0, q(a, a) = 1) ! Bei nicht Erfüllbarkeit: im endlich abgeschlossenen Tableau kommen nur endlich viele Grundterme (Terme ohne Variablen) vor, d. h. eine endliche Menge von Grundinstanzen der Matrix ist unerfüllbar. Herbrand-Interpretationen. Prof. Dr. Madlener: Logik 255 Algorithmen der Prädikatenlogik Resolventenmethode Herbrand-Universum Definition 5.14 (Herbrand-Universum) Sei A ∈ Form. Das Herbrand-Universum HA ist die Menge aller Terme, die aus den Individuenkonstanten (0-stellige Funktionskonstanten) und den Funktionskonstanten, die A vorkommen, gebildet werden können. Enthält A keine Individuenkonstante, so wird eine hinzugenommen. Prof. Dr. Madlener: Logik 256 Algorithmen der Prädikatenlogik Resolventenmethode Herbrand-Universum (Forts.) Beispiel 5.15 • A ≡ ∀x{[¬p(x) ∨ q(x, g (x))] ∧ ¬p(f (a))} ֒→ HA = {a, f (a), g (a), f (f (a)), f (g (a)), g (g (a)), g (f (a)), · · · } Die Menge der Grundterme in a, f 1-stellig, g 1-stellig. • B ≡ ∀x∃y [p(f (x), y , g (x, y ))] ֒→ HB ≡ {a, f (a), g (a, a), f (g (a, a)), g (a, f (a)), . . . } Prof. Dr. Madlener: Logik 257 Algorithmen der Prädikatenlogik Resolventenmethode Das Herbrand-Universum (Forts.) Definition 5.16 (Herbrand-Interpretation) Eine Herbrand-Interpretation für eine (abgeschlossene) Formel A ist eine Interpretation I = (HA , . . . ), die a) jeder Individuenkonstante a in A den Term a ∈ HA zuordnet. b) jeder n-stelligen Funktionskonstante f , die in A vorkommt, eine Funktion I (f ) : HAn → HA zuordnet, die die Terme t1 , . . . , tn ∈ HA auf den Term f (t1 , . . . , tn ) ∈ HA abbildet. Prof. Dr. Madlener: Logik 258 Algorithmen der Prädikatenlogik Resolventenmethode Der Satz von Herbrand Satz 5.17 • Eine Formel A in Klauselform ist erfüllbar gdw A ist in einer Herbrand-Interpretation erfüllbar. • A ist unerfüllbar gdw A unerfüllbar in allen Herbrand-Interpretationen. ◮ Festlegung der Definitionsbereiche der Interpretationen. Sei A ≡ ∀x1 · · · ∀xn [C1 ∧ · · · ∧ Ck ]. Eine Grundinstanz einer Klausel Cj (1 ≤ j ≤ k) von A ist eine Klausel, die man erhält, wenn man alle Individuenvariablen in Cj durch Terme aus HA ersetzt, d. h. eine Grundsubstitution xi ← ti auf Cj anwendet. Solche Klauseln, die keine Individuenvariablen enthalten heißen Grundklauseln. Prof. Dr. Madlener: Logik 259 Algorithmen der Prädikatenlogik Resolventenmethode Herbrand-Prozeduren Satz 5.18 (von Herbrand) Eine Formel A in Klauselform ist genau dann unerfüllbar, wenn es eine endliche Konjunktion von Grundinstanzen ihrer Klauseln gibt, die unerfüllbar ist. ! Konjunktionen von Grundklauseln sind wie aussagenlogische Formeln in KNF zu behandeln. Tableaux-Davis-Putnam-(Grund)-Resolution anwendbar. Prof. Dr. Madlener: Logik 260 Algorithmen der Prädikatenlogik Resolventenmethode Herbrand-Prozeduren (Forts.) ֒→ Herbrand-Prozeduren A Formel in KLF mit n-Klauseln und Herbrand Universum HA . • Erzeuge systematisch alle Grundklauseln Gj aus den Klauseln Cj (1 ≤ j ≤ n) von A. • Prüfe, ob eine Konjunktion von Grundklauseln unerfüllbar ist. ◮ Probleme: • Systematische Erzeugung der Grundklauseln. • Auswahl von Grundklauseln, die man auf Erfüllbarkeit testet. • Welches Verfahren wählt man. Prof. Dr. Madlener: Logik 261 Algorithmen der Prädikatenlogik Resolventenmethode Grundresolventenmethode ◮ A ≡ [∀x∃y p(x, y ) ∧ ∀y ∃z q(y , z)] → ∀x∃y ∃z (p(x, y ) ∧ q(y , z)) gilt |= A? Transformiere ¬A in KLF ◮ B ≡ ∀x∀y ∀y1 ∀z[p(x, f (x)) ∧ q(y , g (y ))∧ (¬p(a, y1 ) ∨ ¬q(y1 , z))] ◮ HB = {a, f (a), g (a), f (f (a)), f (g (a)), . . . ◮ Bilde Grundinstanzen: [p(a, f (a)) ∧ q(a, g (a)) ∧ [¬p(a, a) ∨ ¬q(a, a)]] ∧ .. . ∧[p(a, f (a)) ∧ q(f (a), g (f (a))) ∧ [¬p(a, f (a)) ∨ ¬q(f (a), g (f (a)))] Prof. Dr. Madlener: Logik 262 Algorithmen der Prädikatenlogik Resolventenmethode Grundresolventenmethode (Forts.) ◮ Teste, ob erfüllbar: Grundresolventenmethode 1. 2. 3. 4. 5. p(a, f (a)) q(f (a), g (f (a))) ¬p(a, f (a)) ∨ ¬q(f (a), g (f (a))) ¬q(f (a), g (f (a))) 1R3 2R4 ? Wie wählt man die Klauseln und Substitutionen geschickt! Prof. Dr. Madlener: Logik 263 Algorithmen der Prädikatenlogik Resolventenmethode Substitutionen 1. 2. 3. p(x, f (x)) q(y , g (y )) ¬p(a, y1 ) ∨ ¬q(y1 , z) 4. 5. ¬q(f (a), z) Prof. Dr. Madlener: Logik x ← a p(a, f (a)) Substitutionen y1 ← f (a) ¬p(a, f (a)) ∨ ¬q(f (a), z) 1R3 x ← a y1 ← f (a) 2R4 y ← f (a) z ← g (f (a)) 264 Algorithmen der Prädikatenlogik Resolventenmethode Definition 5.19 (Erinnerung) Eine Substitution θ ist eine endliche Menge der Form {hv1 , t1 i, . . . , hvn , tn i}, vi ist Individuenvariable vi 6= vj , ti Terme (Term(V, F), F Funktionskonstanten ti 6≡ vi , i = 1, . . . , n. {v1 , . . . , vn } ist der Definitionsbereich der Substitution hvi , ti i ◮ Bindung“ für vi . ” ◮ θ induziert Abbildungen bzw. Wie üblich: ◮ ◮ ◮ ◮ ◮ θ : Term(V, F) → Term(V, F) θ : AForm → AForm θ(vi ) ≡ ti i = 1, . . . , n θ(v ) ≡ v sonst θ(f (t1 , . . . , tn )) ≡ f (θ(t1 ), . . . , θ(tn )) θ(p(t1 , . . . , tn )) ≡ p(θ(t1 ), . . . , θ(tn )) θ(t = t ′ ) ≡ θ(t) = θ(t ′ ) Prof. Dr. Madlener: Logik 265 Algorithmen der Prädikatenlogik Resolventenmethode Substitutionen (Forts.) ◮ Komposition von Substitutionen: wie üblich. θσ erst θ, dann σ. Identität als Substitution erlaubt. ◮ Betrachte t1 ≡ f (g (x), y ), t2 ≡ f (z, g (a)) Frage: Gibt es Substitution θ mit t1 θ = t2 θ d.h. θ(f (g (x), y )) ≡ θ(f (z, g (a))) ◮ θ heißt dann Unifikator von t1 und t2 . {x ← a y ← g (a) z ← g (a)} sind {y ← g (a) z ← g (x)} Unifikatoren Unifikationsalgorithmen Allgemeinster Unifikator: σ (MGU) (Most General Unifier). Eigenschaft: Ist θ Unifikator, so gibt es τ mit θ = στ . Prof. Dr. Madlener: Logik 266 Algorithmen der Prädikatenlogik Resolventenmethode Unifikation Definition 5.20 (Unifikator) Sei S = A1 ∨ · · · ∨ An {A1 , . . . , An } eine Disjunktion (Menge) atomarer Formeln Aj (1 ≤ j ≤ n). Eine Substitution θ heißt Unifikator für S, falls A1 θ ≡ A2 θ ≡ · · · ≡ An θ (insbesondere müssen die Prädikatskonstanten der Ai alle identisch sein). ◮ Gibt es für S einen solchen Unifikator, dann heißt S unifizierbar. ◮ Ein Unifikator θ heißt allgemeinster Unifikator oder MGU für S, wenn es für jeden Unifikator σ von S eine Substitution τ gibt, so dass σ = θτ . Prof. Dr. Madlener: Logik 267 Algorithmen der Prädikatenlogik Resolventenmethode Unifikationsalgorithmen Satz 5.21 Sei S = {A1 , . . . , An } Menge von atomaren Formeln, dann ist es entscheidbar ob S unifizierbar ist und ein MGU σ lässt sich berechnen. Beweis: Unifikationsalgorithmen für atomare Formeln in Präfix Notation. Idee: Bestimme Disagreement set“ durch Tiefensuche. ” Prof. Dr. Madlener: Logik 268 Algorithmen der Prädikatenlogik Resolventenmethode Unifikationsalgorithmen (Forts.) Darstellung atomarer Formeln Prädikatskonstante t1 tn p(x, g (f (y, z), x), y) p(x, g (a, b), b) p(x, g (g (h(x), a), y), h(x)) ֒→ DS: {f (y , z), a, g (h(x), a)} nicht unifizierbar. ◮ DS: {. . . , v , . . . , t, . . . }, v kommt nicht in t vor. Ändere: σ : v ← t. ◮ Berechne DSσ dann weiter bis entweder ein Unifikator bestimmt wurde oder nicht-unifizierbar als Ergebnis vorliegt. ! Es gibt sehr effiziente Unifikationsverfahren (lineare Zeit). Siehe hierfür Literatur. Prof. Dr. Madlener: Logik 269 Algorithmen der Prädikatenlogik Resolventenmethode PL1-Resolutionsverfahren Definition 5.22 (Allgemeine Resolventenregel) Seien C1 und C2 Klauseln ohne gemeinsame Variablen. Seien A1 ∨ · · · ∨ Ak und ¬B1 ∨ ¬B2 ∨ · · · ∨ ¬Bl Teildisjunktionen von C1 bzw. C2 , so dass A1 , . . . , Ak , B1 , . . . , Bl unifizierbar sind, mit allgemeinsten Unifikator θ und sei Ai θ ≡ Bj θ ≡ p(r1 , . . . , rn ) (bzw. t1 = t2 ) [Faktor] Die Resolvente von C1 und C2 ist dann die Klausel C1 θ\p(r1 , . . . , rn ) ∪ C2 θ\¬p(r1 , . . . , rn ) (bzw. C1 θ\t1 = t2 ∪ C2 θ\¬(t1 = t2 )) als Menge von Literalen. Prof. Dr. Madlener: Logik 270 Algorithmen der Prädikatenlogik Resolventenmethode Resolutionsverfahren (Forts.) Satz 5.23 (Robinson) Eine Formel A in Klauselform ist genau dann unerfüllbar, wenn die leere Klausel aus A mit der Resolventenregel hergeleitet werden kann. ◮ [Annahme: Klauseln in A sind variablendisjunkt] Immer erreichbar da ∀x̄[C1 (x̄) ∧ · · · ∧ Ck (x̄)] |==| ∀x̄1 ∀x̄2 · · · ∀x̄k [C1 (x̄1 ) ∧ · · · ∧ Ck (x̄k )] ◮ Beachte allgemeine Resolventenregel k, l ≥ 1 ◮ Viele Varianten: Unit-Resolution, lineare Resolventenregel.... ! Ziel ist es, so schnell wie möglich die leere Klausel herzuleiten, d. h. soviel Literale wie möglich zu faktorisieren“. ” Prof. Dr. Madlener: Logik 271 Algorithmen der Prädikatenlogik Resolventenmethode Beispiel Beispiel 5.24 A ≡ ¬∃y ∀z [p(z, y ) ↔ ¬∃x [p(z, x) ∧ p(x, z)]] • Frage gilt |= A? ¬A ≡ ¬¬∃y ∀z [p(z, y ) ↔ ¬∃x [p(z, x) ∧ p(x, z)]] ֒→ KLF(¬A) ∀z∀x [ [¬p(z, a) ∨ ¬p(z, x) ∨ ¬p(x, z)]∧ [p(z, f (z)) ∨ p(z, a)]∧ [p(f (z), z) ∨ p(z, a)]] Prof. Dr. Madlener: Logik 272 Algorithmen der Prädikatenlogik Resolventenmethode Beispiel (Forts.) ◮ Klauseln (nach Umbenennen der Variablen, variablendisjunkt) 1. ¬p(z1 , a), ¬p(z1 , x1 ), ¬p(x1 , z1 ) 2. p(z2 , f (z2 )), p(z2 , a) 3. p(f (z3 ), z3 ), p(z3 , a) • Resolvente von 2. und 1. mit Teildisjunktionen ¬p(z1 , a), ¬p(z1 , x1 ), ¬p(x1 , z1 ) in 1. und p(z2 , a) in 2. Der Unifikator hx1 , ai, hz2 , ai, hz1 , ai MGU. • Prof. Dr. Madlener: Logik 4. p(a, f (a)) 273 Algorithmen der Prädikatenlogik Resolventenmethode Beispiel (Forts.) • Resolvente 3. und 1. mit Teildisjunktionen ¬p(z1 , a), ¬p(z1 , x1 ), ¬p(x1 , z1 ), p(z3 , a) ◮ DS: {z1 , z1 , x1 , z3 } {a, z1 } x1 ← z 1 z 3 ← z 1 z1 ← a • 5. x1 ← a z 1 ← a z3 ← a p(f (a), a) • Resolvente 4., 1. mit Teildisjunktionen p(a, f (a)), ¬p(x1 , z1 ) x1 ← a, z1 ← f (a) • Prof. Dr. Madlener: Logik 6. ¬p(f (a), a) 274 Algorithmen der Prädikatenlogik Resolventenmethode Beispiel (Forts.) • Resolvente 5., 6. • 7. ֒→ Also gilt |= A ≡ ¬∃y ∀z [p(z, y ) ↔ ¬∃x [p(z, x) ∧ p(x, z)]] Prof. Dr. Madlener: Logik 275 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Logisches Programmieren und Prolog ◮ Sprache der Logik zur Darstellung von Wissen (deklarativ) über Strukturen. Wissensherleitung durch logische Folgerung (deduktiv, Resolution usw.) ◮ • • • • • • • 0 1 2 3 4 5 6 Prozedurale Sicht von Resolution Z = ((Y · 2) + X ) − Y Funktion von X , Y 2 ≡ succ(succ(0)) goal(X , Y , Z ) : − mult(Y , 2, A), add(A, X , B), subt(B, Y , Z ). add(R, succ(S), succ(T )) : − add(R, S, T ). add(T , 0, T ). subt(succ(R), succ(S), T ) : − subt(R, S, T ). subt(T , 0, T ). mult(R, succ(S), T ) : − mult(R, S, U), add(R, U, T ). mult(R, 0, 0). Prof. Dr. Madlener: Logik 276 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Logisches Programmieren und Prolog ◮ goal, add, subt, mult sind 3-stellige P-Konstanten zur Darstellung der Funktionen, die den ersten beiden Argumenten als Wert 3-Argumente zuordnen. ◮ Wie berechnet“ sich ((Y · 2) + X ) − Y , wenn ” X ← succ(succ(0)) und Y ← succ(0) ? −goal(succ(succ(0)), succ(0), Z ) ? . With Z = succ(succ(succ(0))) Prof. Dr. Madlener: Logik 277 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Horn-Logik Erinnerung: Klauseln {L1 , L2 , . . . , Ln } Menge von Literalen = {A1 , . . . , An } ∪ {¬B1 , . . . , ¬Bm }, Aj , Bj Atome. ◮ Hornlogik: Klauseln mit höchstens einem positiven Literal, d. h. n ≤ 1. Einteilung: {A, ¬B1 , . . . , ¬Bm } m > 0 {A} {¬B1 , . . . , ¬Bm } m > 0 ∅ Prof. Dr. Madlener: Logik Regel Klausel Fakt Klausel Goal Klausel leeres Goal ◭ ◭ ◭ ◭ 278 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Horn-Logik ◮ ֒→ • • • Formeln in KLF: Endliche Mengen von Literalen. Hornklausel Formel von PL-1 • {A, ¬B1 , . . . , ¬Bm } ∀ (A ∨ ¬B1 ∨ · · · ∨ ¬Bm ) bzw. (∀ ((B1 ∧ · · · ∧ Bm ) → A)) • {A} ∀ (A) • {¬B1 , . . . , ¬Bm } ∀ (¬B1 ∨ · · · ∨ ¬Bm ) bzw. ¬∃ (B1 ∧ · · · ∧ Bm ) false Notationen: Formel logisches Programm Prolog ∀ ((B1 ∧ · · · ∧ Bm ) A ← B1 , . . . , Bm A : − B1 , . . . , Bm . → A) ∀ (A) A← A. ¬∃ (B1 ∧ · · · ∧ Bm ) ← B1 , . . . , Bm ? −B1 , . . . , Bm . Prof. Dr. Madlener: Logik 279 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Horn-Logik (Forts.) ◮ Eine Menge von Regeln und Fakten ist ein logisches Programm P d. h. die Programmformeln sind entweder Regeln oder Fakten. • Eine Struktur R ist Modell von P, falls R Modell der entsprechenden Formeln in P ist. • P |= ϕ hat die übliche Bedeutung. ! Beachte: Sei P logisches Programm und ? −B1 , . . . , Bm ein nichtleeres Ziel. Dann sind äquivalent 1. P ∪ {? − B1 , . . . , Bm } hat kein Modell (unerfüllbar) 2. P |= ∃(B1 ∧ · · · ∧ Bm ) ֒→ Herbrand Interpretationen reichen aus: d. h. Termmengen und Funktionen sind fest durch die Formeln (Programm) definiert. Prof. Dr. Madlener: Logik 280 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Horn-Logik (Forts.) ◮ Offen ist nur noch die Interpretation der P-Konstanten. R ↔ I (R) = {r (t1 , . . . , tn ) | r P-Konstante, n-stellig t1 , . . . , tn ∈ HP Grundterme (t1 , . . . , tn ) ∈ rR } Semantik logischer Programme (deklarative Semantik). Sei P ein logisches Programm. Unter den Herbrand Interpretationen die Modelle von P sind, gibt es ein minimales Herbrand Modell MP : MP = {r (t1 , . . . , tn ) | t1 , . . . , tn Grundterme und • P |= r (t1 , . . . , tn )} ◮ MP lässt sich rekursiv definieren. Prof. Dr. Madlener: Logik 281 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Horn-Logik (Forts.) Satz 5.25 Sei ∃X1 · · · ∃Xk (B1 ∧ · · · ∧ Bm ) eine abgeschlossene existentielle Formel und P logisches Programm. Dann sind äquivalent: 1. P |= ∃X1 · · · ∃Xk (B1 ∧ · · · ∧ Bm ) 2. P |= (B1 ∧ · · · ∧ Bm )[X1 /t1 , . . . , Xk /tk ] für Grundterme t1 , . . . , tk 3. Mp ist Modell von ∃X1 · · · ∃Xk (B1 ∧ · · · ∧ Bm ) 4. Mp |= (B1 ∧ · · · ∧ Bm )[X1 /t1 , . . . , Xk /tk ] für Grundterme t1 , . . . , tk ! Grundlage für Mp ist die Semantik (Bedeutung) von P. (Beachte der Satz gilt nicht für universelle Formeln!) Prof. Dr. Madlener: Logik 282 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Horn-Logik (Forts.) Beispiel 5.26 P über Signatur 0, succ (Fkt. Symbole), add ( 3 St. Pr.-Konstante) P : add(X , 0, X ). add(X , succ(Y ), succ(Z )) : −add(X , Y , Z ). ֒→ Offenbar ist Mp = {add(succn (0), succm (0), succn+m (0)) n, m ∈ N} Prof. Dr. Madlener: Logik 283 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Wie werden existentielle Anfragen beanwortet? ◮ ◮ (Frage 1) ? −add(succ3 (0), succ8 (0), Z ) JA mit Z = succ11 (0) (Frage 2) ? −add(X , succ8 (0), Z ) ? (P |= ∃X ∃Z add(X , succ8 (0), Z )) JA mit X = 0, Z = succ8 (0) Z = succ8 (X ) mit X = succ(0), Z = succ9 (0) . . . ist allgemeinste Lösung. Prof. Dr. Madlener: Logik 284 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Wie werden existentielle Anfragen beanwortet? (Forts.) ◮ (Frage 3) ? −add(succ3 (0), Y , Z ) ? (P |= ∃Y ∃Z add(succ3 (0), Y , Z )) JA mit Y = 0, Z = succ3 (0) mit Y = succ(0), Z = succ4 (0) mit Y = succ2 (0), Z = succ5 (0) . . . • Z = succ3 (Y ) ist jedoch keine allgemeinste Lösung: ◮ Da ∀Y add(succ3 (0), Y , succ3 (Y )) nicht logische Folgerung von P ist (Übung!) (Sie ist jedoch in Mp gültig!! Induktives Theorem) Prof. Dr. Madlener: Logik 285 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Wie werden existentielle Anfragen beanwortet? (Forts.) ◮ (Frage 4) ? −add(X , Y , succ3 (0)) ? (P |= ∃X ∃Y add(X , Y , succ3 (0)) X =0 succ(0) Lösungssubstitutionen: succ2 (0) succ3 (0) Prof. Dr. Madlener: Logik Y = succ3 (0) succ2 (0) succ(0) 0 286 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Lösungssubstitutionen Sei G = ? −B1 , . . . , Bm ein goal, P logisches Programm, σ Substitution, σ|G Einschränkung von σ auf die Variablen, die in G vorkommen. σ = {X1 ← t1 , . . . , Xn ← tn } ist eine korrekte Lösungssubstitution für P ∪ {G } gdw X1 , . . . , Xn kommen in G vor und P |= ∀ ((B1 ∧ · · · ∧ Bm )σ). (Beachte: nicht äquivalent zu Mp |= ∀ ((B1 ∧ · · · ∧ Bm )σ) nur, falls variablenfrei). ? Wie operationalisiert man die Bestimmung von korrekten Operationale Semantik Lösungssubstitutionen ? Varianten der Resolution. Prof. Dr. Madlener: Logik 287 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog SLD-Resolution – (selective linear Resolution for definitive clauses) ◮ Sei G goal ? −A1 , . . . , Am und C ≡ A : − B1 , . . . , Bq eine Programmformel (q = 0 erlaubt). Seien weiterhin G und C variablendisjunkt und sei µ ein MGU von Ak und A. (Die Klauseln können resolviert werden). Das goal ◮ G ′ ≡ ? − A1 µ, . . . , Ak−1 µ, B1 µ, . . . , Bq µ, Ak+1 µ, . . . , Ak µ ist eine SLD-Resolvente von G und C über µ. G C SLD als Regel P-Klausel, goal G Prof. Dr. Madlener: Logik goal′ ′ 288 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog SLD-Resolution: SLD-Ableitungen ◮ SLD-Ableitungen, wie üblich definieren: SLD-Ableitungen sind Ableitung der Form G0 , G1 , . . . , Gn , . . . Programmformeln C0 , C1 , . . . , Cn , . . . Substitutionen µ0 , µ1 , . . . , µn , . . . , so dass Gn+1 SLD-Resolvente von Gn und Cn über µn (Hierbei kommen die Variablen in Cn+1 nicht in G0 , G1 , . . . , Gn , C0 , . . . , Cn , µ0 , . . . , µn vor). Prof. Dr. Madlener: Logik 289 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Lösungssubstitution Definition 5.27 (Lösungssubstitution) Sei P logisches Programm, G goal. Eine SLD-Widerlegung von P ∪ {G } ist eine endliche SLD-Ableitung, bis zum Ziel Gn aus G , wobei Gn leer ist. C0 , . . . , Cn−1 sind Varianten (Umbenennungen) von Programmformeln aus P. µ = (µ0 µ1 · · · µn−1 )|G ist die berechnete Lösungssubstitution. Prof. Dr. Madlener: Logik 290 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Bemerkung und Beispiel Bemerkung 5.28 ◮ Korrektheit und Vollständigkeit lassen sich beweisen! Siehe etwa Leitsch: Resolutionskalküle Beispiel 5.29 a : − b, c. a : − d. b : − d, e. b : − f. c. c : − d, f . d. f. Prof. Dr. Madlener: Logik Klauseln {a, b̄, c̄} {a, d̄} {b, d̄, ē} {b, f¯} {c} {c, d̄, f¯} {d} {f } 291 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Beispiel: Goal ? - a {a, b, c} {a} {b, c} {d, e, c} {e, c} {f , c} {c} {} {b, d, e} {d} {a} {b, c} {d, e, c} {e, c} {b, f } {f , c}{f } {c} {c} {} Prof. Dr. Madlener: Logik 292 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Operationale Semantik von PROLOG ◮ Prolog: Logik + Kontrolle • Fixiere Reihenfolge der SLD-Schritte ◮ ◮ ◮ ◮ Ordne Programmformeln (Liste) Goals als Listen - erstes Literal Bilde stets Resolventen mit Kopf der ersten Programmformel mit erstem Literal des Goals, normale SLD-Resolution. Probleme: Laufzeiten sind abhängig von den Reihenfolgen! Oft hilft ein Umordnen der Literale im Goal oder in den Programmklauseln. Prof. Dr. Madlener: Logik 293 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Beispiele ◮ P sei gegeben durch: 1 p(X , Z ) : − q(X , Y ), p(Y , Z ). 2 p(X , X ). 3 q(a, b). SLD(P, G ) Baum aller N-SLD Resolventen G ≡? − p(X , b) ?-p(x, b) [x1 |x, z1 |b] [x1 |b, x|b] ?-q(x, y1 ), p(y1 , b) [x|a, y1 |b] [x2 |b, z2 |b] ?-q(b, y2 ), p(y2 , b) Prof. Dr. Madlener: Logik Failure Erfolg ?-p(b, b) [x2 |b] Erfolg 294 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Beispiele (Forts.) ◮ Umordnung der Literale in Programmformeln 1 p(X , Z ) : − p(Y , Z ), q(X , Y ). 2 p(X , X ). 3 q(a, b). G ≡? − p(X , b) → Depth First kein Ergebnis. Umordnung des SLD-Baums Prof. Dr. Madlener: Logik 295 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Beispiel 5.30 (Listen über Σ) Gegeben Signatur Σ definiere Listen über Σ: [·|·] : L(Σ)2 → L(Σ) ◮ 2-stellige Funktion Infix-Notation ◮ Konstante [ ] bezeichne die leere Liste. ◮ Rekursive Definition: ◮ [ ] ist Liste über Σ ◮ [F |Rest] ist Liste über Σ, falls F Σ-Term oder Liste über Σ ◮ Rest Liste über Σ F Rest • [F1 , F2 , . . . , Fn |Rest] := [F1 |[F2 | · · · |[Fn |Rest] · · · ]] • [F1 , . . . , Fn ] := [F1 , . . . , Fn |[ ]] Prof. Dr. Madlener: Logik 296 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Beispiel: Listen über Σ (Forts.) ◮ Operationen auf Listen • append([ ], M, M). • append([X |L], M, [X |N]) : − append(L, M, N). ? −append([a, b], [a, Y ], Z ) Ergibt: .Z ← [a, b, a, Y ] ֒→ Weitere Operationen element(X , [X |L]). element(X , [Y |L]) : − unequal(Y , X ), element(X , L). mirror([ ], [ ]). mirror([X |L], M) : − mirror(L, N), append(N, [X ], M). delete([ ], X , [ ]). delete([X |L], X , M) : − delete(L, X , M) delete([Y |L], X , [Y |M]) : − unequal(Y , X ), delete(L, X , M). delete1([X |L], X , L). delete1([Y |L], X , [Y |M]) : − unequal(Y , X ), delete1(L, X , M). Prof. Dr. Madlener: Logik 297 Algorithmen der Prädikatenlogik Logisches Programmieren und Prolog Schlussaufgabe: Formalisiere und beweise folgenden Satz: If the professor is happy if all his students like logic, then he is happy if he has no students. Prof. Dr. Madlener: Logik 298