Abzählbarkeit Aufgabe 1. Ist die Menge N ∪ {π} abzählbar? Falls ja konstruieren Sie eine injektive Funktion f ∈ N ∪ {π} → N, falls nein beweisen Sie ausführlich, dass es keine solche Funktion gibt. Aufgabe 2. In der Vorlesung wurde eine injektive Funktion f ∈Q→N konstruiert. Definieren Sie nun eine injektive Funktion f ∈N→Q und beweisen Sie, dass diese Funktion tatsächlich injektiv ist. Aufgabe 3. Eine Menge A heißt abzählbar, wenn es eine injektive Funktion f ∈A→N gibt, andernfalls heißt sie überabzählbar. Beweisen Sie ausführlich, dass wenn A abzählbar ist, auch jede Teilmenge B ⊆ A abzählbar ist. Aufgabe 4. Welche der folgenden Mengen sind abzählbar? Ein Beweis ist nicht erforderlich. • R • Q • N3 • R×N • {0, 1} → R • {0, 1, 2} → N • N → {0, 1, 2} • ∅→R Aufgabe 5. Geben Sie einen ausführlichen Beweis dass wenn A und B abzählbar sind auch A ∪ B abzählbar ist. Hinweis: Achten Sie darauf, dass A und B nicht disjunkt sein müssen. Aufgabe 6. Begründen Sie kurz, dass wenn zwei Mengen A und B abzählbar sind, auch A ∩ B, A \ B und A × B abzählbar sind. Finden Sie eine entsprechende injektive Funktion nach N. Aufgabe 7. Zeigen Sie dass Q abzählbar ist. Hinweis: Verwenden Sie die Tatsache dass Z2 abzählbar ist und dass die Komposition zweier injektiver Funktionen wieder injektiv ist. 1 Aufgabe 8. Die Vereinigungsmenge zweier abzählbarer Mengen ist abzählbar und jede Teilmenge einer abzählbaren Menge ist abzählbar. Beweisen Sie hiermit, dass wenn B abzählbar ist und A\B abzählbar ist, auch A abzählbar ist. Was bedeutet das für die Menge der irrationalen Zahlen R \ Q? Aufgabe 9. Angenommen es gibt eine bijektive Funktion f ∈ A → B. • Zeigen Sie dass wenn A abzählbar ist, auch B abzählbar ist. • Zeigen Sie dass wenn A überabzählbar ist, auch B überabzählbar ist. Wenn man zeigen möchte, dass eine Menge B (über)abzählbar ist, kann man die Aufgabe oft dadurch vereinfachen, dass man eine Menge A sucht von der man schon weiß dass sie (über)abzählbar ist und für die eine bijektive Funktion A → B existiert. Würde das auch funktionieren, wenn man nur eine bijektive Funktion B → A hat? Aufgabe 10. Definieren Sie eine bijektive Funktion g ∈ A → B, wobei A = N2 B = {0, 1} → N. Hinweis: Die Definition muss nur exakt festlegen, wie einem Paar (a, b) ∈ N2 eine Funktion f ∈ {0, 1} → N zugeordnet wird. Überlegen Sie sich zunächst ein paar Beispiele von Funktionen in {0, 1} → N. Aufgabe 11. Eine unendlich lange Bitfolge ist eine Funktion x ∈ N → {0, 1} Folglich ist N → {0, 1} die Menge aller unendlich langer Bitfolgen. Beweisen Sie, dass diese Menge überabzählbar ist. Hinweis: Der Beweis ist fast identisch zu dem in der Vorlesung gezeigten Beweis der Überabzählbarkeit von R. Aufgabe 12. Zu jeder Teilmenge A ⊆ N lässt sich eine Funktion fA ∈ N → {0, 1} definieren durch 1 falls x ∈ A fA (x) = 0 sonst. Umgekehrt lässt sich zu jeder Funktion f ∈ N → {0, 1} eine Menge Af definieren durch Af = {x ∈ N | f (x) = 1}. Somit entspricht jede Funktion aus der Menge N → {0, 1} genau einer Teilmenge von N und umgekehrt. Diese Betrachtungsweise ist nichts anderes als eine bijektive Funktion (N → {0, 1}) → P (N). Beweisen Sie damit, dass P (N) überabzählbar ist. 2 Aufgabe 13. Wenn A abzählbar ist, dann ist auch An abzählbar für alle n ∈ N. Damit kann man unmittelbar beweisen, dass für jedes n ∈ N0 die Menge {1, 2, 3, . . . , n} → A der Folgen der Länge n mit Elementen aus A abzählbar ist. (Folgen der Länge n und n-Tupel sind ja im Prinzip das Selbe). Somit existiert für jedes n ∈ N0 eine injektive Funktion fn ∈ ({1, 2, 3, . . . , n} → A) → N. Als nächstes soll gezeigt werden, dass auch A∗ , d.h. die Menge aller endlichen Folgen mit Elementen aus A abzählbar ist. Beginnen wir ganz harmlos mit einer Funktion ` ∈ A∗ → N0 , die definiert ist durch `(x) = Länge der Folge x. ` ist natürlich nicht injektiv, es gibt ja im Allgemeinen mehrere Folgen der selben Länge. Als nächstes kommt eine Funktion g ∈ A∗ → N2 , definiert durch g(x) = (f`(x) (x), `(x)). Wenn also z.B. x = ha1 , a2 , a3 i ist, dann ist `(x) = 3 und g(x) = (f3 (x), 3). • Zeigen Sie dass g injektiv ist. Gehen Sie dabei wie folgt vor: Angenommen x1 , x2 ∈ A∗ und x1 6= x2 . Zeigen Sie dann, dass g(x1 ) 6= g(x2 ) indem Sie eine Fallunterscheidung machen ob x1 und x2 gleich lang oder unterschiedlich lang sind. Zum Schluß setzen wir noch die bekannte injektive Funktion h ∈ N2 → N oben drauf und erhalten damit h ◦ g ∈ A∗ → N. Zeigen Sie unter Verwendung früherer Ergebnisse dass diese Funktion injektiv ist und somit A∗ abzählbar. • Wenn die Menge aller endlichen Folgen von Elementen aus A abzählbar ist, ist dann die Menge aller endlichen Teilmengen von A auch abzählbar? • Was ist der Unterschied zwischen der Menge aller endlichen Teilmengen von A und der Potenzmenge von A? Ist die Menge aller endlichen Teilmengen von N abzählbar und ist die Potenzmenge von N abzählbar? Aufgabe 14. Sind für alle abzählbaren Mengen A, B auch die folgenden Mengen abzählbar? (Es genügt “ja” oder “nein”, Beweis ist nicht erforderlich.) • A∪B • A∩B • A\B • A→B 3 Aufgabe 15. Begründen Sie warum es keine Programmiersprache gibt, die einen Datentyp für reelle Zahlen hat (2 Sätze). Was ist der wesentliche Unterschied zwischen R und dem Java Datentyp double? Aufgabe 16. Sei C++ die Menge aller syntaktisch korrekten C++ Programme. Da ein C++ Programm eine endliche Folge von ASCII Zeichen ist, gilt C++ ⊆ char∗ . Da char∗ abzählbar ist, ist folglich auch C++ abzählbar. Andererseits ist die Menge Z → Z aller Funktionen von Z nach Z überabzählbar. • Beweisen Sie unter Verwendung dieser Tatsachen, dass es Funktionen aus Z → Z gibt, die sich nicht in C++ implementieren lassen, selbst wenn die Maschine, auf der das Programm implementiert wird, beliebig viel Speicher hat und beliebig schnell ist. Argumentieren Sie mit injektiven Funktionen. • Welche Eigenschaft müsste eine Programmiersprache haben, damit man in ihr alle Funktionen aus Z → Z implementieren könnte? • Kann man jede Funktionen aus Z → Z mit Bleistift und Papier eindeutig beschreiben? • Kann man jede Funktion aus int → int in C++ implementieren? Aufgabe 17. Geben Sie einen ausführlichen Beweis, dass wenn zwei Mengen A und B abzählbar sind, auch A × B abzählbar ist. Hinweis: Sie dürfen die Tatsache verwenden, dass N2 abzählbar ist und dass die Komposition von injektiven Funktionen wieder injektiv ist. Aufgabe 18. Warum sind abzählbare Mengen in der Informatik besonders wichtig? (1 Satz Begründung.) Aufgabe 19. Welche der folgenden Mengen sind abzählbar? (Ohne Begründung.) {0, 1}∗ R∗ R∗ {0, 1}∗ × {0, 1}∗ N → N. Aufgabe 20. Definieren Sie eine bijektive Funktion f ∈ (N × {0, 1}) → N und geben Sie deren Umkehrfunktion an. Geben Sie einen ausführlichen Beweis, dass f injektiv ist. Sie dürfen bei dem Beweis nicht verwenden, dass von anderen Funktionen bereits gezeigt wurde, dass diese injektiv sind. 4 Aufgabe 21. Sei fi ∈ N → {0, 1}, i = 1, 2, . . . eine Folge von Funktionen. Konstruieren Sie eine Funktion g ∈ N → {0, 1}, die nicht in dieser Folge vorkommt und beweisen Sie, dass g 6= fi für alle i ∈ N. Hinweis: Denken Sie an den Beweis der Überabzählbarkeit von R. Aufgabe 22. Die Potenzmenge P (N) von N ist überabzählbar. Dies kann man ähnlich wie die Überabzählbarkeit von R durch Widerspruch beweisen. Man nimmt also an, dass man eine Liste hat, in der alle Elemente von P (N) aufgezählt sind bzw. eine Funktion f ∈ N → P (N) mit bild(f ) = P (N). Leiten Sie hieraus einen Widerspruch her, indem Sie eine Menge A ⊆ N konstruieren, für die gilt A 6∈ bild(f ) und beweisen Sie ausführlich, dass tatsächlich A 6= f (n) für alle n ∈ N. Hinweis: Die Konstruktion ist fast gleich wie beim Beweis der Überabzählbarkeit von R. Aufgabe 23. Bestimmen Sie eine abzählbare unendliche Teilmenge von R2 . Aufgabe 24. • Ist es zutreffend, dass (N → {0, 1}) ⊆ (N → N)? Geben Sie eine kurze Begründung (ca. 2 Sätze). • Definieren Sie eine abzählbare unendliche Teilmenge von N → N. (Begründung ist nicht erforderlich.) Aufgabe 25. Begründen Sie anschaulich anhand eines Diagramms weshalb es keine injektive Funktion von einer überabzählbaren Menge in eine abzählbare Menge geben kann (zwei Sätze). Sie dürfen alle in der Vorlesung gezeigen Eigenschaften von injektiven Funktionen und abzählbaren Mengen verwenden. Aufgabe 26. Die Menge R ist überabzählbar. Begründen Sie weshalb hieraus folgt, dass man in Java keinen Klasse für reelle Zahlen implementieren kann (ca. 5 Sätze). Sie dürfen dabei verwenden, dass es eine injektive Funktion von {0, 1}∗ nach N gibt und dass die Komposition von injektiven Funktionen injektiv ist. 5 Aufgabe 27. Beweisen Sie so ausführlich wie möglich, dass wenn A2 abzählbar ist, auch A abzählbar ist. Hinweis: In der Vorlesung wurde die umgekehrte Richtung bewiesen. Sie müssen auch in diesem Beweis eine geeignete injektive Funktion finden und beweisen, dass diese tatsächlich injektiv ist. Aufgabe 28. Beweisen Sie ausführlich, dass wenn A abzählbar ist, auch A∗ abzählbar ist. Sie dürfen alle in der Vorlesung bewiesenen Theoreme benutzen sowie die Tatsache, dass N∗ abzählbar ist. Aufgabe 29. Gilt für alle Mengen A, B dass wenn A \ B und B \ A abzählbar sind, auch A und B abzählbar sind? Geben Sie einen ausführlichen Beweis oder finden Sie ein Gegenbeispiel. Hinweis: Stellen Sie die beteiligten Mengen zunächst in einem Diagramm dar. Aufgabe 30. Beweisen Sie ausführlich, dass wenn A × B abzählbar ist und B 6= ∅ ist, auch A abzählbar ist. Aufgabe 31. Eine Menge A heißt abzählbar wenn es eine injektive Funktion f ∈ A → N gibt. Beweisen Sie ausführlich, dass für jede Menge A und B gilt: Wenn A abzählbar ist, dann ist auch A \ B abzählbar. Aufgabe 32. Beweisen Sie ausführlich: Für jede abzählbare Menge A und für jede Menge B ist A ∩ B abzählbar. Aufgabe 33. Beweisen Sie ausführlich, dass jede Obermenge einer nicht abzählbaren Menge ebenfalls nicht abzählbar ist. Aufgabe 34. Beweisen Sie ausführlich: ∀A ∃B abzählbar(B) ∧ ∃f ∈ A → B injektiv(f ) → abzählbar(A) Sie dürfen im Beweis alle in der Vorlesung bewiesenen Theoreme über injektive Funktionen verwenden. 6