Vollständige Induktion

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