Aussagenlogik Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 22 Einführendes Beispiel Rätsel Norbert sagt Martin sagt die Wahrheit. Martin sagt Bahareh lügt. Bahareh sagt Norbert und Martin sagen entweder beide die Wahrheit oder lügen beide. Wer lügt, und wer sagt die Wahrheit?
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 23 Syntax der Aussagenlogik Wir setzen eine Menge V = {A, B, C,...} von Aussagenvariablen voraus. Formeln der Aussagenlogik (über V) sind induktiv definiert durch: Jeder Aussagenvariable A ist eine Formel. Die Konstanten tt und ff sind Formeln. Sind ϕ und ψ Formeln, so sind auch (ϕ ψ) (ϕ ψ) ϕ (ϕ ψ) (ϕ ψ) Formeln. ( und ) ( oder ) ( nicht ) ( wenn-dann ) ( genau-dann-wenn )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 24 Präzedenzregeln zur besseren Lesbarkeit lassen wir auch Klammern weg (z.b. ganz außen) Bindungskraft der Operatoren (auch Junktoren genannt) in absteigender Reihenfolge:,,,, soll heissen: ((A (B C)) (C A)) schreiben wir auch als A (B C) C A
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 25 Präzedenzen für Eindeutigkeit Klammern werden nur benutzt, um Formeln eindeutig zu machen vgl.: if x==0 { if x==0 { x = x+1; x = x+1; } y = y-1; y = y-1; } genauso: A B C ist nicht eindeutig wichtig: Unterscheidung notwendig, weil verschiedene Klammerungen eine verschiedene Bedeutung haben sollen Semantik
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 26 Syntaxbäume beachte: Menge aller syntaktisch korrekten aussagenlogische Formeln ist kontext-freie Sprache was ist das zugrundeliegende Alphabet? eindeutige Darstellung von Formeln über Syntaxbäume Bsp.: (A B) C vs. A ( B C)
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 27 Induktion über Formelaufbau falls V 1, dann gibt es unendlich viele verschiedene Formeln man stelle sich vor, jeder Formel sollte eine Farbe zugeordnet werden; wie ginge so etwas? unendliche Tabelle (gibt es vielleicht überabzählbar viele Formeln?) Rückführung auf endlich viele Fälle alle sind rot alle der Länge 27 sind grün, die anderen blau Induktion
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 28 Induktion über Formelaufbau induktive Definition: Induktionsanfang: definiere Farbe für kleinste Formeln; welche sind das? Induktionsschritt: definiere Farbe in Abhängigkeit von äußerstem Junktor und Farben seiner Teilformeln Bsp.: nur rot und schwarz als Farben A schwarz, B schwarz, C rot Konjunktion schwarz, falls ein Konjunkt schwarz; Disjunktion rot, falls ein Disjunkt rot; Negation vertauscht Farbe was sind die Farben von (A B) C und A ( B C)?
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 29 Unterformeln Aufgabe: definiere allgemein eine Menge Sub(ϕ) aller in ϕ vorkommenden Unterformeln Bsp.: Sub(A ( B C)) = allgemein: Def.: Sub(A) := {A} für A V Sub(ϕ ψ) :=
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 30 Formelgröße um die Güte von Algorithmen abzuschätze, die auf Formeln arbeiten, müssen wir die Größe von Formeln messen Def.: die Größe von ϕ ist ϕ := Sub(ϕ) was ist die Größe von (A B) ( A B) (B A)? beachte: Größe ist nicht dasselbe wie syntaktische Länge
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 31 Formellänge anderes Maß für Formeln: syntaktische Länge = (Anzahl der Zeichen in der Zeichenkette) was ist die Größe von (A B) ( A B) (B A)? wie stehen Größe und Länge zueinander? lassen sich Größe und Länge anhand von Syntaxbäumen interpretieren? Aufgaben: definiere induktiv die Länge einer Formel finde eine Folge ϕ 0, ϕ 1, ϕ 2,..., bei der die Länge exponentiell stärker wächst als die Größe