Vollständige Induktion Handout 4 zum Mathematik-Brückenkurs Carl Hammann, µFSR, TU Dresden Version vom 9. Oktober 2015, Fehler und Verbesserungsvorschläge bitte an [email protected] 4.1 Die Idee der vollständigen Induktion Vollständige Induktion ist ein Beweisverfahren für Aussagen über alle natürliche Zahlen. Es gibt viele gute Erklärungen dafür, wie es funktioniert, eine sehr schöne von Donald Ervin Knuth stellen wir in der Übung vor. Danach gibt es ganz viele Aufgaben: Aufgabe 4.1. Beweise mit vollständiger Induktion, dass ∑in=1 i = 12 n(n + 1) für alle n ∈ N! Kennzeichne dabei Induktionsanfang, Induktionshypothese und Induktionsschritt! Aufgabe 4.2. Beweise mit vollständiger Induktion, dass für q 6= 1 und alle n ∈ N die Formel n ∑ qk = k =0 1 − q n +1 1−q gilt. (Partialsumme der geometrischen Reihe) Aufgabe 4.3. Beweise mit vollständiger Induktion, dass für a1 , a2 , . . . , an > 0 mit ∏nk=1 ak = 1 gilt, dass ∑nk=1 ak ≥ n. Folgere die Ungleichung vom geometrischen und arithmetischen Mittel: Es gilt für alle x1 , x2 , . . . , xn > 0 s n 1 n n ∏ xk ≤ n ∑ xk . k =1 k =1 Aufgabe 4.4. Für welche n ∈ N gilt 2n ≥ n2 ? Stelle eine Vermutung auf und beweise sie mit vollständiger Induktion. Aufgabe 4.5. Folgende Aufgabe ist aus dem Buch The Art of Computer Programming von Donald Knuth: Etwas kann am folgenden Beweis nicht stimmen. Was ist es? „Satz. Sei a > 0. Dann gilt für jedes n ∈ N, dass an−1 = 1. Beweis. Sei a > 0. Induktionsanfang: Für n = 1 gilt an−1 = a0 = 1. Induktionshypothese: Gelte für ein n ∈ N, dass 1 ak−1 = 1 für alle k ∈ N mit k ≤ n. Induktionsschritt: Sei n wie in der Induktionshypothese. Dann gilt 1·1 a n −1 · a n −1 = 1. a(n+1)−1 = an = (n−1)−1 = 1 a Also gilt die Behauptung auch für n + 1.“ Aufgabe 4.6. Angenommen, es gibt 3- und 5-Taler-Münzen. Beweise mit vollständiger Induktion, dass man jede Rechnung von mehr als 7 Talern bezahlen kann, ohne Wechselgeld zu kriegen! (Wir nehmen an, dass man nur runde Beträge bezahlen muss, es also keine halben Taler gibt.) Die nächste Aufgabe enthält Teilaufgaben unterschiedlichen Schwierigkeitsgrades: Aufgabe 4.7. Die Fibonacci-Zahlen (nach Leonardo Bonacci, bekannt als Fibonacci) sind eine Zahlenfolge, definiert ist durch f 0 := 0, f 1 := 1 und für alle n ≥ 2 durch f n := f n−1 + f n−2 . Eine solche Definition nennt man eine induktive Definition. Die ersten Glieder der Folge sind also 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, . . .. Beweise folgende Eigenschaften der FibonacciZahlen durch vollständige Induktion: 1. Für alle n ≥ 0 gilt ∑in=0 f i = f n+2 − 1. 2. Für alle n ≥ 0 und m ≥ 1 gilt f m+n = f n+1 f m + f n f m−1 . Tip: Mache den Induktionsanfang für m = 1 und m = 2. 3. Für alle n ≥ 1 gilt f n+1 f n−1 − f n2 = (−1)n (Identität von Cassini, nach Giovanni Domenico Cassini). Was hat diese Formel mit folgendem Bilderrätsel zu tun? ? 4. Für alle n ≥ 3 ist f 2n−1 die Länge der Hypotenuse eines rechtwinkligen Dreiecks mit ganzzahligen Seitenlängen. (Erinnerung: Die Hypotenuse eines rechtwinkligen Dreiecks ist die Seite, die dem rechten Winkel gegenüberliegt. Sie ist die längste der Seiten des Dreiecks. Die anderen Seiten heißen Katheten. In jedem rechtwinkligen Dreieck gilt der Satz des Pythagoras: a2 + b2 = c2 , wobei a und b die Längen der Katheten und c die Länge der Hypotenuse bezeichnen. Diesen Satz darfst du ohne Beweis verwenden.) 2 Aufgabe 4.8. Quicksort ist ein Algorithmus zum Sortieren von Listen. Die Arbeitsweise des Algorithmus wird von folgendem Pseudocode illustiert. Dabei ist liste die zu sortierende Liste. Die Funktion concat(l1,l2) nimmt zwei Listen l1 und l2 und fügt sie zur Liste, die zuerst die Elemente von l1 und dann die Elemente von l2 enthält, zusammen. Die Funktion append(l,a) nimmt eine Liste l und hängt das Element a an. Die Funktion createlist(l) legt eine leere Liste mit Namen l an. Die Funktion laenge(l) gibt an, wie viele Elemente die Liste l hat. Der Befehl return gibt den den Wert des ihm folgenden Ausdruckes zurück. function quicksort(liste) falls laenge(liste) > 1 e:= irgendein Element von liste createlist(links) createlist(rechts) für alle a in liste falls e < a append(links,a) sonst append(rechts,a) ende ende return concat(quicksort(links),quicksort(rechts)) sonst return liste ende ende Beweise durch Induktion nach n, dass der Algorithmus eine Liste mit n verschiedenen (d.h. für je zwei ist eines immer strikt größer) Elementen aufsteigend sortiert! Wir haben jetzt schon viele Induktionsbeweise durchgeführt, ohne uns systematische gedanken zu machen, warum wir überhaupt so argumentieren dürfen. Die Tatsache, auf der Beweise mittels vollständiger Indukion beruhen, dass man mit der Idee „von einer Zahl zu ihrem Nachfolger gehen“ alle natürlichen Zahlen erreicht, ist für unser Gefühl selbstverständlich. Tatsächlich ist es aber eine Eigenschaft, die wir fordern müssen, wenn wir die natürlichen Zahlen definieren. Darum ist der nächste Abschnitt einem axiomatischen Zuganz zu den natürlichen Zahlen gewidmet, der „nachträglich“ rechtfertigt, was wir hier getan haben. 4.2 Natürliche Zahlen – die Peano-Axiome P1 0 ∈ N P2 ∀n ∈ N : Sn ∈ N P3 ∀n ∈ N : Sn 6= 0 3 P4 ∀m, n : Sn = Sm ⇒ m = n P5 0 ∈ X ∧ (∀n ∈ N : n ∈ X ⇒ Sn ∈ X ) ⇒ X ⊇ N Den Ausdruck Sn verstehen wir dabei als „Nachfolger von n“. Aufgabe 4.9. Zeige, dass die Menge Ñ := {0, 1, 2} mit S0 = 1,S1 := 2, und S2 := 0 alle der Peano-Axiome außer P3 erfüllt. Definition 4.1 (Addition und Multiplikation). Wir definieren die Funktionen ·, + : N × N → N durch n + 0 :=n n + Sm :=S(n + m) n · 0 : =0 n · Sm :=(n · m) + n für alle n, m ∈ N. Obige Definition ist ein Beispiel dessen, was man eine rekursive oder induktive Definition nennt. Die Möglichkeit, solche Definitionen aufschreiben zu können, macht den Umgang mit den natürlichen Zahlen so schön. Weil nämlich die Menge {0, S0, SS0, SSS0, SSSS0, . . .} nach Axiom P5 alle natürlichen Zahlen enthält, wissen wir mit den Informationen, die uns die Definition gibt, schon für alle natürlichen Zahlen m, n, was m + n und m · n bedeuten. Wir definieren 1 := S0 und nennen 1 Eins. Aufgabe 4.10. Beweise Sn = n + 1 für alle n ∈ N. Natürlich wollen wir von nun an nicht alle natürlichen Zahlen als 1 + 1 + 1 + · · · + 1 schreiben. Deswegen wollen wir ab jetzt die natürliche Zahl SSS | {z. . . S} 0 n mal mit dem gewohnten Symbol, nämlich der bekannten Zahl n, bezeichnen, also zum Beispiel SSSSS0 mit 5. Für uns sind diese Zeichen ab jetzt aber immer im Sinne der Peano-Axiome zu verstehen und alle Eigenschaften der natürlichen Zahlen, die wir verwenden wollen, müssen aus den Axiomen hergeleitet werden! Aufgrund der induktiven Natur der natürlichen Zahlen werden wir fast alle Beweise von Eigenschaften natürlicher Zahlen Induktionsbeweise sein, so auch der des folgenden Satzes, indem sogar ein Induktionsbeweis in einem anderen verschachtelt ist: Satz 4.2 (Kommutativgesetz für die Addition). Es gilt das Kommutativgesetz der Addition natürlicher Zahlen, d.h. für m, n ∈ N gilt m + n = n + m. 4 Aufgabe 4.11. Beweise mit vollständiger Induktion, dass für alle n, m ∈ N m·n = 0+m {z· · · + m} | +m+ n-mal gilt. Folgere daraus, dass für alle m, n, o ∈ N das Distributivgesetz m · (n + o ) = m · n + m · o der Addition und Multiplikation gilt. Welche Probleme siehst du mit dieser Vorgehensweise? Aufgabe 4.12. Beweise mit vollständiger Induktion das Kommutativgesetz der Multiplikation, d.h. m · n = n · m für alle m, n ∈ N. Du wirst vermutlich viele der bisher bewiesenen Eigenschaften der natürlichen Zahlen benötigen. Du darfst auch das Distributivgesetz verwenden. Begründe jeden deiner Schritte mit einer zuvor bewiesenen Eigenschaft oder einem der Axiome P1-P5! 5