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 3 (10. Mai 2004) — — Präsenzaufgaben — Aufgabe 14. Modell oder Mogel. Gegeben sei die Struktur UA = N, fA (x) = x + 1, plusA (x, y) = x + y, malA (x, y) = x · y. Für welche der folgenden Formeln ist diese Struktur ein Modell? ∀y∃z f (z) = y ∀y∀x plus(x, y) = plus(y, x) ∀x∀y∃z plus(mal(x, x), mal(y, y)) = mal(z, z) ∃x∀y∃z plus(mal(x, x), mal(y, y)) = mal(z, z) L ÖSUNG : • Unabhängig von der Struktur bedeutet die Formel f ist surjektiv“, für die natürlichen Zahlen bedeutet sie jede ” ” Zahl hat einen Vorgänger“, die innere Formel ∃.z f (z) = y stimmt nicht für y = 0, • plus(x, y) ist eine symmetrische Funktion“, hier: die Addition ist kommutativ“, stimmt. ” ” • für alle natürlichen Zahlen x und y gibt es eine natürliche Zahl z, sodass x2 + y 2 = z 2“, oder jede Summe ” ” zweier Quadratzahlen ist eine Quadratzahl“, innere Formel stimmt nicht für x = y = 1, da es keine natürliche Zahl z mit z 2 = 2 gibt, • es gibt eine natürliche Zahl x, so dass es für alle natürlichen Zahlen y eine natürliche Zahl z gibt, so dass ”2 x + y 2 = z 2“ ist. Dies stimmt für x = 0, y = z. Aufgabe 15. Streng monoton formal. Eine Funktion f : R → R heißt streng monoton wachsend, wenn für alle x < y auch f (x) < f (y) gilt. Gegeben sei die Struktur UA = R, KleinerA (x, y) = (x < y). Formalisieren Sie die folgende Aussage: “Wenn f eine streng monoton wachsende Funktion ist, dann ist f injektiv.” L ÖSUNG : Das Funktionensymbol f muss durch eine beliebige Funktion fA : R → R belegt sein. Dann wird die Aussage formalisiert durch ∀x∀y(Kleiner(x, y) → Kleiner(f (x), f (y))) → ∀x∀y(¬(x = y) → ¬(f (x) = f (y))) | {z } | {z } f ist streng monoton wachsend f ist injektiv Aufgabe 16. Aus 3 mach’ 2. Ist die Struktur UA = N, aA = 0, fA (x) = x + 1 ein Modell für die drei folgenden Formeln? 1. ∃x1 ∃x2 ∃x3 ∀y(x1 = y ∨ x2 = y ∨ x3 = y), 2. ∀x¬(f (x) = a), 3. ∀x∀y(f (x) = f (y) → x = y)? Was bedeuten die Formeln “umgangssprachlich”? Geben sie Strukturen an, die nur für jeweils zwei der Formeln ein Modell sind, aber nicht für alle drei. L ÖSUNG : 1. Das Universum enthält höchstens drei Elemente (aber mindestens eines). Es gibt aber offenbar mehr als drei natürliche Zahlen. 2. a liegt nicht im Bild von f . Stimmt, da 0 keinen Vorgänger hat. 3. f ist injektiv. Stimmt, da jede natürliche Zahl höchstens einen Vorgänger besitzt. Die natürlichen Zahlen sind Modell für 2. und 3., nicht jedoch für 1. Modell für 1 und 2, aber nicht für 3: UB = {blau, weiss, rot}, aB = blau, fB (x) = weiss für x = blau, weiss oder rot. 3. ist falsch für x = weiss. Modell für 1 und 3, aber nicht für 2: UC = {blau, weiss, rot}, aC = blau, fC (x) = x, für x = blau, weiss oder rot. 2. ist falsch für x = blau. Modell für 2 und 3, aber nicht 1: die natürlichen Zahlen (o.g. Struktur). — Hausaufgaben — Aufgabe 17. Exklusive Strukturen. Konstruieren Sie eine Formel F innerhalb der Prädikatenlogik , so dass das Universum jedes Modells für F genau zwei Elemente besitzt. Hinweis: Überlegen Sie sich zwei Formeln: eine, die sicherstellt, dass es mindestens zwei Elemente gibt, und eine, die sicherstellt, dass es nicht mehr als diese beiden Elemente gibt. L ÖSUNG : F kann zum Beispiel so geschrieben werden: ∃x∃y¬(x = y) ∧ ∃x∃y∀z(x = z ∨ y = z) Es bedeutet ¬(x = y), dass das Universum mindestens zwei Elemente hat und x = z ∨ y = z, dass es ausser x und y keine weiteren Elemente gibt. Aufgabe 18. Teilbarkeitsalgorithmus für die Registermaschine. In der Vorlesung wurde die Registermaschine mit der folgenden Funktionalität eingeführt: Ri := 1 (Speicherung der 1 im Register Ri ) Ri := Rj + Rk (Addition zweier Register und Speicherung des Ergebnis in Ri ) Ri := Rj · Rk (Multiplikation) Ri := Rj . Rk (modifizierte Subtraktion, d.h. n . m = n − m, wenn n ≥ m, und 0 sonst) IF (Ri = 0) GOTO L (bedingter Sprung zur Zeilennummer L) GOTO L (unbedingter Sprung zur Zeilennummer L) STOP (Ende des Programms) (a) Schreiben Sie ein Programm für die Registermaschine, das herausfindet, ob eine gegebene natürliche Zahl m durch eine gegebene natürliche Zahl n teilbar ist (in Symbolen n|m). Input: R0 = n, R1 = m, R2 = R3 = . . . = 0. Output: R0 = 1, wenn n|m, und R0 = 0, wenn nicht. (b) Erweitern Sie das Programm aus Aufgabenteil (a) so, dass es genau dann anhält, wenn n die Zahl m teilt. (Im anderen Fall soll eine Endlosschleife angelaufen werden.) Sie können ihre Programme an der JAVA-Registermaschine (unter http://www-hm.ma.tum.de/ss04/in2 −→ Links und weitere Hilfen, zu finden) ausprobieren! L ÖSUNG : (a) Die Idee ist, dass n so oft von m abgezogen wird, bis 0 (oder etwas Negatives) herauskommen würde. Die Anzahl der dazu nötigen Subtraktionen sei a. Nun ist genau dann n|m, wenn a · n = m. 0: R2 := 1 R2 wird mit 1 initialisiert 1: R3 := R1 + R6 R3 wird mit m initialisiert 2: IF R3 = 0 GOTO 6 Solange R3 6= 0 3: R3 := R3 . R0 Ziehe n von R3 ab 4: R4 := R4 + R2 Addiere 1 zu R4 (zu Anfang = 0) 5: GOTO 2 Ende der solange-Schleife 6: R5 := R4 · R0 7: R5 := R5 . R1 R5 := R4 · n − m 8: IF R5 = 0 GOTO 11 Wenn teilbar 9: R0 := R6 + R6 R0 = 0 10: GOTO 12 Fertig 11: R0 := 1 R0 = 1 12: STOP (b) Ersetze die Zeile 10 durch: 10: GOTO 10. Aufgabe 19. Cäsars logischer Ruin. Welche Aussage kann Asterix machen, um Cäsar zu zwingen, ihm beispielsweise seinen Thron in Rom zu überlassen? Begründen Sie. L ÖSUNG : Sei A die Aussage, die Asterix macht, und die (atomaren) Aussagen S = Ich bekomme 10000 Sesterzen.“ ” T = Ich bekomme den Thron.“ ” Dann kann man Cäsars Angebot in A ↔ S übersetzen. Der Trick ist, A so zu formulieren, dass bei einer Falschbelegung für T auch für Cäsars Angebot falsch herauskommt. D.h., wenn Asterix den Thron nicht bekäme, müsste Cäsar lügen (was er nicht tut). Betrachten wir eine Belegungstabelle von A: S T A 0 0 a1 0 1 a2 1 0 a3 1 1 a4 Wegen dem oben Gesagten muss a1 = 1 und a3 = 0 gesetzt werden. Für a2 und a4 kann man eine Belegung fast beliebig waehlen, solange mindestens eine Belegung ist dabei, die keinen Widerspruch zu Cäsars Angebot produziert. Letzeres bedeutet, man darf nicht a2 = 1 und gleichzeitig a4 = 0 wählen. Alle anderen drei Fälle sind möglich: S 0 0 1 1 T 0 1 0 1 A1 1 0 0 0 A2 1 0 0 1 A3 1 1 0 1 Dies entspricht den Aussagen: A1 A2 A3 = ¬S ∧ ¬T = S↔T = S→T = Ich bekomme weder die 10000 Sesterzen noch den Thron.“ ” = Ich bekomme 10000 Sesterzen genau dann, wenn ich den Thron bekomme.“ ” = Wenn ich 10000 Sesterzen bekomme, dann auch den Thron.“ ” Asterix kann also drei semantisch verschiedene Aussagen machen.