TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik P ROF. D R .D R . J ÜRGEN R ICHTER -G EBERT, VANESSA K RUMMECK , M ICHAEL P R ÄHOFER Höhere Mathematik für Informatiker II (Sommersemester 2004) — Lösungen zu Aufgabenblatt 1 (22. April 2004) — — Präsenzaufgaben — Aufgabe 1. 5.473 Die Logik muß für sich selber sorgen1 . 1.) Welche der folgenden Ausdrücke sind syntaktisch korrekte Formeln über den atomaren Formeln A, B und C ? (C ∧ (A¬B)) ((¬A) ∨ B) ∧ ((C ∧ A) ∨ (¬(C ∨ D))) ((¬((¬B) ∨ (¬B))) ∧ ((¬(C ∨ A))) 2.) Welche der folgenden Formeln sind semantisch äquivalent ? ¬(¬A) ≡ A A ∧ (A ∨ B) ≡ B (A ∨ B) ∧ C ≡ (A ∧ C) ∨ (B ∧ C) 3.) Welche der folgenden Formeln sind Tautologien? (A → ¬A) → ¬A (A → B) ∧ (¬A ∨ B) ((A → B) → A) → A L ÖSUNG : 1.) (C ∧ (A¬B)). Syntaktisch nicht korrekt, weil (A¬B) keine Formel ist. ((¬A) ∨ B) ∧ ((C ∧ A) ∨ (¬(C ∨ D))). Ist eine syntaktisch korrekte Formel über A, B, C, D, nicht aber über A, B, C. ((¬((¬B) ∨ (¬B))) ∧ ((¬(C ∨ A))). Ist syntaktisch nicht korrekt, weil eine abschliessende Klammer fehlt. 2.) ¬(¬A) ≡ A. Ist richtig. Beweis: Wahrheitstabelle. Oder: “Doppelte Verneinung”. A ∧ (A ∨ B) ≡ B Ist falsch, Gegenbeispiel: Belegungsoperator A mit A(A) = 1 und A(B) = 0. Richtig ist dagegen A ∧ (A ∨ B) ≡ A. (A ∨ B) ∧ C ≡ (A ∧ C) ∨ (B ∧ C). Ist richtig: Distributivgesetz. 3.) (A → ¬A) → ¬A Ist Tautologie. Beweis: Wahrheitstabelle. (A → B) ∧ (¬A ∨ B) Das ist gleich (A → B) ∧ (A → B), und das ist keine Tautologie, da dies 0 ergibt für einen Belegungsoperator A mit A(A) = 1 und A(B) = 0. Die Formel F = ((A → B) → A) → A ist eine Tautologie, denn für einen Belegungsoperator A mit A(A) = 0 gilt A(F ) = ((0 → A(B)) → 0) → 0 = (1 → 0) → 0 = 0 → 0 = 1, und für einen Belegungsoperator A mit A(A) = 1 gilt A(F ) = ((1 → A(B)) → 1) → 1 = (A(B) → 1) → 1 = 1 → 1 = 1, ganz unabhängig davon, welchen Wert der Belegungsoperator B zuordnet. 1 L UDWIG W ITTGENSTEIN , Tractatus logico-philosophicus, Wien, 1918. Von “1 Die Welt ist alles, was der Fall ist.” bis zu “7 Wovon man nicht sprechen kann, darüber muß man schweigen.” Aufgabe 2. 2.0232 Beiläufig gesprochen: Die Gegenstände sind farblos. 1.) Formalisieren Sie die folgende Aussage: “Wenn ein hartgekochtes Ei nicht mit kaltem Wasser abgeschreckt wird, dann klebt die Schale am Eiweiß und das Ei lässt sich nicht gut schälen.” 2.) Welche Eigenschaften muss ein Java–Crack notwendigerweise besitzen? Formalisieren Sie untenstehende Sachverhalte und verwenden Sie Wahrheitstafeln. • Jeder gute Programmierer ist von der objektorientierten Programmierung begeistert. • Niemand ist ein Java–Crack, wenn er nicht in der Lage ist, einen Java–Kurs zu geben. • Niemand ausser einem guten Programmierer kann einen Java–Kurs geben. • Niemand, der Basic nicht hasst, kann von objektorientierter Programmierung begeistert sein. L ÖSUNG : 1.) Wir definieren die Aussagen: A = “Ein hartgekochtes Ei wird mit kaltem Wasser abgeschreckt.”, B = “Die Schale klebt am Eiweiß.”, C = “Das Ei läßt sich gut schälen.”, und erhalten die Formalisierung (¬A) → (B ∧ (¬C)) = (¬(¬A)) ∨ (B ∧ (¬C)). 2.) Wir führen die folgenden Abkürzungen ein: G = jemand ist ein guter Programmierer“ 2 , O = jemand ist von ” ” der objektorientierten Programmierung begeistert“, C = jemand ist ein Java–Crack“, K = jemand kann einen ” ” Java–Kurs geben“, B = jemand hasst Basic“. ” Dann können die angegebenen Aussagen in folgende Formeln umgesetzt werden: (G → O), ((¬K) → (¬C)) ≡ (C → K), (K → G) und (O → B). In der Fragestellung ist die Angabe des Faktes C = 1 enthalten. Die Wahrheitstafel ergibt demzufolge: K 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 G 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 O 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (G → O) ∧ (1 → K) ∧ (K → G) ∧ (O → B) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Somit ist die einzige Möglichkeit für das Gelten der Formel, dass auch K, G, O und B gelten müssen. 2 Vorsicht: Die Verneinung der AussageG ist “jemand ist kein guter Programmierer” und NICHT “niemand ist ein guter Programmierer”. Aufgabe 3. 4.128 Die logischen Formen sind zahllos. 1.) Wieviele Formeln mit verschiedener Semantik gibt es über den atomaren Formeln A1 , . . . , An ? 2.) Finden Sie eine Formel, für die die Belegung A1 (A) = 0, A1 (B) = 1, A1 (C) = 1 A2 (B) = 0, A2 (C) = 0. ein Modell ist, nicht aber die Belegung A2 (A) = 1, Wieviele solche (semantisch verschiedene) Formeln über den atomaren Formeln A, B und C gibt es? L ÖSUNG : 1.) Die Wahrheitstabelle besitzt 2n Zeilen. Da zwei Formeln genau dann semantisch äquivalent sind, wenn jede n Zeile der beiden Wahrheitstabellen übereinstimmt, gibt es genau 22 mögliche verschiedene Semantiken. 2.) Einige solcher Formeln wären z.B. ¬A, B und ¬A ∧ B ∧ C. Alle Formeln mit zwei festgelegten Zeilen ihrer Wahrheitstabelle sind Lösungen. Da es 23 = 8 Belegungen für Formeln mit drei atomaren Formeln gibt, kommen wir auf 28−2 = 64 semantisch verschiedene Formeln. — Hausaufgaben — Aufgabe 4. 4.31 Die Wahrheitsmöglichkeiten können wir durch Schemata folgender Art darstellen. . . Zeigen Sie mit Wahrheitstabellen, dass die Formeln F = ((A → B) ∧ (A → C)) und G = (A → (B ∧ C)) semantisch äquivalent sind. Zeichnen Sie den Ableitungsbaum der beiden Formeln. L ÖSUNG : Es ist F = ((A → B) ∧ (A → C)) = ((¬A) ∨ B) ∧ ((¬A) ∨ C). Es ist G = A → (B ∧ C) = (¬A) ∨ (B ∧ C). A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 A→B 1 1 1 1 0 0 1 1 A→C 1 1 1 1 0 1 0 1 F 1 1 1 1 0 0 0 1 B∧C 0 0 0 1 0 0 0 1 G 1 1 1 1 0 0 0 1 Da die 6. und 8. Spalte übereinstimmen, sind F und G semantisch äquivalent. Der Ableitungsbaum von F ist: ?>=< 89:; ∧= == == == = 89:; ?>=< ?>=< 89:; ∨ ∨ ... ... .. .. . . 89:; ?>=< ?>=< 89:; 89:; ?>=< 89:; ?>=< ¬ ¬ B C ?>=< 89:; A ?>=< 89:; A und der von G ist: ?>=< 89:; ∨> >>> >> >> ?>=< 89:; 89:; ?>=< ¬ ∧ . ... .. 89:; ?>=< 89:; ?>=< 89:; ?>=< A B C Aufgabe 5. 5.3 Alle Sätze sind Resultate von Wahrheitsoperationen mit den Elementarsätzen. Für zwei Formeln F und G ist der Ausdruck F ↔ G wie folgt definiert: F ↔ G = (F → G) ∧ (G → F ) = (¬F ∨ G) ∧ (¬G ∨ F ) Gegeben sei die Formel F = (A → B) ↔ ¬(A ∨ (¬B ∧ C)). Welche der folgenden Belegungen sind Modelle für F ? 1.) A1 (A) = 1, A1 (B) = 1, A1 (C) = 1 2.) A2 (A) = 1, A2 (B) = 0, A2 (C) = 1 3.) A3 (A) = 0, A3 (B) = 1, A3 (C) = 0 L ÖSUNG : 1.) nein, 2.) ja, 3.) ja. Aufgabe 6. 6.1262 Der Beweis in der Logik ist nur ein mechanisches Hilfsmittel zum leichteren Erkennen der Tautologie, wo sie kompliziert ist. Zeigen Sie, dass sich zu jeder aussagenlogischen Formel eine semantisch äquivalente Formel finden läßt, die nur aus den Konstruktionselementen ‘0’ und Implikationspfeilen ‘→’ besteht. Hinweis: Wie kann man für zwei beliebige Formeln F und G die Formeln ¬F , F ∧ G, F ∨ G in ausschließlich ‘0’ und ‘→’ darstellen? Warum reicht dies? L ÖSUNG : Wir beweisen die Aussage, indem wir den (syntaktischen) Konstruktionsregeln für Formeln folgen und die Semantik nur mit den oben genannten Hilfsmitteln darstellen: 1. Atomare Formeln werden genau mit den gleichen atomaren Formeln ausgedrückt, die Semantik ist trivialerweise gleich. 2. Ist F eine Formel, so wird (¬F ) durch (F → 0) dargestellt. Eine Wahrheitstabelle zeigt, dass dies die richtige Semantik hat. 3. Sind F und G Formeln, so wird (F ∨ G) durch ((F → 0) → G) dargestellt. In Punkt 2.) haben wir bereits erkannt, dass dies semantisch äquivalent zu ((¬F ) → G) und daher auch zu ((¬(¬F )) ∨ G) ist (Abkürzung). Damit leistet diese Übersetzung das gewünschte. 4. Wiederum seien F und G Formeln. Dann wird (F ∧ G) durch ((F → (G → 0)) → 0) semantisch äquivalent beschrieben (dies erhält man mit Hilfe der Regeln von deMorgan und den Punkten 2 und 3). Durch Aufstellen des Ableitungsbaums einer Formeln und Einsetzen der entsprechenden Regel an jeder Verzweigung des Baumes erhalten wir so für jede Formel eine sematisch äquivalente Formel, die nur die geforderten Symbole enthält. Aufgabe 7. 6.13 Die Logik ist keine Lehre, sondern ein Spiegelbild der Welt. Cäsar hat sich eine List ausgedacht: Um bei den Galliern Verwirrung zu stiften, lässt er als Gallier verkleidete Römer in den Wäldern patroullieren. Sie haben den strengen Befehl, immer zu lügen (Gallier sagen natürlich immer die Wahrheit!). Obelix weiß, dass er niemandem mehr trauen kann. Können Sie Obelix helfen? Ist Asterix im Dorf oder nicht? Sind die beiden Herren Gallier oder Römer? L ÖSUNG : Umgangssprachliche Lösung. Zuerst stellen wir fest, dass entweder beide Römer oder beide Gallier sind. Dazu betrachten wir den kleinen Mann, der sagt: “Mein Freund hat recht.” Wenn er die Wahrheit sagt, so sagt auch der grosse Mann die Wahrheit – beide Gallier. Genauso, wenn er lügt, so muss das Gegenteil seiner Aussage stimmen, also “Grosser Mann lügt” – beide Römer. Fallunterscheidung: (1) Wenn sie beide Gallier sind und niemals von der Wahrheit güldenen Pfad weichen, so ist Asterix im Dorf, denn das sagen sie ja gerade. (2) Wenn sie beide Römer sind, dann ist keiner von ihnen Gallier, die Aussage “Wenn einer von uns Galliern ist, ist Asterix im Dorf” also schon erfüllt. (Wir erinnern uns an die Wahrheitstabelle von →: 0 → X ≡ 1.) Hänz bick Männ toking Truhss. Das widerspricht aber dem Fakt, dass Römer immer lügen. Gleichwertig könnte man in diesem (2.) Fall auch sagen: Wenn sie beide Römer sind, so muss die Negation ihrer Aussagen richtig sein. Die Negation von “Einer Gallier, dann Asterix im Dorf” ist aber gerade “Einer Gallier und Asterix nicht im Dorf”. Vorsicht! Viele der Studenten hatten falsch geraten und behauptet die Negation sei “Einer Gallier, dann Asterix nicht im Dorf” oder “Keiner Gallier, dann Asterix nicht im Dorf” oder ähnlich Abenteuerliches. Man macht sich aber mit dem in der Logik-Vorlesung Gelernten leicht klar, dass ¬(F → G) ≡ ¬(¬F ∨G) ≡ F ∧¬G. Aber zurück zur nunmehr geltenden Tatsache “Einer von denen ist Gallier und Asterix ist nicht im Dorf”. Das kann nicht sein, denn wir hatten ja angenommen, dass es beide Römer sind. Widerspruch, diese Annahme war also falsch. Also sind die beiden wirklich Gallier und Asterix im Dorf. Ganz formale Lösung. Wir modellieren folgende Aussagen: A – grosser Mann ist Gallier (und spricht daher immer die Wahrheit), B – kleiner Mann ist Gallier, C – Asterix ist im Dorf. Der grosse Mann sagt, wenn einer von den beiden Gallier ist (also A ∨ B), dann ist Asterix im Dorf. Seine Ausage lautet also (A ∨ B) → C. Sie ist genau dann richtig, wenn er Gallier ist, also wissen wir jetzt als Tatsache, dass folgende Aussage wahr sein muss: A ↔ ((A ∨ B) → C). Dass der kleine Mann über den Wahrheitsgehalt der Freundesaussage urteilt, kodieren wir in der wahren Aussage: B ↔ A. Das Aufstellen einer Wahrheitstabelle dieser beiden Formeln als einzigen gemeinsamen 1-Eintrag A(A) = A(B) = A(C) = 1. Und man braucht noch nicht einmal eine Wahrheitstabelle. Man kann auch anhand dieser Formel genau die Argumentation bringen wie oben: die zweite Teilformel ist nur dann wahr, wenn entweder beide Gallier oder beide Roemer. Wenn aber A(A) = A(B) = 0, dann ist die erste Formel falsch. Wenn A(A) = A(B) = 1, dann geht alles auf und A(C) = 1. Also sind beide Gallier und Asterix im Dorf.