Teillösungen zum 3. Aufgabenblatt zur Vorlesung Informatik A (Autor:F.Hoffmann) 1. Kanonische DNF und KNF Die Boolesche Funktion f : B3 −→ B nimmt für ein Tupel (b1 , b2 , b3 ) genau dann den Wert 1 an, wenn die Ungleichungen b1 ≤ b2 ≤ b3 erfüllt sind. Erzeugen Sie die zugehörigen kanonischen KNF und DNF.Benutzen Sie als Variablenmenge V = {x1 , x2 , x3 }. Leiten Sie aus der kanonischen DNF eine möglichst einfache, semantisch äquivalente DNF ab! Lösung: Die Wertetabelle der Funktion f ist b1 b2 b3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 f (b1 , b2 , b3 ) 1 1 0 1 0 0 0 1 Die kanonische DNF, abgeleitet aus dem Urbild der 1, ist: dnf (f ) = (¬x1 ∧ ¬x2 ∧ ¬x3 ) ∨ (¬x1 ∧ ¬x2 ∧ x3 ) ∨ (¬x1 ∧ x2 ∧ x3 ) ∨ (x1 ∧ x2 ∧ x3 ) Die beiden ersten bzw. letzten Minterme lassen sich zusammenfassen und wir erhalten folgende semantisch äquivalente DNF: t = (¬x1 ∧ ¬x2 ) ∨ (x2 ∧ x3 ) Die kanonische KNF, abgeleitet aus dem Urbild der 0, ist: knf (f ) = (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ∨ ¬x3 ) ∧ (¬x1 ∨ ¬x2 ∨ x3 ) 2. Resolution wurde korrigiert Lösen Sie die folgenden zwei Fragen durch Verwendung des Resolutionskalküls. a) Ist der folgende Term erfüllbar? (x1 ∨ x2 ) ∧ (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x2 ∨ x3 ) ∧ ¬x3 b) Ist der folgende Term eine Tautologie? (x1 ∧ x2 ∧ x3 ) ∨ (x1 ∧ ¬x3 ) ∨ (¬x1 ∧ x3 ) ∨ ¬x2 3. Prädikatenlogik Dies ist die Lieblingseröffnungsfrage von Prof. A. in mündlichen Prüfungen: Die Goldbachsche Vermutung lautet: Jede gerade natürliche Zahl größer als 2 ist die Summe von 2 Primzahlen.“ ” Formulieren Sie dies als mathematische Aussage mit Quantoren (Prädikatenlogische Formel). Sie können dabei ein Prädikat isPrim(n) benutzen, das genau dann wahr ist, wenn n Primzahl ist, und das Prädikat isEven(n), das angibt, ob n gerade ist. Lösung: ∀n ∈ N : (n > 2 ∧ isEven(n)) ⇒ (∃p, q ∈ N : n = p + q ∧ isPrim(p) ∧ isPrim(q)) 4. Vollständige Induktion (6 Punkte) Beweisen Sie die folgenden Aussagen mit vollständiger Induktion: (a) Für jede natürliche Zahl n ist (n3 + 2n) durch 3 teilbar. Beweis: (mit vollständiger Induktion nach n) Induktionsanfang: Die Aussage P (n) : “Für jede natürliche Zahl n ist (n3 + 2n) durch 3 teilbar” ist richtig für n = 0, denn 3 · 0 = 0 Induktionsschritt: Wir zeigen, dass die Implikation P (n) ⇒ P (n + 1) für jedes n richtig ist. Nehmen wir an, dass P (n) gilt. (n + 1)3 + 2(n + 1) = n3 + 3n2 + 3n + 1 + 2n + 2 = n3 + 2n + 3(n + 1) Nach Annahme ist n3 + 2n durch 3 teilbar und damit auch obige Summe. Also ist die Implikation P (n) ⇒ P (n + 1) wahr. Nach dem Prinzip der vollständigen Induktion gilt damit die Aussage für alle natürlichen Zahlen. (b) Für jede natürliche Zahl n ≥ 1 gilt: 12 − 22 + 32 − . . . + (−1)n−1 n2 = (−1)n−1 n(n + 1) 2 Beweis: (mit vollständiger Induktion nach n) Sei P (n) die Aussage 12 − 22 + 32 − . . . + (−1)n−1 n2 = (−1)n−1 n(n+1) . 2 1(1+1) 2 1−1 Induktionsanfang: Für n = 1 ist P (1) richtig, denn 1 = (−1) =1 2 Induktionsschritt: Wir zeigen, dass die Implikation P (n) ⇒ P (n + 1) für jedes n ≥ 1 richtig ist. Nehmen wir an, P (n) gilt.Dann ist unter dieser Vorraussetzung 12 − 22 + 32 − . . . + (−1)n−1 n2 + (−1)n (n + 1)2 = (−1)n−1 n(n + 1) + (−1)n (n + 1)2 2 Dies können wir umformen: + 1) n(n + 1) 2(n + 1)2 n 2 n (−1) + (−1) (n + 1) = (−1) (−1) + = 2 2 2 2 (n + 1)(n + 2) n n + 3n + 2 = (−1) = (−1)n 2 2 Mithin folgt die Richtigkeit von P (n + 1).Nach dem Prinzip der vollständigen Induktion gilt damit die Aussage für alle natürlichen Zahlen > 0. n−1 n(n