Inhalt Teil I: Formale Grundlagen der Informatik I 1. Aussagenlogik Syntax und Semantik der AL Grundlegende semantische Begriffe AL und Boolesche Funktionen AL Kompaktheitssatz AL Resolution AL Sequenzenkalkül 2. Logik erster Stufe (Prädikatenlogik) Strukturen und Belegungen Syntax und Semantik von FO Kompaktheitssatz Resolution Sequenzenkalkül Unentscheidbarkeit 3. (optionale Themen) Algorithmische Fragen Analyse der Ausdrucksstärke Logiken für spez. Anwendungen Endliche Automaten und formale Sprachen Teil II: Formale Grundlagen der Informatik II Logik in der Informatik Martin Ziegler Sommer 2011 Professor für Angewandte Logik TU Darmstadt, Fachbereich Mathematik (Folien wesentlich basierend auf Prof. M Otto) FGdI II Sommer 2011 M.Otto und M.Ziegler Logik und Logik in der Informatik Logik und Logik in der Informatik • formalisierte Aussagen über Eigenschaften von Systemen → Spezifikation • formalisierte Eigenschaften von Elementen in Strukturen → z.B. DB Abfragen • systematisches Nachprüfen von Eigenschaften von Systemen → Verifikation, model checking • systematische Auswertung → z.B. Abfrageauswertung • logische Beziehungen & Kriterien – Implikation (→)/Subsumption (⊆) – Äquivalenzen (z.B. zur Abfrageoptimierung) – Leerheitstest • logische Beziehungen & Kriterien – Folgerungen – Äquivalenzen – Erfüllbarkeit/Allgemeingültigkeit SYNTAX und SEMANTIK SYNTAX und SEMANTIK FGdI II Sommer 2011 M.Otto und M.Ziegler 2/155 3/155 FGdI II Sommer 2011 M.Otto und M.Ziegler 4/155 Logik und Logik in der Informatik Literatur • systematisches logisches Schließen; Deduktion, formales Beweisen → Wissensrepräsentation, KI → automatisches/interaktives Beweisen, . . . Burris: Logic for Mathematics and Computer Science Prentice-Hall 1998. Ben-Ari: Mathematical Logic for Computer Science Springer 1993. Ebbinghaus, Flum, Thomas: Einführung in die mathematische Logik Spektrum 1998. SYNTAX und SEMANTIK Schöning: Logik für Informatiker Spektrum 2000. historisch: Grundlagen der Mathematik formales Beweisen und seine Rechtfertigung von Grundlagenfragen der Mathematik zu: Fragen der Berechenbarkeit/Entscheidbarkeit (Church, Turing) Kernfragen der theoretischen Informatik (vorweggenommen) seither: immer neue praktische Anwendungen in der Informatik FGdI II Sommer 2011 Teil 1: AL M.Otto und M.Ziegler 5/155 AL FGdI II Sommer 2011 Teil 1: AL Teil 1: Aussagenlogik, AL M.Otto und M.Ziegler 6/155 AL George Boole (1815–1864) Gegenstandsbereich: Verknüpfungen elementarer Aussagen mittels Boolescher logischer Verknüpfungen Boolesche Verknüpfungen (Junktoren): ¬, ∧, ∨, →, . . . Wesentlich: • strukturierte Formalisierung komplexerer Eigenschaften • modulare Semantik • kombinatorisch-algebraischer Charakter der Logik (Boole) • korrekte und vollständige Beweiskalküle Algebraisierung/Mathematisierung der Logik z.B. The Mathematical Analysis of Logic, Being an Essay Towards a Calculus of Deductive Reasoning 1847 An Investigation of the Laws of Thought, 1854 FGdI II Sommer 2011 M.Otto und M.Ziegler 7/155 FGdI II Sommer 2011 M.Otto und M.Ziegler 8/155 Teil 1: AL Syntax & Semantik AL 1 AL Syntax Teil 1: AL Definition 1.1 Symbole: 0, 1; p, q, r , . . . , p1 , p2 , . . .; ¬, ∧, ∨, . . .; (, ) AL Syntax z.B. 0, 1, p in AL(V) (wobei p ∈ V). für ϕ ∈ AL(V) ist auch ¬ϕ ∈ AL(V). Negation: AL := AL(V), V = {pi : i > 1} ALn := AL(Vn ), Vn = {pi : 1 6 i 6 n} für ϕ, ψ ∈ AL(V) ist auch (ϕ ∨ ψ) ∈ AL(V). Disjunktion: (ϕ → ψ) := (¬ϕ ∨ ψ), (ϕ ↔ ψ) := (¬ϕ ∧ ¬ψ) ∨ (ϕ ∧ ψ) . statt allg. AL(V) oft auch für standardisierte Variablenmengen: für ϕ, ψ ∈ AL(V) ist auch (ϕ ∧ ψ) ∈ AL(V). Konjunktion: AL 1 evtl. weitere Junktoren, offiziell hier nur als Abkürzungen: AL(V), die Menge der AL-Formeln über V zu geg. AL-Variablenmenge V, induktiv erzeugt: atomare Formeln: Syntax & Semantik Übung: Kontextfreie Grammatik (für AL(V n )) FGdI II Sommer 2011 Teil 1: AL M.Otto und M.Ziegler Syntax & Semantik 9/155 AL 1 AL Semantik Interpretationen von Belegungen der AL-Variablen zu Wahrheitswerten für AL-Formeln: Wahrheitswerte in B = {0, 1} I interpretiert p als “wahr” “falsch” Sommer 2011 Teil 1: AL Definition 1.4 V-Interpretation (Belegung): FGdI II I : V −→ B p 7−→ I(p) Syntax & Semantik AL 1 Wahrheitswerte für Formeln ϕ ∈ AL(V) bzgl. einer geg. V-Interpretatation I Funktion ϕ 7−→ ϕI induktiv: wenn I(p) = 1, wenn I(p) = 0. atomare Formeln: 0I := 0; 1I := 1; p I := I(p). Negation: (¬ϕ)I := 1 − ϕI . Konjunktion: zur Definition der Semantik von Formeln ϕ ∈ AL(V) über geg. V-Interpretation I: I: 10/155 AL Semantik: Wahrheitswerte Disjunktion: definiere Wahrheitswertfunktion M.Otto und M.Ziegler (ϕ ∧ ψ)I := min(ϕI , ψ I ). (ϕ ∨ ψ)I := max(ϕI , ψ I ). AL(V) −→ B ϕ 7−→ ϕI induktiv über den Aufbau der Formeln ϕ als Fortsetzung der Variablen-Belegung FGdI II Sommer 2011 M.Otto und M.Ziegler 11/155 FGdI II Sommer 2011 M.Otto und M.Ziegler 12/155 Teil 1: AL Syntax & Semantik AL 1 Teil 1: AL Syntax & Semantik AL 1 AL Semantik: Modellbeziehung AL Semantik: Wahrheitstafeln aus Funktion ϕ 7−→ ϕI definiere: für ϕ ∈ ALn schreiben wir auch ϕ = ϕ(p1 , . . . , pn ) für (b1 , . . . , bn ) ∈ Bn sei I ϕ für Interpretation I ϕ[b1 , . . . , bn ] := mit (I(pi ) = bi )i=1,...,n I erfüllt ϕ gdw. ϕI = 1 Schreibweise: Sprechweisen: I |= ϕ. I erfüllt ϕ, I ist Modell von ϕ, ϕ ist wahr unter I. der Wahrheitswert von ϕ auf (b1 , . . . , bn ). Wahrheitstafel: Wertetabelle der Funktion Für Formelmengen Φ ⊆ AL(V) entsprechend: I |= Φ gdw. I |= ϕ für alle ϕ ∈ Φ. FGdI II Sommer 2011 Teil 1: AL Bn −→ B (b1 , . . . , bn ) 7−→ ϕ[b1 , . . . , bn ] Diese Information bestimmt die Semantik von ϕ vollständig! M.Otto und M.Ziegler Syntax & Semantik 13/155 AL 1 FGdI II Teil 1: AL Sommer 2011 M.Otto und M.Ziegler Semantik 14/155 AL 2 AL Semantik: Wahrheitstafeln grundlegende semantische Begriffe Semantik der Junktoren anhand ihrer Wahrheitstafeln: Folgerung, Äquivalenz, Allgemeingültigkeit, Erfüllbarkeit p 0 1 p 0 0 1 1 FGdI II ¬p 1 0 q 0 1 0 1 p 0 0 1 1 q 0 1 0 1 p→q 1 1 0 1 Sommer 2011 p∧q 0 0 0 1 p 0 0 1 1 q 0 1 0 1 p 0 0 1 1 q 0 1 0 1 p∨q 0 1 1 1 (1) Folgerungsbeziehung ϕ |= ψ für ϕ, ψ ∈ AL(V): ψ folgt aus ϕ, wenn für jede V-Interpretation I gilt: aus I |= ϕ folgt I |= ψ. Entsprechend Φ |= ψ für Formelmengen Φ p↔q 1 0 0 1 M.Otto und M.Ziegler → Abschnitt 2.1 (2) Allgemeingültigkeit |= ϕ ϕ ∈ AL(V) allgemeingültig, wenn für alle V-Interpretationen I gilt: I |= ϕ. Beispiele ϕ |= ϕ ∨ ψ, 15/155 FGdI II ϕ |= (ϕ ∧ ψ) ∨ (ϕ ∧ ¬ψ), Sommer 2011 M.Otto und M.Ziegler |= ϕ ∨ ¬ϕ 16/155 Teil 1: AL Semantik AL 2 grundlegende semantische Begriffe Teil 1: AL → Abschnitt 2.2 Semantik AL 2 grundlegende semantische Begriffe → Abschnitt 2.3 Folgerung, Äquivalenz, Allgemeingültigkeit, Erfüllbarkeit Folgerung, Äquivalenz, Allgemeingültigkeit, Erfüllbarkeit (3) Logische Äquivalenz ϕ ≡ ψ Erfüllbarkeit ϕ ∈ AL(V) erfüllbar, wenn es mindestens eine V-Interpretation I gibt mit I |= ϕ. ϕ, ψ ∈ AL(V) heißen logisch äquivalent (Schreibweise: ϕ ≡ ψ) wenn für alle V-Interpretationen I gilt: I |= ϕ gdw. I |= ψ d.h. identische Wahrheitstafeln! Es gilt: ϕ≡ψ ϕ |= ψ und ψ |= ϕ gdw. Beispiele: gdw. analog für Formelmengen Φ ⊆ AL: Φ erfüllbar, wenn I |= Φ für mindestens ein I. wichtig: |= ϕ ↔ ψ gdw. ¬ϕ nicht allgemeingültig ϕ erfüllbar ¬¬p ≡ p, p ∨ 0 ≡ p, p ∧ 0 ≡ 0, . . . p ∨ q ≡ q ∨ p, (p ∨ q) ∨ r ≡ p ∨ (q ∨ r ), . . . (p ∨ q) ≡ ¬(¬p ∧ ¬q), (p ∧ q) ≡ ¬(¬p ∨ ¬q) p ∨ (q ∧ r ) ≡ (p ∨ q) ∧ (p ∨ r ), p ∧ (q ∨ r ) ≡ (p ∧ q) ∨ (p ∧ r ) FGdI II Sommer 2011 Teil 1: AL M.Otto und M.Ziegler Semantik 17/155 AL 2 FGdI II Sommer 2011 Teil 1: AL M.Otto und M.Ziegler Boolesche Funktionen 18/155 AL 3 Erfüllbarkeit AL und Boolesche Funktionen Zentrale Rolle der Erfüllbarkeit (SAT): Bn : die Menge aller n-stelligen Booleschen Funktionen • • • • |= ϕ gdw. ϕ |= ψ Φ |= ψ ϕ≡ψ gdw. gdw. gdw. f : Bn −→ B (b1 , . . . , bn ) 7−→ f (b1 , . . . , bn ) ¬ϕ nicht erfüllbar. ϕ ∧ ¬ψ nicht erfüllbar. speziell für ϕ ∈ ALn : Φ ∪ {¬ψ} nicht erfüllbar. fϕ : Bn −→ B (b1 , . . . , bn ) 7−→ ϕ[b1 , . . . , bn ] weder ϕ ∧ ¬ψ noch ¬ϕ ∧ ψ erfüllbar. beachte: AL Erfüllbarkeitsproblem (SAT(AL)) entscheidbar: also: – wie? – mit welchem Aufwand? (Komplexität) FGdI II Sommer 2011 M.Otto und M.Ziegler gdw. ϕ ≡ ψ ALn ≡ −→ Bn [ϕ]≡ 7−→ fϕ ∈ Bn fϕ = fψ SAT(AL) = {ϕ ∈ AL : ϕ erfüllbar } entscheidbar – wie sieht ein Zertifikat aus für Un-/Erfüllbarkeit? → Abschnitt 3 injektiv! Fragen: (P vs. N P) 19/155 • wieviele n-stellige Boolesche Funktionen gibt es?; |Bn | =? • ist jedes f ∈ Bn durch AL-Formel ϕ ∈ ALn darstellbar? FGdI II Sommer 2011 M.Otto und M.Ziegler 20/155 Teil 1: AL Boolesche Funktionen AL 3 Teil 1: AL Disjunktive und konjunktive Normalformen, DNF, KNF Nomenklatur: p bzw. ¬p (für p ∈ V) heißen Literale Funktionale Vollständigkeit von ALn für Bn : zu jedem f ∈ Bn existiert DNF-Formel ϕ ∈ ALn mit f = fϕ . (⇒ bijektive Korrespondenz zw. Bn und ALn ≡) “große” Konjunktion/Disjunktion (Schreibweisen): Beweis: für endliche Formelmenge Φ = {ϕ1 , . . . , ϕn }: V V Φ := ni=1 ϕi = ϕ1 ∧ . . . ∧ ϕn W W Φ := ni=1 ϕi = ϕ1 ∨ . . . ∨ ϕn betrachte ϕf := Konvention: auch leere Disjunktionen/Konjunktionen zulässig W mit der Interpretation: ∅ ≡ 0 (!) V ∅ ≡ 1 (!) Sommer 2011 Teil 1: AL 21/155 AL 3 → Abschnitt 3.2 nützliche Umformungen/Rechenregeln ¬(ϕ1 ∧ ϕ2 ) ≡ ¬ϕ1 ∨ ¬ϕ2 verallgemeinert sich zu ¬ wobei Φ¬ := ¬ϕ : ϕ ∈ Φ ¬(ϕ1 ∨ ϕ2 ) ≡ ¬ϕ1 ∧ ¬ϕ2 verallgemeinert sich zu ¬ ¬ ¬ für KNF ←→ DNF: k ^ i=1 | _ Ci {z } KNF FGdI II Teil 1: AL Dualität Konjunktion/Disjunktion ≡ V W ¬ Φ ≡ Φ i=1 | ^ Ci¬ Sommer 2011 M.Otto und M.Ziegler Boolesche Funktionen 22/155 AL 3 Beispiel für exponentiellen “blow-up” Vm ϕm = ϕm (p1 , . . . , p2m ) := i=1 ¬(p2i−1 ↔ p2i ) ∈ AL2m • ϕm hat genau 2m erfüllende Interpretationen in B2m • KNF von Länge ∼ m (linear in m): V ϕm ≡ m i=1 (p2i−1 ∨ p2i ) ∧ (¬p2i−1 ∨ ¬p2i ) W V ¬ Φ ≡ Φ k _ _ ϕb : f (b) = 1 ^ ^ wo ϕb = {pi : bi = 1} ∧ {¬pi : bi = 0} Korollar: Satz über DNF und KNF ( DNF-Formel ϕ1 ∈ ALn mit ϕ1 ≡ ϕ, zu ϕ ∈ ALn existieren stets: KNF-Formel ϕ2 ∈ ALn mit ϕ2 ≡ ϕ. M.Otto und M.Ziegler Boolesche Funktionen AL 3 Funktionale Vollständigkeit Disjunktionen von Konjunktionen von Literalen: DNF-Formeln Konjunktionen von Disjunktionen von Literalen: KNF-Formeln FGdI II Boolesche Funktionen • DNF in Länge ∼ 2m2m (exponentiell in m): W ϕm ≡ ϕb : b ∈ B2m , ϕm [b] = 1 {z } DNF (∗ ) • keine kürzere DNF: keine kürzeren Disjunktionsglieder! keine redundanten Disjunktionsglieder! C1 , . . . , Ck (endl.) Mengen von Literalen ∗ FGdI II Sommer 2011 Doppelnegationen in den Ci¬ eliminieren M.Otto und M.Ziegler 23/155 FGdI II Sommer 2011 M.Otto und M.Ziegler 24/155