Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele Georg Moser Michael Schaper Manuel Schneckenreither Institut für Informatik @ UIBK Wintersemester 2015 Zusammenfassung Zusammenfassung der letzten LVA Beispiel Wenn das Kind schreit, hat es Hunger Das Kind schreit Also, hat das Kind Hunger Fakt Korrektheit dieser Schlussfigur ist unabhängig von den konkreten Aussagen Definition (Modus Ponens) Wenn A, dann B A gilt Also, gilt B GM (IFI) Einführung in die Theoretische Informatik 19/1 Zusammenfassung Inhalte der Lehrveranstaltung Einführung in die Logik Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive und Disjunktive Normalformen Einführung in die Algebra Boolesche Algebra, Universelle Algebra, Logische Schaltkreise Einführung in die Theorie der Formalen Sprachen Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie Sprachen Einführung in die Berechenbarkeitstheorie Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen Einführung in die Programmverifikation Prinzipien der Analyse von Programmen, Verifikation nach Hoare GM (IFI) Einführung in die Theoretische Informatik 20/1 Zusammenfassung Inhalte der Lehrveranstaltung Einführung in die Logik Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive und Disjunktive Normalformen Einführung in die Algebra Boolesche Algebra, Universelle Algebra, Logische Schaltkreise Einführung in die Theorie der Formalen Sprachen Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie Sprachen Einführung in die Berechenbarkeitstheorie Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen Einführung in die Programmverifikation Prinzipien der Analyse von Programmen, Verifikation nach Hoare GM (IFI) Einführung in die Theoretische Informatik 20/1 Syntax und Semantik der Aussagenlogik Syntax der Aussagenlogik Definition Sei AT eine Menge von atomaren Formeln (oder Atomen), deren Elemente mit p, q, r , . . . bezeichnet werden GM (IFI) Einführung in die Theoretische Informatik 21/1 Syntax und Semantik der Aussagenlogik Syntax der Aussagenlogik Definition Sei AT eine Menge von atomaren Formeln (oder Atomen), deren Elemente mit p, q, r , . . . bezeichnet werden Definition Wahrheitswertsymbole: True False Junktoren: ¬ GM (IFI) ∧ ∨ → Einführung in die Theoretische Informatik 21/1 Syntax und Semantik der Aussagenlogik Aussagenlogische Formeln Definition Die Formeln der Aussagenlogik sind induktiv definiert: GM (IFI) Einführung in die Theoretische Informatik 22/1 Syntax und Semantik der Aussagenlogik Aussagenlogische Formeln Definition Die Formeln der Aussagenlogik sind induktiv definiert: 1 GM (IFI) Eine atomare Formel p ist eine Formel, Einführung in die Theoretische Informatik 22/1 Syntax und Semantik der Aussagenlogik Aussagenlogische Formeln Definition Die Formeln der Aussagenlogik sind induktiv definiert: 1 Eine atomare Formel p ist eine Formel, 2 ein Wahrheitswertsymbol (True, False) ist eine Formel, und GM (IFI) Einführung in die Theoretische Informatik 22/1 Syntax und Semantik der Aussagenlogik Aussagenlogische Formeln Definition Die Formeln der Aussagenlogik sind induktiv definiert: 1 Eine atomare Formel p ist eine Formel, 2 ein Wahrheitswertsymbol (True, False) ist eine Formel, und 3 wenn A und B Formeln sind, dann sind ¬A (A ∧ B) (A ∨ B) (A → B) auch Formeln GM (IFI) Einführung in die Theoretische Informatik 22/1 Syntax und Semantik der Aussagenlogik Aussagenlogische Formeln Definition Die Formeln der Aussagenlogik sind induktiv definiert: 1 Eine atomare Formel p ist eine Formel, 2 ein Wahrheitswertsymbol (True, False) ist eine Formel, und 3 wenn A und B Formeln sind, dann sind ¬A (A ∧ B) (A ∨ B) (A → B) auch Formeln Beispiel Der folgende Ausdruck A ist eine Formel ((p → ¬q) → (¬q → ¬p)) GM (IFI) Einführung in die Theoretische Informatik 22/1 Syntax und Semantik der Aussagenlogik Konvention Wir verwenden die folgende Präzedenz: ¬ > ∨, ∧ > → GM (IFI) → ist rechts-assoziativ: p → (q → r ) Einführung in die Theoretische Informatik 23/1 Syntax und Semantik der Aussagenlogik Konvention Wir verwenden die folgende Präzedenz: ¬ > ∨, ∧ > → → ist rechts-assoziativ: p → (q → r ) Definition 1 GM (IFI) T und F bezeichnen die beiden betrachteten Wahrheitswerte Einführung in die Theoretische Informatik 23/1 Syntax und Semantik der Aussagenlogik Konvention Wir verwenden die folgende Präzedenz: ¬ > ∨, ∧ > → → ist rechts-assoziativ: p → (q → r ) Definition 1 T und F bezeichnen die beiden betrachteten Wahrheitswerte 2 Belegung v : AT → {T, F} assoziiert Atome mit Wahrheitswerten GM (IFI) Einführung in die Theoretische Informatik 23/1 Syntax und Semantik der Aussagenlogik Konvention Wir verwenden die folgende Präzedenz: ¬ > ∨, ∧ > → → ist rechts-assoziativ: p → (q → r ) Definition 1 T und F bezeichnen die beiden betrachteten Wahrheitswerte 2 Belegung v : AT → {T, F} assoziiert Atome mit Wahrheitswerten Beispiel Betrachte die Atome p, q und r, sowie T v(a) := F F GM (IFI) die folgende Belegung: a=p a=q a=r Einführung in die Theoretische Informatik 23/1 Syntax und Semantik der Aussagenlogik Konvention Wir verwenden die folgende Präzedenz: ¬ > ∨, ∧ > → → ist rechts-assoziativ: p → (q → r ) Definition 1 T und F bezeichnen die beiden betrachteten Wahrheitswerte 2 Belegung v : AT → {T, F} assoziiert Atome mit Wahrheitswerten Beispiel Betrachte die Atome p, q und r, sowie T v(a) := F F die folgende Belegung: a=p a=q a=r Wir schreiben auch v(p) = T, v(q) = F, v(r) = F GM (IFI) Einführung in die Theoretische Informatik 23/1 Syntax und Semantik der Aussagenlogik Definition 1 GM (IFI) Atome sind Platzhalter für konkrete Aussagen Einführung in die Theoretische Informatik 24/1 Syntax und Semantik der Aussagenlogik Definition 1 Atome sind Platzhalter für konkrete Aussagen 2 Junktoren sind formale Zeichen, die Aussagen verbinden GM (IFI) Einführung in die Theoretische Informatik 24/1 Syntax und Semantik der Aussagenlogik Definition 1 Atome sind Platzhalter für konkrete Aussagen 2 Junktoren sind formale Zeichen, die Aussagen verbinden ¬ ∧ ∨ → |{z} |{z} |{z} |{z} Negation Konjunktion Disjunktion Implikation GM (IFI) Einführung in die Theoretische Informatik 24/1 Syntax und Semantik der Aussagenlogik Definition 1 Atome sind Platzhalter für konkrete Aussagen 2 Junktoren sind formale Zeichen, die Aussagen verbinden ¬ ∧ ∨ → |{z} |{z} |{z} |{z} Negation Konjunktion Disjunktion Implikation 3 Die Bedeutung wird durch Wahrheitstafeln definiert ¬ T F F T GM (IFI) ∧ T F T T F F F F ∨ T F T T T F T F Einführung in die Theoretische Informatik → T F T T F F T T 24/1 Syntax und Semantik der Aussagenlogik Definition 1 Atome sind Platzhalter für konkrete Aussagen 2 Junktoren sind formale Zeichen, die Aussagen verbinden ¬ ∧ ∨ → |{z} |{z} |{z} |{z} Negation Konjunktion Disjunktion Implikation 3 Die Bedeutung wird durch Wahrheitstafeln definiert ¬ T F F T ∧ T F T T F F F F ∨ T F T T T F T F → T F T T F F T T Beispiel Der allgemeine Aussage Wenn A, dann B“ kann nun konzise ” ausgedrückt werden: A→B GM (IFI) Einführung in die Theoretische Informatik 24/1 Syntax und Semantik der Aussagenlogik Definition 1 Atome sind Platzhalter für konkrete Aussagen 2 Junktoren sind formale Zeichen, die Aussagen verbinden ¬ ∧ ∨ → |{z} |{z} |{z} |{z} Negation Konjunktion Disjunktion Implikation 3 Die Bedeutung wird durch Wahrheitstafeln definiert ¬ T F F T ∧ T F T T F F F F ∨ T F T T T F T F → T F T T F F T T Beispiel Der allgemeine Aussage Wenn p, dann q“ kann nun konzise ausgedrückt ” werden: p→q GM (IFI) Einführung in die Theoretische Informatik 24/1 Syntax und Semantik der Aussagenlogik Semantik der Aussagenlogik Definition Erweiterung der Belegung v zu einem Wahrheitswert für Formeln: GM (IFI) Einführung in die Theoretische Informatik 25/1 Syntax und Semantik der Aussagenlogik Semantik der Aussagenlogik Definition Erweiterung der Belegung v zu einem Wahrheitswert für Formeln: v̄(p) = v(p) GM (IFI) v̄(True) = T Einführung in die Theoretische Informatik v̄(False) = F 25/1 Syntax und Semantik der Aussagenlogik Semantik der Aussagenlogik Definition Erweiterung der Belegung v zu einem Wahrheitswert für Formeln: v̄(p) = v(p) v̄(True) = T ( T v̄(A) = F v̄(¬A) = F v̄(A) = T GM (IFI) Einführung in die Theoretische Informatik v̄(False) = F 25/1 Syntax und Semantik der Aussagenlogik Semantik der Aussagenlogik Definition Erweiterung der Belegung v zu einem Wahrheitswert für Formeln: v̄(p) = v(p) ( T v̄(¬A) = F ( T v̄(A ∧ B) = F GM (IFI) v̄(True) = T v̄(False) = F v̄(A) = F v̄(A) = T v̄(A) = v̄(B) = T sonst Einführung in die Theoretische Informatik 25/1 Syntax und Semantik der Aussagenlogik Semantik der Aussagenlogik Definition Erweiterung der Belegung v zu einem Wahrheitswert für Formeln: v̄(p) = v(p) ( T v̄(¬A) = F ( T v̄(A ∧ B) = F ( F v̄(A ∨ B) = T GM (IFI) v̄(True) = T v̄(False) = F v̄(A) = F v̄(A) = T v̄(A) = v̄(B) = T sonst v̄(A) = v̄(B) = F sonst Einführung in die Theoretische Informatik 25/1 Syntax und Semantik der Aussagenlogik Semantik der Aussagenlogik Definition Erweiterung der Belegung v zu einem Wahrheitswert für Formeln: v̄(p) = v(p) ( T v̄(¬A) = F ( T v̄(A ∧ B) = F ( F v̄(A ∨ B) = T ( T v̄(A → B) = F GM (IFI) v̄(True) = T v̄(False) = F v̄(A) = F v̄(A) = T v̄(A) = v̄(B) = T sonst v̄(A) = v̄(B) = F sonst v̄(A) = F oder v̄(B) = T sonst Einführung in die Theoretische Informatik 25/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F GM (IFI) Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf GM (IFI) Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf Beispiel GM (IFI) p q T T (p → ¬q) (¬q → ¬p) (p → ¬q) → (¬q → ¬p) Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf Beispiel GM (IFI) p q (p → ¬q) (¬q → ¬p) T T F T (p → ¬q) → (¬q → ¬p) Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf Beispiel GM (IFI) p q (p → ¬q) (¬q → ¬p) (p → ¬q) → (¬q → ¬p) T T F T T Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf Beispiel GM (IFI) p q (p → ¬q) (¬q → ¬p) (p → ¬q) → (¬q → ¬p) T T T F F T T F T F Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf Beispiel GM (IFI) p q (p → ¬q) (¬q → ¬p) (p → ¬q) → (¬q → ¬p) T T F T F T F T T T F T T F T Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Wahrheitstabelle Beispiel Sei v(p) = T, v(q) = F, dann v̄(A) = v̄((p → ¬q) → (¬q → ¬p)) = F Definition Sei A eine Formel; die Wahrheitstabelle von A listet alle relevanten Belegungen v zusammen mit dem Wahrheitswert v̄(A) auf Beispiel GM (IFI) p q (p → ¬q) (¬q → ¬p) (p → ¬q) → (¬q → ¬p) T T F F T F T F F T T T T F T T T F T T Einführung in die Theoretische Informatik 26/1 Syntax und Semantik der Aussagenlogik Definition sei A eine Formel GM (IFI) Einführung in die Theoretische Informatik 27/1 Syntax und Semantik der Aussagenlogik Definition sei A eine Formel 1 GM (IFI) wenn Belegung v existiert, sodass v̄(A) = T, heißt A erfüllbar Einführung in die Theoretische Informatik 27/1 Syntax und Semantik der Aussagenlogik Definition sei A eine Formel 1 wenn Belegung v existiert, sodass v̄(A) = T, heißt A erfüllbar 2 wenn keine solche Belegung existiert, heißt A unerfüllbar GM (IFI) Einführung in die Theoretische Informatik 27/1 Syntax und Semantik der Aussagenlogik Definition sei A eine Formel 1 wenn Belegung v existiert, sodass v̄(A) = T, heißt A erfüllbar 2 wenn keine solche Belegung existiert, heißt A unerfüllbar 3 wenn für alle Belegungen v, v̄(A) = T, heißt A gültig oder Tautologie GM (IFI) Einführung in die Theoretische Informatik 27/1 Syntax und Semantik der Aussagenlogik Definition sei A eine Formel 1 wenn Belegung v existiert, sodass v̄(A) = T, heißt A erfüllbar 2 wenn keine solche Belegung existiert, heißt A unerfüllbar 3 wenn für alle Belegungen v, v̄(A) = T, heißt A gültig oder Tautologie Definition Die Konsequenzrelation {A1 , . . . , An } |= B gilt, gdw. für alle Belegungen v: v̄(A1 ) = T, . . . , v̄(An ) = T impliziert v̄(B) = T GM (IFI) Einführung in die Theoretische Informatik 27/1 Syntax und Semantik der Aussagenlogik Definition sei A eine Formel 1 wenn Belegung v existiert, sodass v̄(A) = T, heißt A erfüllbar 2 wenn keine solche Belegung existiert, heißt A unerfüllbar 3 wenn für alle Belegungen v, v̄(A) = T, heißt A gültig oder Tautologie Definition Die Konsequenzrelation {A1 , . . . , An } |= B gilt, gdw. für alle Belegungen v: v̄(A1 ) = T, . . . , v̄(An ) = T impliziert v̄(B) = T • Wir schreiben |= A statt ∅ |= A; außerdem schreiben wir A1 , . . . , An |= B statt {A1 , . . . , An } |= B • Gilt ∅ |= A dann ist A eine Tautologie GM (IFI) Einführung in die Theoretische Informatik 27/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar GM (IFI) Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. GM (IFI) Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 GM (IFI) Wir zeigen die Richtung von links nach rechts: Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 Wir zeigen die Richtung von links nach rechts: 2 Wir zeigen die Richtung von rechts nach links: GM (IFI) Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 Wir zeigen die Richtung von links nach rechts: • angenommen v̄(A) = T, für alle Belegungen v 2 GM (IFI) Wir zeigen die Richtung von rechts nach links: Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 Wir zeigen die Richtung von links nach rechts: • angenommen v̄(A) = T, für alle Belegungen v • also v̄(¬A) = F, für alle Belegungen v 2 GM (IFI) Wir zeigen die Richtung von rechts nach links: Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 Wir zeigen die Richtung von links nach rechts: • angenommen v̄(A) = T, für alle Belegungen v • also v̄(¬A) = F, für alle Belegungen v • somit ist ¬A unerfüllbar 2 GM (IFI) Wir zeigen die Richtung von rechts nach links: Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 Wir zeigen die Richtung von links nach rechts: • angenommen v̄(A) = T, für alle Belegungen v • also v̄(¬A) = F, für alle Belegungen v • somit ist ¬A unerfüllbar 2 Wir zeigen die Richtung von rechts nach links: • angenommen ¬A ist unerfüllbar • v̄(¬A) = F, für alle Belegungen v • also v̄(A) = T, für alle Belegungen v und somit gültig GM (IFI) Einführung in die Theoretische Informatik 28/1 Syntax und Semantik der Aussagenlogik Satz Eine Formel A ist eine Tautologie gdw. ¬A unerfüllbar Beweis. 1 Wir zeigen die Richtung von links nach rechts: • angenommen v̄(A) = T, für alle Belegungen v • also v̄(¬A) = F, für alle Belegungen v • somit ist ¬A unerfüllbar 2 Wir zeigen die Richtung von rechts nach links: • angenommen ¬A ist unerfüllbar • v̄(¬A) = F, für alle Belegungen v • also v̄(A) = T, für alle Belegungen v und somit gültig GM (IFI) Einführung in die Theoretische Informatik 28/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: • (A → B) ∧ (B → A) gültig gdw. (A → B) gültig und (B → A) gültig GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: • (A → B) ∧ (B → A) gültig gdw. (A → B) gültig und (B → A) gültig • Angenommen A |= B; dann gilt für alle Belegungen v: v̄(A) = T GM (IFI) impliziert v̄(B) = T Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: • (A → B) ∧ (B → A) gültig gdw. (A → B) gültig und (B → A) gültig • Angenommen A |= B; dann gilt für alle Belegungen v: v̄(A) = T impliziert v̄(B) = T • v̄(A → B) = T für alle v GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: • (A → B) ∧ (B → A) gültig gdw. (A → B) gültig und (B → A) gültig • Angenommen A |= B; dann gilt für alle Belegungen v: v̄(A) = T impliziert v̄(B) = T • v̄(A → B) = T für alle v • (A → B) ist gültig GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: • (A → B) ∧ (B → A) gültig gdw. (A → B) gültig und (B → A) gültig • Angenommen A |= B; dann gilt für alle Belegungen v: v̄(A) = T impliziert v̄(B) = T • v̄(A → B) = T für alle v • (A → B) ist gültig • ähnlich folgt aus B |= A, dass (B → A) gültig GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Definition (Äquivalenz) A ≡ B, wenn A |= B und B |= A gilt Satz A ≡ B gilt gdw. (A → B) ∧ (B → A) eine Tautologie Beweis. Wir zeigen die Richtung von links nach rechts: • (A → B) ∧ (B → A) gültig gdw. (A → B) gültig und (B → A) gültig • Angenommen A |= B; dann gilt für alle Belegungen v: v̄(A) = T impliziert v̄(B) = T • v̄(A → B) = T für alle v • (A → B) ist gültig • ähnlich folgt aus B |= A, dass (B → A) gültig GM (IFI) Einführung in die Theoretische Informatik 29/1 Äquivalenz von Formeln Assoziativität und Kommutativität von Junktoren Fakt • Konjunktion und Disjunktion sind assoziativ und kommutativ • Wir unterscheiden nicht zwischen: GM (IFI) (A ∧ B) ∧ C A ∧ (B ∧ C ) A∧B B ∧A Einführung in die Theoretische Informatik A∧B ∧C 30/1 Äquivalenz von Formeln Assoziativität und Kommutativität von Junktoren Fakt • Konjunktion und Disjunktion sind assoziativ und kommutativ • Wir unterscheiden nicht zwischen: (A ∧ B) ∧ C A ∧ (B ∧ C ) A∧B B ∧A A∧B ∧C Definition 1 Vn = A1 ∧ · · · ∧ An 3 Wn = A1 ∨ · · · ∨ An GM (IFI) i=1 Ai i=1 Ai Einführung in die Theoretische Informatik 30/1 Äquivalenz von Formeln Assoziativität und Kommutativität von Junktoren Fakt • Konjunktion und Disjunktion sind assoziativ und kommutativ • Wir unterscheiden nicht zwischen: (A ∧ B) ∧ C A ∧ (B ∧ C ) A∧B B ∧A A∧B ∧C Definition 1 2 3 GM (IFI) Vn Ai = A1 ∧ · · · ∧ An Wi=1 n Ai = True Vi=1 0 i=1 Ai = A1 ∨ · · · ∨ An Einführung in die Theoretische Informatik 30/1 Äquivalenz von Formeln Assoziativität und Kommutativität von Junktoren Fakt • Konjunktion und Disjunktion sind assoziativ und kommutativ • Wir unterscheiden nicht zwischen: (A ∧ B) ∧ C A ∧ (B ∧ C ) A∧B B ∧A A∧B ∧C Definition 1 2 3 4 GM (IFI) Vn Ai = A1 ∧ · · · ∧ An Wi=1 n Ai = True Vi=1 0 Wi=1 0 Ai = A1 ∨ · · · ∨ An i=1 Ai = False Einführung in die Theoretische Informatik 30/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) GM (IFI) Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A GM (IFI) Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A A ∨ True ≡ True A ∨ False ≡ A A∨A≡A A ∨ ¬A ≡ True GM (IFI) Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A A ∨ True ≡ True A ∧ True ≡ A A ∨ False ≡ A A ∧ False ≡ False A∨A≡A A ∨ ¬A ≡ True GM (IFI) A∧A≡A A ∧ ¬A ≡ False Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A A ∨ True ≡ True A ∧ True ≡ A A → True ≡ True A ∨ False ≡ A A ∧ False ≡ False A → False ≡ ¬A A∧A≡A True → A ≡ A A∨A≡A A ∨ ¬A ≡ True A ∧ ¬A ≡ False False → A ≡ True A → A ≡ True GM (IFI) Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A A ∨ True ≡ True A ∧ True ≡ A A → True ≡ True A ∨ False ≡ A A ∧ False ≡ False A → False ≡ ¬A A∧A≡A True → A ≡ A A∨A≡A A ∨ ¬A ≡ True A ∧ ¬A ≡ False False → A ≡ True A → A ≡ True Lemma (Distributivgesetze und Andere) GM (IFI) Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A A ∨ True ≡ True A ∧ True ≡ A A → True ≡ True A ∨ False ≡ A A ∧ False ≡ False A → False ≡ ¬A A∧A≡A True → A ≡ A A∨A≡A A ∨ ¬A ≡ True A ∧ ¬A ≡ False False → A ≡ True A → A ≡ True Lemma (Distributivgesetze und Andere) A → B ≡ ¬A ∨ B GM (IFI) ¬(A → B) ≡ A ∧ ¬B Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen I Lemma (Elementare Äquivalenzen) ¬¬A ≡ A A ∨ True ≡ True A ∧ True ≡ A A → True ≡ True A ∨ False ≡ A A ∧ False ≡ False A → False ≡ ¬A A∧A≡A True → A ≡ A A∨A≡A A ∨ ¬A ≡ True A ∧ ¬A ≡ False False → A ≡ True A → A ≡ True Lemma (Distributivgesetze und Andere) A → B ≡ ¬A ∨ B ¬(A → B) ≡ A ∧ ¬B A ∧ (B ∨ C ) ≡ (A ∧ B) ∨ (A ∧ C ) GM (IFI) A ∨ (B ∧ C ) ≡ (A ∨ B) ∧ (A ∨ C ) Einführung in die Theoretische Informatik 31/1 Äquivalenz von Formeln Äquivalenzen II Lemma (Absorptionsgesetze) A ∧ (A ∨ B) ≡ A A ∧ (¬A ∨ B) ≡ A ∧ B GM (IFI) A ∨ (A ∧ B) ≡ A A ∨ (¬A ∧ B) ≡ A ∨ B Einführung in die Theoretische Informatik 32/1 Äquivalenz von Formeln Äquivalenzen II Lemma (Absorptionsgesetze) A ∧ (A ∨ B) ≡ A A ∧ (¬A ∨ B) ≡ A ∧ B A ∨ (A ∧ B) ≡ A A ∨ (¬A ∧ B) ≡ A ∨ B Lemma (Gesetze von de Morgan) ¬(A ∧ B) ≡ ¬A ∨ ¬B GM (IFI) ¬(A ∨ B) ≡ ¬A ∧ ¬B Einführung in die Theoretische Informatik 32/1 Äquivalenz von Formeln Gleiches durch Gleiches Ersetzen Definition Eine Teilformel A einer Formel B ist ein Teilausdruck von B, der wiederum eine Formel ist GM (IFI) Einführung in die Theoretische Informatik 33/1 Äquivalenz von Formeln Gleiches durch Gleiches Ersetzen Definition Eine Teilformel A einer Formel B ist ein Teilausdruck von B, der wiederum eine Formel ist Satz 1 GM (IFI) A, B Formeln und E , F Teilformeln von A, B Einführung in die Theoretische Informatik 33/1 Äquivalenz von Formeln Gleiches durch Gleiches Ersetzen Definition Eine Teilformel A einer Formel B ist ein Teilausdruck von B, der wiederum eine Formel ist Satz 1 A, B Formeln und E , F Teilformeln von A, B 2 Gelte E ≡ F 3 B ist das Resultat der Ersetzung von E durch F in A GM (IFI) Einführung in die Theoretische Informatik 33/1 Äquivalenz von Formeln Gleiches durch Gleiches Ersetzen Definition Eine Teilformel A einer Formel B ist ein Teilausdruck von B, der wiederum eine Formel ist Satz 1 A, B Formeln und E , F Teilformeln von A, B 2 Gelte E ≡ F 3 B ist das Resultat der Ersetzung von E durch F in A Dann gilt A ≡ B GM (IFI) Einführung in die Theoretische Informatik 33/1 Äquivalenz von Formeln Beispiel Wir betrachten die folgende Äquivalenz p → q ≡ ¬p ∨ q GM (IFI) Einführung in die Theoretische Informatik 34/1 Äquivalenz von Formeln Beispiel Wir betrachten die folgende Äquivalenz p → q ≡ ¬p ∨ q sowie die folgende Formel (p → q) ∧ r GM (IFI) Einführung in die Theoretische Informatik 34/1 Äquivalenz von Formeln Beispiel Wir betrachten die folgende Äquivalenz p → q ≡ ¬p ∨ q sowie die folgende Formel (p → q) ∧ r Nun gilt (p → q) ∧ r ≡ (¬p ∨ q) ∧ r GM (IFI) Einführung in die Theoretische Informatik 34/1