Einführung in die Theoretische Informatik Musterlösung - Version G 7. LVA 703007 Institut für Informatik a) F = (a → ¬c) ∨ (a ∧ b ∧ c ∧ d) ∨ (d → ¬b) ist eine Tautologie und damit erfüllbar. Beweis. (Methode von Quine) (1) Fa7→T = (T → ¬c) ∨ (T ∧ b ∧ c ∧ d) ∨ (d → ¬b) ≡ ¬c ∨ (b ∧ c ∧ d) ∨ (d → ¬b) (1.1) Fa,d7→T = ¬c ∨ (b ∧ c ∧ T) ∨ (T → ¬b) ≡ ¬c ∨ (b ∧ c) ∨ ¬b ≡ (¬b ∨ ¬c) ∨ (b ∧ c) ≡ ¬(b ∧ c) ∨ (b ∧ c) ≡ T (1.2) Fa,d7→F = (¬c) ∨ (b ∧ c ∧ F) ∨ (F → ¬b) ≡ ¬c ∨ F ∨ T ≡ T (2) Fa7→F = (F → ¬c) ∨ (F ∧ b ∧ c ∧ d) ∨ (d → ¬b) ≡ T ∨ F ∨ (d → ¬b) ≡ T F ist eine Tautologie weil (1) F {a 7→ T} und (2) F {a 7→ F} Tautologien sind. (1) ist eine Tautologie weil (1.1) und (1.2) Tautologien sind. b) Lösung. Sei A eine aussagenlogische Formel, die weder Negationen noch False enthält. Da wir nur Erfüllbarkeit von A beweisen müssen, reicht es zu zeigen, dass es eine Belegung gibt, mit der A wahr ist. Wir zeigen nun mittels struktureller Induktion, dass wenn alle Atome in A mit wahr belegt werden, auch A wahr ist: Basis: Wir unterscheiden die folgenden Fälle: • A ist eine atomare Formel: dann kann A mit dem Wahrheitswert T belegt werden und somit ist die ganze Formel A wahr. • A ist ein Wahrheitswertsymbol: dann kann A laut Vorraussetzung nur True sein und damit ist A wahr. Schritt: Wir beweisen die Aussage für die zusammengesetzten Formeln (A ∧ B), (A ∨ B), (A → B) unter der Annahme, dass A und B wahr sind, wenn alle Atome mit wahr belegt werden (Induktionsannahme). Für ¬A müssen wir nichts zeigen, da es die Vorraussetzung nicht erfüllt. Wenn A und B beide wahr sind, folgt aus der Definition der Junktoren sofort, dass auch (A ∧ B), (A ∨ B) und (A → B) wahr sind. 8. Lösung. 1 b=x∈E (a) f(x, a) = g(a, x) ∈ E E`b=x (s) (a) (r) E ` f(x, a) = g(a, x) a=a (k) E`x=b ( i,{x → b} ) E ` f(x, a) = f(b, a) E ` f(b, a) = g(a, b) (t) E ` f(x, a) = g(a, b) 9. Lösung. S a) a S b B S A b a A B b a b) G1 ist nicht eindeutig, da es zum Beispiel für das Wort aabbb zwei unterschiedliche Linksableitungen gibt. S ⇒ aSB ⇒ aaSBB ⇒ aaBB ⇒ aabB ⇒ aabbB ⇒ aabbb S ⇒ aSB ⇒ aaSBB ⇒ aaBB ⇒ aabBB ⇒ aabbB ⇒ aabbb c) G2 = ({S}, {a, b, c}, R, S), wobei die Regeln R wie folgt definiert sind: S ⇒ aSbb | c 2 3 2 1 mit (x1 = 0 ∧ x2 = b) |= (x1 + x2 = b) und (x1 + x2 = b ∧ x2 = 0) |= (x1 = b) mit (x1 + x2 = b ∧ x2 6= 0) |= (x1 + 1 + x2 − 1 = b) [z] [z] {x1 + 1 + x2 − 1 = b} x2 := x2 − 1 {x1 + 1 + x2 = b} 2 {x1 + 1 + x2 = b} x1 := x1 + 1 {x1 + x2 = b} [a]≡ [a] {x1 + x2 = b ∧ x2 6= 0} x2 := x2 − 1 {x1 + x2 = b − 1} {x1 + x2 = b − 1} x1 := x1 + 1 {x1 + x2 = b} [s] {x1 + x2 = b ∧ x2 6= 0} x2 := x2 − 1; x1 := x1 + 1 {x1 + x2 = b} [w] {x1 + x2 = b} while x2 6= 0 do x2 := x2 − 1; x1 := x1 + 1 end {x1 + x2 = b ∧ x2 = 0} [a]1 {x1 = 0 ∧ x2 = b} while x2 6= 0 do x2 := x2 − 1; x1 := x1 + 1 end {x1 = b} 10. Lösung.