FORMALE SYSTEME. 22. Vorlesung: Äquivalenzen und Normalformen. TU Dresden, 11. Januar Markus Krötzsch Professur für Wissensbasierte Systeme

Ähnliche Dokumente
FORMALE SYSTEME. 10. Januar Aussagenlogik. Logische Schlussfolgerung. Happy 80th Birthday, Don Knuth!

23. Vorlesung: Logisches Schließen Markus Kr otzsch Professur f ur Wissensbasierte Systeme Normalformen

FORMALE SYSTEME. 23. Vorlesung: Logisches Schließen. TU Dresden, 16. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Logik Vorlesung 3: Äquivalenz und Normalformen

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Logische Äquivalenz. Definition Beispiel 2.23

Was bisher geschah: klassische Aussagenlogik

Logik für Informatiker

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik für Informatiker

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

THEORETISCHE INFORMATIK UND LOGIK

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Logik Vorlesung 5: Grundlagen Resolution

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Logik Vorlesung 4: Horn-Logik und Kompaktheit

TU9 Aussagenlogik. Daniela Andrade

Was bisher geschah: klassische Aussagenlogik

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Logik für Informatiker

THEORETISCHE INFORMATIK UND LOGIK

Logik für Informatiker

Ersetzbarkeitstheorem

Logik für Informatiker

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Aussagenlogik: Syntax von Aussagen

1 Aussagenlogischer Kalkül

Allgemeingültige Aussagen

Grundlagen der Logik

Logik für Informatiker

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2017/2018

Logik für Informatiker

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

TU5 Aussagenlogik II

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2015/2016.

Übung 15. Zeige, dass man jede Formel äquivalent in eine neue Formel umwandeln kann, die nur die Operatoren und! verwendet.

Logik für Informatiker

Definition (Modus Ponens) Wenn A, dann B. A gilt Also, gilt B

3. Logik 3.1 Aussagenlogik

Beispiel Aussagenlogik nach Schöning: Logik...

Was bisher geschah: klassische Aussagenlogik

Übung 4: Aussagenlogik II

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

b= NaN

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Logik Vorlesung 9: Normalformen

Theoretische Informatik: Logik

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

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

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Logik für Informatiker Logic for computer scientists

Normalformen boolescher Funktionen

Logik für Informatiker

Normalformen. Aussagenlogik. Aussagenlogik

Klauselmengen. Definition Sei

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Formale Techniken der Software-Entwicklung

Grundlagen der Programmierung

Logik Vorlesung 2: Semantik der Aussagenlogik

FORMALE SYSTEME. Besprechung Lehrevaluation. Kommentare: Verständlichkeit und Motivation. Kommentare: Allgemeines

FORMALE SYSTEME. 21. Vorlesung: Aussagenlogik. TU Dresden, 9. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

FORMALE SYSTEME. 21. Vorlesung: Aussagenlogik. TU Dresden, 8. Januar Markus Krötzsch Professur für Wissensbasierte Systeme

Logik Vorlesung 2: Semantik der Aussagenlogik

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Logik Vorlesung 8: Modelle und Äquivalenz

FORMALE SYSTEME. Besprechung Lehrevaluation. Kommentare: Beispiele und Praxisbezug. Kommentare: Allgemeines

Deduktion in der Aussagenlogik

Kapitel L:II. II. Aussagenlogik

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Logik (Prof. Dr. Wagner FB AI)

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

Logic in a Nutshell. Christian Liguda

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Logik für Informatiker Logic for computer scientists

f ist sowohl injektiv als auch surjektiv.

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Einführung in die Theoretische Informatik

Überblick. Einführung in die Methoden der Künstlichen Intelligenz. Aussagenlogik (1) Wissenrepräsentations- und inferenzsysteme (2)

1 Aussagenlogik AL: Verknüpfung von Aussagen

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Transkript:

FORMALE SYSTEME 22. Vorlesung: Äquivalenzen und Normalformen Markus Krötzsch Professur für Wissensbasierte Systeme TU Dresden, 11. Januar 2018

Rückblick Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 2 von 33

10. Januar 2018 Happy 80th Birthday, Don Knuth! If you find that you re spending almost all your time on theory, start turning some attention to practical things; it will improve your theories. If you find that you re spending almost all your time on practice, start turning some attention to theoretical things; it will improve your practice. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 3 von 33

Aussagenlogik Syntax: F P F (F F) (F F) (F F) (F F) Semantik: Wertzuweisungen w : P {1, 0} zur Interpretation von Atomen Erweiterung von Atomen auf Formeln: w(f) w( F) 0 1 1 0 w(f) w(g) w(f G) w(f G) w(f G) w(f G) 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 4 von 33

Logische Schlussfolgerung Modelle: w = F gdw. w(f) = 1 gdw. w ist Modell von F gdw. w erfüllt F Logische Konsequenzen: F = G gdw. jedes Modell von F ist auch ein Modell von G gdw. G ist immer wahr wenn alle Formeln in F wahr sind Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 5 von 33

Logische Schlussfolgerung Modelle: w = F gdw. w(f) = 1 gdw. w ist Modell von F gdw. w erfüllt F Logische Konsequenzen: F = G gdw. jedes Modell von F ist auch ein Modell von G gdw. G ist immer wahr wenn alle Formeln in F wahr sind Dualität von Modellen und Formeln: Je mehr Formeln in F desto weniger Modelle erfüllen alle Formeln in F desto mehr Formeln sind in allen diesen Modellen wahr desto mehr Konsequenzen hat F Aussagenlogik ist monoton (mehr Annahmen mehr Schlüsse) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 5 von 33

Modellierungsbeispiel: Sudoku (1) Sudoku ist ein bekanntes Zahlenpuzzle. Aufgabe: Fülle jedes Feld mit einer Ziffer von 1 bis 9, so dass Spalten, Zeilen und die fetten Teilquadrate jede Ziffer nur einmal enthalten Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 6 von 33

Modellierungsbeispiel: Sudoku (2) Wir können Sudoku aussagenlogisch modellieren: Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 7 von 33

Modellierungsbeispiel: Sudoku (2) Wir können Sudoku aussagenlogisch modellieren: Atome: Für jede Ziffer z {1,..., 9} und alle Koordinaten i, j {1,..., 9} verwenden wir ein Atom p z [i, j] für die Aussage an Position (i, j) steht die Ziffer z Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 7 von 33

Modellierungsbeispiel: Sudoku (2) Wir können Sudoku aussagenlogisch modellieren: Atome: Für jede Ziffer z {1,..., 9} und alle Koordinaten i, j {1,..., 9} verwenden wir ein Atom p z [i, j] für die Aussage an Position (i, j) steht die Ziffer z Spielregeln modellieren wir als logische Formeln: Für alle i, j: p 1 [i, j] p 2 [i, j]... p 9 [i, j] Für alle i, j, z, z mit z z : p z [i, j] p z [i, j] Für alle i, i, j, z mit i i : p z [i, j] p z [i, j] Für alle i, j, j, z mit j j : p z [i, j] p z [i, j ] Für alle i, j, i, j, z mit (i, j) (i, j ); (i, j), (i, j ) im gleichen Teilquadrat: p z [i, j] p z [i, j ] Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 7 von 33

Modellierungsbeispiel: Sudoku (2) Wir können Sudoku aussagenlogisch modellieren: Atome: Für jede Ziffer z {1,..., 9} und alle Koordinaten i, j {1,..., 9} verwenden wir ein Atom p z [i, j] für die Aussage an Position (i, j) steht die Ziffer z Spielregeln modellieren wir als logische Formeln: Für alle i, j: p 1 [i, j] p 2 [i, j]... p 9 [i, j] Für alle i, j, z, z mit z z : p z [i, j] p z [i, j] Für alle i, i, j, z mit i i : p z [i, j] p z [i, j] Für alle i, j, j, z mit j j : p z [i, j] p z [i, j ] Für alle i, j, i, j, z mit (i, j) (i, j ); (i, j), (i, j ) im gleichen Teilquadrat: p z [i, j] p z [i, j ] Vorgegebene Ziffern werden als atomare Formeln dargestellt, z.b. p 3 [3, 1] im vorigen Beispiel Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 7 von 33

Modellierungsbeispiel: Sudoku (2) Wir können Sudoku aussagenlogisch modellieren: Atome: Für jede Ziffer z {1,..., 9} und alle Koordinaten i, j {1,..., 9} verwenden wir ein Atom p z [i, j] für die Aussage an Position (i, j) steht die Ziffer z Spielregeln modellieren wir als logische Formeln: Für alle i, j: p 1 [i, j] p 2 [i, j]... p 9 [i, j] Für alle i, j, z, z mit z z : p z [i, j] p z [i, j] Für alle i, i, j, z mit i i : p z [i, j] p z [i, j] Für alle i, j, j, z mit j j : p z [i, j] p z [i, j ] Für alle i, j, i, j, z mit (i, j) (i, j ); (i, j), (i, j ) im gleichen Teilquadrat: p z [i, j] p z [i, j ] Vorgegebene Ziffern werden als atomare Formeln dargestellt, z.b. p 3 [3, 1] im vorigen Beispiel Modelle der Formelmenge entsprechen Lösungen des Sudoku Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 7 von 33

Äquivalenzen Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 8 von 33

Logische Äquivalenz Formeln sind äquivalent, wenn sie die gleiche Semantik haben: Zwei Formeln F und G sind semantisch äquivalent, in Symbolen F G, wenn sie genau die selben Modelle haben, d.h. wenn für alle Wertzuweisungen w gilt: w(f) = w(g) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 9 von 33

Logische Äquivalenz Formeln sind äquivalent, wenn sie die gleiche Semantik haben: Zwei Formeln F und G sind semantisch äquivalent, in Symbolen F G, wenn sie genau die selben Modelle haben, d.h. wenn für alle Wertzuweisungen w gilt: w(f) = w(g) Beispiel: p q p q, wie man mithilfe der Wahrheitswertetabelle zeigen kann (die Spalten der Formeln sind gleich): p q p q p p q 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 Vereinfachung: Wir beschriften Tabellenspalten ab jetzt nur mit F statt w(f). Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 9 von 33

Logische Äquivalenz Formeln sind äquivalent, wenn sie die gleiche Semantik haben: Zwei Formeln F und G sind semantisch äquivalent, in Symbolen F G, wenn sie genau die selben Modelle haben, d.h. wenn für alle Wertzuweisungen w gilt: w(f) = w(g) Beispiel: p q p q, wie man mithilfe der Wahrheitswertetabelle zeigen kann (die Spalten der Formeln sind gleich): p q p q p p q 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 Vereinfachung: Wir beschriften Tabellenspalten ab jetzt nur mit F statt w(f). Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 9 von 33

Nützliche Eigenschaften von Satz: ist eine Äquivalenzrelation, d.h. reflexiv, symmetrisch und transitiv. Beweis: ist definiert als die Gleichheit der Modellmengen. Die gesuchten Eigenschaften ergeben sich, da auch die Relation = auf Mengen eine Äquivalenzrelation ist. Weitere Eigenschaften folgen direkt aus den Definitionen: Satz: Alle Tautologien sind semantisch äquivalent Alle unerfüllbaren Formeln sind semantisch äquivalent Satz: Semantische Äquivalenz entspricht wechselseitiger logischer Konsequenz: F G genau dann wenn F = G und G = F Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 10 von 33

Nützliche Eigenschaften von Satz (Ersetzungstheorem): Sei F eine Formel mit einer Teilformel G. Wenn G G und wenn F aus F gebildet werden kann, indem man ein beliebiges Vorkommen von G in F durch G ersetzt, dann gilt auch F F. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 11 von 33

Nützliche Eigenschaften von Satz (Ersetzungstheorem): Sei F eine Formel mit einer Teilformel G. Wenn G G und wenn F aus F gebildet werden kann, indem man ein beliebiges Vorkommen von G in F durch G ersetzt, dann gilt auch F F. Beweisskizze : Aus G G bedeutet, dass w = G gdw. w = G für beliebige Wertzuweisungen w. In der rekursiven Definition von = erfüllt daher die Teilformel G genau die selben Bedingungen wie G, so dass sich auch für F und F der selbe Wert ergibt. Dieser Satz ist ein Sonderfall der allgemeingültigen und intuitiven Tatsache, dass der Wert von rekursiv definierten Funktionen gleich bleibt, wenn man die syntaktische Definition einer Teilberechnung durch eine andere ersetzt, die stets den gleichen Wert liefert. Streng genommen folgt aus der Definition von = zunächst nur, dass die Ersetzung einer direkten Unterformel Äquivalenz erhält. Zum Beispiel folgt G H G H aus G G. Um zu zeigen, dass auch Ersetzungen in beliebiger Tiefe Äquivalenz erhalten, ist noch ein induktives Argument nötig, welches die Äquivalenz im Formelbaum nach oben propagiert. Aus G H G H folgt z.b. (G H) J (G H) J usw. usf. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 11 von 33

Junktoren äquivalent ausdrücken Viele Junktoren können durch andere ausgedrückt werden: F G F G (F G) F G (F G) (G F) (F G) ( F G) F G ( F G) (De Morgansches Gesetz) F G ( F G) (De Morgansches Gesetz) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 12 von 33

Junktoren äquivalent ausdrücken Viele Junktoren können durch andere ausgedrückt werden: F G F G (F G) F G (F G) (G F) (F G) ( F G) F G ( F G) (De Morgansches Gesetz) F G ( F G) (De Morgansches Gesetz) Weitere Junktoren können mithilfe äquivalenter Formeln definiert werden: F G (F G) F G (NAND) F G (F G) F G (NOR) p p p p (Wahrheit; p P beliebig) p p (Falschheit; p P beliebig) Wir werden insbesondere und manchmal verwenden. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 12 von 33

Junktoren äquivalent ausdrücken (2) Satz: Sei F eine beliebige aussagenlogische Formel. Es gibt eine zu F äquivalente Formel, die nur die Junktoren und enthält. Es gibt eine zu F äquivalente Formel, die nur die Junktoren und enthält. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 13 von 33

Junktoren äquivalent ausdrücken (2) Satz: Sei F eine beliebige aussagenlogische Formel. Es gibt eine zu F äquivalente Formel, die nur die Junktoren und enthält. Es gibt eine zu F äquivalente Formel, die nur die Junktoren und enthält. Beweis: Für den ersten Fall ersetzen wir iterativ Teilformeln, die nicht die gewünschte Form haben, gemäß den folgenden Regeln: (G H) ( G H) (G H) (G H) (G H) ( (G H) (H G)) Jede Ersetzung führt zu einer äquivalenten Formel (Ersetzungstheorem), der Algorithmus terminiert (jeder Junktor wird höchstens einmal ersetzt) und das Ergebnis hat die gewünschte Form. Der zweite Fall ist analog. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 13 von 33

Nützliche Äquivalenzen (1) F G G F F G G F (F G) H F (G H) (F G) H F (G H) F (G H) (F G) (F H) F (G H) (F G) (F H) F F F F F F F (F G) F F (F G) F Kommutativität Assoziativität Distributivität Idempotenz Absorbtion Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 14 von 33

Nützliche Äquivalenzen (2) F F (F G) ( F G) (F G) ( F G) F F F F F F doppelte Negation De Morgansche Gesetze Gesetze mit Gesetze mit Alle diese Äquivalenzen können leicht mit Wahrheitswertetabellen überprüft werden. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 15 von 33

Äquivalente Mengen von Formeln Die Definition von Äquivalenz ist leicht auf Formelmengen erweiterbar: Zwei Formelmengen F und G sind äquivalent, in Symbolen F G, wenn sie die selben Modelle haben. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 16 von 33

Äquivalente Mengen von Formeln Die Definition von Äquivalenz ist leicht auf Formelmengen erweiterbar: Zwei Formelmengen F und G sind äquivalent, in Symbolen F G, wenn sie die selben Modelle haben. Formelmengen verallgemeinern die Konjunktion, denn es gilt: {F 1,..., F n } {F 1... F n } Vereinfachung: Dank Assoziativität verzichten wir ab jetzt in Formeln wie (((F 1 F 2 ) F 3 ) F 4 ) auf Klammern (ebenso für ). Allerdings dürfen Formelmengen auch unendlich sein (Konjunktionen dagegen nicht). Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 16 von 33

= entspricht und entspricht Satz (Deduktionstheorem): Für jede Formelmenge F und Formeln G und H gilt F = G H genau dann wenn F {G} = H. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 17 von 33

= entspricht und entspricht Satz (Deduktionstheorem): Für jede Formelmenge F und Formeln G und H gilt F = G H genau dann wenn F {G} = H. Beweis: Einfache Anwendung der Definitionen. ( ) Wenn jedes Modell von F die Formel G H erfüllt, dann muss jedes dieser Modelle, welches zudem G erfüllt, H erfüllen. ( ) Wenn jedes Modell von F, welches zudem G erfüllt, auch H erfüllt, dann muss jedes Modell von F auch G H erfüllen. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 17 von 33

= entspricht und entspricht Satz (Deduktionstheorem): Für jede Formelmenge F und Formeln G und H gilt F = G H genau dann wenn F {G} = H. Beweis: Einfache Anwendung der Definitionen. ( ) Wenn jedes Modell von F die Formel G H erfüllt, dann muss jedes dieser Modelle, welches zudem G erfüllt, H erfüllen. ( ) Wenn jedes Modell von F, welches zudem G erfüllt, auch H erfüllt, dann muss jedes Modell von F auch G H erfüllen. Notation: Wir schreiben = F statt = F um auszudrücken, dass F allgemeingültig ist. Satz: F G genau dann wenn = F G. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 17 von 33

= entspricht und entspricht Satz (Deduktionstheorem): Für jede Formelmenge F und Formeln G und H gilt F = G H genau dann wenn F {G} = H. Beweis: Einfache Anwendung der Definitionen. ( ) Wenn jedes Modell von F die Formel G H erfüllt, dann muss jedes dieser Modelle, welches zudem G erfüllt, H erfüllen. ( ) Wenn jedes Modell von F, welches zudem G erfüllt, auch H erfüllt, dann muss jedes Modell von F auch G H erfüllen. Notation: Wir schreiben = F statt = F um auszudrücken, dass F allgemeingültig ist. Satz: F G genau dann wenn = F G. Beweis: F G gdw. F = G und G = F gdw. = F G und = G F (wegen Deduktionstheorem) gdw. = F G. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 17 von 33

Curry Mit Deduktionstheorem und dem Bezug von Formelmengen und Konjunktionen erhält man ein weiteres interessantes Ergebnis: = (F G) H gdw. {F G} = H gdw. {F, G} = H gdw. {F} = G H gdw. = F (G H) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 18 von 33

Curry Mit Deduktionstheorem und dem Bezug von Formelmengen und Konjunktionen erhält man ein weiteres interessantes Ergebnis: Tatsächlich gilt allgemein: = (F G) H gdw. {F G} = H gdw. {F, G} = H gdw. {F} = G H gdw. = F (G H) (F G) H F (G H) Die Ersetzung von (F G) H durch F (G H) wird Currying (im Deutschen manchmal auch: Schönfinkeln) genannt vgl. funktionale Programmierung Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 18 von 33

Normalformen Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 19 von 33

(C) Fred Benenson, 2008, CC-BY 2.0 Aaron Swartz 8. November 1986 11. Januar 2013 The Internet s Own Boy Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 20 von 33

Normalformen Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 21 von 33

Normalform Normalformen sind besondere syntaktische Formen aussagenlogischer Formeln Sie heißen so, weil sich jede aussagenlogische Formel in eine äquivalente Formel in Normalform umformen lässt Wir werden hier drei wichtige Normalformen kennenlernen: Negationsnormalform (NNF) Konjunktive Normalform (KNF) Disjunktive Normalform (DNF) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 22 von 33

Negationsnormalform Eine Formel F ist in Negationsnormalform (NNF) wenn (a) sie nur die Junktoren, und enthält und (b) der Junktor nur direkt vor Atomen vorkommt (d.h. nur in Teilformeln der Form p mit p P). Formeln, die negierte oder nicht-negierte Atome sind, nennt man Literale. In NNF darf Negation also nur in Literalen auftauchen. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 23 von 33

Negationsnormalform Eine Formel F ist in Negationsnormalform (NNF) wenn (a) sie nur die Junktoren, und enthält und (b) der Junktor nur direkt vor Atomen vorkommt (d.h. nur in Teilformeln der Form p mit p P). Formeln, die negierte oder nicht-negierte Atome sind, nennt man Literale. In NNF darf Negation also nur in Literalen auftauchen. Beispiele: ( p q) (p q) ist in NNF (b b) (b b) ist nicht in NNF q p ist nicht in NNF p p ist nicht in NNF Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 23 von 33

Umwandlung in NNF Es ist möglich, eine Formel rekursiv in NNF umzuformen. Dazu ersetzten wir zunächst alle Vorkommen von und durch äquivalente Formeln (wie zuvor). Sei F eine Formel, die nur die Junktoren, und enthält. Wir definieren eine Formel NNF(F) rekursiv wie folgt: NNF(p) = p falls p P NNF(F G) = NNF(F) NNF(G) NNF(F G) = NNF(F) NNF(G) NNF( p) = p falls p P NNF( F) = NNF(F) NNF( (F G)) = NNF( F) NNF( G) NNF( (F G)) = NNF( F) NNF( G) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 24 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: NNF( ( ( p q) p) p) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: NNF( ( ( p q) p) p) = NNF( ( ( p q) p)) NNF(p) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: NNF( ( ( p q) p) p) = NNF( ( ( p q) p)) NNF(p) = (NNF( ( p q)) NNF( p)) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: NNF( ( ( p q) p) p) = NNF( ( ( p q) p)) NNF(p) = (NNF( ( p q)) NNF( p)) p = (NNF( p q) p) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: NNF( ( ( p q) p) p) = NNF( ( ( p q) p)) NNF(p) = (NNF( ( p q)) NNF( p)) p = (NNF( p q) p) p = ((NNF( p) NNF(q)) p) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

Beispiel Wir betrachten die Formel ((p q) p) p. Zunächst eliminieren wir Vorkommen von in beliebiger Reihenfolge: ((p q) p) p (( p q) p) p ( ( p q) p) p ( ( p q) p) p Anschließend wenden wir NNF an: NNF( ( ( p q) p) p) = NNF( ( ( p q) p)) NNF(p) = (NNF( ( p q)) NNF( p)) p = (NNF( p q) p) p = ((NNF( p) NNF(q)) p) p = (( p q) p) p Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 25 von 33

NNF-Definition (Wiederholung) Sei F eine Formel, die nur die Junktoren, und enthält. Wir definieren eine Formel NNF(F) rekursiv wie folgt: NNF(p) = p falls p P NNF(F G) = NNF(F) NNF(G) NNF(F G) = NNF(F) NNF(G) NNF( p) = p falls p P NNF( F) = NNF(F) NNF( (F G)) = NNF( F) NNF( G) NNF( (F G)) = NNF( F) NNF( G) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 26 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Ja, wie man leicht überprüfen kann (der Fall ist nach der Form der negierten Formel nochmals in vier Unterfälle aufgespalten). Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Ja, wie man leicht überprüfen kann (der Fall ist nach der Form der negierten Formel nochmals in vier Unterfälle aufgespalten). Terminierung: Ist sichergestellt, dass die rekursive Berechnung terminiert? Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Ja, wie man leicht überprüfen kann (der Fall ist nach der Form der negierten Formel nochmals in vier Unterfälle aufgespalten). Terminierung: Ist sichergestellt, dass die rekursive Berechnung terminiert? Ja, denn NNF wir in jedem Rekursionsschritt auf Formeln angewendet, die insgesamt weniger Junktoren haben als zuvor. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Ja, wie man leicht überprüfen kann (der Fall ist nach der Form der negierten Formel nochmals in vier Unterfälle aufgespalten). Terminierung: Ist sichergestellt, dass die rekursive Berechnung terminiert? Ja, denn NNF wir in jedem Rekursionsschritt auf Formeln angewendet, die insgesamt weniger Junktoren haben als zuvor. Korrektheit: Ist das Ergebnis der rekusiven Umwandlung in NNF? Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Ja, wie man leicht überprüfen kann (der Fall ist nach der Form der negierten Formel nochmals in vier Unterfälle aufgespalten). Terminierung: Ist sichergestellt, dass die rekursive Berechnung terminiert? Ja, denn NNF wir in jedem Rekursionsschritt auf Formeln angewendet, die insgesamt weniger Junktoren haben als zuvor. Korrektheit: Ist das Ergebnis der rekusiven Umwandlung in NNF? Ja, denn kommt im Ergebnis nur in Fall p (p P) vor. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

NNF-Umwandlung: Korrektheit Ist diese Umformung korrekt? Wohldefiniertheit: Deckt die Rekursion wirklich jeden Fall ab? Ja, wie man leicht überprüfen kann (der Fall ist nach der Form der negierten Formel nochmals in vier Unterfälle aufgespalten). Terminierung: Ist sichergestellt, dass die rekursive Berechnung terminiert? Ja, denn NNF wir in jedem Rekursionsschritt auf Formeln angewendet, die insgesamt weniger Junktoren haben als zuvor. Korrektheit: Ist das Ergebnis der rekusiven Umwandlung in NNF? Ja, denn kommt im Ergebnis nur in Fall p (p P) vor. Satz: Jede Formel kann (in linearer Zeit) in eine äquivalente Formel in NNF umgewandelt werden. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 27 von 33

Konjunktive und Disjunktive Normalform Wir erinnern uns: Literale = negierte oder nicht-negierte Atome Eine Formel F ist in konjunktiver Normalform (KNF) wenn sie eine Konjunktion von Disjunktionen von Literalen ist, d.h. wenn sie die Form hat: (L 1,1... L 1,m 1 ) (L 2,1... L 2,m 2 )... (L n,1... L n,m n ) wobei die Formeln L i,j Literale sind. Eine Disjunktion von Literalen heißt Klausel. Eine Formel F ist in disjunktiver Normalform (DNF) wenn sie eine Disjunktion von Konjunktionen von Literalen ist, d.h. wenn sie die Form hat: (L 1,1... L 1,m 1 ) (L 2,1... L 2,m 2 )... (L n,1... L n,m n ) wobei die Formeln L i,j Literale sind. Eine Konjunktion von Literalen heißt Monom. Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 28 von 33

KNF und DNF bilden (Methode 1) Man kann KNF und DNF direkt aus der Wahrheitswertetabelle ablesen: p q p q 0 0 0 1 0 1 0 1 1 1 1 0 Disjunktive Normalform: Für jede Zeile mit Wert 1, bilde ein Monom mit allen Atomen, wobei genau die Atome mit Wert 0 negiert werden Beispiel: (p q) ( p q) Konjunktive Normalform: Für jede Zeile mit Wert 0, bilde eine Klausel mit allen Atomen, wobei genau die Atome mit Wert 1 negiert werden Beispiel: (p q) ( p q) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 29 von 33

KNF und DNF bilden (Methode 2) Man kann KNF und DNF bilden, indem man die NNF erzeugt und anschließend Distributivgesetze anwendet oft direkter Konjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 30 von 33

KNF und DNF bilden (Methode 2) Man kann KNF und DNF bilden, indem man die NNF erzeugt und anschließend Distributivgesetze anwendet oft direkter Konjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) Beispiel: (p q) ( p q)

KNF und DNF bilden (Methode 2) Man kann KNF und DNF bilden, indem man die NNF erzeugt und anschließend Distributivgesetze anwendet oft direkter Konjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) Beispiel: (p q) ( p q) ((p q) p) ((p q) q))

KNF und DNF bilden (Methode 2) Man kann KNF und DNF bilden, indem man die NNF erzeugt und anschließend Distributivgesetze anwendet oft direkter Konjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) Beispiel: (p q) ( p q) ((p q) p) ((p q) q)) (p p) ( q p) ((p q) q))

KNF und DNF bilden (Methode 2) Man kann KNF und DNF bilden, indem man die NNF erzeugt und anschließend Distributivgesetze anwendet oft direkter Konjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) Beispiel: (p q) ( p q) ((p q) p) ((p q) q)) (p p) ( q p) ((p q) q)) (p p) ( q p) (p q) ( q q)

KNF und DNF bilden (Methode 2) Man kann KNF und DNF bilden, indem man die NNF erzeugt und anschließend Distributivgesetze anwendet oft direkter Konjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) Beispiel: (p q) ( p q) ((p q) p) ((p q) q)) (p p) ( q p) ((p q) q)) (p p) ( q p) (p q) ( q q) (Man könnte die wahren Klauseln (p p) und ( q q) streichen.) Disjunktive Normalform Distributivgesetz: F (G H) (F G) (F H) (analog) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 30 von 33

Wie effizient sind die Umformungen in KNF? Ableitung aus Wahrheitswertetabelle Anzahl der Zeilen (=Klauseln) exponentiell in Variablenzahl Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 31 von 33

Wie effizient sind die Umformungen in KNF? Ableitung aus Wahrheitswertetabelle Anzahl der Zeilen (=Klauseln) exponentiell in Variablenzahl Umformung mit Distributivgesetz Negationsnormalform hat lineare Größe Distributivgesetz kann Vorkommen von Formeln verdoppeln exponentielles Wachstum Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 31 von 33

Wie effizient sind die Umformungen in KNF? Ableitung aus Wahrheitswertetabelle Anzahl der Zeilen (=Klauseln) exponentiell in Variablenzahl Umformung mit Distributivgesetz Negationsnormalform hat lineare Größe Distributivgesetz kann Vorkommen von Formeln verdoppeln exponentielles Wachstum Beispiel: Wir betrachten die Atome a i und b i für i {1,..., n}. Für ergibt sich die KNF: (a 1 b 1 ) (a 2 b 2 )... (a n b n ) (a 1 a 2... a n ) (b 1 a 2... a n )... (b 1 b 2... b n ) } {{ } 2 n Klauseln mit allen Kombinationen aus a i und b i Anzahl der Klauseln exponentiell in Variablenzahl Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 31 von 33

Effizientere Normalformen? Unsere Umformungen sind schlimmstenfalls exponentiell Allgemein unvermeidbar: Es gibt oft keine kleinere KNF/DNF Für KNF (aber nicht für DNF!) kann das Problem durch Einführung zusätzlicher Hilfsvariablen gelöst werden (Es gibt eine polynomielle Formel in KNF mit zusätzlichen Variablen, welche bezüglich der Variablen der ursprünglichen Formel semantisch äquivalent ist) Beispiel: (a 1 b 1 ) (a 2 b 2 )... (a n b n ) ist ausdrückbar als: ((a 1 b 1 ) c 1 ) (c 1 ((a 2 b 2 ) c 2 )) (c 2 ((a 3 b 3 ) c 3 ))... (c n 1 (a n b n )) Diese Formel ist fast äquivalent (bis auf die zusätzlichen c i ) und hat eine polynomielle KNF (Jede Zeile kann einzeln in KNF übersetzt werden, wobei Formeln fester Größe entstehen, von denen es linear viele gibt.) Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 32 von 33

Zusammenfassung und Ausblick In der Aussagenlogik gelten viele nützliche Äquivalenzen die man für Umformungen ausnutzen kann Die Negationsnormalform vereinfacht Formeln, indem Negationen nach unten verschoben werden Konjunktive und disjunktive Normalform stellen beliebige Formeln als Konjunktion bzw. Disjunktion dar, allerdings zum Teil mit erheblichen (exponentiellen) Kosten Offene Fragen: Geht logisches Schließen auch ohne Wahrheitswertetabellen? Wie (in)effizient ist logisches Schließen? Was hat das mit Sprachen, Berechnung und TMs zu tun? Markus Krötzsch, 11. Januar 2018 Formale Systeme Folie 33 von 33