2. Vorlesung Slide 40
Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b := b - a } } return a } Slide 41
Was Sie können werden In vier Wochen: Programme wie das obere bezüglich einer gegeben Spezifikation verifizieren In drei Wochen: Komplexe Datentypen spezifizieren und analysieren Nächste Woche: Prädikatenlogische Sachverhalte spezifizieren und analysieren In dieser Woche: Aussagenlogische Sachverhalte spezifizieren, analysieren und systematisch lösen Slide 42
Was ist Logik? Slide 43
Logik Geht zurück auf Aristoteles Syllogistik (knapp 2500 Jahre) Syllogismen sind strukturierte logische Argumente Grundform: Aus zwei Voraussetzungen (Prämisen) wird eine Schlussfolgerung gebildet (Konklusion) Vorläufer zu den Kalkülen der Aussagenlogik Andere Logiken: Prädikatenlogik, Programmlogiken, Temporallogiken, Logiken höherer Stufe Slide 44
Klassische Logik/Aussagenlogik Beruft sich auf zwei Prinzipien: Prinzip der Zwei-Wertigkeit: Jede Aussage hat genau einen von zwei Wahrheitswerten. Prinzip der Extensionalität: Der Wahrheitswert jeder zusammengesetzten Aussage lässt sich aus den Wahrheitswerten der Teilaussagen ableiten. Slide 45
Aussagenlogik - Syntax Gegeben Menge atomare Aussagen V = {A, B, C, } Menge von Operationen OP = {,,,, } Slide 46 Syntax in BNF-Notation: Satz AtomarerSatz KomplexerSatz AtomarerSatz A B C... KomplexerSatz Satz Satz Satz Satz Satz Satz Satz Satz Satz (Satz) Bemerkung: Häufig nimmt man noch ausgezeichnete Konstantensymbole true und false hinzu.
Ein paar Beispiele Aussagenlogische Formeln: A A B A A A B A A Bisher nur Syntax (also was darf man sagen) Jetzt: Semantik (also was bedeutet ein Satz) Slide 47
Aussagenlogik - Semantik Eine Interpretation v ist eine Abbildung, die jeder atomaren Aussage einen Wahrheitswert zu ordnet. v : V {True, False} Man sagt eine Interpretation v erfüllt eine Formel φ bzw. die Formel φ ist in v gültig gdw. Phi den Wahrheitswert True hat Achtung: v redet nur über atomare Aussagen! Was passiert mit nicht atomaren Aussagen? Slide 48 Bemerkung: Falls die ausgezeichnete Konstantensymbole true und false hinzugenommen wurden, so soll für alle Interpretationen gelte v(true) = True und v(false) = False.
Zusammengesetzte Aussage Z.B. (A (B C)) Gegeben Interpretation v, was ist der Wert der obigen Formel in dieser Interpretation? Slide 49
Zusammengesetzte Formeln Prinzip der Extensionalität: Der Wahrheitswert jeder zusammengesetzten Aussage lässt sich aus den Wahrheitswerten der Teilaussagen ableiten. Notwendig: Semantik der Operatoren! Slide 50
Aussagenlogik - Semantik Für jeden Operator muss seine Semantik/Bedeutung auf Wahrheitswerten definiert werden z.b. mit Wahrheitswerttabellen P Q P P Q P Q P Q P Q False False True False False True True False True True False True True False True False False False True False False True True False True True True True Slide 51 Bemerkung: Es genügt für zwei Operatoren (z.b. und die Semantik festzulegen, alle anderen können abgeleitet werden)
Beispiel Aussagenlogische Formeln: A A B A A A B A A Interpretation: v(a) = False; v(b) = True Welche Aussagen sind in v wahr? Slide 52
Begriffe Erfüllbarkeit Eine Formel heißt erfüllbar, wenn es mindestens eine Interpretation der in ihr vorkommenden Atome (Satzbuchstaben) gibt, unter der die Formel wahr ist. Widerlegbarkeit Eine Formel heißt widerlegbar, wenn es mindestens eine Interpretation der in ihr vorkommenden Atome gibt, unter der die Formel falsch ist. Gültigkeit Eine Formel heißt gültig, wenn sie unter allen Interpretationen der in ihr vorkommenden Satzbuchstaben wahr ist. Unerfüllbarkeit Eine Formel heißt unerfüllbar, wenn sie unter allen Interpretationen der in ihr vorkommenden Satzbuchstaben falsch ist. Slide 53
Beispiel Aussagenlogische Formeln: A A B A A A B A A Welche Aussagen sind erfüllbar, unerfüllbar, gültig bzw. widerlegbar? Slide 54
Ein wenig Anwendung Slide 55
Das Orakel von Delphi Und so sprach das Orakel, wie man Delphi wieder finden könne: Wisse, wenn der mittlere Weg in die Irre führt, so gelangst du auf dem linken und dem rechten Wege nach Delphi. Der Weise erkennt, sollte vom linken und mittleren Wege höchstens einer nach Delphi führen, so führt der Rechte sicher in die Leere. Wenn der Suchende jedoch auf dem rechten oder linken Weg nach Delphi gelangt, dann führt der mittlere mit Sicherheit ins Verderben. Slide 56
Systematisches Lösen logischer Probleme Slide 57
Notwendige Schritte Spezifizieren des Problems Präzises Formulieren der Aufgabenstellung in einer formalen Sprache! Herleiten einer Lösung Möglichkeiten in der Aussagenlogik Wahrheitswertetabelle Davis-Puttnam-Algorithmus (schrittweise Einsetzen) Verwendung eines Kalküls Slide 58
Möglichkeiten des Beweisens Per Wahrheitswertetabelle Tabelle für jedes Atom jeden Operator Schrittweise Ausfüllen der Tabelle Slide 59
Davis-Putnam Grundidee: φ ist erfüllbar, gdw. falls φ A true Ç φ A false erfüllbar ist Vorgehen: Ersetze rekursiv Atome durch true bzw. false und vereinfache die Formel. Entsteht eine wahre Aussage ist die Formel erfüllbar. Resultat: Eine erfüllende Belegung lässt sich aus dem Weg der Rekursion ableiten. Führen alle Wege zu wahren Aussagen, so ist die Formel allgemeingültig. Slide 60
Beweisen per Kalkül Per Wahrheitswertetabelle Per Kalkül (logische Herleitung) Whitehead/Russel Kalkül (A Ç A) A A (B Ç A) (A Ç B) (B Ç A) (A Ç (B Ç C)) (B Ç (A Ç C)) (A B) ((C Ç A) (C Ç B)) Dieser Kalkül ist vollständig und korrekt! Slide 61
Kalküle Kalküle stellen eine Reihe von Regeln (Axiomen) zur Verfügung, mit denen Formeln in einander überführt werden können. Ein Beweis/eine Herleitung einer Formel φ ist ein Folge von Axiomen, die von einer wahren Aussage beginnt und bei φ endet. Allgemeiner: φ ist aus ψ herleitbar Slide 62 Notation: - herleitbar ( etwas ist beweisbar ) = ist Modell von ( etwas ist wahr )
Kalküle Ein Kalkül heißt vollständig, wenn jede wahre Aussage auch herleitbar ist. korrekt, wenn jede herleitbare Aussage auch wahr ist. Slide 63
Der Sequenzenkalkül Schreibweise: Leserichtung: Was unten (Konklusion) steht folgt aus der Gesamtheit dessen, was oben steht (Prämisen) Folgerung: Komma links bedeutet und Komma rechts bedeutet oder Leere Menge links bedeutet true Leere Menge rechts bedeutet falls Slide 64
Regeln des Sequenzenkalküls Slide 65
Grundidee des Beweisens Versuche eine gegebene Aussage durch Regeln so in Teilaussagen zu zerlegen, dass nur noch Axiome übrig bleiben! Entspricht dem mathematischen Beweisen! In der Übung Toolsupport. Bitte VMWare-Player installieren und Image herunterladen! Slide 66
Das Orakel von Delphi Und so sprach das Orakel, wie man Delphi wieder finden könne: Wisse, wenn der mittlere Weg in die Irre führt, so gelangst du auf dem linken und dem rechten Wege nach Delphi. Der Weise erkennt, sollte vom linken und mittleren Wege höchstens einer nach Delphi führen, so führt der Rechte sicher in die Leere. Wenn der Suchende jedoch auf dem rechten oder linken Weg nach Delphi gelangt, dann führt der mittlere mit Sicherheit ins Verderben. Slide 67
Ein Beispiel aus der Ingenieurinformatik (für die Übung) Konstrukteur Trurl will aus einem Haufen Schrott zwei Geräte (einen probabilistischen Fluxgenerator und eine universelle Drachenfalle) konstruieren. Die wichtigsten Bauteile, die er zur Verfügung hat, sind ein Wahrscheinlichkeitsverstärker und ein Fahrrad. Sein Kollege Klapauzius fragt: Stimmt es, dass wenn du das Fahrrad für den probabilistischen Fluxgenerator brauchst und den Wahrscheinlichkeitsverstärker genau dann für die Drachenfalle benötigst, wenn du auch das Fahrrad dafür brauchst, du dann den Verstärker nicht in den Fluxgenerator einbauen musst? Trurl überlegt: Wenn die Aussage wahr ist, dann brauche ich das Fahrrad für genau eines der Geräte, und genauso verhält es sich mit dem Wahrscheinlichkeitsverstärker. Andererseits, wenn ich das Fahrrad überhaupt brauche, dann muss die Aussage falsch sein. Auf jeden Fall aber brauche ich nicht beide Bauteile für beide Geräte. Welches Bauteil wird nun eigentlich für welches Gerät benötigt? Zeigen Sie, dass eine eindeutige Lösung existiert. Wie lautet sie? Slide 68