Logik für Informatiker Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Logik in der Informatik Was ist Logik? 2 Logik in der Informatik Was ist Logik? • Mathematisch? 3 Logik in der Informatik Was ist Logik? • Mathematisch? • Unverständlich? 4 Logik in der Informatik Was ist Logik? • Mathematisch? • Unverständlich? • Reine Theorie ohne praktischen Nutzen? 5 Logik in der Informatik Was ist Logik? • Mathematisch? ja • Unverständlich? • Reine Theorie ohne praktischen Nutzen? 6 Logik in der Informatik Was ist Logik? • Mathematisch? ja • Unverständlich? hoffentlich nein • Reine Theorie ohne praktischen Nutzen? 7 Logik in der Informatik Was ist Logik? • Mathematisch? ja • Unverständlich? hoffentlich nein • Reine Theorie ohne praktischen Nutzen? nein: Verifikation von Hardware, Software, Protokollen Sprachverarbeitung und Wissensrepräsentation Abfragensprachen für Datenbanken; ... 8 Formale Logik Ziel • Formalisierung und Automatisierung rationalen Denkens • Rational richtige Ableitung von neuem Wissen aus gegebenem Rolle der Logik in der Informatik • Anwendung innerhalb der Informatik Spezifikation, Programmentwicklung, Programmverifikation • Werkzeug für Anwendungen außerhalb der Informatik Künstliche Intelligenz, Wissensrepräsentation 9 Formale Logik Ziel • Formalisierung und Automatisierung rationalen Denkens • Rational richtige Ableitung von neuem Wissen aus gegebenem Rolle der Logik in der Informatik • Anwendung innerhalb der Informatik Spezifikation, Programmentwicklung, Programmverifikation • Werkzeug für Anwendungen außerhalb der Informatik Künstliche Intelligenz, Wissensrepräsentation 10 Modellierung 11 Modellierung Abstraktion 12 Modellierung Abstraktion 13 Modellierung Adäquatheit des Modells Wenn formulierbare Aussage wahr im Modell, dann entsprechende Aussage wahr in Wirklichkeit 14 Beispiel: Aufzug oben mitte unten 15 Beispiel: Aufzug oben oben Aufzug oben Mitte gedruckt F.nach unten mitte mitte unten unten 16 Beispiel: Aufzug oben oben mitte mitte Aufzug mitte Oben gedruckt F.nach oben unten unten 17 Modellierung: Strukturen oben Aufzug oben Mitte gedruckt oben F.nach unten mitte mitte oben Aufzug mitte Unten gedruckt Aufzug oben Mitte gedruckt F.nach unten mitte F.nach unten unten v(AufzugOben) = wahr unten v(AufzugMitte) = wahr unten v(AufzugOben) = wahr v(AufzugMitte) = wahr v(MitteGedrückt) = wahr v(UntenGedrückt) = wahr v(MitteGedrückt) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr 18 Modellierung: Strukturen oben Aufzug oben Mitte gedruckt oben F.nach unten mitte mitte oben Aufzug mitte Unten gedruckt mitte Aufzug oben Mitte gedruckt F.nach unten Aufzug mitte F.nach unten unten v(AufzugOben) = wahr unten v(AufzugMitte) = wahr unten v(AufzugOben) = wahr v(AufzugMitte) = wahr v(MitteGedrückt) = wahr v(UntenGedrückt) = wahr v(MitteGedrückt) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr 19 Modellierung: Strukturen oben Aufzug oben Mitte gedruckt oben F.nach unten mitte mitte oben Aufzug mitte Unten gedruckt mitte Aufzug oben Mitte gedruckt F.nach unten Aufzug mitte F.nach unten unten unten unten Aussagen beziehen sich auf Strukturen (Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch auswertbar 20 Formale Logik • Syntax welche Formeln? • Semantik Modelle (Strukturen) Wann ist eine Formel wahr (in einer Struktur)? • Deduktionsmechanismus Ableitung neuer wahrer Formeln 21 Aussagenlogik Die Welt besteht aus Fakten 22 Aussagenlogik: Syntax Die Welt besteht aus Fakten Bausteine: Atomare Aussagen 23 Aussagenlogik: Syntax Die Welt besteht aus Fakten Bausteine: Atomare Aussagen Beispiele: Aufzug ist oben: AufzugOben Mittlerer Knopf gedrückt: MitteGedrückt 24 Aussagenlogik: Syntax Die Welt besteht aus Fakten Bausteine: Atomare Aussagen Beispiele: Aufzug ist oben: AufzugOben Mittlerer Knopf gedrückt: MitteGedrückt Verknüpft mit logischen Operatoren und oder impliziert nicht ∧ ∨ → ¬ 25 Aussagenlogik: Syntax Komplexe Aussagen: Beispiele: Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte MitteGedrückt → ¬AufzugMitte Der Aufzug ist oben und der Aufzug ist nicht unten AufzugOben ∧ ¬AufzugUnten 26 Aussagenlogik: Semantik Der Aufzug ist oben und der Aufzug ist nicht unten AufzugOben ∧ ¬AufzugUnten wahr in: oben Aufzug oben Mitte gedruckt F.nach unten mitte unten 27 Aussagenlogik: Semantik Der Aufzug ist oben und der Aufzug ist nicht unten AufzugOben ∧ ¬AufzugUnten falsch in: oben mitte Aufzug mitte Unten gedruckt F.nach unten unten 28 Aussagenlogik: Deduktionsmechanismus • Deduktionsmechanismus Ableitung neuer wahrer Formeln Syllogismen: P P→Q Q 29 Aussagenlogik: Deduktionsmechanismus • Deduktionsmechanismus Ableitung neuer wahrer Formeln Syllogismen: P P→Q Q AufzugUnten AufzugUnten → ¬AufzugOben ¬AufzugOben 30 Aussagenlogik: Deduktionsmechanismus Deduktionsmechanismus im allgemeinen Kalkül In dieser Vorlesung: • Wahrheitstafeln • Logische Umformung • Resolutionskalkül • Tableaukalkül • DPLL 31 Prädikatenlogik Aussagenlogik: Die Welt besteht aus Fakten 32 Prädikatenlogik Aussagenlogik: Die Welt besteht aus Fakten ... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft 33 Prädikatenlogik Aussagenlogik: Die Welt besteht aus Fakten ... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft Beispiele: • Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für jeden Mensch. • Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade” erfordert eine Formel für jede Zahl. 34 Prädikatenlogik Reichere Struktur • Objekte (Elemente) Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ... 35 Prädikatenlogik Reichere Struktur • Objekte (Elemente) Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ... • Relationen (Eigenschaften) rot, rund, prim, mehrstöckig, ... ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, .. =, ≥, ... 36 Prädikatenlogik Reichere Struktur • Objekte (Elemente) Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ... • Relationen (Eigenschaften) rot, rund, prim, mehrstöckig, ... ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, .. =, ≥, ... • Funktionen +, Mitte von, Vater von, Anfang von, ... 37 Beispiel: Tante Agatha Eine kleine Logelei: Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles waren die einzigen Bewohner von Schloss Dreadbury. Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein Opfer. Charles hasst niemanden, den Tante Agatha gehasst hat. Agatha hat jeden gehasst außer ihrem Butler. Der Butler hasst jeden, der nicht reicher ist als Tante Agatha. Der Butler hasst jeden, den Tante Agatha gehasst hat. Niemand hasst jeden. Agatha war nicht der Butler. Wer hat Tante Agatha ermordet? 38 Beispiel: Tante Agatha Zuerst formalisieren wir das Problem: Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha ermordet. E ◮ x (schlossbewohner(x) ∧ ermordet(x, a)) Agatha, ihr Butler und ihr Neffe Charles waren die einzigen Bewohner von Schloss Dreadbury. A ◮ x (schlossbewohner(x) ↔ (x = a ∨ x = b ∨ x = c)) 39 Beispiel: Tante Agatha Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein Opfer. A A ◮ x, y (ermordet(x, y ) → hasst(x, y )) x, y (ermordet(x, y ) → ¬ reicher(x, y )) Charles hasst niemanden, den Tante Agatha gehasst hat. A ◮ x (hasst(c, x) → ¬ hasst(a, x)) Agatha hat jeden gehasst außer ihrem Butler. A ◮ ¬ hasst(a, x) ↔ x = b) x (¬ 40 Beispiel: Tante Agatha Der Butler hasst jeden, der nicht reicher ist als Tante Agatha. A ◮ ¬ reicher(x, a) → hasst(b, x)) x (¬ Der Butler hasst jeden, den Tante Agatha gehasst hat. A ◮ x (hasst(a, x) → hasst(b, x)) Niemand hasst jeden. E A ◮ x ¬ hasst(x, y )) y (¬ Agatha war nicht der Butler. ◮ ¬a=b 41 Prädikatenlogik: Deduktionsmechanismus • Deduktionsmechanismus Ableitung neuer wahrer Formeln Syllogismen: A A x(P(x) → Q(x)) x(Q(x) → R(x)) A x(P(x) → R(x)) 42 Beispiel: Tante Agatha Nun können wir aus den Formeln neue Formeln ableiten. Beispielweise so: ermordet(x, y ) → hasst(x, y ) hasst(c, y ) → ¬hasst(a, y ) ermordet(c, y ) → ¬hasst(a, y ) ermordet(c, y ) → ¬hasst(a, y ) ¬hasst(a, y ) → y = b ermordet(c, y ) → y = b 43 Beispiel: Tante Agatha Nun können wir aus den Formeln neue Formeln ableiten. Beispielweise so: ermordet(x, y ) → hasst(x, y ) hasst(c, y ) → ¬hasst(a, y ) ermordet(c, y ) → ¬hasst(a, y ) ermordet(c, y ) → ¬hasst(a, y ) ¬hasst(a, y ) → y = b ermordet(c, y ) → y = b ermordet(c, y ) → y = b ¬(a = b) ¬ermordet(c, a) 44 Beispiel: Tante Agatha Damit wissen wir schon, dass Charles nicht der Mörder ist. Die weitere Berechnung ist aber mühsam. Glücklicherweise können wir die Arbeit einem automatischen Theorembeweiser überlassen. 45 Das Prinzip Problem L osung Beshreibung der Situation Charles ermordete Agatha in Shlo Dreadbury Der Butler ermordete Agatha Agatha beging Selbstmord Wer hat Agatha ermordet? T ater unbekannt 21 Das Prinzip z. B. naturlihe Sprahe Problem L osung Formeln Lo sung prazise Beshreibung 22 Das Prinzip Problem L osung 1 Formeln Lo sung 1. Formalisierung: von Problemen zu Formeln manhmal automatish m oglih 23 Das Prinzip Problem L osung Formeln Lo sung 2 2. Formalisiertes Problem lo sen in der Praxis entstehen sehr viele neue Formeln Computerunterstu tzung ist notwendig (aber auh dann ist die Anzahl der Formeln das Hauptproblem) 24 Das Prinzip Problem L osung 3 Formeln Lo sung 3. Lo sung zuru ku bersetzen wieder m ogliherweise automatish 25 Beispiel 2: Siherheitsprotokolle Ziel: zwei Personen (Alie und Bob) wollen miteinander kommunizieren u ber ein unsiheres Daten- oder Telefonnetz, siher, d. h., ohne da ein Eindringling (Charlie) mith oren oder sih als Alie oder Bob ausgeben kann. Hilfsmittel: Vershlusselung Alie und Bob vereinbaren einen gemeinsamen Shlu ssel und nutzen ihn, um ihr Gesprah zu vershlusseln. Nur wer den Shlu ssel kennt, kann das Gesprah ent- shlusseln. 26 Beispiel 2: Siherheitsprotokolle Ziel: zwei Personen (Alie und Bob) wollen miteinander kommunizieren u ber ein unsiheres Daten- oder Telefonnetz, siher, d. h., ohne da ein Eindringling (Charlie) mith oren oder sih als Alie oder Bob ausgeben kann. Hilfsmittel: Vershlusselung Alie und Bob vereinbaren einen gemeinsamen Shlu ssel und nutzen ihn, um ihr Gesprah zu vershlusseln. Nur wer den Shlu ssel kennt, kann das Gesprah ent- shlusseln. 27 Beispiel 2: Siherheitsprotokolle Problem: wie kommen die Gesprahspartner an den gemeinsamen Shlussel? bergabe kommt niht immer in Frage. Perso nlihe U Wird der gemeinsame Shlu ssel uber das Netz unvershlusselt vershikt, konnte Charlie ihn abfangen oder austaushen. Annahme: es gibt eine sihere Shlu sselzentrale, mit der Alie und Bob jeweils einen gemeinsamen Shlussel vereinbart haben. 28 Beispiel 2: Siherheitsprotokolle Das folgende Shlusselaustaushverfahren wurde 1993 von den beiden Kryptographen Neuman und Stubblebine vorgeshlagen: Shritt 1: Alie shikt (oen) Identikation und Zufallszahl an Bob. 29 Beispiel 2: Siherheitsprotokolle Shritt 2: Bob leitet Nahriht weiter an Shlusselzentrale ( Trust\). " 30 Beispiel 2: Siherheitsprotokolle Shritt 3: Trust shikt Nahriht an Alie. Darin: ein neuer gemeinsamer Shlussel, einmal fur Alie und einmal fur Bob vershlusselt. 31 Beispiel 2: Siherheitsprotokolle Shritt 4: Alie leitet den neuen gemeinsamen Shlussel weiter an Bob. 32 Beispiel 2: Siherheitsprotokolle Shritt 5: Alie und Bob konnen nun mit dem gemeinsamen Shlussel kommunizieren. 33 Beispiel 2: Siherheitsprotokolle Ist das Verfahren siher? Wir ubersetzen das Problem wieder in Formeln und lassen sie von einem Theorembeweiser untersuhen. 34 Beispiel 2: Siherheitsprotokolle Zuerst formalisieren wir die Eigenshaften des Protokolls: Wenn Alie/Bob/Trust eine Nahriht in einem bestimmten Format bekommt, dann shikt er/sie eine andere Nahriht ab. Wenn eine Nahriht u bermittelt wird, kann Charlie sie mithoren. Wenn Charlie eine vershlu sselte Nahriht bekommt und den passenden Shlussel hat, kann er sie entshlusseln. Wenn Charlie eine Nahriht hat, dann kann er sie an Alie/Bob/Trust abshiken. ::: 35 Beispiel 2: Siherheitsprotokolle Dann formalisieren wir das Problem: Kann Charlie an einen Shlussel kommen, den Bob fur siher halt? Wir bekommen ungefahr 20 Formeln und geben sie in einen Theorembeweiser ein. Dieser antwortet nah 1 Sekunde ja\! " Warum? 36 Beispiel 2: Siherheitsprotokolle Dann formalisieren wir das Problem: Kann Charlie an einen Shlussel kommen, den Bob fur siher halt? Wir bekommen ungefahr 20 Formeln und geben sie in einen Theorembeweiser ein. Dieser antwortet nah 1 Sekunde ja\! " Warum? 37 Beispiel 2: Siherheitsprotokolle Dann formalisieren wir das Problem: Kann Charlie an einen Shlussel kommen, den Bob fur siher halt? Wir bekommen ungefahr 20 Formeln und geben sie in einen Theorembeweiser ein. Dieser antwortet nah 1 Sekunde ja\! " Warum? 38 Beispiel 2: Siherheitsprotokolle Was kann passieren? Charlie fangt die letzte Nahriht von Alie ab. 39 Beispiel 2: Siherheitsprotokolle Was kann passieren? Charlie shikt eine veranderte Nahriht an Bob. 40 Beispiel 2: Siherheitsprotokolle Was kann passieren? Bob entshlusselt die Nahriht und denkt, sie komme von Alie. 41 Beispiel 2: Siherheitsprotokolle Was kann passieren? Bob startet Kommunikation mit Alie : : : 42 Beispiel 2: Siherheitsprotokolle Was kann passieren? ::: aber spriht in Wirklihkeit mit Charlie. 43 Beispiel 2: Siherheitsprotokolle Der Fehler ist tatsahlih leiht zu beheben. Mit ein wenig Erfahrung erkennt man aus der Ausgabe des Theorembeweisers, wie es geht. 44 Prädikatenlogik: Deduktionsmechanismus In dieser Vorlesung: • Resolutionskalkül • Tableaukalkül 46 Das ganze Bild Probleme (Beschreibung in natürlicher Sprache) Formalisierung Logische Sprache: Syntax Aussagenlogik / Prädikatenlogik Formel Modelle: Semantik Kalkül Logik Vollständigkeit Gültige Formel Beweisbare Formel Korrektheit 47 Das ganze Bild Probleme (Beschreibung in natürlicher Sprache) Formalisierung Modellierung Logische Sprache: Syntax Aussagenlogik / Prädikatenlogik Formel Modelle: Semantik Kalkül Logik Vollständigkeit Gültige Formel Beweisbare Formel Korrektheit 48 Das ganze Bild Probleme (Beschreibung in natürlicher Sprache) Formalisierung Logische Sprache: Syntax Aussagenlogik / (automatische) Prädikatenlogik Deduktion Formel Modelle: Semantik Kalkül Logik Vollständigkeit Gültige Formel Beweisbare Formel Korrektheit 49 Inhalt der Vorlesung • 1. Einführung: Motivation, Beweisstrategien (insb. Induktion) 50 Inhalt der Vorlesung • 1. Einführung: Motivation, Beweisstrategien (insb. Induktion) • 2. Aussagenlogik – Syntax und Semantik – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux; DPLL 51 Inhalt der Vorlesung • 1. Einführung: Motivation, Beweisstrategien (insb. Induktion) • 2. Aussagenlogik – Syntax und Semantik – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux; DPLL • 3. Prädikatenlogik – Syntax und Semantik – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux 52 Inhalt der Vorlesung • 1. Einführung: Motivation, Beweisstrategien (insb. Induktion) • 2. Aussagenlogik – Syntax und Semantik – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux; DPLL • 3. Prädikatenlogik – Syntax und Semantik – Deduktionsmechanismen: - Resolution, Vollständigkeits- und Korrektheitsbeweise - Analytische Tableaux • 4. Weitere Aussichten - Nichtklassische Logiken; Logiken höherer Stufe - Anwendungen: z.B. Datenbanken oder Verifikation 53 Einführung: Zusammenfassung • Ziel und Rolle der Formalen Logik in der Informatik • Modellierung, Adäquatheit der Modellierung • Wesentliche Komponenten für jede Logik: Syntax, Semantik, Deduktionsmechanismus (Kalkül) • Beispiel Aussagenlogik: Syntax, Semantik, Syllogismen • Beispiel Prädikatenlogik: Syntax, Semantik, Syllogismen • The Whole Picture: – Formel in der “wahren Welt” / (semantisch) gültige Formel, gültige Formel / ableitbare Formel – Vollständigkeit und Korrektheit von Kalkülen 54