Beweissysteme für die Aussagenlogik. Beweissysteme in der Aussagenlogik Beweissysteme 1 / 105

Ähnliche Dokumente
3. Grundlegende Begriffe von Logiken - Aussagenlogik

Logik für Informatiker

Logic in a Nutshell. Christian Liguda

Hilbert-Kalkül (Einführung)

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Grundlagen der Theoretischen Informatik

Grundlagen der Künstlichen Intelligenz

Ersetzbarkeitstheorem

Beispiel Aussagenlogik nach Schöning: Logik...

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

TU5 Aussagenlogik II

Weitere Beweistechniken und aussagenlogische Modellierung

Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln

Brückenkurs Mathematik

SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Normalformen boolescher Funktionen

Übung 4: Aussagenlogik II

Rhetorik und Argumentationstheorie.

Erfüllbarkeit und Allgemeingültigkeit

Klassische Aussagenlogik

abgeschlossen unter,,,, R,

Teil 7. Grundlagen Logik

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Logik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Musterlösung 11.Übung Mathematische Logik

Algorithmen und Datenstrukturen

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015

Logische und funktionale Programmierung

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Logik Teil 1: Aussagenlogik

Brückenkurs Mathematik. Dienstag Freitag

Einführung in die Logik. Sommersemester Juli 2010 Institut für Theoretische Informatik

Automaten, Spiele und Logik

Einiges zu Resolutionen anhand der Aufgaben 6 und 7

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen

SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER

Lösungsvorschläge Blatt Z1

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Beschreibungskomplexität von Grammatiken Definitionen

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Theoretische Informatik SS 03 Übung 11

Mathematische Logik. Grundlagen, Aussagenlogik, Semantische Äquivalenz. Felix Hensel. February 21, 2012

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Lösungen 1 zum Mathematik-Brückenkurs für alle, die sich für Mathematik interessieren

Grundlagen der Kognitiven Informatik

Konjunktive und disjunktive Normalformen

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

Bisher. Wiederholung NFA Modellierung durch NFA Kripke-Struktur

Theoretische Informatik

Formale Systeme. Aussagenlogik: Sequenzenkalkül. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Mathematik für Informatiker I

3 Vom Zählen zur Induktion

Logik für Informatiker

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

mathe plus Aussagenlogik Seite 1

Kapitel 1. Grundlagen Mengen

Elementare Beweismethoden

Die Folgerungsbeziehung

Kapitel 1. Grundlagen

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Logik für Informatiker

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni Formale Methoden II p.1/30

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Strukturelle Rekursion und Induktion

Klausur Formale Systeme Fakultät für Informatik 2. Klausur zum WS 2010/2011

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Mütze und Handschuhe trägt er nie zusammen. Handschuhe und Schal trägt er immer zugleich. (h s) Modellierung als Klauselmenge

Prädikatenlogik. Kapitel Die prädikatenlogische Sprache

Mathem.Grundlagen der Computerlinguistik I, WS 2004/05, H. Leiß 1

Vorlesung. Logik und Diskrete Mathematik

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe

SS April Übungen zur Vorlesung Logik Blatt 1. Prof. Dr. Klaus Madlener Abgabe bis 27. April :00h

Wissensbasierte Systeme

Logische Folgerung. Definition 2.11

5.4 Die Prädikatenlogik 1.Stufe als Semantikformalismus

Grundlagen der Logik Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007

Aufgabe - Fortsetzung

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Einführung in Algorithmen und Komplexität

24 KAPITEL 2. REELLE UND KOMPLEXE ZAHLEN

Mathematik für Informatiker I Mitschrift zur Vorlesung vom

1 Das Prinzip der vollständigen Induktion

Vorlesung. Vollständige Induktion 1

Elementare Mengenlehre

Grundlagen der diskreten Mathematik

Grundkurs Logik - 2. Einheit

Logik und Diskrete Strukturen

Transkript:

Beweissysteme für die Aussagenlogik Beweissysteme in der Aussagenlogik Beweissysteme 1 / 105

Automatisches Beweisen Ein Beweissystem für eine Sprache L ist eine effizient berechenbare Funktion B : Σ Σ mit B(Σ ) = L. Für w L und B(b) = w heißt b ein Beweis von w. Gibt es stets Beweise polynomieller Länge für Tautologien? Wenn ja, dann rate einen Beweis nichtdeterministisch und verifiziere deterministisch. Übungsaufgabe: Die Bestimmung von Tautologien ist a ein (unter polynomiellen Reduktionen) schwierigstes Problem in conp = {L : L NP}. Übungsaufgabe: Ein conp-vollständiges Problem liegt in NP = conp = NP folgt. Das Ergebnis (der Beweis ist ebenfalls als Übungsaufgabe gestellt): NP = conp es gibt ein Beweissystem, so dass jede Tautologie τ in polynomieller Länge (in τ) beweisbar ist. Wir schränken uns im Folgenden auf konventionelle Beweissysteme ein. Beweissysteme in der Aussagenlogik Beweissysteme 2 / 105

Schlussregeln Wahrheitstafeln bei vielen Variablen sind viel zu groß! Was tun? φ 1 (X 1,..., X k ),..., φ l (X 1,..., X k ) und ψ(x 1,..., X k ) seien aussagenlogische Formeln mit den Variablen X 1,..., X k. Setze S := (φ 1,..., φ l ; ψ). (a) Man nennt S eine Schlussregel, falls gilt (φ 1 φ l ) = ψ. (b) Wenn wir S auf beliebige aussagenlogische Formeln α 1,..., α k anwenden, erhalten wir die semantische Folgerung ( ) φ 1 (α 1,..., α k ) φ l (α 1,..., α k ) = ψ(α 1,..., α k ). Beweissysteme in der Aussagenlogik Beweissysteme 3 / 105

Der Modus Ponens Beweissysteme in der Aussagenlogik Der Modus Ponens 4 / 105

Modus Ponens und Modus Tollens Die Schlussregel S des Modus Ponens hat die Form S := (X 1, X 1 X 2 ; X 2 ). In einer Anwendung folgt α 2 aus α 1 und α 1 α 2. Man schreibt auch α 1, α 1 α 2 α 2 Die Schlussregel S des Modus Tollens hat die Form S := ( X 2, X 1 X 2 ; X 1 ). In einer Anwendung folgt α 1 aus α 2 und α 1 α 2. Man schreibt auch α 2, α 1 α 2 α 1 Beweissysteme in der Aussagenlogik Der Modus Ponens 5 / 105

Beweissysteme (a) Ein Beweissystem B := (A, S) besteht aus einer Menge A von allgemeingültigen Formeln, den Axiomen, und einer Schlussregel S. (b) Eine rekursive Definition der Ableitbarkeit Φ B φ einer Formel φ aus einer Menge Φ von Formeln. Basisregeln: Alle Axiome, also alle Formeln χ A, sind aus Φ in B ableitbar, es gilt also Φ B χ. Alle Formeln χ Φ sind aus Φ in B ableitbar, es gilt also Φ B χ. Rekursive Regeln: Wenn Φ B χ i für i = 1,..., l gilt und wenn die Formel χ nach Anwendung der Schlussregel S aus χ 1,..., χ l folgt, dann gilt Φ B χ. Beweissysteme in der Aussagenlogik Der Modus Ponens 6 / 105

Beweise Um eine Ableitung Φ B χ nachzuweisen, gibt man einen Beweis (χ 1, χ 2,..., χ i,..., χ n ) an, der aus aussagenlogischen Formeln besteht. Der Beweis (χ 1, χ 2,..., χ i,..., χ n ) muss die folgenden Eigenschaften besitzen: (a) χ n ist die Zielformel, d.h. es gilt χ n = χ. (b) Für jedes i mit 1 i n ist χi ein Axiom, d.h. es gilt χ i A oder χi gehört zur Formelmenge Φ oder es gibt 1 i1 < < i l < i und χ i folgt nach Anwendung der Schlussregel S aus χ i1,..., χ il. Beweissysteme in der Aussagenlogik Der Modus Ponens 7 / 105

Soundness Sei B = (A, S) ein Beweissystem. Sei χ eine aussagenlogische Formel und Φ eine beliebige Menge aussagenlogischer Formeln. Dann gilt Φ B χ = Φ = χ. Ableitbarkeit impliziert semantische Folgerung. Beweis: Man zeigt die Behauptung durch eine vollständige Induktion über die Länge eines Beweises (χ 1,..., χ n ) für χ. Beweissysteme in der Aussagenlogik Der Modus Ponens 8 / 105

Das Beweissystem des Modus Ponens Die Junktoren,,, lassen sich durch Implikation und Negation ausdrücken. AL({, }) ist die Menge der Formeln, die nur aus den Junktoren und aufgebaut sind. Die aussagenlogischen Konstanten 0, 1 dürfen nicht benutzt werden. Das automatische Beweissystem ABS := (A ABS, S ABS ) des Modus Ponens: Die Axiome: Die Menge A ABS besteht für alle aussagenlogischen Formeln φ, χ, ψ AL({, }) aus den folgenden drei Klassen von Formeln: (1) φ (ψ φ) A ABS, (2) (φ (µ ψ)) ((φ µ) (φ ψ)) A ABS, (3) ( φ ψ) (ψ φ) A ABS. Die Schlussregel S ABS ist der Modus Ponens. Das Beweissystem des Modus Ponens 9 / 105

Das Beweissystem des Modus Ponens: Ein Beispiel Wir zeigen die Transitivität der Implikation, also die Ableitung {φ ψ, ψ χ} ABS (φ χ). Hier sind die einzelnen Ableitungsschritte. Setze Φ := {φ ψ, ψ χ}. 1. Für χ 1 := (ψ χ) gilt Φ ABS χ 1, denn ψ χ Φ. 2. χ 2 := ((ψ χ) (φ (ψ χ))) ist ein Axiom des Typs (1). 3. Wende den Modus Ponens auf χ 1 und χ 2 an = φ 3 := (φ (ψ χ)) folgt. 4. χ 4 := ((φ (ψ χ)) ((φ ψ) (φ χ))) ist ein Axiom vom Typ 2. 5. Wende den Modus Ponens auf χ 3 und χ 4 an = χ 5 := ((φ ψ) (φ χ)) folgt. 6. Die Formel χ 6 := φ ψ ist ableitbar, denn φ ψ Φ. 7. Die Zielformel χ 7 := (φ χ) folgt aus dem Modus Ponens angewandt auf χ 5 und χ 6. Das Beweissystem des Modus Ponens 10 / 105

Der Vollständigkeitssatz für ABS Die Formelmenge Φ AL({, }) und die Formel χ AL({, }) seien gegeben. Dann gilt Φ = χ Φ ABS χ. Setze Φ = : Die Formel χ ist genau dann allgemeingültig, wenn χ aus den Axiomen in A ABS mit Hilfe der Schlussregel des Modus Ponens ableitbar ist. Die Richtung = haben wir bereits für beliebige Beweissysteme gezeigt. Zeige: Wenn Φ = χ, dann Φ ABS χ. Das Beweissystem des Modus Ponens Der Vollständigkeitssatz 11 / 105

Widerspruchsvoll und widersprüchlich Sei Φ AL({, }) eine Formelmenge. (a) Φ heißt widerspruchsvoll (bzgl. ABS), wenn es eine Formel ψ AL({, }) gibt mit Φ ABS ψ und Φ ABS ψ. Gibt es eine solche Formel ψ nicht, dann heißt Φ widerspruchsfrei. (b) Φ heißt maximal widerspruchsfrei, wenn Φ widerspruchsfrei ist und wenn (ψ Φ oder ψ Φ) für alle Formeln ψ AL({, }) gilt. (c) Φ heißt widersprüchlich, falls es keine Belegung gibt, die alle Formeln in Ψ erfüllt. Das Beweissystem des Modus Ponens Der Vollständigkeitssatz 12 / 105

Der kritische Schritt im Beweis des Vollständigkeitssatzes Die Formelmenge Φ AL({, }) sei widerspruchsfrei und ψ AL({, }) sei gegeben. (a) Dann ist Φ {ψ} oder Φ { ψ} widerspruchsfrei. (b) Zu jeder widerspruchsfreien Formelmenge Φ AL({, }) gibt es eine maximal widerspruchsfreie Formelmenge Φ mit Φ Φ. Wir nehmen zuerst an, dass es stets maximal widerspruchsfreie Obermengen einer widerspruchsfreien Formelmenge gibt und zeigen den Vollständigkeitssatz. Das Beweissystem des Modus Ponens Der Vollständigkeitssatz 13 / 105

Der Beweis des Vollständigkeitssatzes Wenn Φ = χ, dann Φ ABS χ. 1. Aus Φ = χ folgt, dass Φ { χ} widersprüchlich ist. 2. Angenommen, Φ { χ} ist widerspruchsfrei = Es gibt eine maximal widerspruchsfreie Obermenge Φ von Φ { χ}. Definiere die Belegung B : Für jede Variable V setze B (V ) := 1, wenn V Φ, B (V ) := 0, wenn V Φ. B erfüllt alle Formeln in Φ vollständige Induktion über den Formelaufbau. B erfüllt Φ { χ}, denn Φ { χ} Φ 3. Also ist Φ { χ} doch widerspruchsvoll. Jede Formel kann aus Φ { χ} gefolgert werden. = Φ { χ} ABS χ. Übungsaufgabe: Wenn Φ {φ} ABS ψ, dann Φ ABS (φ ψ). Also folgt: Φ ABS ( χ χ). 4. Zeige ( ψ ψ) ABS ψ. 5. Mit der Transitivität der Implikation folgt Φ ABS χ. Das Beweissystem des Modus Ponens Der Vollständigkeitssatz 14 / 105

Existenz maximal widerspruchsfreier Formelmengen Angenommen, Φ {ψ} wie auch Φ { ψ} sind widerspruchsvoll. 1. Φ {ψ} ist nach Annahme widerspruchsvoll = Φ {ψ} ABS ψ = Φ ABS ψ ψ. 2. Ebenfalls nach Annahme ist Φ { ψ} widerspruchsvoll = Φ { ψ} ABS ψ Also folgt Φ ABS ( ψ ψ). Zeige ( ψ ψ) ABS ψ. Transitivität der Implikation = Φ ABS ψ. 3. Wende den Modus Ponens auf ψ und ψ ψ an = Φ ABS ψ = Φ ist doch nicht widerspruchsfrei (a) Also ist Φ {ψ} oder Φ { ψ} widerspruchsfrei. (b) Die Existenz einer maximal widerspruchsfreien Obermenge folgt. Das Beweissystem des Modus Ponens Der Vollständigkeitssatz 15 / 105

Frege Systeme (a) Ein Beweissystem F mit endlich vielen Schlussregeln a heißt ein Frege-System, wenn F vollständig ist: Gilt Φ = φ, dann auch Φ F φ. (b) Seien F 1, F 2 zwei Frege-Systeme. Definiere L i (Φ, φ) als die minimale Länge eines Beweises Φ Fi φ. Dann gibt es Polynome p 1 (x), p 2 (x) mit L 1 (Φ, φ) p 1 (L 2 (Φ, φ)) p 2 (L 1 (Φ, φ)). Frege-Syteme sind polynomiell-äquivalent. a Fasse Axiome als Schlussregeln α auf. Das Beweissystem des Modus Ponens Der Vollständigkeitssatz 16 / 105

Der Kompaktheitssatz (a) Übungsaufgabe: Wenn Φ φ, dann gibt es eine endliche Teilmenge Φ Φ mit Φ φ = (b) Jede widerspruchsvolle Formelmenge besitzt eine endliche Teilmenge, die widerspruchsvoll ist. Der Kompaktheitssatz: Sei Φ eine widersprüchliche Menge von Formeln. Dann gibt es eine endliche Teilmenge Φ Φ, die widersprüchlich ist. Das Beweissystem des Modus Ponens Der Kompaktheitssatz 17 / 105

Das KNF-Erfüllbarkeitsproblem Das KNF-Erfüllbarkeitsproblem Resolution 18 / 105

KNF-SAT Im KNF-Erfüllbarkeitsproblem kurz: KNF-SAT ist für eine für eine KNF-Formel φ, also für eine aussagenlogische Formel in konjunktiver Normalform, zu entscheiden, ob φ erfüllbar ist. - KNF-SAT ist NP-vollständig. + Viele wichtige Instanzen lassen sich mit Hilfe von Heuristiken für KNF-SAT, den so genannten SAT-Solvern, lösen. + KNF-SAT hat als NP-vollständiges Problem viele Anwendungen. Das KNF-Erfüllbarkeitsproblem Resolution 19 / 105

Model Checking Model Checking: Überprüfen, ob eine Implementierung für jede Instanz eine vorgebene Spezifikation einhält. 1 Häufig gibt es einen effizienten Algorithmus A, der eine Instanz x genau dann akzeptiert, wenn sich Implementierung und Spezifikation für x unterscheiden : Die Implementierung hält die Spezifikation immer ein L(A) =. 2 Angenommen, wir sind nur an Instanzen x {0, 1} n interessiert: Baue eine KNF φ, so dass φ(x) ist wahr A akzeptiert x. Die Implementierung hält die Spezifikation für alle Eingaben in {0, 1} n ein φ ist nicht erfüllbar. Das KNF-Erfüllbarkeitsproblem Resolution 20 / 105

Resolution: Ein zentraler Baustein in vielen SAT-Solvern Das KNF-Erfüllbarkeitsproblem Resolution 21 / 105

Die Resolutionsregel Stelle einen Disjunktionsterm (bzw Klausel) als die Menge D = l 1 l m {l 1,..., l m } seiner Literale dar. Bezeichne den leeren Disjunktionsterm mit ɛ. Sei X eine Variable, α = α {X} und β = β { X} seien Disjunktionsterme. Mit der Resolutionsregel α {X}, β { X} α β darf der Disjunktionsterm α β abgeleitet werden. Wir sagen, dass α β eine Anwendung der Resolutionsregel zu X ist. Beachte, dass { α {X}, β { X} } = α β gilt, die Resolutionsregel erlaubt also nur die Ableitung von semantischen Folgerungen. Das KNF-Erfüllbarkeitsproblem Resolution 22 / 105

Das Beweisverfahren der Resolution (a) Das Beweissystem R = (A R, S R ) der Resolution besitzt keine Axiome, d.h. es gilt A R =. Die Resolutionsregel ist die einzige Schlussregel in S R. (b) Für eine Menge Φ von Disjunktionstermen und einen Disjunktionsterm χ führt man den Begriff Φ R χ eines Resolutionsbeweises rekursiv wie folgt ein: Basisregel: Für jedes α Φ ist Φ R α. Rekursive Regel: Wenn Φ R α {X} und Φ R β { X}, dann gilt auch Φ R α β. (c) Ein Resolutionsbeweis für die Ableitung Φ R χ ist ein Tupel (χ 1,..., χ i,..., χ n ) von Disjunktionstermen. Es muss gelten: (a) χ n ist die Zielformel, d.h. es gilt χ n = χ. (b) Für jedes i mit 1 i n ist entweder χ i eine Formel aus Φ oder es gibt 1 i 1 < i 2 < i und χ i folgt aus χ i1, χ i2 durch Anwendung der Resolutionsregel. Das KNF-Erfüllbarkeitsproblem Resolution 23 / 105

Resolution: Ein erstes Beispiel Zeige die Transitivität der Implikation, d.h. zeige Φ R χ mit Φ := { { X, Y }, { Y, Z} } und χ := { X, Z}. 1. Die Formel χ 1 := { X, Y } gehört zu Φ und ist deshalb in R ableitbar. 2. Gleiches gilt für die Formel χ 2 := { Y, Z} und deshalb ist χ 2 ableitbar. 3. Jetzt erhalten wir χ 3 := { X, Z} = χ nach Anwendung der Resolutionsregel auf χ 1 und χ 2. { X, Y }, { Y, Z} { X, Z} Das KNF-Erfüllbarkeitsproblem Resolution 24 / 105

Resolution und KNF-SAT Das KNF-Erfüllbarkeitsproblem Resolution 25 / 105

KNF-SAT mit Resolutionsbeweisen lösen?! Ist die KNF φ = D 1 D 2 D m erfüllbar? Sei Φ := { D 1,..., D m }. :-)) Wir zeigen den Vollständigkeitssatz für die Resolution: Sei Φ eine Menge von Disjunktionstermen. Dann gilt ( ) D ist unerfüllbar Φ R ɛ. D Φ. Achtung: {X} R {X, Y }. :-(( Aber es gibt widersprüchliche Formelmengen Φ wie das Schubfachprinzip, die nur exponentiell lange Resolutionsbeweise besitzen! - Für einige Formeln gibt es nur sehr, sehr lange Resolutionsbeweise. + Moderne Resolutionsverfahren finden aber für viele Formeln kurze Beweise. Das KNF-Erfüllbarkeitsproblem Resolution 26 / 105

Resolution: Ein zweites Beispiel 1. Die Kunden der Bahn sind nicht zufrieden, wenn sich die Preise erhöhen: P Z folgt, oder sich die Fahrzeiten verlängern, d.h. F Z ist die Konsequenz. 2. Wenn der Frankfurter Kopfbahnhof nicht in einen Durchgangsbahnhof umgebaut wird, verlängern sich die Fahrzeiten, also gilt B F. 3. Der Bahnhof kann nur dann umgebaut werden, wenn die Fahrpreise erhöht werden, d.h. B P folgt. Die Bahn kann es niemandem recht machen, denn die Formelmenge { } Φ := { P, Z}, { F, Z}, {B, F }, { B, P}, {Z} ist unerfüllbar. Wie sieht ein Resolutionsbeweis Φ R ɛ aus? Das KNF-Erfüllbarkeitsproblem Resolution 27 / 105

Die Resolution ist vollständig Das KNF-Erfüllbarkeitsproblem Resolution 28 / 105

Vollständigkeit der Resolution (1/4) Sei Φ eine Menge von Disjunktionstermen. Dann gilt ( ) D ist unerfüllbar Φ R ɛ. D Φ Beweis: Sei Φ eine Menge von Disjunktionstermen. Wir entfernen sukzessive Variablen bis Erfüllbarkeit festgestellt oder der leere Disjunktionsterm abgeleitet wird. Das KNF-Erfüllbarkeitsproblem Resolution 29 / 105

Vollständigkeit der Resolution (2/4) (a) Setze k := 0 und Φ 0 := Φ. (b) Wiederhole: 1. Entferne alle allgemeingültigen Disjunktionsterme D = D {X, X} aus Φ k. Wenn Φ k =, dann halte mit der Antwort Φ ist erfüllbar. 2. Wähle eine aussagenlogische Variable X, die in mindestens einem Disjunktionsterm in Φ k vorkommt. Wende, wann immer möglich, die Resolutionsregel zu X an, d.h. bestimme Ψ 1 := {α β : α {X} Φ k, β { X} Φ k }. Entferne aus Φ k alle Disjunktionsterme, die das Literal X, bzw. das Literal X enthalten, d.h. bestimme Ψ 2 := {α : X Var(α) und α Φ k }. Setze Φ k+1 := (Φ k Ψ 1 ) \ Ψ 2. Achtung: Die Menge Φ k+1 nimmt möglicherweise gewaltig an Größe zu! Wenn Φ k+1 jetzt den leeren Disjunktionsterm ɛ enthält, dann halte mit der Antwort Φ ist unerfüllbar. Sonst setze k := k + 1. Das KNF-Erfüllbarkeitsproblem Resolution 30 / 105

Vollständigkeit der Resolution (3/4) Beweis: Das Verfahren terminiert, da nacheinander alle Variablen entfernt werden. Wir zeigen : Φ k erfüllbar Φ k+1 erfüllbar. = Die Belegung B erfülle alle Disjunktionsterme in Φ k. Ein Disjunktionsterm D Φ k+1 gehört entweder zu Φ k, und wird dann natürlich von B erfüllt. Oder aber D wurde neu hinzugefügt. Dann ist D = α β = α {X} wie auch β { X} gehören zu Φk. Nach Annahme erfüllt B die Disjunktionsterme α {X} und β X = B erfüllt α β. Also erfüllt B alle Disjunktionsterme in Φ k+1. Das KNF-Erfüllbarkeitsproblem Resolution 31 / 105

Vollständigkeit der Resolution (4/4) = Die Belegung B erfülle alle Disjunktionsterme in Φ k+1. Zeige, dass Φ k erfüllbar ist. O.B.d.A. falsifiziere B die Variable X. Sei B die Geschwisterbelegung, die X erfülle, sonst aber mit B übereinstimme. Wenn ein Disjunktionsterm D Φ k bereits zu Φ k+1 gehört, dann wird D natürlich von B wie auch von B erfüllt. Oder aber D wurde aus Φ k entfernt. Wenn B alle entfernten Disjunktionsterme erfüllt, dann ist Φk erfüllbar. Also falsifiziere B den entfernten Disjunktionsterm D und D = α {X} folgt. B (und damit auch B ) erfüllt alle Disjunktionsterme β mit β { X} Φ k, denn sonst würde B den Disjunktionsterm α β Φ k+1 falsifizieren. Aber dann erfüllt B sowohl α {X} wie auch β { X} für alle entfernten Disjunktionsterme. B erfüllt alle Terme in Φ k und Φ k ist erfüllbar. Das KNF-Erfüllbarkeitsproblem Resolution 32 / 105

Die Komplexität der Resolution Zur Erinnerung: (a) Ein Beweissystem für eine Sprache L ist eine effizient berechenbare Funktion B : Σ Σ mit B(Σ ) = L. Für w L und B(b) = w heißt b ein Beweis von w. (b) NP = conp es gibt ein Beweissystem, so dass jede Tautologie τ in polynomieller Länge in τ beweisbar ist. Also sollte es unerfüllbare Formeln geben, die nur extrem lange Resolutionsbeweise besitzen. Die Formalisierung des Schubfachprinzips wird ein Beispiel sein. Die Komplexität der Resolution 33 / 105

Resolution und das Schubfachprinzip Die Komplexität der Resolution 34 / 105

Das Schubfachprinzip Verteilt man n Objekte in n 1 Fächer, erhält ein Fach mehr als ein Objekt. Eine Formalisierung mit Hilfe der Aussagenlogik (a) Wir arbeiten mit den Variablen p i,j (für 1 i n und 1 j n 1). p i,k = 1 soll bedeuten, dass Objekt i in Fach k gelegt wird. (b) Wir haben zwei Typen von Disjunktionstermen. (1) Der Disjunktionsterm D i = p i,1 p i,2 p i,n 1 ist genau dann erfüllt, wenn Objekt i in (mindestens) ein Fach gelegt wird. (2) Der Disjunktionsterm D i,j,k = p i,k p j,k fordert für i j, dass Fach k nicht sowohl Objekt i wie auch Objekt j erhält. (c) Das Schubfachprinzip entspricht der Konjunktion ( ) ( ) S n := D i D i,j,k 1 i n 1 i j n 1 k n 1 Resolutionsbeweise für die Unerfüllbarkeit von S n besitzen die Länge 2 Ω(n). Die Komplexität der Resolution 35 / 105

Der Beweis: Die wichtigen Konzepte (a) Die Belegung M j,k ist ein (i-kritisches) Matching der Größe n 1 M verteilt eine Auswahl von n 1 Objekten auf n 1 Fächer bijektiv und verteilt Objekt i nicht, d.h. es gilt Mi,1 = = M i,n 1 = 0. : (b) Wir verlangen nur, dass der am Ende aus den Disjunktionstermen von S n bewiesene Disjunktionsterm B für alle Matchings der Größe n 1 falsch ist. Ein Beweis von B, nicht aber des leeren Disjunktionsterms ɛ ist notwendig. (Wir sprechen von einem schwachen Beweis für S n.) Weil wir uns freiwillig einschränken, können wir annehmen, dass der schwache Beweis keine Negation benutzt. Ersetze das Literal pi,k durch p j i j,k. Objekt i landet nicht in Fach k, wenn dort bereits ein anderes Objekt landet. p i,k und p j i j,k sind für Matchings der Größe n 1 äquivalent. Einen Resolutionsbeweis ohne Negationen nennen wir monoton. Die Komplexität der Resolution 36 / 105

Wenn es stets lange Disjunktionsterme gibt,... (a) Annahme: Jeder schwache Beweis besitzt einen Disjunktionstern mit 2n 2 /9 Variablen. (b) Ein Disjunktionsterm mit mindestens n 2 /11 Variablen heißt lang. Sei L die Anzahl der langen Disjunktionsterme. Die durchschnittliche Häufigkeit einer Variablen in langen Disjunktionstermen ist mindestens L n2 /11 L/11. n(n 1) = es gibt eine Variable p i,k, die in mindestens L/11 langen Disjunktionstermen vorkommt. Wir setzen p i,k = 1 = alle Disjunktionsterme, die p i,k enthalten, sind wahr und können aus dem Beweis entfernt werden. Wie erhalten wir nach Setzung ein neues Schubfachproblem für n 1 Objekte? Setze pi,k = 0 für k k sowie p i,k = 0 für i i. Die verbleibenden Disjunktionsterme des monotonen Beweises müssen jetzt das Schubfach-Prinzip S n 1 für n 1 Objekte beweisen. Wiederhole diesen Setzungsprozess. Die Komplexität der Resolution 37 / 105

Angenommen, jeder schwache Beweis für S n r besitzt einen Disjunktionsterm mit > 2(n r) 2 /9 Variablen. Wiederhole den Setzungsprozess r mal: Wenn r n/3, dann ist 2(n r) 2 9 > 2(2n)2 9 2 = 8n2 81 > n2 11 und das obige Argument ist für r n/3 wiederholbar. Die ersten n/3 Anwendungen des Setzungsprozesses eliminieren jedesmal mindestens ein Elftel aller langen Disjunktionsterme und es folgt ( ) n/3 10 L 1. 11 Beachte ( 11 10) n/3 > 2 n/24. Wenn es stets Disjunktionsterme mit 2n 2 /9 Variablen gibt, dann hat jeder schwache Resolutionsbeweis für S n die Länge 2 n/24. Die Komplexität der Resolution 38 / 105

Gibt es Disjunktionsterme mit 2n 2 /9 Variablen? (1/2) Sei D ein Disjunktionsterm eines schwachen Beweises von S n. Wir benutzen für Disjunktionsterme D des Beweises das Fortschrittsmaß Zeugen(D) = {i D wird von einem i-kritischen Matching falsifiziert }. Wie verhält sich das Fortschrittsmaß? Für die Axiome D i = p i,1 p i,2 p i,m ist Zeugen(D i ) = {i} und für D i,j,k = p i,k p j,k ist Zeugen(D i,j,k ) =. Für den letzten Disjunktionsterm B eines schwachen Beweises gilt Zeugen(B) = n. Wenn Disjunktionsterm D aus D und D gefolgert wird, muss jede Belegung, die D falsifiziert, D oder D falsifizieren: Zeugen(D) Zeugen(D ) + Zeugen(D ). Es gibt einen Disjunktionsterm D mit n/3 < t := Zeugen(D) < 2n/3. Die Komplexität der Resolution 39 / 105

Gibt es Disjunktionsterme mit 2n 2 /9 Variablen? (2/2) Es gibt einen Disjunktionsterm D mit n/3 < t = Zeugen(D) < 2n/3. Angenommen, das i-kritische Matching α falsifiziert Disjunktionsterm D. Sei j ein beliebiges Objekt, das aber nicht zu Zeugen(D) gehört. Wir produzieren aus α ein j-kritisches Matching β. Wenn Objekt j für α in Fach l gelegt wird, dann lege für β stattdessen Objekt i in Fach l; Objekt j wird keinem Fach zugeteilt. Da β j-kritisch ist, j aber nicht zu Zeugen(D) gehört, wird D durch β erfüllt, während D durch α falsifiziert wird. p i,l kommt in D vor. Es sei t = Zeugen(D). Für jede Position i Zeugen(D) besitzt D also mindestens n t Variablen p i,l = ( ) D hat mindestens t(n t) Variablen = ( ) Da t > n/3, folgt t(n t) > 2n 2 /9 und D hat mindestens 2n 2 /9 Variablen. Die Komplexität der Resolution 40 / 105

Zusammenfassung Wir haben die große Klasse der schwachen Beweise betrachtet. Schwache Beweise sind monoton. Jeder schwache Beweis besitzt einen langen Disjunktionsterm D. Warum? Wir haben das Fortschrittsmaß Zeugen(D) eingeführt, das langsam ansteigt. Für die Resolution gibt es einen Disjunktionsterm D mit n/3 < t = Zeugen(D) < 2n/3. Jedes i-kritische Matching mit i Zeugen(D) produziert n t Variablen pi,k, die zu D gehören. Und die Konsequenzen? Es gibt eine Variable, die in einem konstanten Prozentsatz aller langen Disjunktionsterme auftritt. Setze diese Variable auf Eins = Die Anzahl langer Disjunktionsterme wird um mindestens einen konstanten Prozentsatz, nämlich um die erfüllten Disjunktionsterme, reduziert. Der verbleibende Beweis muss aber das Schubfachprinzip für nur eine Dimension weniger herleiten: Der Setzungsprozess kann iteriert werden. Die Komplexität der Resolution 41 / 105

SAT-Solver: Varianten des Davis-Putnam-Logemann-Loveland Algorithmus Die Komplexität der Resolution 42 / 105

Varianten des DPLL-Algorithmus: Die Grobstruktur 1. Wenn Φ aus offensichtlichen Gründen erfüllbar ist, dann halte mit der Antwort Φ ist erfüllbar. 2. Wenn ɛ Φ, dann halte mit der Antwort Φ ist unerfüllbar. 3. Unit-Resolution : Wenn X Φ für eine Variable X, dann setze X = 1. D.h. entferne alle Disjunktionsterme aus Φ, die X enthalten und entferne jedes Auftreten von X in einem Term von Φ. (Behandele den Fall X Φ analog.) 4. Pure Literal Rule : Wenn eine Variable X nur positiv in Termen von Φ vorkommt, dann entferne alle Terme aus Φ, in denen X vorkommt. (Die Setzung X = 1 kann nicht falsch sein.) Analog, wenn X nur negiert vorkommt. 5. Choose Literal. Eine Variable X wird ausgewählt. 6. Backtracking. Rufe das Verfahren rekursiv für Φ := Φ {X} auf. Bei Antwort unerfüllbar, rufe Verfahren rekursiv für Φ := Φ { X} auf. Zu den erfolgreichsten Implementierungen des DPLL-Verfahrens gehören Chaff (http://www.princeton.edu/~chaff/) und zchaff (http://www.princeton.edu/~chaff/zchaff.html). Die Komplexität der Resolution 43 / 105

DPLL-Algorithmen und Resolutionsbeweise (1/2) Das DPLL-Verfahren benutzt nur Unit-Resolution verknüpft mit Backtracking. Der Backtracking-Baum B falsifiziere die Menge φ von Disjunktionstermen. Lässt sich ein Resolutionsbeweis des leeren Disjunktionsterms aus B gewinnen? Wie sieht der Backtracking-Baum B aus? (a) Ein innerer Knoten v ist mit einer Variablen X i markiert, die Kanten zum linken Kind werden mit X i = 0 und zum rechten Kind mit X i = 1 beschriftet. (b) Jedes Blatt b ist mit einem Disjunktionsterm D b markiert, wobei D b von der partiellen Belegung des Wegs von der Wurzel nach b falsifiziert wird. (c) Wenn Φ unerfüllbar ist, dann ist auch b D b unerfüllbar. Wie gewinnt man einen Resolutionsbeweis des leeren Disjunktionsterms aus B? Die Komplexität der Resolution 44 / 105

DPLL-Algorithmen und Resolutionsbeweise (2/2) Wir sagen: Blatt b hängt von Variable i ab, wenn X i oder X i in D b vorkommt. Wiederhole: 1. Führe auf B einen Vereinfachungsschritt aus: Wenn ein Blatt b nicht von der Variable seines Elternknotens v abhängt, dann entferne den Teilbaum von v, so dass v zu einem Blatt wird. Markiere v mit dem Disjunktionsterm D b. Der Vereinfachungssschritt erscheint nicht im Beweis. Die Konjunktion aller Blattterme bleibt widersprüchlich. 2. Führe nach Vereinfachung einen Resolutionsschritt aus und zwar auf allen Knoten v mit zwei Blättern als Kindern: Mache v zu einem Blatt und markiere v mit der Resolvente, also dem Ergebnis des Resolutionsschritts. Die Konjunktion aller Blattterme bleibt widersprüchlich. ( ) Der Resolutionsbeweis arbeitet B von den Blättern aufwärts ab. ( ) Die Länge des Beweises ist proportional zur Anzahl der inneren Knoten von B. Die Komplexität der Resolution 45 / 105

Temporale Aussagenlogik Temporale Aussagenlogik 46 / 105

Verifikation nebenläufiger Systeme In einem nebenläufigen System laufen mehrere Berechnungen oder Prozesse fast gleichzeitig nebeneinander. (a) Meist sind mehrere Prozesse beteiligt, die mehr oder minder unabhängig voneinander sind, aber miteinander kommunizieren können. (b) Die Schritte der einzelnen Prozesse können in beliebiger Weise miteinander verschränkt sein. Entsprechend komplex ist die Vermeidung von Fehlern. Beispiel: Dienste eines Betriebssystems (wie etwa Drucken, Mausbewegungen, Surfen etc.) entsprechen Prozessen, die vielleicht auf einem einzigen Prozessor ausgeführt werden müssen: Ihre miteinander verschränkte Ausführung ist auf unvorhersehbare Weise sequentiell. Die Verifikation eines solchen Systems von Prozessen muss auf alle Eventualitäten vorbereitet sein. Temporale Aussagenlogik Model Checking 47 / 105

Was immer schief gehen kann,... (a) Die Explosion der Ariane 5, einer Trägerrakete der ESA vernichtete Werte in der Größenordnung von 500 Millionen Dollar. Die Software hatte für die Ariane 4 perfekt funktioniert. Leider war die Geschwindigkeit der Ariane 5 größer = Overflow-Fehler. (b) Der Pentium Bug in 1994 kostete der Firma Intel nicht nur Ansehen, sondern auch mindestens 400 Millionen Dollar. - Normale Software hat bis zu 25 Fehlern auf tausend Programmzeilen, - in guter Software reduziert sich die Fehlerzahl auf ca. zwei Fehler. - In der Space Shuttle Software soll die Fehlerzahl bei zehntausend Zeilen sogar unter Eins liegen. Temporale Aussagenlogik Model Checking 48 / 105

Model Checking: Was ist zu tun? 1. Man überführt den Entwurf des Systems in eine Beschreibung A, das Model des Systems. Wir beschreiben A mit Hilfe reaktiver Systeme (Kripke-Strukturen): Ein reaktives System reagiert auf externe Einflüsse der Umwelt. 2. Das gewünschte Verhalten wird in einem Formalismus, häufig in einer Logik durch eine Formel φ beschrieben. Wir betrachten temporale Aussagenlogiken, um den zeitlichen Ablauf in der Interaktion mit der Umwelt wiederzugeben. 3. Im letzten Schritt des Model Checking hat man nachzuweisen, dass das Modell A die gewünschte Eigenschaft φ besitzt. Wir brauchen eine temporale Aussagenlogik, die ausdrucksstark ist aber beherrschbar bleibt: Die Computational Tree Logic (CTL). Temporale Aussagenlogik Model Checking 49 / 105

Kripke-Strukturen Temporale Aussagenlogik Kripke-Strukturen 50 / 105

Kripke-Strukturen Eine Kripke-Struktur A = (A, E, L) über einer endlichen Menge Var aussagenlogischer Variablen besitzt die folgenden Komponenten: (a) Die endliche Menge A ist das Universum oder der Zustandsraum, die Elemente von A sind die Zustände von A. (b) E A A ist eine Menge von gerichteten Kanten. Zusätzlich fordern wir, dass es für jeden Zustand a mindestens einen Nachfolgezustand gibt. Definiere N(a) := {b A : (a, b) E } als die (nicht-leere) Menge der Nachfolgezustände. (c) Die Funktion L : A P(Var) weist jedem Zustand a A die Menge L(a) der in a erfüllten aussagenlogischen Variablen zu. L(a) definiert für jeden Zustand a eine Belegung Ba : Var {0, 1} mit B a(x) = 1 : X L(a). Temporale Aussagenlogik Kripke-Strukturen 51 / 105

Die Modellierung einer Mikrowelle Das Kripke-Diagramm zu den Variablen an, Tür zu, heizen, Fehler. (Die Aktion zu einem Zustandsübergang ist nicht Teil des Kripke-Systems.) an Tür zu heizen Fehler starte MW Tür öffnen an Tür zu heizen Fehler an Tür zu heizen Fehler an Tür zu heizen Fehler zurücksetzen starte MW kochen starten Tür öffnen Tür schließen fertig kochen Tür öffnen Tür schließen an Tür zu heizen Fehler an Tür zu heizen Fehler aufwärmen an Tür zu heizen Fehler Temporale Aussagenlogik Kripke-Strukturen 52 / 105

Wechselseitiger Ausschluss Zwei Prozesse P 0 und P 1 treten auf: Prozess P i befindet sich entweder im nicht-kritischen Bereich, bittet um Zugang oder hält sich im kritischen Bereich auf. Zur Modellierung sei Var := { turn = 0, turn = 1, c 0, c 1, n 0, n 1, t 0, t 1 }. turn = 0 n 0, n 1 turn = 1 n 0, n 1 turn = 0 n 0, t 1 turn = 0 t 0, n 1 turn = 1 n 0, t 1 turn = 1 t 0, n 1 turn = 0 t 0, t 1 turn = 0 c 0, n 1 turn = 1 n 0, c 1 turn = 1 t 0, t 1 turn = 0 c 0, t 1 turn = 1 t 0, c 1 Temporale Aussagenlogik Kripke-Strukturen 53 / 105

Computational Tree Logic (CTL) Temporale Aussagenlogik Computational Tree Logic (CTL) 54 / 105

Berechnungen Sei A = (A, E, L) eine Kripke-Struktur über der Variablenmenge Var. Alle Berechnungen mögen im Anfangszustand a A beginnen. 1. In einer Kripke-Struktur besitzt jeder Zustand mindestens einen Nachfolge-Zustand. 2. Eine Berechnung von A entspricht deshalb einem in a beginnenden, unendlich langen Weg im Graphen (A, E). Unendlich lange, im Knoten a beginnende Wege des Graphen (A, E) und Berechnungen in der Kripke-Struktur sind äquivalente Begriffe.. Temporale Aussagenlogik Computational Tree Logic (CTL) 55 / 105

Berechnungsbaum Der Berechnungsbaum (engl. computation tree) entsteht aus dem Graphen (A, E), indem man alle in a beginnenden Wege des Graphen aufführt. Zum Beispiel, für den Graphen (mit Anfangszustand a b ) a b b c c erhalten wir den Berechnungsbaum a b b c c a b c c.... Temporale Aussagenlogik Computational Tree Logic (CTL) 56 / 105

Weg-Quantoren in CTL In der Computational Tree Logic (CTL) werden Aussagen (a) über die Existenz möglicher Berechnungen (d.h. unendlich langer, in a beginnender Wege) durch den Weg-Quantor E, (b) über alle möglichen Berechnungen durch den Weg-Quantor A ermöglicht. Temporale Aussagenlogik Computational Tree Logic (CTL) 57 / 105

Temporale Quantoren in CTL Eine im Zustand a beginnende Berechnung werde ausgewählt. (a) Eine aussagenlogische Formel φ gilt, wenn die von Zustand a definierte Belegung B a die Formel erfüllt, d.h. wenn φ Ba = 1 gilt. (b) Xφ (bzw. next) soll bedeuten, dass φ im zweiten Knoten des Wegs gilt. φ gilt im nächsten Schritt der Berechnung. (c) Fφ (bzw. in the future) soll bedeuten, dass φ für irgendeinen Knoten des Wegs gilt. φ gilt irgendwann während der Berechnung. (d) Gφ (bzw. globally) soll bedeuten, dass φ für alle Knoten des Wegs gilt. φ gilt für alle Schritte der Berechnung. (e) φ U ψ (bzw. φ until ψ) soll bedeuten, dass es einen Knoten des Weges gibt, in dem ψ gilt und φ für alle vorigen Knoten erfüllt ist. φ gilt solange bis ψ erfüllt ist und ψ gilt irgendwann. Temporale Aussagenlogik Computational Tree Logic (CTL) 58 / 105

Die Syntax von CTL Sei Var eine Menge aussagenlogischer Variablen. Die Formelmenge CTL( Var) wird rekursiv definiert. Basisregel: 0 und 1 gehören zu CTL(Var). Wenn p eine aussagenlogische Variable in Var ist, dann gehört p zu CTL(Var), kurz: Var CTL(Var). Rekursive Regeln: Wenn φ und ψ zu CTL(Var) gehören, dann gehören auch φ, (φ ψ), (φ ψ), (φ ψ), (φ ψ), (φ ψ) zu CTL(Var). Formeln in CTL(Var) sind unter allen aussagenlogischen Junktoren abgeschlossen. Wenn φ und ψ zu CTL(Var) gehören, dann gehören auch AXφ, EXφ, AFφ, EFφ, AGφ, EGφ, sowie A(φUψ) und E(φUψ) zu CTL(Var). Auf jeden Weg-Quantor muss ein temporaler Quantor folgen. Temporale Aussagenlogik Computational Tree Logic (CTL) 59 / 105

Die Semantik von CTL: Junktoren. Sei A = (A, E, L) eine Kripke-Struktur. Wann gilt eine CTL(Var)-Formel φ in der Kripke-Struktur A mit dem Anfangszustand a gilt, d.h. wann gilt (A, a) = φ? Basisregel: Es ist (A, a) = 1 und (A, a) = 0. Die Konstante 1 ist immer wahr, die Konstante 0 immer falsch. Für jedes p Var gilt (A, a) = p genau dann, wenn p L(a), und ansonsten ist (A, a) = p. Die Variable p ist genau dann aktuell erfüllt, wenn p im Zustand a erfüllt ist. Rekursive Regeln, die Bedeutung der aussagenlogischen Junktoren: Wenn φ und ψ zu CTL(Var) gehören, dann gilt (A, a) = φ genau dann, wenn (A, a) = φ. (A, a) = (φ ψ) genau dann, wenn (A, a) = φ und (A, a) = ψ. (A, a) = (φ ψ) genau dann, wenn (A, a) = φ oder (A, a) = ψ. (A, a) = (φ ψ) genau dann, wenn (A, a) = φ oder (A, a) = ψ. (A, a) = (φ ψ) genau dann, wenn (A, a) = (φ ψ) oder (A, a) = ( φ ψ)). (A, a) = (φ ψ) genau dann, wenn (A, a) = (φ ψ). Temporale Aussagenlogik Computational Tree Logic (CTL) 60 / 105

Die Semantik von CTL: Quantoren (1/4) Wenn φ zu CTL(Var) gehört, dann gilt (A, a) = AX φ genau dann, wenn (A, b) = φ für jeden direkten Nachfolger b von a gilt. a ϕ ϕ (A, a) = EX φ genau dann, wenn (A, b) = φ für mindestens einen direkten Nachfolger b von a gilt. a ϕ Temporale Aussagenlogik Computational Tree Logic (CTL) 61 / 105

Die Semantik von CTL: Quantoren (2/4) Wenn φ zu CTL(Var) gehört, dann gilt (A, a) = AF φ genau dann, wenn es auf jedem in a beginnenden unendlich langen Weg in (A, E) einen Knoten b des Weges mit (A, b) = φ gibt. Auf jedem Weg gilt φ irgendwann. a ϕ ϕ ϕ! (A, a) = EF φ genau dann, wenn für irgendeinen von a aus erreichbaren Knoten b gilt: (A, b) = φ. (Beachte, dass der Knoten a sich selbst erreicht). Es gibt einen Weg, auf dem φ irgendwann gilt. a ϕ Temporale Aussagenlogik Computational Tree Logic (CTL) 62 / 105

Die Semantik von CTL: Quantoren (3/4) Wenn φ zu CTL(Var) gehört, dann gilt (A, a) = AG φ genau dann, wenn für jeden von a aus erreichbaren Knoten b gilt: (A, b) = φ. φ gilt immer. ϕ a ϕ ϕ ϕ ϕ ϕ ϕ (A, a) = EG φ genau dann, wenn es einen in a beginnenden unendlich langen Weg gibt, so dass für alle Knoten b des Wegs gilt: (A, b) = φ. Es gibt einen Weg, auf dem φ überall gilt. ϕ a ϕ ϕ! Temporale Aussagenlogik Computational Tree Logic (CTL) 63 / 105

Die Semantik von CTL: Quantoren (4/4) Wenn φ, ψ zu CTL(Var) gehören, dann gilt (A, a) = A(φUψ) genau dann, wenn es auf jedem in a beginnenden unendlich langen Weg ein Anfangsstück (b 0, b 1,..., b k ) mit a = b 0 gibt, sodass (A, b k ) = ψ und (A, b i) = φ für alle i < k gilt. Auf jedem Weg gilt φ solange, bis ψ gilt (und ψ gilt irgendwann). ϕ a ϕ ϕ ϕ ϕ ϕ ϕ ψ ψ ϕ ψ ϕ! ψ ϕ!! (A, a) = E(φUψ) genau dann, wenn es einen Weg (b0, b 1,..., b k ) mit a = b 0 gibt, sodass (A, b k ) = ψ und (A, b i) = φ für alle i < k gilt. Auf mindestens einem Weg gilt φ solange, bis ψ gilt (und ψ gilt irgendwann). ϕ a ϕ ϕ ϕ ψ Temporale Aussagenlogik Computational Tree Logic (CTL) 64 / 105

Die Semantik von CTL: Beispiele (1/2) 1. Die aussagenlogische Variable Cola kommt raus gehöre zu Var. Nur wenn die CTL(Var)-Formel EF Cola kommt raus wahr ist, rückt der Getränkeautomat eine Cola heraus! 2. Für welche Zustände a gilt die CTL-Formel AG( φ EF ψ), d.h. wann gilt (A, a) = AG( φ EF ψ)? Gilt irgendwann φ, dann ist ψ später nicht ausgeschlossen. 3. Für welche Zustände a gilt die CTL-Formel AG( φ AF ψ) Für alle in a beginnenden Berechnungen: Ist φ wahr, dann gilt ψ später. 4. Für welche Zustände a gilt die Formel (AG (AF φ) AG (AF φ)) Für alle in a beginnenden Berechnungen und beliebige Zeitpunkte wird irgendwann später φ wie auch φ gelten. Temporale Aussagenlogik Computational Tree Logic (CTL) 65 / 105

Die Semantik von CTL: Beispiele (2/2) 5. Für welche Zustände a ist die Formel AF AG φ wahr? Für alle in a beginnenden Berechnungen gibt es einen (späteren) Zeitpunkt, ab dem φ immer gilt. Zum Beispiel könnten wir mit φ := ( Prozess 1 endet ) und der Formel AF AG φ fordern, dass Prozess 1 immer irgendwann endet. 6. Wir fordern für den Zustand a, dass solange ψ nicht zum ersten Mal eingetreten ist, auch φ nicht eintritt. In allen in a beginnenden Berechnungen gilt also φ solange ψ nicht gilt. Wir fordern also die Formel A( φ U ψ). Temporale Aussagenlogik Computational Tree Logic (CTL) 66 / 105

Wechselseitiger Ausschluss (1/3) Formuliere wichtige Eigenschaften als CTL-Formeln. 1. Sicherheit: Zu keinem Zeitpunkt dürfen sich beide Prozesse im kritischen Bereich aufhalten. φ 1 := AG (c 0 c 1 ). 2. Lebendigkeit: Wenn ein Prozess um Erlaubnis um Zugang zum kritischen Bereich bittet, dann wird die Erlaubnis irgendwann gewährt. φ 2 := AG((t 0 AFc 0 ) (t 1 AFc 1 )). 3. Keine Blockade: Jeder Prozess darf jederzeit um Zugang zum kritischen Bereich bitten. φ 3 := AG(n 0 EX t 0 ) AG(n 1 EX t 1 ). Temporale Aussagenlogik Computational Tree Logic (CTL) 67 / 105

Wechselseitiger Ausschluss (2/3) Wir suchen eine Kripke-Struktur mit Sicherheit, Lebendigkeit und ohne Blockade. Wir versuchen es mit einer neuen Kripke-Struktur A 1, diesmal über der Variablenmenge Var = { c 0, c 1, n 0, n 1, t 0, t 1 }. n 0 n 1 ist der Anfangszustand a. n0 n1 t0 n1 n0 t1 c0 n1 t0 t1 n0 c1 c0 t1 t0 c1 1. Es ist (A 1, a) = φ 1 φ 3 = Sicherheit und Blockadefreiheit sind gewährleistet. 2. Gilt Lebendigkeit? Wenn Prozess 0 als Erster um Zugang zum kritischen Bereich bittet (t 0 = 1, n 1 = 1), dann kann Prozess 1 immer noch an Prozess 0 vorbeiziehen. Es kann nicht garantiert werden, dass Prozess 0 jemals zum Zug kommt. Temporale Aussagenlogik Computational Tree Logic (CTL) 68 / 105

Wechselseitiger Ausschluss (3/3) Wir suchen eine Kripke-Struktur mit Sicherheit, Lebendigkeit und ohne Blockade. Die Idee : Der Prozess, der als Erster nachfragt, erhält als Erster Zugang. Hier ist das Kripke-Diagramm der neuen Kripke-Struktur A 2 : n0 n1 t0 n1 n0 t1 c0 n1 t0 t1 t0 t1 n0 c1 c0 t1 t0 c1 n 0 n 1 sei wieder Anfangszustand. Man überzeuge sich, dass Sicherheit, Lebendigkeit und Blockade-Freiheit garantiert sind, d.h. es ist (A 2, a) = φ 1 φ 2 φ 3. Temporale Aussagenlogik Computational Tree Logic (CTL) 69 / 105

Äquivalenz Temporale Aussagenlogik Computational Tree Logic (CTL) 70 / 105

Äquivalente CTL-Formeln Sei Var eine Menge aussagenlogischer Variablen und φ, ψ seien CTL(Var)-Formeln Dann gilt φ ψ genau dann, wenn (A, a) = φ (A, a) = ψ für alle Kripke-Strukturen A = (A, E, L) und alle Zustände a A gilt. Die acht Quantorenpaare lassen sich mit den Quantorenpaaren EX, EG und EU ausdrücken, denn (a) AF φ EG φ, (b) AG φ EF φ, (c) EF φ E( 1 U φ), (d) A(φ U ψ) E( ψ U ( φ ψ)) EG ψ, (e) AX φ EX φ. Temporale Aussagenlogik Computational Tree Logic (CTL) 71 / 105

EX, EG, EU und AU genügen Es gibt eine Konstante K > 0, so dass es zu jeder CTL-Formel φ eine äquivalente CTL-Formel ψ mit den folgenden Eigenschaften gibt: (a) Die Anzahl der Symbole in ψ ist beschränkt durch das K-fache der Anzahl der Symbole in φ und (b) nur die Quantorenpaare EX, EG, EU und AU kommen in ψ vor. Fazit: Nach höchstens linearem Wachstum der Länge der Formel kann man sich auf vier Quantorenpaare beschränken. Temporale Aussagenlogik Computational Tree Logic (CTL) 72 / 105

Effizientes Model Checking Temporale Aussagenlogik Computational Tree Logic (CTL) 73 / 105

Model Checking: Die Fragestellung Eine Kripke-Struktur A = (A, E, L) über der Menge Var aussagenlogischer Variablen und eine CTL(Var)-Formel φ ist gegeben. Bestimmen die Menge φ A := { a A : (A, a) = φ} aller potentiellen Anfangszustände a A, in denen φ gilt. Wir möchten zwar nur klären, ob (A, a 0 ) = φ gilt, wir tun aber mehr. Und wenn φ keine Quantorenpaare besitzt, d.h. wenn φ eine aussagenlogische Formel ist? Um nachzuprüfen, ob (A, a) = φ gilt, müssen wir die aussagenlogische Formel φ nur für die von L(a) definierte Belegung B a auswerten und das geht fix. Und wenn φ Quantorenpaare besitzt? Jetzt wird s interessant! Temporale Aussagenlogik Computational Tree Logic (CTL) 74 / 105

Model Checking: Der rekursive Algorithmus (1/3) Die Mengen ψ A, ψ 1 A und ψ 2 A seien bekannt. (a) Wenn φ eine aussagenlogische Kombinationen von ψ, ψ 1 und ψ 2 ist: Wenn φ = ψ, dann ist φ A := A \ ψ A. Wenn zum Beispiel φ = (ψ1 ψ 2), dann ist φ A = ψ 1 A ψ 2 A. Die Junktoren,, und lassen sich völlig analog behandeln. (b) Nur die Quantorenpaare EG, EU, EX und AU kommen vor. Für φ = EG ψ stelle fest, ob ψ in mindestens einer Berechnung immer gilt. 1. Berechne ψ A. Für welche Zustände a ψ A gibt es einen in a beginnenden unendlich langen Weg, der nur in ψ A verläuft? Ein solcher unendlich langer Weg wird von a aus zu einer starken Zusammenhangskomponente C laufen und dann in C kreisen. 2. Berechne alle starken Zusammenhangskomponenten in ψ A. 3. Es ist φ A = { a ψ A : es gibt einen in ψ A verlaufenden Weg, der in a beginnt und in einer starken Zusammenhangskomponente endet }. Jetzt lässt sich φ A schnell mit Hilfe von Tiefensuche berechnen. Temporale Aussagenlogik Computational Tree Logic (CTL) 75 / 105

Model Checking: Der rekursive Algorithmus (2/3) Für φ = E (ψ1 U ψ 2) führe die folgenden Schritte aus: 1. Berechne ψ 1 A und ψ 2 A : Für welche Zustände a gibt es einen Weg, der in a beginnt, dann nur in ψ 1 A verläuft und in einem Knoten aus ψ 2 A endet? 2. Bestimme die Menge B aller Zustände in ψ 1 A, die einen Knoten in ψ 2 A mit einer Kante aus E erreichen, d.h. B := { b ψ 1 A : es gibt c ψ 2 A mit (b, c) E }. 3. Dann ist φ A = { a A : a ψ 2 A oder es gibt einen Weg von a zu einem Knoten in B, der nur über Knoten in ψ 1 A verläuft } und auch diesmal lässt sich φ A schnell mit Tiefensuche berechnen. Für φ = EXψ: Für welche Zustände a A gilt ψ in einem Nachbarn von a? 1. Bestimme ψ A. 2. Dann ist φ A = { a A : a besitzt einen direkten Nachfolger in ψ A }. Und wiederum lässt sich die Bestimmung schnell bewerkstelligen. Temporale Aussagenlogik Computational Tree Logic (CTL) 76 / 105

Model Checking: Der rekursive Algorithmus (3/3) Für φ = A(φ U ψ) beachte die Äquivalenz A(φ U ψ) E( ψ U ( φ ψ)) EG ψ. Also ist A(φ U ψ) A = E( ψ U ( φ ψ)) A EG ψ A. Berechne die Zustandsmengen E( ψ U ( φ ψ)) A und EG ψ A mit den gerade beschriebenen Methoden. Für eine Kripke-Struktur A = (A, E, L) und eine CTL-Formel φ kann die Menge φ A := { a A : (A, a) = φ} in Zeit O( E φ ) bestimmt werden. ( φ bezeichnet die Länge der Formel φ.) Temporale Aussagenlogik Computational Tree Logic (CTL) 77 / 105

(Un-)Vollständigkeit in der Prädikatenlogik: (Effiziente) Beweisbarkeit versus Wahrheit (Un-)Vollständigkeit 78 / 105

Einige Grundbegriffe der Prädikatenlogik (a) Eine Signatur σ ist eine Menge, die aus Symbolen für Konstanten, Funktionen und Relationen besteht. (b) Eine σ-formel besteht aus der aussagenlogischen Verknüpfung von Prädikaten aus σ, wobei Konstanten und Funktionen aus Σ in die Prädikate eingesetzt werden dürfen und aus Existenz- und Allquantoren. (c) Eine σ-struktur A = (A, σ A ) besteht aus einem Universum A und Interpretationen der Symbole aus σ. Sei φ eine Formel über σ. Dann schreiben wir A = φ, wenn φ von A erfüllt wird. Sei Φ eine Menge von Formeln über σ. Dann heißt eine σ-struktur A ein Modell von Φ, wenn A = φ für jede Formel φ Φ gilt. Gibt es vollständige Beweissysteme für die Prädikatenlogik mit denen man also alles Wahre zeigen kann? (Un-)Vollständigkeit 79 / 105

Der Hilbertkalkül Der Gödelsche Vollständigkeitssatz Der Hilbertkalül 80 / 105

Der Hilbertkalkül H (1/2) Das Beweissystem des Hilbertkalküls benutzt die Schlussregel des Modus Ponens und die folgenden Axiome: 1. Tautologien: Eine Formel φ ist eine Tautologie, wenn φ aus einer aussagenlogischen Tautologie entsteht, indem die aussagenlogischen Variablen durch (beliebige) Formeln der Prädikatenlogik ersetzt werden. Alternativ genügen die drei Axiomtypen des Beweissystems ABS, nämlich (a) φ (ψ φ), (b) (φ (µ ψ)) ((φ µ) (φ ψ)) und (c) ( φ ψ) (ψ φ) für alle Formeln φ, χ, ψ der Prädikatenlogik. 2. Gleichheitsaxiome: x(x = x), x y(x = y y = x) und x y z((x = y y = z) x = z). Weiterhin bleiben Funktionswerte unverändert und Relationen behalten ihren Wahrheitswert, wenn Argumente durch gleiche Argumente ersetzt werden. Der Gödelsche Vollständigkeitssatz Der Hilbertkalül 81 / 105

Der Hilbertkalkül H (2/2) 3. Spezialisierung: Die Formel φ([t/x]) entstehe aus der Formel φ, wenn die freie Variable x durch den Term t ersetzt wird. Dann ist xφ φ([t/x]) für jede Formel φ, für jede freie Variable x und jeden Term t ein Axiom. 4. Generalisierung: Für jede Formel φ und jede Variable x, die nicht frei in φ vorkommt, ist φ xφ ein Axiom. 5. Distributivität des Allquantors: Für alle Formeln φ und ψ ist ein Axiom. x(φ ψ) ( xφ xψ) Der Gödelsche Vollständigkeitssatz Der Hilbertkalül 82 / 105

Ableitbarkeit und Allgemeingültigkeit Sei σ eine Signatur, φ eine σ-formel und Φ eine Menge von σ-formeln. (a) φ ist aus Φ ableitbar, kurz: Φ H φ, wenn φ aus Φ und den Axiomen des Hilbertkalküls durch Anwendungen der Schlussregel des Modus Ponens folgt. (b) Wenn A = Φ = A = φ für alle σ-strukturen A gilt, dann sagen wir, dass φ eine semantische Folgerung von Φ ist, kurz: Φ = φ. Der Gödelsche Vollständigkeitssatz Ableitbarkeit und Allgemeingültigkeit 83 / 105

Der Gödelsche Vollständigkeitssatz Der Gödelsche Vollständigkeitssatz Ableitbarkeit und Allgemeingültigkeit 84 / 105

Der Gödelsche Vollständigkeitssatz Semantische Folgerung und Ableitbarkeit stimmen überein: Sei σ eine Signatur, φ eine σ-formel und Φ eine Menge von σ-formeln. Dann gilt Φ = φ Φ H φ. Der Gödelsche Vollständigkeitssatz verallgemeinert unseren Vollständigkeitssatz von der Aussagenlogik auf die Prädikatenlogik. Der Gödelsche Vollständigkeitssatz Ableitbarkeit und Allgemeingültigkeit 85 / 105

Die Vollständigkeit logischer Theorien Sei σ eine Signatur. Weiterhin sei Φ eine Formelmenge der Prädikatenlogik und φ eine Formel der Prädikatenlogik, jeweils über der Signatur σ. (a) Φ heißt eine logische Theorie, wenn jede aus Φ ableitbare Formel in Φ enthalten ist. (b) Eine logische Theorie Φ ist vollständig, wenn für jede Formel φ über σ gilt Für jede σ-struktur A ist eine vollständige Theorie. φ Φ oder φ Φ. Th(A) := { φ : φ ist eine σ-formel und A = φ } Vollständige Theorien 86 / 105

Die Presburger-Arithmetik (1/2) Die Signatur σ {+} = {0, S, +, <} sei gegeben. Dann ist N {+} = (N, 0, Nachfolger, +, <) die Struktur der natürlichen Zahlen mit Nachfolger(n) = n + 1, Addition und Ordnung. TH(N {+} ) ist die additive Theorie der natürlichen Zahlen, besteht also aus allen σ {+} -Formeln, die in N {+} wahr sind. (a) Besitzt Th(N {+} ) ein übersichtliches Axiomensystem? (b) Wie schwierig ist die Auffinden von Beweisen? Vollständige Theorien Die Presburger-Arithmetik 87 / 105

Die Presburger-Arithmetik (2/2) (a) Die Signatur σ {+} = {0, S, +, <} mit dem Successor-Symbol S sei gegeben. (b) Die Axiome der Presburger-Arithmetik lauten: (P1) S(x) 0, (P2) S(x) = S(y) x = y, (P3) x + 0 = x, (P4) x + S(y) = S(x + y), (P5) (x < 0), (P6) x < S(y) x < y x = y, (P7) x < y x = y y < x, Weiterhin wird für jede σ {+} -Formel φ das Induktionsaxiom gefordert. φ(0) x(φ(x) φ(s(x))) φ (a) PR-A ist die Menge aller Formeln der Prädikatenlogik, die aus den Axiomen der Presburger-Arithmetik ableitbar sind. (b) Ein Vollständigkeitssatz (Ableitbarkeit = Wahrheit) gilt: N {+} = φ φ PR-A. Vollständige Theorien Die Presburger-Arithmetik 88 / 105

Die Peano-Arithmetik (1/2) Die Signatur σ {+, } = {0, S, +, } sei gegeben. Dann ist N {+, } = (N, 0, Nachfolger, +, ) die Struktur der natürlichen Zahlen mit Nachfolger(n) = n + 1, Addition und Multiplikation. Th(N {+, } ) ist die Theorie der natürlichen Zahlen, besteht also aus allen σ {+, } -Formeln, die in N {+, } wahr sind. (a) Hat die Zahlentheorie TH(N {+, } ) ein übersichtliches Axiomensystem? (b) Was heißt übersichtlich? Vollständige Theorien Die Peano-Arithmetik 89 / 105

Die Peano-Arithmetik (2/2) (a) Die Signatur σ {+, } = {0, S, +,, <} sei gegeben. (b) Die Axiome der Presburger-Arithmetik lauten: (P1) S(x) 0, (P2) S(x) = S(y) x = y, (P3) x + 0 = x, (P4) x + S(y) = S(x + y), (P5) x 0 = 0, (P6) x S(y) = x y + x, (P7) (x < 0), (P8) x < S(y) x < y x = y, (P9) x < y x = y y < x, Weiterhin wird für jede σ {+, } -Formel φ das Induktionsaxiom gefordert. φ(0) x(φ(x) φ(s(x))) φ (a) PE-A ist die Menge aller Formeln der Prädikatenlogik, die aus den Axiomen der Peano-Arithmetik ableitbar sind. (b) Gilt ein Vollständigkeitssatz? Vollständige Theorien Die Peano-Arithmetik 90 / 105

Der Gödelsche Unvollständigkeitssatz Für jedes vernünftiges(!?) Axiomensystem der Zahlentheorie wird es immer nicht-standard Modelle mit nicht-standard Eigenschaften geben. Nicht alle wahren Aussagen der Zahlentheorie sind auch ableitbar: Es ist nicht ausgeschlossen, dass es in einigen Modellen der Peano-Arithmetik unendlich viele Primzahlzwillinge gibt, in anderen hingegen nicht. In einem solchen Fall genügen die Axiomen der Peano-Arithmetik nicht, um die Frage nach unendlich vielen Primzahlzwillingen zu beantworten. Aber welche Axiome sollte man hinzufügen? Diese neuen Axiome werden nicht unmittelbar einsichtig sein: Wer garantiert, dass sie in der Zahlentheorie gelten? Der Gödelsche Unvollständigkeitssatz 91 / 105

Der Gödelsche Unvollständigkeitssatz Der Gödelsche Unvollständigkeitssatz 92 / 105

Das Hilbertsche Programm In 1903 zeigt Bertrand Russel, dass die naive Mengenlehre nicht widerspruchsfrei ist. Als Reaktion darauf entwickelt David Hilbert in den 20 er Jahren das Hilbertsche Programm : - Finde ein Axiomensystem mit unmittelbar einsichtigen Axiomen, um die Aussagen der Mathematik zweifelsfrei nachzuweisen. - Das Axiomensystem und seine Schlussregeln müssen mächtig genug sein, um alle wahren Aussagen abzuleiten zu können. Kurt Gödel zeigt mit seinem Unvollständigkeitssatz in 1932, dass das Hilbertsche Programm nicht wie ursprünglich gedacht durchgeführt werden kann. Der Gödelsche Unvollständigkeitssatz 93 / 105

Wenn Wahrheit und Ableitbarkeit übereinstimmen Man kann zeigen: Für jede rekursiv aufzählbare Sprache L über dem Alphabet {0, 1} gibt es eine Formel ϕ L der Peano-Arithmetik mit x L ϕ L (x) ist wahr Wenn Wahrheit und Ableitbarkeit übereinstimmen, dann folgt also x L ϕ L (x) ist in der Peano Arithmetik beweisbar und ebenso natürlich x L ϕ L (x) ist wahr. ( ϕ L (x)) ist beweisbar. Also ist L = {x ( ϕ L (x)) ist beweisbar }. Der Gödelsche Unvollständigkeitssatz 94 / 105