mathematik 1 - FHDW / bib Portalseite

Werbung
MATHEMATIK 1
Eine Einführung in die mathematischen Grundlagen der Informatik
Dozent:
Prof.Dr. Carsten Elsner
FHDW Hannover
1
=
π
Fassung: Januar 2017
3
10 −
14
110
25 −
2450
171 −
17556
533 −
75900
1207 −
244530
2289 −
P (7)
3875 −
P (8)
Q(7) −
.
Q(8) − . .
1
m(m − 1)(2m − 1)(2m + 1)(4m − 5)(4m + 3) ,
9
Q(m) = (4m + 1)(4m2 + 2m − 1) ,
m ≥ 2.
P (m) =
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
1
MATHEMATIK, Teil 1
Eine Einführung in die mathematischen Grundlagen der Informatik
Zusammenfassung
Wie der Titel bereits andeutet, werden in dieser Vorlesung mathematische Themen behandelt, die Bedeutung im Bereich der modernen Informatik gefunden haben. In diesem ersten Teil sind hauptsächlich Grundlagen aufgeführt. Im Hinblick auf die in der InformatikAusbildung angestrebten praktischen Bezüge werden aber bereits konkrete mathematische
Sätze erarbeitet. Da sich eine solche praxisorientierte Ausbildung zunächst an einer Programmierausbildung orientieren soll, in der weniger eine konkrete Programmiersprache als
vielmehr die grundlegenden Konzepte der Programmierung (die sog. Semantik ) vermittelt
werden, ist es das Ziel der Vorlesung, den dafür notwendigen mathematischen Apparat schnell
zu erarbeiten.
Nach der Einführung einiger fundamentaler Definitionen und Notationen aus dem Bereich
Logik und Mengenlehre werden die für ein tieferes Verständnis der Informatik notwendigen
Bereiche Relationen und Funktionen behandelt. Der praktisch orientierten Einführung der
natürlichen Zahlen folgt im zweiten Hauptteil der Begriff der Rekursion. Hier werden die
mathematischen Grundlagen für die in der Informatik übliche Definitionstechnik (z.B. für
Sprachen oder Funktionen) gelegt. Zusammen mit dem Begriff Ordnung werden dann einige
für die Programmsemantik wichtige Lehrsätze aufgestellt. Diese Vorlesung ermöglicht somit
ein frühzeitiges strukturelles Verständnis der wesentlichen Sachverhalte in der praktischen
Informatik.
Lernziele
Alle heute gängigen Programmiersprachen enthalten Kontrollstrukturen, die auf rekursiven
Definitionen beruhen. Die Festlegung syntaktisch korrekter Programmtexte basiert ebenfalls
auf rekursiven Definitionen. Das Ziel ist es daher, ein grundlegendes Verständnis für solche
Konstrukte zu bekommen. Dies kann erschöpfend und präzise nur durch die Kenntnis des
mathematischen Hintergrundes geschehen. Es soll aufgezeigt werden, daß die Mathematik
immer noch das einzige und wesentliche Hilfsmittel für solche Untersuchungen ist. Zusätzlich
ist es wichtig, Informatikern das kritische Betrachten von Artefakten in der Programmierung
(oder generell im Software-Engineering) aufzuzeigen. Diese Thematik kann im wesentlichen
unterteilt werden in einen syntaktischen Aspekt (Kann ein Compiler mein Programm verstehen? ) und in einen semantischen Aspekt (Arbeitet der Algorithmus korrekt? ).
Eine gute Programmierung führt nicht am Verständnis abstrakter Programmstrukturen vorbei: Man denke nur an Polymorphie in der objektorientierten Programmierung, an abstrakte
Datentypen in der Modellierung und an verallgemeinerte Strukturen im Datenbank-Design.
Ein weiteres wichtiges Ziel ist es daher, den Begriff der Abstraktion in der Informatik mathematisch zu fassen und die im Hintergrund stehenden Denkweisen zu verdeutlichen.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
2
Literatur
Die in dieser Vorlesung behandelten mathematischen Themen findet man in zahlreichen
Büchern. Einen großen Teil des behandelten Stoffes findet man in
Peter Hartmann, Mathematik für Informatiker, 3.Auflage, Vieweg 2004, ISBN 3-528-23181-5.
und (neben vielen anderen Dingen) in
H. Ehrig, B. Mahr, F. Cornelius, M. Große-Rhode, P. Zeitz, Mathematisch-strukturelle Grundlagen der Informatik , 2.Auflage, Springer 2001, ISBN 3-540-41923-3.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
3
Inhaltsverzeichnis
1 Grundlagen
5
1.1 Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2 Die Technik des Beweisens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.3 Quantoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.4 Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.5 Konstruktion neuer Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2 Relationen und Funktionen
27
2.1 Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.2 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
2.3 Spezielle Funktionen in der Informatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
2.4 Äquivalenzrelationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
3 Induktion
51
3.1 Einfache Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.2 Induktiv definierte Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
3.3 Strukturelle Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
3.4 Rekursiv definierte Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
4 Ordnungen
68
4.1 Partielle und totale Ordnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.2 Spezielle Elemente partiell geordneter Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
4.3 Funktionen auf partiell geordneten Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
4
Literatur.
• Peter Fejer & Dan Simovici: Mathematical Foundations of Computer Sciences, Springer
(1990).
• Martin Gardner: Gotcha, dtv.
• Paul R. Halmos: Naive Mengenlehre, Vandenhoeck & Ruprecht (1994).
• Peter Hartmann: Mathematik für Informatiker, Vieweg (2004).
• H. Ehrig, B. Mahr, F. Cornelius, M. Große-Rhode, P. Zeitz: Mathematisch-strukturelle
Grundlagen der Informatik , 2.Auflage, Springer (2001).
• Guido Walz: Mathematik für Fachhochschule, Duale Hochschule und Berufsakademie,
Spektrum Akademischer Verlag Heidelberg (2011), ISBN 978-3-8274-2521-8.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
5
1 Grundlagen
Die mathematische Logik und die Mengenlehre stellen die Hilfsmittel bereit, mit denen dann
später die Probleme und Sachverhalte der Informatik universell formuliert und verstanden
werden können. Es werden daher in diesem Kapitel grundlegende Definitionen und Notationen aus der Logik und Mengenlehre aufgestellt.
1.1 Logik.
Die im folgenden eingeführte Logik stellt ein mathematisches Modell für ein präzises Argumentieren und Ableiten von wahren Aussagen zur Verfügung. Die Aussage ist der zentrale
Begriff in der Logik. Aussagen sind Wahrheitswerte zugeordnet: eine Aussage ist entweder
wahr oder falsch. Eine dritte Alternative gibt es nicht; man spricht auch von zweiwertiger
Logik . Die folgenden Beispiele sind Aussagen:
• 3+3 = 6
• Die Erde ist eine flache Scheibe.
• Wenn Java eine Insel ist, dann ist Pascal ein Ozean.
Mit Aussagen, die für sich alleine stehen, kann man noch nicht viel anfangen. Erst durch das
Kombinieren von Aussagen mit Hilfe von Operationen wird der Aussagenkalkül zu einem
mächtigeren Instrument. Das dritte Beispiel in der obigen Aufzählung stellt eine solche Aussagenkombination dar. Es handelt sich nämlich um die Kombination zweier Aussagen mittels
Wenn . . . , dann . . . . Es wird jetzt u.a. gezeigt, wie man eine solche Operation formalisiert
und wie man ihren Wahrheitswert ermittelt.
Die fünf wichtigsten Operationen mit Aussagen heißen Konjunktion ( und“), Alternative
”
( oder“), Negation ( nicht“), Implikation ( Wenn . . . , dann . . .“) und Äquivalenz ( Ge”
”
”
”
nau dann, wenn “). Die Schreibweisen für diese Operationen entnimmt man der folgenden
Tabelle, in der A und B irgendwelche Aussagen bezeichnen.
Name
Konjunktion
Alternative
Negation
Implikation
Äquivalenz
Sprechweise
A und B
A oder B
Nicht A
Wenn A, dann B
A genau dann, wenn B
Schreibweise
A∧B
A∨B
¬A
A =⇒ B
A ⇐⇒ B
Besonders übersichtlich werden Operationen auf Aussagen durch Wahrheitstafeln. Das sind
Tabellen, in denen für jede Operation und jeden möglichen Wahrheitswert der beteiligten
Aussagen aufgeschrieben ist, welchen Wahrheitswert die durch die Operation neu entstandene Aussage hat. So erhält man für die fünf oben definierten Operationen folgende Wahrheitstafel:
A
B
A ∧ B A ∨ B ¬A
A =⇒ B A ⇐⇒ B
wahr wahr wahr
wahr
falsch wahr
wahr
wahr falsch falsch wahr
falsch falsch
falsch
falsch wahr falsch wahr
wahr wahr
falsch
falsch falsch falsch falsch wahr wahr
wahr
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
6
Die Wahrheitswerte für die Operationen ∧, ∨ und ¬ bedürfen keiner weiteren Erläuterungen.
Es ist jedoch einiges zur Implikation zu sagen. Bei einer Implikation A =⇒ B heißt die
Aussage A die Hypothese und die Aussage B die Folgerung. Man sagt dann auch kurz: Aus
A folgt B. In dem Satz
Wenn es morgen regnet, werde ich zu Hause bleiben.“
(*)
”
ist also der Teil vor dem Komma die Hypothese und der Teil nach dem Komma ist die
Folgerung. Umgangssprachlich etwas holprig, aber mathematisch korrekt könnte man diesen
Satz auch folgendermaßen formulieren: Aus Regen am nächsten Tag folgt, daß ich zu Hause
”
bleibe.“Es ist klar, daß diese Gesamtaussage wahr ist, wenn sowohl die Aussage der Hypothese A ( Morgen regnet es.“) als auch die Aussage der Folgerung B ( Ich werde zu Hause
”
”
bleiben.“) wahr ist. Ebenso sieht man leicht ein, daß die Gesamtaussage falsch ist, wenn
zwar die Hypothese A wahr, aber die Folgerung B falsch ist (Der Satz Wenn es morgen
”
regnet, werde ich das Haus verlassen.“widerspricht offensichtlich dem obigen Satz (*)). Es
ist aber etwas kniffliger einzusehen, warum die Implikation A =⇒ B eine wahre Aussage ist,
wenn die Hypothese A falsch ist, und zwar unabhängig davon, ob die Folgerung B wahr oder
falsch ist. Es werden nämlich beide Aussagen
Wenn es morgen nicht regnet, werde ich zu Hause bleiben.“
”
und
Wenn es morgen nicht regnet, werde ich das Haus verlassen.“
”
als wahr angesehen, da sie nicht im Widerspruch zur Aussage in (*) stehen. Die Folgerung
von A auf B ist nämlich nur dann bindend, wenn die Hypothese wahr ist.
Die Äquivalenz zweier Aussagen ist nichts anderes als eine Abkürzung für die Aussage
Wenn A dann B“ und
Wenn B dann A“
”
”
Formalisieren kann man diese Aussage folgendermaßen:
( (A =⇒ B) ∧ (B =⇒ A) )
=
(A ⇐⇒ B) .
Man beachte, daß hier das Gleichheitszeichen ’=’ die Bedeutung der semantischen Gleichheit
zweier Aussagen hat. Das bedeutet: Zwei Aussagen C und D sind gleich (C = D), wenn sich
bei jeder Belegung aller in C und D vorkommenden Aussagen mit Wahrheitswerten für
die Aussagen C und D stets der gleiche Wahrheitswert ergibt. Die oben vorgenommene
Klammerung innerhalb von Aussagen gibt eine Auswertereihenfolge vor: Die Aussagen in
den Klammern werden immer zuerst ausgewertet.
Ziel ist es nun, die wichtigsten aussagenlogischen Gesetze aufzustellen. Diese Gesetze werden
hauptsächlich zur Vereinfachung von logischen Aussagen verwendet. Diese Vorgehensweise
soll zunächst an einem Beispiel verdeutlicht werden.
Beispiel 1.1 In einem Programm steht die folgende Anweisungssequenz:
if ((x > 0) and (y ≤ 6)) or ((x > 0) and (y > 6))
then ** do something**
else ** do something else**
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
7
Wann wird nun der ’then’ - Teil und wann der ’else’ - Teil ausgeführt? Dies kann man mit
einer Wahrheitstafel ermitteln:
x>0
wahr
wahr
falsch
falsch
y ≤ 6 y > 6 Wahrheitswert der ’if ’ - Bedingung
wahr falsch
wahr
falsch wahr
wahr
falsch
wahr falsch
falsch wahr
falsch
Offensichtlich ist der Wahrheitswert der ’if ’ - Bedingung garnicht vom Wahrheitswert der
Aussage y ≤ 6 abhängig; kurz: die ’if ’ - Bedingung hängt nur vom Wahrheitswert der Aussage
x > 0 ab.
Für solche Vereinfachungen lassen sich nun allgemeine Regeln aufstellen. Einige solcher Regeln sind im folgenden Satz zusammengefaßt. Der Beweis dieser Regeln geschieht jeweils
durch Ausprobieren aller Kombinationen von Wahrheitswerten.
Satz 1.1 (Aussagenlogische Grundregeln)
Für alle Aussagen A, B und C gelten die folgenden Gesetze.
A∧B =B∧A
A∨B =B∨A
A ∧ (B ∧ C) = (A ∧ B) ∧ C
A ∨ (B ∨ C) = (A ∨ B) ∨ C
A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C) A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C)
A ∧ wahr“ = A
A ∨ falsch“ = A
”
”
A ∧ falsch“ = falsch“
A ∨ wahr“ = wahr“
”
”
”
”
(A =⇒ B) = (¬B =⇒ ¬A)
(Kommutativgesetze)
(Assoziativgesetze)
(Distributivgesetze)
(Neutrale Elemente)
(Konstante Funktion)
(Kontraposition)
Mit diesen Regeln wird noch einmal die Vereinfachung der ’if’ - Bedingung aus Beispiel 1.1
vorgenommen. Unter Anwendung des Distributivgesetzes kommt zunächst:
(x > 0 ∧ y ≤ 6) ∨ (x > 0 ∧ y > 6) = (x > 0) ∧ (y ≤ 6 ∨ y > 6) .
Da die Aussage (y ≤ 6 ∨ y > 6) offensichtlich immer wahr ist, erhält man weiter mit der
Regel für neutrale Elemente:
(x > 0 ∧ y ≤ 6) ∨ (x > 0 ∧ y > 6) = (x > 0) ∧ wahr“ = (x > 0) .
”
Auch der nun folgende Satz enthält aussagenlogische Grundregeln. Wegen ihrer Bedeutung
werden diese Regeln in einem gesonderten Satz aufgeführt.
Satz 1.2 (De Morgansche Regeln)
Es seien A und B beliebige Aussagen. Dann gilt:
¬(A ∧ B) = ¬A ∨ ¬B
(1.1)
¬(A ∨ B) = ¬A ∧ ¬B
(1.2)
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
8
Auch diese beiden Aussagen beweist man leicht, indem man alle vier Kombinationen von
Wahrheitswerten für A und B durchprobiert. Eine Anwendung von Satz 1.2 findet man im
folgenden Beispiel.
Beispiel 1.2 In einem Programm steht die Anweisungssequenz
if (not (x > 0) and not (y > x))
then ** do Anweisung 1**
else ** do Anweisung 2**
Man stellt nun fest, daß das Programm auch nach Weglassen der Anweisung 1 immer korrekt
läuft. Also tritt stets die Negation der in der ’if ’ - Abfrage stehenden Aussage ein. Wegen
(1.1) gilt nun
¬(¬A ∧ ¬B) = A ∨ B ,
und deshalb kann man das Programm mittels
if (x > 0 or y > x)
vereinfachen.
then ** do Anweisung 2**
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
9
1.2 Die Technik des Beweisens.
In diesem Abschnitt geht es um die Technik des Ableitens von wahren Aussagen. Beweise
und logische Argumentation sind nicht immer etwas Abstraktes und nicht nur eine Domäne
der Mathematiker. Das zeigt das folgende Beispiel aus der Finanzmathematik.
Jemand behauptet, ein Kapital von 1000 Euro, das sich über mindestens 20 Jahre mit einem
Zinssatz von 5% verzinst, ist am Ende der Laufzeit auf mindestens 2000 Euro angewachsen.
Ist diese Aussage nun wahr oder falsch? Im ersten Schritt wird man diese Aussage erst einmal
für die erwähnten Zahlen formalisieren; dadurch erhält man:
1000 · (1, 05)20 ≥ 2000 .
(1.3)
Es entsteht also keine formale Identität, sondern eine Ungleichung. Diese Ungleichung kann
man durch 1000 teilen. Dadurch wird sie einfacher und es zeigt sich, daß die Aussage auch
unabhängig vom Startkapital von 1000 Euro formuliert werden kann. Allerdings wurde oben
mehr behauptet als nur die Gültigkeit der Ungleichung (1.3), von deren Richtigkeit man sich
ja leicht mit dem Taschenrechner überzeugen kann. Es hieß aber mindestens zwanzig Jahre.
Tatsächlich lautet in Erweiterung von (1.3) die Behauptung:
Für alle natürlichen Zahlen n gilt: (n ≥ 20 =⇒ 1, 05n ≥ 2) .
(1.4)
Wir müssen hier eine Aussage für unendlich viele natürliche Zahlen n nachweisen, nämlich
für alle, die größer oder gleich 20 sind. Nun wird man allein durch praktische Erfahrung
natürlich einwenden, daß sich die Behauptung in (1.4) sofort ergibt, wenn man sie für die
Mindestlaufzeit von 20 Jahren nachgerechnet hat. Aber man bedenke, daß man hier erstens
bereits die Gültigkeit eines mathematischen Arguments (nämlich eine gewisse Monotonie der
Exponentialfunktion und die Transitivität der Relation ’≥’) vorausgesetzt hat, und daß es
zweitens nicht darum geht, möglichst schnell die Behauptung in (1.4) nachzuweisen. Vielmehr
soll an diesem (einfachen) Beispiel eine allgemeine Beweistechnik demonstriert werden.
Da wir die Aussage in (1.4) nicht für alle unendlich vielen natürlichen Zahlen n nachrechnen
können, muß man stichhaltig argumentieren. Ein Beweis ist nun nichts anderes als eine
logisch korrekte kausale Kette von Aussagen. Was das im konkreten Fall bedeutet wird
gleich klar werden. Da man mit einem Beweis jedoch immer nur die Richtigkeit einer Aussage
nachweisen kann, muß man sich zunächst entscheiden, was man beweisen will: die Aussage
oder ihre Negation (Es könnte ja auch sein, daß die Behauptung in (1.4) falsch ist!). Im
vorliegenden Fall entscheiden wir uns aber für den Beweis der Aussage selbst.
Formal besteht ein Beweis nur aus zwei Teilen:
Teil 1 Man schreibe die Hypothese(n) aus der Aussage auf. Dadurch erhält man eine
Aussage A.
Teil 2 Man finde Aussagen A1 , A2 , . . . , Ak , für die folgendes gilt:
(i)
(ii)
A1 = A ,
Ak ist die zu beweisende Folgerung ;
Die Implikationskette A1 =⇒ A2 =⇒ . . . =⇒ Ak ist wahr.
Da man die Aussagen A2 , . . . , Ak−1 noch finden muß, kann man Teil 2 als den kreativen Teil
des Beweises bezeichnen.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
10
Im vorliegenden Beispiel besteht Teil 1 aus dem Hinschreiben der folgenden Hypothese: A1
ist die Aussage:
Sei n ≥ 20 eine beliebig gewählte natürliche Zahl.
(1.5)
Nun folgt der kreative Teil. Es muß also eine Idee her, wie man weitermachen kann. Dazu
sollte man kurz innehalten und auf den Kontext des Problems schauen, um eine möglichst
gute Abschätzung des Wertes von 1, 05n nach unten zu bekommen, um den es in der Behauptung ja geht. Hierfür ist nun die folgende Überlegung hilfreich: Wenn sich ein Kapital
jährlich mit 5% verzinst, dann muß schon nach zwei Jahren mehr vorhanden sein, als wenn
man jedes Jahr nur 5% des Anfangskapitals hinzuaddiert. Man berücksichtigt also nur die
Verzinsung des Anfangskapitals und vernachlässigt den Zinseszinseffekt. Formal lautet das
Ergebnis dieser Überlegung:
Für alle natürlichen Zahlen n ≥ 1 gilt: (1, 05)n ≥ 1 + 0, 05 · n .
(1.6)
Wir haben mit (1.5) und (1.6) nun zwei Ungleichungen erhalten, die wir wegen der Transitivität der Relation ’≥’ miteinander kombinieren können. Daher führt der nächste Beweisschritt zu der Aussage:
Da x ≥ y ∧ y ≥ z =⇒ x ≥ z immer wahr ist, folgt aus (1.5) und (1.6):
(1, 05)n ≥ 1 + 0, 05 · 20 = 2 .
(1.7)
Eine aus dem Hintereinanderschreiben der Aussagen (1.5), (1.6) und (1.7) bestehende kausale
Kette beweist also präzise die gewünschte Aussage. Die folgende formale Darstellung des
Beweises zeigt noch einmal, daß es sich dabei wirklich um eine Implikationskette handelt.
Man beachte, daß jede Teilimplikation für sich eine wahre Aussage darstellt, weil immer
wieder aus einer wahren Hypothese eine wahre Folgerung gezogen wird!
n ≥ 20
=⇒ n ≥ 20 ∧ (Für alle n ≥ 1 gilt: (1, 05)n ≥ 1 + 0, 05 · n)
=⇒ n ≥ 20 ∧ (Für alle n ≥ 1 gilt: (1, 05)n ≥ 1 + 0, 05 · n)
∧ (Für alle reellen Zahlen x, y, z gilt: (x ≥ y ∧ y ≥ z =⇒ x ≥ z))
=⇒ 1 + 0, 05 · n ≥ 1 + 0, 05 · 20 ∧ (Für alle n ≥ 1 gilt: (1, 05)n ≥ 1 + 0, 05 · n)
∧ (Für alle reellen Zahlen x, y, z gilt: (x ≥ y ∧ y ≥ z =⇒ x ≥ z))
=⇒ (1, 05)n ≥ 1 + 0, 05 · 20
=⇒ (1, 05)n ≥ 1 + 0, 05 · 20 ∧ 1 + 0, 05 · 20 = 2
=⇒ (1, 05)n ≥ 2 .
Zumindest das formale Schema von Beweisen orientiert sich immer an diesem Muster. Allerdings werden in der Praxis nicht alle Zwischenschritte in dieser Ausführlichkeit hingeschrieben. Vieles wird nämlich beim Leser des Beweises als bekannt vorausgesetzt; zu viele
notierte Zwischenschritte würden die Beweise unübersichtlich machen. Ist ein Beweis beendet, wird dies mit einem vorab vereinbarten Zeichen angezeigt. Wir haben hier das Quadrat
gewählt.
Bei dem obigen Beispiel weisen wir noch auf die Tatsache hin, daß die Ungleichung 1, 05n ≥ 2
unter der allgemeinen Voraussetzung n ≥ 10 offensichtlich falsch ist (Für n = 10, 11, 12, 13,
14 gilt die Ungleichung nicht!). Was wäre unter der Voraussetzung n ≥ 10 geschehen? Man
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
11
hätte beliebig lange aus der Hypothese (n ≥ 10) Folgerungen ziehen können, ohne jemals auf
die Aussage 1, 05n ≥ 2 zu stoßen. Dies erklärt sich dadurch, daß niemals eine falsche Aussage
aus einer wahren Aussage folgen kann (Man beachte die zweite Zeile in der Wahrheitstafel
für die Implikation ’=⇒’, Seite 4). Wenn man sehr lange erfolglos versucht hat, aus einer
Hypothese eine Folgerung abzuleiten, sollte man vielleicht auch einmal versuchen, die gegenteilige Aussage zu beweisen. Wie man eine gegenteilige Aussage formal korrekt formuliert,
wird im nächsten Abschnitt 1.3 erläutert.
Eine häufig verwendete Beweistechnik soll jetzt behandelt werden, die nicht nur in vielen
theoretischen Beispielen hilfreich ist, sondern auch als Denkmodell in zahlreichen praktischen
Tätigkeiten in der Informatik vorkommt. Mit den Wahrheitstafeln auf Seite 4 findet man
leicht die Identität
(A =⇒ B) = (¬A ∨ B) ,
indem man alle vier Kombinationen von Wahrheitswerten für A und B durchprobiert. Zusammen mit der De Morganschen Regel (1.1) ergibt sich weiter
(A =⇒ B) = ¬(A ∧ ¬B) .
(1.8)
Diese Gleichung wird nun folgendermaßen für Beweise angewendet: Um eine Implikation
A =⇒ B zu beweisen, schreibt man zunächst wieder (wie in Teil 1 eines Beweises gefordert)
die Hypothese A auf. Zusätzlich nimmt man dann noch an, daß ¬B gilt, daß also die eigentlich zu beweisende Behauptung falsch ist. Gelingt es nun zu zeigen, daß diese Konjunktion
(nämlich die Aussage A∧¬B) falsch ist, so hat man wegen (1.8) die Richtigkeit von A =⇒ B
bewiesen. Man wird dann beim Herleiten weiterer Aussagen aus A ∧ ¬B auf eine Situation stoßen, die erkennbar nicht möglich bzw. widersprüchlich ist. Die ganze Vorgehensweise
nennt man einen Beweis durch Widerspruch.
Dieses Verfahren soll an einem Beispiel erläutert werden. Die alten Griechen glaubten irrtümn
darstellen lassen, wobei n und
lich, daß sich alle positiven Zahlen in Gestalt eines Bruches m
m > 0 für teilerfremde natürliche Zahlen stehen. Insbesondere sollte auch die Länge der
Diagonale in einem Quadrat mit der Seitenlänge 1 durch einen solchen Bruch ausgedrückt
n
benennen, die die Gleichung
werden können. Doch niemand konnte eine Zahl der Gestalt m
2
x = 2 löst und damit die Länge der Diagonale im Quadrat beschreibt. Woran liegt das?
Wir werden die Richtigkeit des folgenden Lehrsatzes zunächst mit dem Beweisprinzip durch
Widerspruch nachweisen.
Satz 1.3 Ist p eine Primzahl, so besteht für alle natürlichen Zahlen n und m > 0 die
Ungleichung
2
n
6= p .
m
Ist dieser Satz bewiesen, so wenden wir ihn insbesondere für die Primzahl p = 2 an und
haben damit das Diagonalenproblem der alten Griechen gelöst: Die Länge der Diagonale im
Einheitsquadrat wird nicht durch eine rationale Zahl beschrieben!
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
12
Beweis: Es sei p eine beliebige Primzahl. Zusätzlich wird nun angenommen, daß es teilerfremde natürliche Zahlen n und m > 0 gibt, die eine Darstellung
2
n
= p
(1.9)
m
zulassen; dies ist nun genau die gegenteilige Aussage von dem, was zu beweisen ist. Wenn die
Zahlen m und n teilerfremd sind, so sind auch die Zahlen m2 und n2 teilerfremd, denn durch
das Quadrieren sind keine neuen Primteiler bei m und n hinzugekommen. Die Gleichung in
(1.9) wird nun umgestellt:
n2 = p · m2 .
(1.10)
Hieraus liest man ab, daß p ein Teiler der Zahl n2 ist. Da nun n2 eine Quadratzahl ist, kommen
alle Primteiler (und insbesondere der nachgewiesene Primteiler p) mindestens zweimal in der
Primfaktorzerlegung vor. So ist beispielsweise 36 = 62 = (2 · 2) · (3 · 3). Daher existiert eine
natürliche Zahl k mit der Eigenschaft
n2 = p2 · k .
(1.11)
Aus (1.10) und (1.11) folgt durch Gleichsetzen über n2 die Gleichung p · m2 = p2 · k. Teilt
man diese Gleichung einmal durch p, so erhält man
m2 = p · k .
Damit ist p aber auch ein Primteiler von m2 . Insgesamt haben wir nun nachgewiesen, daß
p sowohl ein Primteiler von m2 als auch von n2 ist. Andererseits hatten wir aber m2 und
n2 bereits als teilerfremd erkannt. Damit liegt ein Widerspruch vor, der den Satz (unter
Berufung auf (1.8)) beweist.
Warum ist diese doch befremdliche Argumentation legitim? Es wurde doch aus einer (wie
sich ja nun im Nachhinein herausstellte) falschen Aussage, nämlich aus der Annahme der
n 2
) = p, eine andere falsche Aussage, nämlich
Existenz natürlicher Zahlen n und m mit ( m
(n2 und m2 sind teilerfremd)
∧
(p ist zugleich ein Teiler von n2 und von m2 ) ,
hergeleitet. Diese Argumentation ist genau deshalb erlaubt, weil die Implikation A =⇒
B auch dann eine wahre Aussage ist, wenn A und B beide falsch sind (Man beachte die
Wahrheitstafel auf Seite 4!). Man kann dies auch anders formulieren: Wenn man davon
ausgeht, daß die Argumentationskette im Beweis korrekt ist, so muß die Annahme falsch
sein. Denn wäre sie wahr, hätte sich aus etwas Wahrem durch korrektes Schließen etwas
Falsches ergeben. Dies ist aber gerade, wie man wieder aus der Wahrheitstafel abliest, nicht
korrekt.
1.3 Quantoren.
Häufig enthalten Aussagen Formulierungen wie ’für alle . . . ’ oder ’es gibt . . . ’. Diese
Festlegungen nennt man Quantoren. Beispielsweise lautete die Behauptung in (1.6):
Für alle natürlichen Zahlen n ≥ 1 gilt: (1, 05)n ≥ 1 + 0, 05 · n .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
13
Wie bei den im vorigen Abschnitt erläuterten Beweistechniken erwähnt, ist es in manchen
Fällen wichtig, Aussagen zu negieren, etwa um in einem Beweis durch Widerspruch das Gegenteil einer Aussage formulieren zu können. Als Hilfsmittel zur Formalisierung von Aussagen
und ihrer Negation werden die folgenden Symbole eingeführt:
∀
∃
bedeutet
bedeutet
’für alle’
’es gibt’
Bisher wurden Aussagen etwa kurz mit A notiert. Aussagen, die noch zusätzlich von einem
Parameter x abhängen, werden künftig mit A(x) bezeichnet. Dabei versteht man unter x
einen Platzhalter für einen beliebigen Wert, z.B. für eine Zahl, für eine Zeichenkette oder auch
für einen Wahrheitswert. Wenn die Aussage von mehreren Parametern x, y, z, . . . abhängt,
schreiben wir entsprechend A(x, y, z, . . . ). Die oben eingeführten Quantoren - Symbole werden dann in folgender Weise verwendet:
Symbolik
∀ x : A(x)
∃ x : B(x)
Sprechweise
Für alle x gilt die Aussage A(x)
Es gibt ein x, für das die Aussage B(x) gilt
Mit diesen neuen Symbolen können Aussagen leicht formal negiert werden. Eine Aussage
A(x) gelte zuerst für alle möglichen Werte von x. Das Gegenteil dieser Aussage (also ihre Negation ¬(∀ x : A(x))) besagt dann offensichtlich, daß es ein gewisses x gibt, für das
die Aussage A(x) nicht gilt (aber nicht, daß die Aussage A(x) für alle möglichen x nicht
gilt!!). Gilt umgekehrt eine Aussage B(x) für ein gewisses x, so besteht hier die Negation
(¬(∃ x : B(x))) offensichtlich in der Aussage, daß B(x) für alle x falsch ist.
Besteht eine Aussage aus einer Gleichung oder Ungleichung, so wird meist auf die Voranstellung des Allquantors ∀ verzichtet und der Gültigkeitsbereich der Gleichung bzw. Ungleichung
in Klammern angefügt.
Beispiele:
1.) (a + b)2 = a2 + 2ab + b2
(a, b ∈ R) .
Gelesen: ’Die Gleichung ... gilt für alle reellen Zahlen a und b’.
2.) (1 + x)n ≥ 1 + nx
(x ≥ −1 , n ∈ N) .
Gelesen: ’Die Ungleichung ... gilt für alle reellen Zahlen x ≥ −1 und für alle natürlichen
Zahlen n’.
Wir können nun formal Aussagen negieren:
Satz 1.4 (Negation von Aussagen, die Quantoren enthalten)
Für beliebige Aussagen A(x) und B(x) gelten die Identitäten
¬(∀ x : A(x) ) = ∃ x : ¬A(x)
¬(∃ x : B(x) ) = ∀ x : ¬B(x)
Man beachte die Analogie zu den De Morganschen Regeln!
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
14
Beispiel 1.3 Nach der Entwicklung einer Software - Anwendung werden Testfälle durchgeführt, mit denen die Korrektheit der neuen Programme verifiziert werden soll. Nachdem
die Testfälle durchgeführt wurden, machten die Tester folgende Aussage:
’In jedem Testfall gibt es eine Programmeingabe, mit der das Programm nicht funktioniert.’
Die Entwickler versuchen nun die Situation so zu korrigieren, daß nach der Veränderung
der Programme die Negation der obigen Aussage eintritt. Diese lautet aber nun gemäß Satz
1.4:
’Es gibt einen Testfall, so daß bei jeder Programmeingabe das Programm funktioniert.’
Ob jetzt die Software fehlerfrei funktioniert, überlassen wir dem Glauben des Lesers.
In manchen Fällen ist auch der Gebrauch der folgenden Existenzquantoren sinnvoll:
∃∞
bedeutet: ’Es gibt unendlich viele’ ,
∃1
bedeutet: ’Es gibt genau ein’
Beispiel 1.4 Ein berühmter Satz aus der Zahlentheorie (bewiesen im 20.Jh.) lautet: Jede
hinreichend große ungerade Zahl ist als Summe von drei Primzahlen darstellbar. Formal
lautet diese Aussage:
∃ n0 ∈ N ∀ n ∈ N (n ≥ n0 ∧ n ≡ 1 mod 2) ∃ p1 , p2 , p3 ∈ P : n = p1 + p2 + p3 .
Die Negation dieser Aussage lautet zunächst formal:
∀ n0 ∈ N ∃ n ∈ N (n ≥ n0 ∧ n ≡ 1 mod 2) ∀ p1 , p2 , p3 ∈ P : n 6= p1 + p2 + p3 .
Mit der ∃∞ - Schreibweise können aber die beiden ersten Quantoren in dieser Negation
zusammengefaßt werden zu:
∃∞ n ∈ N (n ≡ 1 mod 2) ∀ p1 , p2 , p3 ∈ P : n 6= p1 + p2 + p3 .
Dies lautet jetzt umgangssprachlich: ’Es gibt unendlich viele ungerade natürliche Zahlen n,
die nicht als Summe dreier Primzahlen darstellbar sind.’
1.4 Mengen.
Die Konzepte der Mengenlehre bilden nicht nur das Fundament der modernen Mathematik,
sondern auch das der Informatik. Der Informatiker betreibt die Mengenlehre nicht als eine
exotische Wissenschaft. Vielmehr hat er hiermit ein grundlegendes Hilfsmittel für viele Disziplinen an der Hand, wie Datenbank-Design, Programmiersprachen oder objektorientierte
Modellierung.
Was ist nun eine Menge? Der Mathematiker Georg Cantor (1845 - 1918) versuchte mit
Mengen einen gemeinsamen Begriff für verschiedene Objekte der realen Welt oder unserer
Vorstellung zu schaffen. Die Objekte selbst nennt man Elemente der Menge. In diesem Sinne
ist eine Menge nichts anderes als eine Sammlung von Objekten, nämlich den Elementen der
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
15
Menge. Ist nun eine Menge S gegeben, so kann man entscheiden, ob ein gegebenes Element
a in der Menge S enthalten ist oder nicht 1 . Man sagt dann, ’a ist in S enthalten’ oder ’a
ist nicht in S enthalten’. Kommt a in der Menge S vor, schreibt man
a ∈ S.
Ist a nicht in der Menge S enthalten, notiert man das mit
a 6∈ S .
Ein wichtiges Beispiel für die Verwendung dieser Mengenschreibweisen ist die Deklaration
von Zahlbereichen durch Datentypen in verschiedenen Programmiersprachen:
Beispiel 1.5 In der Programmiersprache Java wird durch den Datentyp int die Menge I
aller ganzen Zahlen im Bereich von −231 bis 231 − 1 dargestellt. Die Deklaration
int zahl
(1.12)
legt dann zahl als ein (zunächst nicht näher bestimmtes, also noch nicht mit einem bestimmten Wert belegtes) Element der Menge I fest. In Visual Basic wird die gleiche Deklaration
mit der Syntax
dim zahl As Integer
(1.13)
ausgedrückt. Die Bedeutung der beiden durch (1.12) und (1.13) notierten Deklarationen ist
aber in beiden Fällen gleich, nämlich
zahl ∈ I .
Durch dieses Beispiel wird auch folgendes klar:
Die mathematische Notation ist ein von jeder Programmiersprache unabhängiges
Hilfsmittel, die Semantik eines Programms aufzuschreiben.
Hiermit erhält man insbesondere auch die Möglichkeit, gleichartige semantische Aspekte
einer Programmiersprache zu vergleichen, indem man die Sprache der Mathematik als ’Meta
- Sprache’ verwendet.
Mengen können auf zwei Arten beschrieben werden. Die erste Methode besteht darin, die
Elemente der Menge explizit aufzuführen. Besteht eine Menge S aus genau den Elementen
x1 , x2 , . . . , xn , so notiert man die Menge mit
S = { x1 , x2 , . . . , xn } .
1
S steht für das englische Wort set. Dieser Buchstabe wird häufig für den Namen einer Menge verwendet.
Generell werden im folgenden Mengen meist mit Großbuchstaben und Elemente mit kleinen Buchstaben
bezeichnet.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
16
Kann man nicht alle Elemente einer Menge aufschreiben, weil es zu viele oder unendlich
viele Elemente sind, so deutet man die nicht notierten Elemente durch Punkte ’. . . ’ an,
wenn daraus intuitiv ersichtlich ist, welches die fehlenden Elemente sind. Beispielsweise wird
die Menge der natürlichen Zahlen durch
{ 0, 1, 2, 3, . . . }
beschrieben und mit dem Buchstaben N abgekürzt. Auch würde niemand die 232 Elemente
der Menge I aus Beispiel 1.5 einzeln hinschreiben; man notiert I durch
I = { −231 , −231 + 1, . . . , 231 − 2, 231 − 1 } .
Bei der anderen Methode der Spezifikation einer Menge S verwendet man eine oder mehrere
definierende Bedingungen. Man benutzt dafür eine Aussage der Gestalt A(x) (vgl. Abschnitt
1.3), mit der die Elemente der Menge in folgendem Sinne beschrieben werden: ein Element
x ist genau dann in S enthalten, wenn A(x) wahr ist. Hierzu ein Beispiel:
Die Elemente der Menge S aller Quadratzahlen, die kleiner als 20 sind, kann man einerseits
alle hinschreiben. Man erhält
S = { 0, 1, 4, 9, 16 } .
Andererseits können diese Quadratzahlen aber auch durch die Aussage
A(x)
:= (’x ist eine Quadratzahl’ ∧ ’x ist kleiner als 20’)
= (x ∈ N ∧ x < 20 ∧ ∃ y ∈ N : y 2 = x )
beschrieben werden. Hiermit drückt man jetzt aus, daß ein Element x genau dann zu S
gehört, wenn A(x) wahr ist. Um auf diese Art und Weise eine Menge zu definieren, benutzt
man die folgende Notation:
S = {x | A(x) } = { x | x ∈ N ∧ x < 20 ∧ ∃ y ∈ N : y 2 = x } .
Der Kürze halber verwendet man häufig
anstelle von
S = {x | A(x) } = x| x ∈ X ∧ A0 (x)
die gleichwertige Schreibweise S = x ∈ X| A0 (x) , die die Aussage A(x) = (x ∈ X ∧ A0 (x))
hinsichtlich der Zugehörigkeit von x zu einer Obermenge X verkürzt. Damit haben wir im
vorigen Beispiel die kürzere Schreibweise
S = { x ∈ N | x < 20 ∧ ∃ y ∈ N : y 2 = x } .
Nun stehen die wesentlichen Schreibweisen für ein Werkzeug bereit, mit dessen Hilfe man
Mengen von Objekten notieren und schließlich ’weiterverarbeiten’ kann. Wir benutzen diese
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
17
Schreibweisen, um einige sehr wichtige Zahlmengen einzuführen:
N
N∗
P
Z
Z∗
Q
R
:= { 0, 1, 2, 3, . . . }
(Menge der natürlichen Zahlen mit 0)
:= { 1, 2, 3, . . . }
(Menge
der natürlichen Zahlen ohne 0)
:=
p | p ∈ N ∧ p ≥ 2 ∧ (p ≡ 0 mod k =⇒ k ∈ {1, p})
(Menge der Primzahlen)
:= { 0, ±1, ±2, ±3, . . . }
(Menge der ganzen Zahlen)
:= { ±1, ±2, ±3, . . . }
(Menge
der ganzen Zahlen ohne 0)
:=
q | ∃ a ∈ Z ∃ b ∈ Z∗ : q = a/b
(Menge der rationalen Zahlen)
:= Menge der rellen Zahlen
Leider stellt sich heraus, daß wir uns einige Probleme eingekauft haben, die mit der Allgemeinheit der obigen Definitionen zusammenhängen. Damit ist folgendes gemeint:
Die Elemente von Mengen können selbst wieder Mengen sein. Man führe nur etwa die Menge
S := { T | T ist eine Menge mit unendlich vielen Elementen }
ein. S ist eine Menge von Mengen. Es stellt sich nun die Frage, ob S (als Menge) selbst auch
zu der Menge aller Mengen gehört, die in S enthalten sind. Das ist hier offensichtlich der
Fall, denn S enthält ja selbst auch unendlich viele Elemente. Hierfür betrachte man nur die
unendlich vielen Mengen
Sn := { k ∈ N | k ist ein Vielfaches von n }
(n ∈ N ∧ n > 0) .
Jede dieser Mengen Sn besteht aus unendlich vielen Elementen und ist daher ein Element
T von S. Weiterhin sind für zwei verschiedene Primzahlen p und q die Mengen Sp und Sq
verschieden, weil p ∈ Sp , q ∈ Sq und p 6∈ Sq , q 6∈ Sp gilt, denn keine Primzahl ist ein
Vielfaches einer anderen Primzahl. Also ist die Aussage
S ∈ S
offensichtlich wahr. Mengen, die sich selbst enthalten, sind ziemlich kurios. Es wäre doch
erstrebenswert, solche kuriosen Mengen auszugrenzen und nur mit Mengen zu arbeiten, die
in dem Sinne ’normal’ sind, daß sie sich nicht selbst enthalten. Diese Menge N aller normalen
Mengen X wird demnach durch
N := { X | X 6∈ X }
(1.14)
definiert. Die obige Menge S gehört demnach nicht zu N ; es gilt also S 6∈ N . Leider sind
die fundamentalen Probleme damit immer noch nicht aus der Welt geschafft. Wir stellen
nämlich jetzt einmal die Frage, ob N selber eine normale Menge ist. Wir unterscheiden die
beiden möglichen Fälle:
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
18
Fall 1 : N ist eine normale Menge.
Dann gilt aufgrund der Definition von N , daß N ∈ N , denn N gehört ja zu den normalen
Mengen. Somit ist N = X für ein X, das in N vorkommt. Nun gilt aber für die Elemente
X von N , daß X 6∈ X, und daher haben wir N 6∈ N . Es hat sich ein Widerspruch ergeben.
Fall 1 kann also nicht eintreten!
Fall 2 : N ist keine normale Menge.
Jetzt haben wir N 6∈ N vorausgesetzt, was aber andererseits aufgrund der definierenden
Eigenschaft von N wiederum N ∈ N bedeutet (wieder für ein gewisses X = N mit X ∈ N ).
Auch hier tut sich ein Widerspruch auf! Auch Fall 2 kann nicht eintreten.
Hilfe!! Was ist passiert? Die Tatsache, daß die Definition der Menge N erlaubt ist, führt
zu einem Widerspruch, der nicht auflösbar ist. Das ist das berühmte Russel’sche Paradoxon
(Bertrand Russell, 1872 - 1970, engl. Earl und Philosoph). Der Leser möge beruhigt sein:
derartige Paradoxien haben in der Vergangenheit die Mathematik in eine tiefe Grundlagenkrise gestürzt, aus der sie sich erst durch die Entwicklung der mathematischen Logik befreit
hat. Die Dinge sind geklärt!
Für den Erstzugang zur Mengenlehre bedeutet diese Paradoxie, daß solche allgemeinen Definitionen von Mengen wie oben für S und N nicht zugelassen werden dürfen. Man verlangt,
daß bei der Definition einer Menge mit Hilfe einer definierenden Bedingung immer eine Art
Grundmenge von vorneherein die Auswahl der möglichen Elemente einschränkt. Eine solche Grundmenge wird mit U bezeichnet (wie ’Universum’), und es sind ab jetzt nur noch
Definitionen in der Form
{ x | x ∈ U ∧ A(x) }
(1.15)
erlaubt. Damit ist das Russel’sche Paradoxon aus der Welt geschafft, denn die Definition
einer Menge N mit
N := {X | X ∈ U ∧ X 6∈ X }
(1.16)
(anstelle von (1.14)) führt jetzt bei der Frage, ob N in N enthalten ist, nicht mehr zu
einem unauflösbaren Widerspruch. Geht man von N ∈ N aus, so erhält man zunächst einen
Widerspruch wie in Fall 1 oben, denn man hat N ∈ U ∧ N 6∈ N . Der Widerspruch kommt
allein durch N 6∈ N zustande, die gleichzeitig erfüllte Bedingung N ∈ U spielt keine Rolle.
Also kann Fall 1 nicht eintreten; es muß also Fall 2 eintreten, was N 6∈ N bedeutet. Aus
(1.16) ergibt sich so die Gültigkeit der Aussage ¬ (N ∈ U ∧ N 6∈ N ). Aufgrund der De
Morganschen Regel (1.1) folgt daraus:
N 6∈ U ∨ N ∈ N .
Da die zweite Alternative der Voraussetzung von Fall 2 widerspricht, tritt zwingend die erste
Alternative ein, und die besagt N 6∈ U . Setzt man also ein Universum U voraus und definiert
dann anschließend die Menge N wie in (1.16), so gilt N 6∈ N , und man erhält als zusätzliche
Information die Aussage N 6∈ U . Dies besagt also, daß die Menge N nicht in dem Universum
U enthalten ist, obwohl die Elemente von N in U enthalten sind. Zukünftig werden wir bei
Mengendefinitionen immer die Einschränkung aus (1.15) berücksichtigen.
Wir haben jetzt das nötige Werkzeug, um nach der Einführung weiterer grundlegender Notationen die Eigenschaften von Mengen und ihre Beziehungen untereinander beschreiben zu
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
19
können. Beispielsweise ist es wichtig ausdrücken zu können, ob die Elemente einer Menge
A auch alle in einer anderen Menge B vorkommen. So repräsentieren die drei Elemente der
Menge S := { 7, 11, 25 } drei natürliche Zahlen. Diese drei Elemente kommen auch in der
Menge N vor; man sagt, die Menge S ist eine Teilmenge der Menge N. Allerdings ist die
Menge S keine Teilmenge der Menge P aller Primzahlen, weil das Element 25 von S keine
Primzahl ist. Es spielt dann keine Rolle mehr, daß 7 und 11 Primzahlen sind.
Diese und weitere Verknüpfungen zwischen Mengen werden folgendermaßen formalisiert:
Verknüpfung
A⊆B
A=B
A⊂B
Bedeutung
∀ x : (x ∈ A =⇒ x ∈ B)
A⊆B ∧ B⊆A
A ⊆ B ∧ ¬(A = B)
Für ¬(A = B) wird der Kürze halber auch A 6= B geschrieben. Nach diesen Definitionen
bedeutet die Gleichheit zweier Mengen A und B, daß A und B die gleichen Elemente besitzen.
Definition 1.1 Zwei Mengen A und B heißen gleich, wenn jedes Element von A auch Element von B ist und umgekehrt.
Es ergibt sich aufgrund dieser Definition aber auch
{ 1, 2, 3, 2 } = { 1, 2, 3 } = { 3, 2, 1 } .
Das bedeutet:
Bei Mengen haben Mehrfachnennungen der Elemente keine Bedeutung: jedes Element kann
nur höchstens einmal in einer Menge vorkommen. Es kommt dabei auch nicht auf die Reihenfolge an, in der die Elemente genannt werden.
Auf die wichtige Unterscheidung zwischen endlichen, unendlichen und gleichmächtigen Mengen gehen wir später in Abschnitt 2.3 ein, weil hierzu der im Augenblick noch nicht vorhandene Begriff der Bijektion erforderlich ist.
Wichtig für Anwendungen ist die Aussage des folgenden Satzes:
Satz 1.5 (Transitivität der Teilmengenbeziehung)
Es seien A, B und C Mengen. Dann gilt:
(A ⊆ B ∧ B ⊆ C) =⇒ A ⊆ C
(A ⊂ B ∧ B ⊂ C) =⇒ A ⊂ C
Beweis: Es wird die erste Aussage des Satzes gezeigt. Da die Aussage die Gestalt einer
Implikation hat, setzen wir die Hypothese als wahr voraus und zeigen, daß dann auch die
Folgerung A ⊆ C wahr ist. Hierzu sei x ∈ A. Wir müssen jetzt unter Ausnutzung der
Hypothese (A ⊆ B ∧ B ⊆ C) zeigen, daß x ∈ C gilt (siehe die Definition von ’⊆’). Wegen
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
20
des ersten Teils der Hypothese A ⊆ B wissen wir auch x ∈ B, und wegen des zweiten
Teils der Hypothese B ⊆ C ergibt sich mit diesem Zwischenergebnis dann auch x ∈ C, was
insgesamt zu zeigen war. Die zweite Aussage im Satz wird ähnlich bewiesen.
Unter der leeren Menge versteht man eine Menge, die keine Elemente enthält. Für die leere
Menge benutzt man das Symbol ∅. Die leere Menge ist Teilmenge jeder Menge, es gilt also
∅ ⊆ A.
(1.17)
Diese Aussage ist leicht zu verifizieren, denn es muß die Implikation x ∈ ∅ =⇒ x ∈ A gezeigt
werden. Da die Hypothese dieser Implikation immer falsch ist, ist die Implikation also wahr.
Eine weitere Eigenschaft der leeren Menge ist die, daß eine Menge, die nur die leere Menge
enthält, selber nicht leer ist; in Zeichen {∅} =
6 ∅.
In der Informatik kommen oft Mengen von Mengen vor. Die sog. Programmzustände bilden
beispielsweise eine Menge, deren Elemente jeweils aus Mengen von Variablen bestehen. Auf
solche Mengen von Mengen ist die folgende Definition zugeschnitten.
Definition 1.2 (Potenzmenge)
Es sei S eine Menge. Die Potenzmenge ist als die Menge aller Teilmengen von S erklärt und
wird mit ℘(S) bezeichnet. Es ist also
℘(S) = {T | T ⊆ S}
Beispiel 1.6 Es sei S := { 1, 2, 3 }. Dann ist die zugehörige Potenzmenge von S gleich
℘(S) = { ∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} } .
Der folgende Satz drückt zwei wichtige Eigenschaften von Potenzmengen aus.
Satz 1.6 (Eigenschaften der Potenzmenge)
1.) Die Potenzmenge einer Menge ist niemals leer, denn sie enthält stets die leere Menge.
2.) Besteht die Menge S aus unendlich vielen Elementen, so auch die Potenzmenge ℘(S).
Besteht S hingegegen aus genau n Elementen, so besteht ℘(S) aus 2n Elementen.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
21
1.5 Konstruktion neuer Mengen.
Im vorigen Abschnitt 1.4 sind Mengen definiert und die Möglichkeiten ihrer Notation erläutert
worden. Jetzt werden verschiedene Operationen auf den Mengen eingeführt. Wie schon bei
den Aussagen in Abschnitt 1.1 werden jetzt die verschiedenen Methoden der Verknüpfung
von Mengen diskutiert.
Definition 1.3 Die Schnittmenge A ∩ B zweier Mengen A und B besteht aus genau den
Elementen, die sowohl in A als auch in B liegen:
A ∩ B = {x | x ∈ A ∧ x ∈ B}
Sprechweise: A geschnitten mit B.
Definition 1.4 Die Vereinigungsmenge A ∪ B zweier Mengen A und B besteht aus genau
den Elementen, die entweder in A oder in B oder in A ∩ B liegen:
A ∪ B = {x | x ∈ A ∨ x ∈ B}
Sprechweise: A vereinigt mit B.
Definition 1.5 Die Differenzmenge A \ B zweier Mengen A und B besteht aus genau den
Elementen, die in A, aber nicht in B liegen:
A \ B = {x | x ∈ A ∧ x 6∈ B}
Der folgende Satz faßt die wichtigsten Eigenschaften von Vereinigung und Schnittmengen
zusammen.
Satz 1.7 (Allgemeine Gesetze für Vereinigung und Schnitt von Mengen)
Es seien A, B und C beliebige Mengen. Dann gilt:
A∪B =B∪A
A∩B =B∩A
A ∪ (B ∪ C) = (A ∪ B) ∪ C
A ∩ (B ∩ C) = (A ∩ B) ∩ C
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
A∪A=A
A∩A=A
A∪∅=A
A∩∅=∅
(Kommutativgesetze)
(Assoziativgesetze)
(Distributivgesetze)
(Idempotenzgesetze)
Der Beweis dieses Satzes besteht im Nachprüfen der Definitionen 1.3 und 1.4 unter Anwendung von Satz 1.1.
Da sowohl die Vereinigung als auch die Schnittmengenbildung assoziative Operationen auf
Mengen sind (es also auf die Reihenfolge der beteiligten Mengen nicht ankommt), schreibt
man bei der Vereinigung bzw. Schnittmengenbildung von drei Mengen A, B, C auch
[
{ A, B, C } := A ∪ B ∪ C für A ∪ (B ∪ C)
und
\
{ A, B, C } := A ∩ B ∩ C
für A ∩ (B ∩ C) .
Dies legt eine Verallgemeinerung nahe, die sich auf den Schnitt bzw. die Vereinigung über
eine Menge von Mengen bezieht:
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
22
Definition 1.6 Es sei C eine Sammlung von Mengen (also eine Menge, die Mengen enthält).
Dann wird folgende Schreibweise vereinbart:
Verknüpfung Sprechweise
T
Schnitt von C
SC
Vereinigung von C
C
Bedeutung
T
S C = {x | ∀A ∈ C : x ∈ A}
C = {x | ∃A ∈ C : x ∈ A}
Für viele Aspekte in der Mengenlehre ist der folgende Begriff von Bedeutung.
Definition 1.7 (Disjunkte Mengen)
(i) Zwei Mengen A und B heißen disjunkt, wenn sie keine gemeinsamen Elemente haben:
A∩B = ∅ .
(ii) Ist C eine Sammlung von Mengen, so heißt C eine Sammlung paarweise disjunkter Mengen, wenn je zwei verschiedene Mengen aus C disjunkt sind.
(iii) Ist C eine Sammlung von Mengen, so heißt C eine Sammlung disjunkter Mengen, wenn
gilt:
\
C = ∅.
Ein Mengensystem kann disjunkt sein, obwohl es nicht paarweise disjunkt ist. Paarweise
Disjunktheit ist also eine stärkere Forderung an ein Mengensystem als nur Disjunktheit.
Beispiel: Sei A = {1, 2}, B = {2, 3} und C = {1, 3}. Dann ist
A ∩ B = {2} ,
A ∩ C = {1} ,
B ∩ C = {3} ,
A ∩ B ∩ C = ∅.
Im täglichen Leben verwendet man Operationen wie Addition, Subtraktion und Multiplikation bei der Verknüpfung von Zahlen. Man sagt auch, daß man Summen, Produkte oder
Differenzen bildet. Es soll jetzt gezeigt werden, daß man diese Begriffe auch für Mengen
definieren kann und daß dies auch etwas mit den Operationen auf Zahlen zu tun hat. Insbesondere die Subtraktion von Mengen ist mit der Differenzmenge aus Definition 1.5 bereits
eingeführt worden, die Vereinigung zweier Mengen entspricht der klassischen Addition von
Zahlen. Der Zusammenhang zwischen Differenz- und Schnittmenge bzw. zwischen Differenzund Vereinigungsmenge ergibt sich aus dem folgenden Satz.
Satz 1.8 (Zusammenhang zwischen Differenz und Schnitt- bzw. Vereinigungsmenge)
Es seien A, B und C beliebige Mengen. Dann gilt:
C \ (A ∪ B) = (C \ A) ∩ (C \ B)
C \ (A ∩ B) = (C \ A) ∪ (C \ B)
A ∩ (B \ C) = (A ∩ B) \ (A ∩ C)
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
23
Der Beweis der ersten beiden Aussagen besteht wieder aus einer einfachen Anwendung der
Definitionen der jeweiligen Operationen unter Berücksichtigung der aussagenlogischen Regeln von De Morgan aus Satz 1.2. Man beachte, daß die Aussage A∪(B\C) = (A∪B)\(A∪C)
im allgemeinen falsch ist. Hierfür betrachte man drei Mengen A, B, C mit B ⊆ A, A 6= ∅
und C = ∅. Dann ist einerseits
A ∪ (B \ C) = A ∪ B = A ,
andererseits
(A ∪ B) \ (A ∪ C) = A \ A = ∅ .
Hingegen besteht für drei beliebige Mengen A, B, C die Mengeninklusion
(A ∪ B) \ (A ∪ C) ⊆ A ∪ (B \ C) .
In manchen Fällen werden alle Operationen mit Mengen innerhalb einer festen Obermenge X ausgeführt. Insbesondere sind alle auftretenden Mengen in X enthalten (Beispielsweise
sind irgendwelche Mengen ganzer Zahlen immer in der Menge aller ganzen Zahlen enthalten).
Setzt man im vorigen Satz C = X (führt man also die Differenzbildung in der Obermenge
X aus), so schreibt man statt X \ A auch kurz A und nennt diese Menge das Komplement
von A in X. Der vorige Satz nimmt dann die folgende Gestalt an:
Korollar 1.1 (De Morgansche Regeln)
Es seien A und B beliebige Mengen. Dann gilt:
A∪B = A∩B
A∩B = A∪B
Außerdem gilt die Mengenbeziehung A \ B = A ∩ B.
Für viele Anwendungen wird der folgende Satz benötigt. Ist A eine Menge mit höchstens
endlich vielen Elementen, so bezeichnet |A| die Anzahl der Elemente in der Menge A.
Satz 1.9 Sind A und B Mengen mit höchstens endlich vielen Elementen, so gilt:
|A ∪ B| = |A| + |B| − |A ∩ B| ,
|A \ B| = |A| − |A ∩ B| .
Korollar 1.2 Sind A und B disjunkte Mengen mit höchstens endlich vielen Elementen, so
gilt:
|A ∪ B| = |A| + |B| ,
|A \ B| = |A| .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
24
Jetzt wird der Begriff des Produktes von Mengen eingeführt.
Definition 1.8 (Das Cartesische Produkt)
Es seien A und B Mengen. Das Cartesische Produkt (meist nur kurz Produkt genannt) von
A und B ist die Menge A × B, die aus allen geordneten Paaren (a, b) besteht, wobei a ∈ A
und b ∈ B ist. In Zeichen:
A × B = {(a, b) | a ∈ A ∧ b ∈ B}
Insbesondere stimmen zwei Elemente (a, b) und (c, d) aus A × B genau dann überein, wenn
sie komponentenweise übereinstimmen:
(a, b) = (c, d) ⇐⇒ (a = c ∧ b = d) .
(1.18)
Man beachte, daß es im Gegensatz zu Mengen beim Cartesischen Produkt auf die Reihenfolge bei der Belegung der Komponenten ankommt, und (a, a) ist auch ein völlig anderes
Objekt als a.
Für ein praktisches Beispiel zu Produkten von Mengen gehen wir in eine Möbelfirma und
untersuchen die Produktionspreise von Einzelteilen der Möbel. So möge eine Spezialschraube
bei der Fertigung eines Tisches 1,50 Euro kosten. Wir fassen nun eine solche Preisangabe
im mengentheoretischen Sinn als ein geordnetes Paar auf, in dem ein Wert (mit zwei Nachkommastellen) und eine Währungseinheit vorkommen. Bezeichnet Q in üblicher Weise die
Menge aller rationalen Zahlen und N die Menge aller natürlichen Zahlen einschließlich der
Null, so kann mit
W := { x ∈ Q | 100x ∈ N }
die Menge aller rationalen Zahlen beschrieben werden, die als Werte eines Stückpreises vorkommen. In der Menge
E := { DEM, Euro, USD, FRF, . . . }
seien alle auf der Welt vorkommenden Währungseinheiten zusammengefaßt. Damit kann die
Menge P aller Preise als das cartesische Produkt der Mengen W und E aufgefaßt werden:
P = W ×E .
In der Firma werden nun Möbel gefertigt. Diese bestehen aus verschiedenen Teilen, wobei
die Teile wieder aus kleineren Teilen zusammengesetzt sind, u.s.w. Jedes Teil kann durch
eine Liste seiner Einzelteile beschrieben werden. So besteht ein Tisch (unter Vereinfachung
der realen Verhältnisse) beispielsweise aus einer Tischplatte, 4 Tischbeinen und 16 Schrauben, mit denen die Beine an die Platte montiert werden. Damit besteht ein Tisch also aus
21 Teilen. Mengentheoretisch ausgedrückt läßt sich ein Tisch durch eine Menge mit 21 Elementen beschreiben. Aber es reicht nun für eine Beschreibung des Tisches nicht aus, daß
das Möbelstück aus einer Tischplatte, einigen Tischbeinen und diversen Schrauben besteht.
Es soll nun noch mengentheoretisch erfaßt werden, wieviele der jeweiligen Teile verarbeitet
werden. Aus der Bemerkung im Anschluß an die Definition 1.1 wissen wir, daß es nicht
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
25
möglich ist, in einer Menge viermal das Element ’Tischbein’ zu nennen. Man behilft sich
nun dadurch, daß man jedes Tischbein mit einer Nummer versieht und dann in einer Menge die Elemente ’Tischbein 0’, ’Tischbein 1’, ’Tischbein 2’ und ’Tischbein 3 aufführt (aus
konventionellen Gründen beginnt man die Nummerierung mit 0). Jetzt unterscheiden sich
nämlich die Elemente und können nebeneinander in einer Menge genannt werden. Gleichzeitig ist festgelegt, wie oft das Element ’Tischbein’ vorkommt: nämlich einmal mehr wie
es die größte Nummer angibt (weil die Zählung bei Null beginnt). Bei der Formalisierung
dieses Sachverhaltes hilft die folgende Definition, in der auf das Konzept des Cartesischen
Produkts zurückgegriffen wird.
Definition 1.9 (Multimengen)
Eine Multimenge über einer Menge A ist eine Teilmenge M von A × N mit der folgenden
Eigenschaft:
∀ a ∈ A ∃ n ∈ N : (a, m) ∈ M ⇐⇒ m < n .
(1.19)
Die Menge aller Multimengen über A wird mit M(A) bezeichnet. Die zum Element a ∈ A
gehörige natürliche Zahl n wird die Multiplizität von a in M genannt.
Die Bedingung in (1.19) dient der Gewährleistung, daß ein Element fortlaufend nummeriert
ist: für jedes a ∈ A kommen genau die Elemente (a, 0), (a, 1), . . . , (a, n−1) in der Multimenge
vor. Gibt es zu a ∈ A kein Element (a, 0) in M , so sagt man entweder der Kürze halber, daß
a in M nicht vorkommt oder daß a in M die Multiplizität 0 hat. In diesem Fall wähle man in
(1.19) n = 0. Das Möbelstück ’Tisch’ besitzt nun als Multimenge die folgende Darstellung:
’Tisch’ =
{ (Tischplatte, 0), (Tischbein, 0),. . . ,(Tischbein, 3), (Schraube, 0), . . . , (Schraube, 15) } .
Für eine Fortführung dieses Beispiels benötigen wir noch einen weiteren Begriff.
Definition 1.10 (Summe zweier Multimengen)
Es sei A eine Menge und M und N zwei Multimengen über A. Die Summe M + N der
Mengen M und N ist diejenige Multimenge über A, so daß für jedes a ∈ A die Multiplizität
von a in M + N die Summe der Multiplizitäten von a in M und N ist.
Jede Menge X kann als eine Multimenge X 0 aufgefaßt werden, indem jedes Element in X 0
mit der Multiplizität 1 vorkommt:
X 0 = {(x, 0) | x ∈ X} .
(1.20)
Eine Multimenge, in der jedes Element mit der Multiplizität 1 vorkommt, ist eine einfache
Multimenge. Jede einfache Multimenge kann demnach wieder als eine Menge interpretiert
werden. Wann ist nun eine Summe zweier einfacher Mengen X und Y wieder einfach? Dies
ist offensichtlich genau dann möglich, wenn die beiden Mengen disjunkt sind, denn kommt
ein Element sowohl in X als auch in Y vor, so ist die Multiplizität von a in X + Y gleich 2,
und damit ist die Summe X +Y nicht mehr einfach. In diesem Sinne kann man herkömmliche
Mengen genau dann addieren, wenn sie disjunkt sind.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
26
Definition 1.11 (Summe zweier Mengen)
Es seien X und Y zwei Mengen und X 0 und Y 0 die zugehörigen einfachen Multimengen.
Die Summe X + Y der Mengen X und Y wird als die Summe X 0 + Y 0 der zugehörigen
Multimengen definiert. X + Y kann genau dann wieder als eine Menge interpretiert werden,
wenn X und Y disjunkt sind.
Welche Möglichkeiten der Beschreibung eröffnen sich hiermit für die zusammengesetzten
Möbelstücke? A bezeichne die Menge aller Teile, die für die Montage aller Möbel in der Firma zur Verfügung stehen. Darunter sind einige Teile Elementarteile, wie z.B. die Schrauben,
die selbst nicht weiter unterteilt sind. Andere Teile sind schon zusammengesetzt, wie etwa ein
bereits montierter Tisch. Zur weiteren Unterscheidung wird die Menge Z aller zusammengesetzten Teile und die Menge E aller Elementarteile eingeführt. E enthält also alle Teile, die
irgendwo in Waren verarbeitet werden. In Z befinden sich nicht nur fertig montierte Teile
wie etwa ein kompletter Tisch, sondern auch ’halbfertige Teile’ wie ein Tischbein, in das
bereits vier Schrauben hineingedreht sind. Die Mengen Z und E sind disjunkt. Somit hat
man also aufgrund von Definition 1.11:
Z ∈ M(Z + E) ;
(1.21)
die Menge aller zusammengesetzten Teile kommt in der Multimenge über der Summe der
Mengen von Einzelteilen und zusammengesetzten Teilen vor. Hierin drückt sich eine rekursive
Teilmengenbeziehung aus, durch die veranschaulicht wird, daß gewisse Teile zusammengesetzte Teile enthalten, die wieder aus anderen Teilen zusammengesetzt sind, usw. Formal
erkennt man die rekursive Teilmengenbeziehung in (1.21) daran, daß das Z sowohl auf der
linken als auch auf der rechten Seite vorkommt.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
27
2 Relationen und Funktionen
Sowohl in der Informatik als auch in der Umgangssprache versteht man unter Relationen
gewisse Beziehungen zwischen Objekten. In der Informatik sind dies technische Artefakte
der Programmierung. In der realen Welt treten Relationen bei diversen Sachverhalten auf.
So kann man sagen, daß zwei Menschen durch eine Ehe in Relation zueinander stehen. Eine
Person und ein Fahrzeug können in der Relation ’ist Fahrer von’ genannt werden. Personen
können zu einem Buch in unterschiedlichen Relationen stehen: als Leser, als Autor oder
als Verleger. Man kann z.B. zwischen Menschen und Büchern die Relation ’ist Autor von’
erklären. Sondert ein Bibliothekar aus einem Bücherbestand alle Bücher aus, die mehr als
einen Autor haben, verbleiben in den Regalen nur Bücher, die in Relation zu genau einem
Menschen (nämlich ihrem jeweiligen Autor) stehen. Jetzt wird die Autor-Relation zu einer
Funktion, erklärt auf den Büchern: jedem Buch im Regal kann genau ein Autor zugeordnet
werden. Die Eindeutigkeit der Zuordnung eines Buches zu seinem Autor ist im allgemeinen
aber nicht umkehrbar: Es können mehrere Bücher vom selben Autor im Regal stehen.
In der Software-Entwicklung spielt das getreue Abbilden von Fakten und Zusammenhängen
der realen Welt in Programm-Objekten eine wichtige Rolle. Insofern kommen auch hier
Relationen und Funktionen in sehr vielen Zusammenhängen vor.
2.1 Relationen.
Definition 2.1 (Relationen)
Es seien A und B zwei Mengen. Jede Teilmenge von A × B heißt eine Relation von A nach
B. Ist A = B und R eine Relation von A nach A, so nennt man R auch eine Relation auf A.
Ist R eine Relation von A nach B, so gilt also R ⊆ A × B. Ist (a, b) ∈ R, so schreibt man
dafür auch aRb.
Beispiel 2.1 Es bezeichnen A und B die Mengen
A := { Hans, Oskar, Karl }
und
B := { Lisa, Doris, Andrea, Heidi } .
Hans ist mit Doris und Karl mit Lisa verheiratet. Dann können wir eine Relation REhe ⊆
A × B definieren, durch die genau die Ehepaare herausgefiltert werden:
REhe = { (Hans, Doris), (Karl, Lisa) } .
Beispiel 2.2 Es bezeichne B die Menge aller deutschen Bundesländer und S die Menge
aller Städte in Deutschland. Eine Relation R ⊆ S × B sei erklärt durch
(s, b) ∈ R
⇐⇒
Die Stadt s liegt im Bundesland b.
So ist (Hannover, Niedersachsen) ∈ R, und (Mainz, Hessen) 6∈ R. Durch die Relation R
wird also beschrieben, welche Städte in welchen Bundesländern liegen.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
28
Definition 2.2 (Definitions- und Wertebereich einer Relation)
Es sei R eine Relation von A nach B. Als Definitionsbereich von R wird die Menge
Dom (R) = { a ∈ A | ∃ b ∈ B : (a, b) ∈ R} ⊆ A
bezeichnet. Der Wertebereich von R ist die Menge
Ran (R) = { b ∈ B | ∃ a ∈ A : (a, b) ∈ R} ⊆ B .
Falls für eine Relation von A nach B sogar A = Dom (R) gilt, nennt man R auch eine
(links)totale Relation. Hier steht dann jedes a ∈ A zu irgendeinem b ∈ B in Relation.
Hier stehen die Abkürzungen für die englischen Begriffe domain und range. Im Beispiel 2.2
ist so A = S = Dom (R) die Menge aller deutschen Städte und B = Ran (R) die Menge aller
Bundesländer. Wählt man für die Menge S hingegen nur die Städte in Deutschland, in der
mehr als 1 Million Menschen leben, so erhält man hingegen:
S = Dom (R) = { Hamburg, Berlin, München, Köln }
und
Ran (R) = { Hamburg, Berlin, Bayern, Nordrhein-Westfalen } .
In Beispiel 2.1 wird keine totale Relation erklärt, denn Dom (R) = { Hans, Karl } umfaßt
nicht die ganze Menge A. Hingegen ist die Relation in Beispiel 2.2 eine totale Relation, wenn
man davon ausgeht, daß jede Stadt auch in einem Bundesland liegt (!!).
Durch die beiden folgenden Beispiele werden zwei wichtige mathematische Relationen eingeführt.
Beispiel 2.3 Die Relation ’kleiner oder gleich’ auf den natürlichen Zahlen N wird durch
{ (m, n) | ∃ k ∈ N : m + k = n } ⊆ N2
erklärt. Hierbei ist die Zahl k die nicht-negative Differenz zwischen n und m.
Beispiel 2.4 Die Relation ’ist ein Teiler von’ auf den natürlichen Zahlen N wird durch
{ (m, n) | ∃ k ∈ N : m · k = n } ⊆ N2
erklärt. Diese Relation wird künftig auch mit δN bezeichnet.
Definition 2.3 (Inverse Relation)
Es sei R eine Relation von A nach B. Die inverse Relation R−1 ist definiert durch
R−1 = {(b, a) | (a, b) ∈ R} .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
29
Ist R eine Relation von A nach B, so ist R−1 eine Relation von B nach A. Man spricht
in diesem Zusammenhang auch von der Umkehrrelation. Definitions- und Wertebereiche bei
einer Relation und ihrer Umkehrrelation sind untereinander ausgetauscht:
Dom (R−1 ) = Ran (R)
und
Ran (R−1 ) = Dom (R) .
Im täglichen Leben kommen Umkehrrelationen häufig vor: Zu der Relation ’ist Leser von’
zwischen einer Menge von Personen und einer Menge von Büchern gehört die Umkehrrelation
’wird gelesen von’ zwischen der Büchermenge und der Personenmenge. Bei der sprachlichen
Formulierung einer Umkehrrelation geht man oft von einem aktiv ausgedrückten Sachverhalt
zur passiven Ausdrucksweise über (bzw. umgekehrt). Auch in manchen mathematischen
Zusammenhängen ist das so:
Beispiel 2.5 Es bezeichne δN die Teilerrelation aus Beispiel 2.4. Die zugehörige Umkehrrelation ist
δN−1 = { (n, m) | ∃ k ∈ N : n = k · m } ⊆ N2 .
Umgangssprachlich wird hier die Relation ’ist Vielfaches von’ betrachtet.
In der folgenden Definition wird der zentrale Begriff dieses Kapitels eingeführt.
Definition 2.4 (Partielle und totale Funktionen, linkseindeutige Relationen)
1.) Eine Relation R von A nach B heißt eine partielle Funktion oder auch eine rechtseindeutige Relation, falls gilt:
∀ a ∈ A ∀ b1 ∈ B ∀ b2 ∈ B : (aRb1 ∧ aRb2 =⇒ b1 = b2 ) .
Ist eine rechtseindeutige Relation R zusätzlich linkstotal, so spricht man auch von einer
totalen Funktion (oder: Funktion, Abbildung).
2.) R heißt eine linkseindeutige Relation, falls gilt:
∀ a1 ∈ A ∀ a2 ∈ A ∀ b ∈ B : (a1 Rb ∧ a2 Rb =⇒ a1 = a2 ) .
Im Zusammenhang mit partiellen und totalen Funktionen sowie linkseindeutigen Relationen
nennt man die Menge A den Urbildbereich und die Menge B den Bildbereich. Dabei gilt
Dom (R) ⊆ A und Ran (R) ⊆ B.
Satz 2.1 (Interpretation der Funktionen und linkseindeutigen Relationen)
1.) Eine Relation ist eine partielle Funktion, falls jedes Element des Urbildbereiches zu
höchstens einem Element des Bildbereiches in Relation steht.
2.) Eine Relation ist eine Funktion (oder Abbildung), falls jedes Element des Urbildbereiches zu genau einem Element des Bildbereiches in Relation steht.
3.) Eine Relation ist linkseindeutig, falls zu jedem Element des Bildbereiches höchstens
ein Element des Urbildbereiches in Relation steht.
In den folgenden drei Diagrammen versinnbildlicht der jeweils linke Kasten den Urbildbereich, der rechte Kasten den Bildbereich. Die jeweiligen Elemente in diesen Mengen sind
durch Kreise angedeutet und von oben nach unten mit 1 bis 5 (Urbildbereich) bzw. 1 bis
6 (Bildbereich) durchnummeriert. Der Leser mag zur Verdeutlichung Pfeile zwischen den
jeweiligen Elementen einzeichnen.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
30
Beispiel für eine partielle Funktion
h
h
h
h
h
h
h
h
h
h
h
{ (1, 2), (2, 1), (4, 3), (5, 3) }
Beispiel für eine totale Funktion
h
h
h
h
h
h
h
{ (1, 2), (2, 1), (3, 6), (4, 3), (5, 3) }
h
h
h
h
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
31
Beispiel für eine linkseindeutige Relation
h
h
h
h
h
h
h
h
h
h
h
{ (1, 2), (2, 1), (3, 3), (3, 4), (3, 5) }
Warum sind die in der Definition 2.4 eingeführten Begriffe so wichtig? Der Begriff linkseindeutige Relation kommt im Bereich der Geschäftsprozeß - Modellierung vor. Er tritt immer
dann auf, wenn Objekte betrachtet werden, die einem identifizierenden Schlüsselbegriff zugeordnet werden. Man betrachte z.B. die Namen von Personen in einer Kundendatenbank.
Jeder (identifizierenden) Kundennummer kann zwar eindeutig ein Name zugeordnet werden,
aber zwei Nummern können zum gleichen Namen führen (wenn es etwa zwei Kunden mit
demselben Namen Peter Müller gibt). Interpretiert man das als eine Relation von der Menge
der Namen in die Menge der Schlüssel , so hat man eine linkseindeutige Relation. Im Urbildbereich kann es Namen geben, die keiner Kundennummer zugeordnet sind (wenn nämlich
die Person noch nicht als Kunde erfaßt ist), und im Bildbereich kommen evtl. Nummern vor,
die bevorratet sind und noch zu keiner Person gehören. Insgesamt steht aber jeder Schlüssel
eindeutig für einen Namen.
Die am Anfang des Kapitels betrachtete ’Ehe - Relation’ ist eine partielle Funktion und eine
linkseindeutige Relation, aber keine totale Funktion. Das liegt daran, daß hierzulande jede
Person höchstens einen Ehepartner haben darf. Man kann also bei jeder verheirateten Person
eindeutig die Frage beantworten, welcher Ehepartner ’zugeordnet’ ist.
In der Programm-Semantik ist oft die Frage wesentlich, ob eine partielle Funktion auch total
ist. Beispielsweise wird in dem folgenden kleinen Programm eine Funktion f definiert, die
einer (geraden) natürlichen Zahl wieder eine natürliche Zahl zuordnet:
f (x : Card) : Card ::= if (x = 0){return 0}else{return f (x mod 2)} .
f nimmt also für x = 0 oder eine gerade natürliche Zahl x > 0 immer den Wert 0 an. Ein
Aufruf von f für ungerade Zahlen x terminiert nicht. Daher ist
f = { (2x, 0) | x ∈ N } .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
32
Da die ungeraden natürlichen Zahlen im Urbildbereich von f nicht abgebildet werden, ist f
zwar eine partielle, aber keine totale Funktion.
Es werden im folgenden noch weitere Beispiele für die in der Definition 2.4 eingeführten
Begriffe diskutiert.
Beispiel 2.6
1.) Die Teilerrelation δN aus Beispiel 2.4 ist weder eine Funktion noch eine linkseindeutige
Relation, denn jede Zahl m ist Teiler vieler Zahlen m, 2m, 3m, . . . (daher ist δN keine partielle
Funktion), und eine Zahl hat im allgemeinen mehr als einen Teiler (daher ist δN keine
linkseindeutige Relation). So hat etwa 60 die Teiler 1,2,3,4,5,6,10,12,15,20,30,60.
2.) Es sei A = B = { 1, 2, 3 }, und
(a)
(b)
(c)
R1 = { (1, 2), (2, 3), (3, 1) }
R2 = { (1, 1), (2, 1) }
R3 = ∅
R1 ist eine totale Funktion und eine linkseindeutige Relation. R2 ist eine partielle Funktion.
Sie ist nicht total, da 3 nicht abgebildet wird und keine linkseindeutige Relation, da 1 zwei
Urbilder hat, nämlich 1 und 2. R3 nennt man auch eine leere Relation. Sie ist in diesem Beispiel eine partielle Funktion und eine linkseindeutige Relation. Wäre auch die Urbildmenge
A leer, so wäre R3 sogar eine totale Funktion.
3.) Es sei A = B = R die Menge der reellen Zahlen, und
(a)
(b)
(c)
R1 = { (x, y) | y = x2 }
⊆ A×B
2
R2 = { (x, y) | x = √
y }
⊆ A×B
R3 = { (x, y) | y = x + 1 } ⊆ A × B
R1 ist eine totale Funktion von R nach R, allerdings keine linkseindeutige
√
√ Relation, denn
jede positive Zahl x hat die beiden (verschiedenen) Urbilder x und − x. R2 ist keine
partielle Funktion (und damit insbesondere auch keine totale Funktion),
√ positive
√ denn jedes
x steht mit zwei (verschiedenen) Elementen in Relation, nämlich mit x und − x. R2 ist
jedoch eine linkseindeutige Relation, und es gilt R2−1 = R1 . Es bleibt R3 zu untersuchen: R3
ist eine partielle Funktion mit dem Definitionsbereich Dom (R3 ) = { x ∈ R | x ≥ −1 }. Da
reelle Zahlen x < −1 nicht abgebildet werden, ist R3 keine totale Funktion. Sie ist zudem
eine linkseindeutige Relation, denn kein Element des Bildbereichs hat zwei Urbilder. Hierbei
beachte man, daß der Graph der positiv genommenen Wurzelfunktion streng monoton wächst,
und daß die negative Wurzel ausgeschlossen ist!
Da die (totalen) Funktionen so wichtig sind, werden sie in einem eigenen Abschnitt gesondert
behandelt.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
33
2.2 Funktionen.
Funktionen wurden bereits im vorigen Abschnitt 2.1 definiert. Künftig werden Funktionen
generell mit den Buchstaben f, g, h, . . . bezeichnet. Schränkt man den Urbildbereich A einer
partiellen Funktion auf ihren Definitionsbereich Dom (f ) ein, so wird jedem Element a ∈
Dom (f ) gemäß Definition 2.2 genau ein Element b ∈ B zugeordnet. Dafür schreibt man
auch
f (a) = b .
Anstelle der bisher verwendeten Schreibweise f ⊆ A × B ist auch die Symbolik
f : A
B
für eine partielle Funktion f
und
f : A→B
für eine totale Funktion f
gebräuchlich. In einigen Fällen ist es sinnvoll, eine Notation für die Menge aller Funktionen
von A nach B zu verwenden. Dafür hat man die folgende Schreibweise. Mit A
B wird die
Menge aller partiellen Funktionen von A nach B bezeichnet, während A → B für die Menge
aller totalen Funktionen von A nach B steht. Offensichtlich gilt
(A → B) ⊆ (A
B) .
Einige spezielle Funktionen sind:
• id : A → A
• c : A→B
• ∅ : A→B
∀ x ∈ A : id(x) = x
mit
mit
∀ x ∈ A : c(x) = c
(Identitätsabbildung)
(Konstante Funktion)
(Leere Funktion)
Totale Funktionen sind aufgrund ihrer Definition dadurch ausgezeichnet, daß jedem Urbild
genau ein Bild zugeordnet wird. Es gibt nun noch weitere Eigenschaften, die einige Funktionen vor anderen auszeichnen.
Definition 2.5 (Injektive, surjektive und bijektive Funktionen)
1.) Eine Funktion f : A
B heißt injektiv (oder eineindeutig oder eine Injektion), falls
gilt:
∀ a1 , a2 ∈ Dom (f ) : (f (a1 ) = f (a2 ) =⇒ a1 = a2 ) .
2.) Eine Funktion f : A
falls gilt:
B heißt surjektiv (oder Funktion auf B oder eine Surjektion),
∀ b ∈ B ∃ a ∈ Dom (f ) : f (a) = b .
3.) Eine Funktion f : A
surjektiv ist.
B heißt bijektiv (oder eine Bijektion), falls sie injektiv und
Eine Injektion ist also eine partielle Funktion, die zusätzlich auch eine linkseindeutige Relation darstellt. Eine Surjektion wiederum ist eine partielle Funktion auf B, d.h. jedes Element
aus B wird durch Abbilden unter der Funktion erreicht. Man spricht auch von einer rechtstotalen Abbildung. Zur Veranschaulichung dienen die folgenden Beispiele.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
34
Beispiel 2.7
√
1.) Die partielle Funktion f (x) = x + 1 aus Beispiel 2.6 ist eine injektive partielle Funktion. Als (totale) Funktion von ihrem Definitionsbereich { x ∈ R | x ≥ −1 } in ihren Wertebereich { y ∈ R | y ≥ 0 } ist sie sowohl injektiv als auch surjektiv, also insgesamt eine bijektive
Funktion.
2.) Es sei f : R → R definiert durch
x für
x≥0
f (x) = |x| :=
−x für
x<0
f nennt man die Betragsfunktion. f ist weder injektiv noch surjektiv, denn alle positiven
Zahlen y aus dem Bildbereich von f haben zwei Urbilder (nämlich x = y und x = −y),
und nicht alle Elemente des Bildbereichs werden auch ’erreicht’: die negativen Zahlen haben
keine Urbilder.
In Definition 2.3 wurde das Konzept der Umkehrrelation eingeführt. Es soll jetzt untersucht
werden, inwieweit sich das Prinzip der Umkehrung auf Funktionen übertragen läßt. Da jede
Funktion f insbesondere auch eine Relation ist, existiert auch immer die Umkehrrelation
f −1 . Der folgende Satz beantwortet die Frage, wann die Umkehrrelation sogar wieder eine
Funktion ist.
Satz 2.2 (Charakterisierung der Existenz einer Umkehrfunktion)
Es sei f eine Funktion von A nach B. Die Umkehrrelation f −1 ist genau dann wieder eine
partielle Funktion, wenn f injektiv ist.
Beweis:
Wir erhalten nacheinander:
f −1 ist eine partielle Funktion
⇐⇒
⇐⇒
⇐⇒
∀ a1 ∈ A , a2 ∈ A , b ∈ B : (b, a1 ) ∈ f −1 ∧ (b, a2 ) ∈ f −1 =⇒ a1 = a2
∀ a1 ∈ A , a2 ∈ A , b ∈ B : (a1 , b) ∈ f ∧ (a2 , b) ∈ f =⇒ a1 = a2
∀ a1 ∈ A , a2 ∈ A , b ∈ B : f (a1 ) = b ∧ f (a2 ) = b =⇒ a1 = a2
f ist eine injektive Funktion
Hierbei wurde Definition 2.4 (1.), Definition 2.3 und Definition 2.5 (1.) angewendet.
−1
Ist eine partielle Funktion f : A
B injektiv, so nennt man die Funktion f auch die
Umkehrfunktion von f . Man beachte, daß die Schreibweise f −1 nicht mit der Kurzschreibweise x−1 = x1 bei reellen Zahlen x verwechselt werden darf. Die nun folgenden Untersuchungen
zeigen aber, daß dennoch eine gewisse Ähnlichkeit diese Notation für eine Umkehrfunktion
rechtfertigt. Ist nämlich (in der Relationenschreibweise) (a, b) ∈ f bei einer injektiven Funktion f , so gilt auch (b, a) ∈ f −1 . Wird nun b als f (a) und a als f −1 (b) geschrieben, so kann
man die Eigenschaften einer Umkehrfunktion folgendermaßen zusammenfassen:
Satz 2.3 Ist f eine injektive Funktion, so gilt:
∀ a ∈ Dom (f ) : f −1 (f (a)) = a ,
∀ b ∈ Ran (f ) : f (f −1 (b)) = b .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
35
Die erste Identität in diesem Satz ergibt sich beispielsweise unmittelbar aus f −1 (f (a)) =
f −1 (b) = a. Das ’Hintereinanderausführen’ einer Funktion und ihrer Umkehrfunktion ergibt
somit jeweils die Identitätsfunktion, eingeschränkt auf die jeweiligen Definitionsbereiche. In
den folgenden Beispielen wird bei einigen Funktionen untersucht, ob eine Umkehrfunktion
existiert und wenn ja, wie diese aussieht.
Beispiel 2.8
1.) Die Funktion
f : Z→N,
f (z) :=
2z − 1
−2z
für
für
z>0
z≤0
ist bijektiv. Nach Satz 2.2 existiert zu f eine Umkehrfunktion f −1 : N → Z. Diese Umkehrfunktion ist durch
−n/2
falls n gerade
−1
f (n) =
(n + 1)/2 falls n ungerade
gegeben.
√
2.) Es sei f : R → R definiert durch f (x) := x + 1. In Beispiel 2.6 wurde bereits die
Injektivität von f erwähnt. Die Umkehrfunktion f −1 : { y|y ≥ 0 } → { x|x ≥ −1 } berechnet
man formal durch Auflösen nach x. Es ergibt sich dann f −1 (y) = y 2 − 1. Umkehrfunktionen
werden nun aber meist wieder als Funktionen mit der unabhängigen Variable x und der
abhängigen Variable y notiert. Dafür muß man nach Berechnung einer Umkehrfunktion noch
die Bezeichnungen von x und y vertauschen. In diesem Sinne ergibt sich hier f −1 (x) = x2 −1
für x ≥ 0.
3.) Bei der Cäsarchiffre werden die Buchstaben eines Alphabets auf den jeweiligen um k
Positionen im Alphabet folgenden Buchstaben abgebildet. Gelangt man bei der Verschiebung
über das Ende des Alphabets hinaus, so beginnt man die Zählung einfach wieder mit dem
ersten Buchstaben des Alphabets. Legt man im deutschen Alphabet die Zählung bei 0 für A,
1 für B usw. bis 25 für Z fest, so kann für k eine beliebige natürliche Zahl mit 1 ≤ k ≤ 25
gewählt werden. Steht n ∈ {0, 1, 2, . . . , 25} für einen Buchstaben des Alphabets, so wird dieser
Buchstabe mit der Abbildung
fk : { 0, 1, 2, . . . , 25 } → { 0, 1, 2, . . . , 25 } ,
fk (n) := n + k
mod 26
chiffriert. Der Modulo 26 Operator wirkt dabei in der folgenden Weise auf eine ganze Zahl
x:
x
.
x mod 26 := min{a : a ∈ N ∧ 26|(x − a)} = x − 26floor
26
So wird mit k = 4 das Wort ’GEIZ’ zu ’KIMD’ chiffriert. Eine Abbildung, die einen Text
chiffriert, muß umkehrbar sein; anderenfalls kann der Empfänger der Nachricht nicht mehr
auf den Klartext schließen. Die Umkehrabbildung zur bijektiven Cäsarchiffre fk lautet:
fk−1 : { 0, 1, 2, . . . , 25 } → { 0, 1, 2, . . . , 25 } ,
fk (m) := m − k
mod 26 .
4.) Es sei f : {1, 2, 3} → {1, 2} eine beliebige (totale) Funktion. Eine solche Funktion kann
nicht injektiv sein, denn jedes Element aus {1, 2, 3} wird auf irgendeine Zahl aus {1, 2}
abgebildet. Daher hat ein Bild zwei Urbilder, und eine Injektivität ist damit unmöglich.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
36
Wie oben dargelegt ergibt das Hintereinanderausführen einer Funktion f und ihrer Umkehrfunktion f −1 die Identitätsfunktion. Dieses Hintereinanderausführen oder ’Komponieren’ von
Funktionen ist generell eine wichtige Operation. Daher wird sie formalisiert:
Definition 2.6 (Verkettung von Funktionen)
Es seien f : A
B und g : B
C Funktionen. Dann heißt die Funktion
h:A
C :
h(a) = g(f (a))
die Komposition oder Verkettung der Funktionen f und g. Anstelle der Schreibweise mit dem
Funktionssymbol h ist auch die Notation
(g ◦ f )(a) = g(f (a))
gebräuchlich. Die Sprechweise für die Komposition ist ’g verkettet mit f ’ oder ’g nach f ’.
Offensichtlich gilt:
Dom (g ◦ f ) = {a | a ∈ Dom (f ) ∧ f (a) ∈ Dom (g)} ⊆ Dom f .
Im Spezialfall einer Verkettung einer Funktion f : A
A mit sich selbst schreibt man:
f 0 = id ,
f n = f ◦ f n−1
(n ≥ 1) .
Wie sich die Abbildungseigenschaften Injektivität, Surjektivität, Bijektivität von Funktionen
auf die verketteten Funktionen übertragen, zeigt der folgende Satz.
Satz 2.4 (Eigenschaften verketteter Funktionen)
Es seien f : A
B und g : B
C partielle Funktionen. Dann gilt:
1.) Sind f und g injektiv, so ist auch g ◦ f injektiv.
2.) Sind f und g sogar totale Funktionen und surjektiv, so ist auch g ◦ f eine totale
Funktion und surjektiv.
3.) Sind f und g sogar totale Funktionen und bijektiv, so ist auch g ◦f eine totale Funktion
und bijektiv.
4.) Ist g ◦ f eine bijektive Funktion, so ist g surjektiv und f injektiv.
5.) Sind idA : A → A und idB : B → B die Identitätsabbildungen, so gilt
f ◦ idA = f = idB ◦ f .
6.)
Ist f injektiv, so gilt
f ◦ f −1 = idRan(f )
und
f −1 ◦ f = idDom(f ) .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
37
Der Beweis der einzelnen Aussagen dieses Satzes besteht lediglich im Anwenden der Definitionen sowie einiger obenstehender Ergebnisse. Wir zeigen exemplarisch nur 1.) und 6.). Für
1.) setzt man nur die Injektivität der Funktionen f und g voraus und findet:
g(f (x1 )) = g(f (x2 ))
=⇒
f (x1 ) = f (x2 )
=⇒
x 1 = x2
(x1 , x2 ∈ A) .
In 6.) garantiert die Injektivität von f die Existenz von f −1 . Es bleibt zu zeigen, daß die
jeweiligen Definitionsbereiche der Identitätsabbildungen korrekt angegeben sind. Im Falle f ◦
f −1 besteht wegen f ◦f −1 (x) = f (f −1 (x)) der Definitionsbereich der verketteten Funktion aus
dem Wertebereich von f , da die Abbildung f −1 zuerst ausgeführt wird. Das Zwischenergebnis
z = f −1 (x) liegt im Definitionsbereich von f ; daher kann anschließend die Abbildung f (z)
ausgeführt werden. Im Falle f −1 ◦ f (x) = f −1 (f (x)) ist es umgekehrt: die Funktion f wird
zuerst ausgeführt. Daher besteht der Definitionsbereich der verketteten Funktion auch genau
aus dem Definitionsbereich von f .
Eine unmittelbare Folgerung aus Punkt 4 in Satz 2.4 ist das folgende Resultat.
Korollar 2.1 Es seien f : A → B und g : B → A Funktionen mit f ◦ g = idB und
g ◦ f = idA . Dann sind f und g beide bijektiv, g ist die Umkehrfunktion zu f und f die
Umkehrfunktion zu g.
Wir greifen noch einmal das dritte Beispiel aus Beispiel 2.8 auf und verallgemeinern es:
Beispiel 2.9 Es sei A ein Alphabet. Man stelle sich etwa alle Zeichen auf der Tastatur eines
Computers zu einer Menge zusammengefaßt vor:
A = { a, b, c, . . . , z, A, B, . . . , Z, 0, 1, . . . , 9, +, −, ?, . . . , } .
Die Menge aller Worte, die man über diesem Alphabet bilden kann, bezeichnet man mit A∗ .
Es ist also
A∗ := { x1 x2 . . . xn | xj ∈ A (j = 1, . . . , n) ∧ n ≥ 0 } .
Nun sei K ⊆ A∗ die Menge aller Klartexte, die ein Sender von Nachrichten über einen Kanal
schicken kann. Damit die Übertragung sicher ist, werden alle zu übermittelnden Texte t ∈ K
mit einer Funktion
encrypt : K → C
verschlüsselt. Dabei bezeichnet C die Menge aller resultierenden Chiffretexte. Damit ein legitimierter Empfänger dieser Botschaften die Nachrichten wieder entschlüsseln kann, braucht
er eine Funktion
decrypt : C → K ,
für die gilt
(decrypt ◦ encrypt)(t) = t .
Wegen der in Satz 2.4 aufgeführten Eigenschaften von verketteten Funktionen ist dies möglich,
falls
decrypt = encrypt −1
gilt.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
38
2.3 Spezielle Funktionen in der Informatik.
In der Informatik interessiert man sich für spezielle Funktionen. So werden wir in diesem
Abschnitt unter anderem eine formale Definition der Menge aller Worte über einem Alphabet kennenlernen. Dies geschieht mit dem Begriff der Folge. Weiterhin sind in der Informatik
Funktionen interessant, deren Bildbereich aus nur zwei Elementen besteht. Diesen Bildbereich kann man dann als Menge der zwei Wahrheitswerte ’wahr’ und ’falsch’ interpretieren.
Ein Beispiel hierfür ist etwa die Funktion
contains : A∗ × A∗ → { ’wahr’, ’falsch’ } ,
die folgendermaßen definiert ist: contains(t, s) liefert genau dann ’wahr’, wenn die Zeichenkette t in der Zeichenkette s vorkommt. Hierbei bezeichnet A∗ die Menge aller Worte über
dem Alphabet A. Für das Alphabet A aus Beispiel 2.9 ist so etwa
contains(IGEL, SIEGEL) = ’wahr’ ,
contains(IGEL, VOGEL) = ’falsch’ .
Solche Funktionen, deren Bildbereich die Menge der beiden Wahrheitswerte ist, werden auch
Prädikate genannt. Anstelle von ’falsch’ bzw. ’wahr’ schreibt man manchmal auch 0 bzw. 1;
dann ist {0, 1} die Menge der Wahrheitswerte.
Mit I werde nun eine sog. Indexmenge bezeichnet. Hierunter versteht man eine Menge,
mit der man Elemente einer anderen Menge D in gewisser Weise nummerieren kann. Diese
Nummerierung wird dann durch eine Abbildung s von der Indexmenge I in die Menge D
vermittelt, deren Elemente man mittels I abzählen will:
s : I→D.
Im einfachsten Fall besteht I aus den ersten natürlichen Zahlen, etwa I = {0, 1, 2, . . . , n},
oder es ist I = N. Ist D die Menge der geraden natürlichen Zahlen,
D := { 0, 2, 4, 6, 8, . . . } ,
so wählt man I = N und zählt die geraden Zahlen in D mit der Abbildung s(i) = 2 · i ab,
wobei i dann alle Elemente aus den natürlichen Zahlen durchläuft. Statt s(i) ist auch die
Schreibweise si gebräuchlich, wobei i dann der Index des Elementes si genannt wird. Ein und
dasselbe Element aus D kann unter einer Abzählung s unterschiedliche Indices haben, denn
s muß nicht zwingend injektiv sein. In einem solchen Fall wird ein Element aus D mehrfach
gezählt. Wie bereits oben bei der Abzählung aller geraden natürlichen Zahlen mittels si = 2·i
angedeutet wird der Wertebereich {si |i ∈ I} der Abbildung s im allgemeinen durch einen
formalen Term angegeben. So werden alle geraden bzw. alle durch 7 teilbaren natürlichen
Zahlen durch
{ 2i | i ∈ N } bzw. { 7i | i ∈ N }
nummeriert und aufgezählt. In diesem Sinne ist 0 die erste der durch 7 teilbaren Zahlen, 7
die zweite, 14 die dritte usw.1
Ein wichtiger Spezialfall ist die endliche Indexmenge I = {0, 1, 2, . . . , n − 1} für eine natürliche Zahl n ≥ 0.
1
Es sei daran erinnert, daß N = { 0, 1, 2, 3, . . . } die Null enthält.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
39
Definition 2.7 (Endliche Folgen)
Für ein n ≥ 0 versteht man unter einer endlichen Folge von Elementen einer Menge D eine
Abbildung
s : { 0, 1, 2, . . . , n − 1 } −→ D .
In diesem Fall heißt n die Länge von s. Sie wird mit |s| bezeichnet. Die Elemente aus dem
Wertebereich Ran (s) = {s0 , s1 , . . . , sn−1 } der endlichen Folge nennt man die Einträge von
s.
Man beachte, daß in dieser Definition n = 0 gewählt werden darf. Es kann also auch der Fall
einer leeren Indexmenge I eintreten, was in der Praxis nicht selten geschieht. Dann nennt
man s die leere Folge. Eine Kurzschreibweise für eine Folge s der Länge n ist
s = (s0 , s1 , s2 , . . . , sn−1 ) .
Beispiel 2.10
1.) Die monatlichen Umsätze eines Unternehmens innerhalb eines halben Jahres stellen eine
Folge der Länge 6 von reellen Zahlen dar, etwa
s = (1200.00 , 1311.50 , 1550.60 , 342.00 , 0.00 , 1200.00) .
2.) Das Wort ’Mathematik’ ist eine Folge der Länge 10 über dem Alphabet A:
s = (M, a, t, h, e, m, a, t, i, k) .
Selbstverständlich können Elemente auch mehrfach in einer Folge vorkommen: etwa die Zahl
1200.00 im ersten Beispiel und der Buchstabe a im zweiten.
Definition 2.8 (Unendliche Folgen)
Eine unendliche Folge von Elementen aus D ist eine Abbildung s : N → D. Die Elemente
aus dem Wertebereich Ran (s) = {si |i ∈ N} der unendlichen Folge nennt man die Einträge
von s.
Eine unendliche Folge s notiert man auch mit
s = (s0 , s1 , s2 , . . . ) .
Eine unendliche Folge ist z.B. die Folge (2, 3, 5, 7, 11, 13, 17, . . . ) aller Primzahlen (wobei die
Unendlichkeit dieser Folge schon in der Antike eingesehen wurde). Ein anderes Beispiel ist
die unendliche Folge aller Nachkommastellen der rationalen Zahl 71 :
(1, 4, 2, 8, 5, 7, 1, 4, 2, 8, 5, 7, 1, 4, 2, 8, 5, 7, . . . ) .
In diesem Fall kommt jede der Zahlen 1,2,4,5,7,8 unendlich oft in der Folge vor. Die Menge
{1, 2, 4, 5, 7, 8} aller bei den Nachkommastellen vorkommenden Ziffern ist also endlich; die
mit ihnen gebildete Folge ist unendlich!
Wir benötigen noch einige weitere Schreibweisen. Mit Dn wird die Menge aller Folgen der
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
40
Länge n über der Menge D bezeichnet. So ist in Beispiel 2.10: s ∈ R6 (Punkt 1.) und s ∈ A10
(Punkt 2.). Außerdem steht für spätere Anwendungen
[
[
D∗ :=
{ Dj | j ∈ N } =
Dn
(2.1)
n≥0
für alle endlichen Folgen mit Elementen aus D, und
[
[
D+ :=
{ Dj | j ∈ N ∧ j ≥ 1 } =
Dn
(2.2)
n≥1
bezeichnet alle endlichen und nichtleeren Folgen mit Elementen aus D.
In der Mathematik kommt es oft vor, daß man zwei Mengen miteinander identifiziert, wenn
es zwischen ihnen eine Bijektion gibt. Diese (quasi) Gleichsetzung beruht auf folgendem Satz:
Satz 2.5 Wenn es eine Bijektion zwischen zwei Mengen gibt, so sind die Mengen bis auf
Umbenennung ihrer Elemente gleich.
Mit diesem Satz kann man beispielsweise die Isomorphie zwischen den
Mengen D2 und D×D
zeigen; eine Bijektion φ : D2 → D × D ist durch φ(s) = s(0), s(1) gegeben, wobei wir oben
die Kurzschreibweise s0 für s(0) und entsprechend s1 für s(1) eingeführt haben.
Ist X eine endliche Menge und bezeichnet |X| die Anzahl der Elemente in X, so hat man
aufgrund von Satz 2.5 auch die wichtige Beziehung
|X n | = | |X × ·{z
· · × X} | = |X|n
(2.3)
=n
für jede natürliche Zahl n.
Für ein anderes Beispiel zu Satz 2.5 betrachten wir die drei Mengen
N =
0, 1, 2, 3 . . . , n, n + 1, . . . ,
G =
0, 2, 4, 6, . . . , 2n, 2n + 2, . . . ,
U =
1, 3, 5, 7 . . . , 2n + 1, 2n + 3, . . . .
Zwischen je zwei von ihnen gibt es eine Bijektion, nämlich
φ1 : N → G ,
φ2 : N → U ,
φ3 : G → U ,
φ1 (n) = 2n ,
φ2 (n) = 2n + 1 ,
φ3 (g) = g + 1 .
Das Zusammensetzen zweier endlicher Folgen zu einer neuen Folge ist eine wichtige Operation in der Informatik.
Definition 2.9 (Die Konkatenation)
Es seien s1 und s2 endliche Folgen der Länge n bzw. m. Unter der Konkatenation der Folgen
s1 und s2 versteht man die Folge z der Länge n + m, die durch
s1 (i)
für 0 ≤ i ≤ n − 1
z(i) :=
s2 (i − n)
für n ≤ i ≤ n + m − 1
definiert ist. Die Konkatenation von s1 und s2 wird mit concat(s1 , s2 ) oder nur mit s1 s2
bezeichnet.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
41
Die Konkatenation kommt bei der Bearbeitung von Zeichenketten in Computern vor. Auf der
Menge A∗ der Wörter über einem Alphabet A etwa ergibt die Funktion concat : A∗ × A∗ →
A∗ :
concat((H, a, l, l, o), (E, r, d, e)) = (H, a, l, l, o, E, r, d, e) .
Die grundsätzlichen Eigenschaften der Konkatenation sind im folgenden Satz festgehalten,
dessen Beweis aus einfachen Anwendungen der Definition 2.9 besteht.
Satz 2.6 (Eigenschaften der Konkatenation)
Es seien u, v und w endliche Folgen. Insbesondere bezeichne ε die leere Folge. Dann gilt:
1.)
2.)
3.)
4.)
u(vw) = (uv)w
uv = uw =⇒ v = w
vu = wu =⇒ v = w
εu = u = uε
(Assoziativität der Konkatenation)
(Links-Reduktion)
(Rechts-Reduktion)
(Neutrales Element)
Man beachte, daß die Konkatenation nicht kommutativ ist!
Es ist intuitiv klar, was eine endliche Menge ist; oben wurde dieser Begriff auch bereits
benutzt. Das Konzept der Folge ermöglicht nun aber eine präzise Definition einer endlichen
Menge.
Definition 2.10 (Endliche, unendliche und gleichmächtige Mengen)
Eine Menge A heißt endlich, wenn es eine natürliche Zahl n sowie eine Bijektion f :
{0, 1, 2, . . . , n − 1} → A gibt. Alle anderen Mengen nennt man unendlich. Zwei Mengen
A und B heißen gleichmächtig, wenn es eine Bijektion f : A → B gibt.
Gibt es also eine Bijektion von {0, 1, 2, . . . , n−1} nach A, so hat A offensichtlich n Elemente.
Diesen Sachverhalt drückt man durch |A| = n aus. Zwischen zwei endlichen Mengen A und
B existiert genau dann eine Bijektion, wenn |A| = |B| ist.
In der Informatik spielt der Datentyp der Zeichenkette eine herausragende Rolle. Neben
der Verarbeitung von Zeichenketten in Programmen sind Programmtexte selber auch Zeichenketten, die nach bestimmten Regeln (nämlich in der Syntax der Programmiersprache)
aufgebaut sind. Schließlich bestehen letztlich alle Speicherinhalte in Computern aus Zeichenketten über dem Alphabet {0, 1}. Daher benötigt man mathematische Formalisierungen für
die Notation von Symbolfolgen. Hier kann man das Konzept der Folgen nutzbringend anwenden.
Es bezeichne im folgenden A irgendein Alphabet, also eine nichtleere Menge von Symbolen.
A könnte beispielsweise aus allen Zeichen auf der Tastatur eines Computers bestehen, aber
ebenso könnten in A auch nur alle griechischen Buchstaben {α, β, γ, . . . } vorkommen.
Definition 2.11 (Wörter)
Ein Wort der Länge n über einem Alphabet A ist eine Folge der Länge n über A.
Unter Verwendung der für (2.1) eingeführten Schreibweise (mit A anstelle von D) besteht
dann die Menge An aus allen Worten der Länge n. Vereinigt man alle Mengen An zur Menge
A∗ ,
[
A∗ :=
An ,
n≥0
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
42
so kommen in dieser Menge A∗ alle möglichen (endlichen) Worte über dem Alphabet A
vor (siehe auch Beispiel 2.9). Ist w ein Wort der Länge n über A, so schreibt man statt
w = (w0 , w1 , . . . , wn−1 ) auch kürzer
w = w0 w1 . . . wn−1 .
So wird die Folge w, die aus den Buchstaben ’M’, ’a’, ’t’, ’h’, ’e’, ’m’, ’a’, ’t’, ’i’, ’k’ aus A
besteht, zum Wort ’Mathematik’ aus A∗ . Wendet man nun die Konkatenation auf die drei
Worte ’Mathematik’, ’ ist’, ’ wichtig’ aus A∗ an, so ergibt sich die Zeichenkette ’Mathematik
ist wichtig’ (ebenfalls aus A∗ ). Man beachte, daß das Leerzeichen ein legitimes Symbol ist.
Alle bekannten Begriffe bei der Zusammensetzung von Worten können nun formalisiert werden.
Definition 2.12 (Präfix, Suffix, Infix)
1.) Ein Wort p heißt Präfix eines Wortes w, wenn w = px für ein Wort x ∈ A∗ gilt.
2.) Ein Wort s heißt Suffix eines Wortes w, wenn w = xs für ein Wort x ∈ A∗ gilt.
3.) Ein Wort t heißt Infix eines Wortes w, wenn w = xty für zwei Worte x, y ∈ A∗ gilt.
Ein Infix wird auch als Teilwort (engl. substring) bezeichnet.
’Haus’
ist Präfix des Wortes ’Haustür’
’schloss’ ist Suffix des Wortes ’Türschloss’
’tür’
ist Infix des Wortes
’Haustürschloss’
Eine andere wichtige Definition ist
Definition 2.13 (Sprache)
Es sei A ein Alphabet. Jede Teilmenge von A∗ heißt eine Sprache über A.
So ist also {a, b, abba} ⊂ A∗ eine endliche Sprache über dem Alphabet A = {a, b}. Hingegen
ist L := {a, aa, aaa, aaaa, . . . } eine unendliche Sprache über dem Alphabet A = {a}.
2.4 Äquivalenzrelationen.
In diesem Abschnitt wird ein mathematisches Konzept vorgestellt, das nur auf dem Begriff
der Relation basiert. Allerdings kommt es auch im Zusammenhang mit Funktionen zum Einsatz. Die Problematik soll zunächst das folgende Beispiel verdeutlichen:
In Computern werden Zahlen vom Typ FLOAT oder DOUBLE verwaltet. Mathematisch
gesehen handelt es sich darum, rationale Zahlen zu verwalten. Rechnerintern ergibt sich also
das Problem des Umgangs mit solchen rationalen Zahlen. Also fragen wir nach den Bestandteilen dieser Objekte: Geht man von den oben genannten technischen Datentypen aus, so
bestehen die rationalen Zahlen aus einem ganzzahligen Anteil und den Nachkommastellen
(3,1415 = 3 + 0,1415). Man kann diese Zahlen aber auch anders darstellen, etwa durch eine
Mantisse und einen Exponenten:
3, 1415 = exp(1 + ln(3, 1415) − 1) = exp(1 + 0, 144700) .
Eine dritte Möglichkeit besteht darin, rationale Zahlen als Paare der Menge Z×Z anzusehen.
Ein Paar (a, b) stellt dabei den Bruch ab dar. Also repräsentiert die erste Komponente in (a, b)
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
43
den Zähler, die zweite Komponente den Nenner der rationalen Zahl. Diese dritte Möglichkeit
der Darstellung als Paar (a, b) soll jetzt genauer untersucht werden.
Die Programmbibliothek zur Verwaltung der rationalen Zahlen muß wissen, wie man in dieser
Darstellung zwei solche Zahlen addiert, subtrahiert, multipliziert, usw. Die Regeln hierfür
sind ziemlich einfach:
(a, b) + (c, d) =
(a, b) − (c, d) =
(a, b) · (c, d) =
(a, b) : (c, d) =
(ad + bc, bd)
(ad − bc, bd)
(ac, bd)
(ad, bc)
(Addition)
(Subtraktion)
(Multiplikation)
(Division)
Statt des geordneten Paares (a, b) wird im folgenden auch wieder die bekannte Schreibweise
a
verwendet. Nach den eben festgelegten Rechenvorschriften ergibt sich nun zum Beispiel
b
1 1
6
−3 2
−6
+ =
und
·
=
.
2 4
8
4 −3
−12
Diese Darstellung der Rechenergebnisse ist etwas unbefriedigend, denn man hätte die Resultate doch lieber in der gekürzten Form (also 34 bzw. 12 ) ausgegeben. Es ist also die Festlegung
einer weiteren Operation erforderlich, die die Resultate in der gekürzten Form auswirft. Nun
kann man einen Bruch (a, b) kürzen, indem man Zähler und Nenner durch den größten gemeinsamen Teiler (’ggT’) von a und b teilt. Dabei gehen wir von folgender Konvention aus:
1.) Es ist
−ggT (|a|, |b|) , falls a < 0 ∧ b < 0
ggT (a, b) =
ggT (|a|, |b|) , sonst
Der ggT von a und b wird also genau dann als eine negative Zahl ausgegeben, wenn sowohl
a als auch b negativ sind.
2.) Der Nenner einer ausgegebenen Zahl ist stets größer als Null.
Sei Z∗ := Z\{0}. Es werden nun zwei Funktionen f : Z×Z∗ → Z×Z∗ und e : Z×Z∗ → Z×Z∗
definiert:
a
b
,
f (a, b) :=
,
ggT (a, b) ggT (a, b)
und
(−a, −b) , falls a ≥ 0 ∧ b < 0
e(a, b) :=
(a, b) ,
sonst
Indem man nun alle vier möglichen Vorzeichenverteilungen bei einem eingegebenen Bruch
(±a, ±b) durchprobiert und die Konventionen von 1. und 2. berücksichtigt, sieht man ein,
daß die Funktion k := e ◦ f das Gewünschte leistet: jeder Bruch wird gekürzt und mit
positivem Nenner ausgegeben. Hierbei ist
Ran (k) = Menge der gekürzten Brüche mit positivem Nenner .
Der Bruch (−1, 2) gehört offensichtlich der Menge Ran (k) an. Wie sehen nun alle Tupel
(a, b) ∈ Z2 aus, die mittels k auf das Tupel (−1, 2) abgebildet werden, für die also k(a, b) =
(−1, 2) gilt? Man findet leicht:
{ (a, b) | k(a, b) = (−1, 2) }
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
44
= { (−1, 2), (−2, 4), (−3, 6), . . . , (1, −2), (2, −4), (3, −6), . . . } .
(2.4)
Hierbei wurde also formal die Menge in (2.4) mit dem Bruch −1
identifiziert, denn alle
2
dar. Die Elemente in
Elemente dieser Menge stellen letztlich die gleiche rationale Zahl −1
2
der aufgeführten Menge sind also in gewisser Weise aneinander gekoppelt, bzw. sie stehen in
einer Relation zueinander. Diese Relation wird SARA genannt (für: SAme RAtional). Zwei
Brüche (a, b) und (c, d) stehen genau dann in Relation zueinander, wenn ihre Bilder unter
der Abbildung k übereinstimmen:
(a, b) SARA (c, d)
⇐⇒
k(a, b) = k(c, d) .
Dieses Beispiel der Identifikation wertgleicher Brüche soll nun verallgemeinert werden. Hierzu
benötigt man zunächst zwei neue Begriffe:
Definition 2.14 (Kern einer Abbildung)
Es sei f : A → B eine Funktion. Dann heißt die Relation, definiert durch
ker (f ) = {(a, b) ∈ A × A | f (a) = f (b)}
der Kern von f . Insbesondere ist ker (f ) ⊆ A × A.
Der Kern der Abbildung f besteht also aus genau den Paaren von Elementen des Urbildraumes A, die von f auf dasselbe Element im Wertebereich abgebildet werden.
Definition 2.15 (Äquivalenzrelationen)
Eine Relation R auf einer Menge A heißt eine Äquivalenzrelation, falls die folgenden Eigenschaften erfüllt sind:
(a, a) ∈ R
(a, b) ∈ R =⇒ (b, a) ∈ R
(a, b) ∈ R ∧ (b, c) ∈ R =⇒ (a, c) ∈ R
(Reflexivität)
(Symmetrie)
(Transitivität)
Offensichtlich ist für eine Funktion f die Relation ker (f ) eine Äquivalenzrelation. Weil f eine
Funktion ist, wird jedes Element a ∈ A unter f abgebildet und es gilt f (a) = f (a). Daher
ist ker (f ) reflexiv. Die Relation ist auch symmetrisch, denn aus f (a) = f (b) folgt ja auch
sofort f (b) = f (a). Schließlich ist ker (f ) auch transitiv, denn aus f (a) = f (b) ∧ f (b) = f (c)
ergibt sich f (a) = f (c).
Im obigen Beispiel ist k = e ◦ f eine Funktion auf Z × Z∗ . Somit liegt mit SARA = ker (k)
eine Äquivalenzrelation auf der Menge A = Z × Z∗ vor.
Definition 2.16 (Äquivalenzklassen)
Es sei R eine Äquivalenzrelation auf einer Menge A. Ferner sei x ∈ A ein beliebiges Element.
Dann heißt die durch
[x]R = {y | xRy}
gegebene Menge [x]R die Äquivalenzklasse von x. Das Element x heißt ein Repräsentant der
Klasse [x]R .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
45
Wenn keine Verwechslungen zu befürchten sind, läßt man den Index R auch weg und schreibt
kurz [x] anstelle von [x]R . Äquivalenzklassen sind also gerade solche Mengen wie die in (2.4).
Nun haben Äquivalenzklassen einige ausgezeichnete Eigenschaften. Um sie beschreiben zu
können, benötigt man noch einen weiteren Begriff.
Definition 2.17 (Partition einer Menge)
Es sei A eine Menge. Eine Sammlung C von Teilmengen von A mit den folgenden Eigenschaften
1.) ∀ C ∈ C : C 6= ∅
2.) S
∀B, C ∈ C : (B ∩ C = ∅ ∨ B = C)
3.)
C = A
heißt eine Partition von A.
Auch die Partition findet man im obigen Beispiel bei den Brüchen wieder: jeder Bruch ist
bereits gekürzt oder kann noch gekürzt werden; folglich liegt jeder Bruch in einer Menge C
von der Gestalt (2.4). Außerdem können zwei Brüche in unterschiedlichen Äquivalenzklassen
niemals durch Kürzen zur gleichen rationalen Zahl führen. Daher sind je zwei Mengen B
und C der Gestalt (2.4) entweder gleich oder disjunkt. Also bilden die Äquivalenzklassen der
Relation SARA eine Partition von Z × Z∗ . Dabei werden Brüche, deren Nenner Null ist, von
vorneherein ausgeschlossen, da sie als rationale Zahl keinen endlichen Wert haben. Damit
ergibt die Äquivalenzrelation SARA eine Partition der Menge A = Z × Z∗ . Alle Brüche
mit dem Zähler 0 gehören zur Äquivalenzklasse, in der auch der Bruch 0/1 vorkommt. Im
allgemeinen Fall impliziert jede Äquivalenzrelation auch eine Partition, denn es gilt der
folgende Satz.
Satz 2.7 (Eigenschaften der Äquivalenzklassen)
Es sei R eine Äquivalenzrelation auf einer Menge A. Dann gelten die beiden folgenden Aussagen:
1.) ∀ x, y ∈ A : (xRy ⇐⇒ [x] = [y])
2.) Die Menge der Äquivalenzklassen von R bildet eine Partition von A.
Es ist nicht schwer einzusehen, daß auch die Umkehrung von 2.) gilt: Jede Partition einer
Menge A besteht aus den Äquivalenzklassen einer Äquivalenzrelation R auf A.
Beweis: Zum Beweis der ersten Aussage seien x und y zwei beliebige Elemente aus A.
’=⇒’: Es gelte xRy. Es muß gezeigt werden, daß dann die Äquivalenzklassen von x und y
gleich sind. Dazu sei z ∈ [x]. Aus der Definition 2.16 der Äquivalenzklasse ergibt sich dann
xRz. Aufgrund der Symmetrie von R hat man auch zRx. Zusammen mit der Voraussetzung
xRy und der Transitivität von R folgt zRy. Die erneute Anwendung der Symmetrie von R
ergibt yRz, was z ∈ [y] bedeutet. Da z ein beliebiges Element aus [x] war, ist bisher [x] ⊆ [y]
gezeigt worden. Vertauscht man jetzt die Rollen von x und y, so erhält man mit derselben
Schlußweise auch die Inklusion [y] ⊆ [x], und daher insgesamt [x] = [y].
’⇐=’: Hier wird [x] = [y] vorausgesetzt. Da R reflexiv ist, folgt yRy, mithin y ∈ [y] = [x].
Aus y ∈ [x] schließt man auf xRy, was zu zeigen war.
Zum Beweis der zweiten Aussage müssen die Eigenschaften einer Partition aus Definition
2.17 nachgewiesen werden.
zu 1.) Ist [x] eine Äquivalenzklasse, so ist [x] 6= ∅, da x ∈ [x] wegen der Reflexivität xRx.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
46
zu 2.) Hier ist zu zeigen, daß zwei Äquivalenzklassen [x] und [y] entweder disjunkt oder
gleich sind, d.h.:
[x] ∩ [y] 6= ∅ =⇒ [x] = [y] .
(2.5)
Unter der Voraussetzung [x] ∩ [y] 6= ∅ existiert ein Element z ∈ [x] ∩ [y], so daß also xRz und
yRz gewährleistet sind. Da mit yRz wegen der Symmetrie von R auch zRy ist, folgt mit der
Transitivität aus xRz und zRy dann xRy. Aufgrund der bereits bewiesenen ersten Aussage
des Satzes hat man dann [x] = [y], was in (2.5) zu zeigen war.
zu 3.) Jedes x ∈ A liegt wegen der Reflexivität von R in seiner eigenen Äquivalenzklasse:
x ∈ [x]. Die Vereinigung aller Elemente aus allen Äquivalenzklassen umfaßt somit A.
Äquivalenzklassen unterteilen also die Grundmenge A in disjunkte Teile. Man spricht dabei
auch vom Abstrahieren auf übergeordnete Begriffe. So stellen die Äquivalenzklassen aus (2.4)
genau alle rationalen Zahlen dar. Dabei sind die Brüche aus einer Äquivalenzklasse, etwa
−1 −2 −3
, 4 , 6 , . . ., durch die Zusammenfassung in dieser Klasse auf das wesentliche abstrahiert
2
worden, nämlich auf einen ausgezeichneten Repräsentanten, hier auf den gekürzten Vertreter
−1
in dieser Klasse. Bei Brüchen nennt man diesen Prozeß auch normalisieren.
2
Definition 2.18 (Quotientenmenge)
Es sei R eine Äquivalenzrelation auf einer Menge A. Die Quotientenmenge A/R wird definiert durch
A/R = {[x] | x ∈ A} .
Die Quotientenmenge stellt also die Menge aller Äquivalenzklassen dar.
Bei der Anwendung der Theorie der Äquivalenzrelationen auf den Kern einer Funktion ergibt
sich der folgende wichtige Satz:
Satz 2.8 Es sei f : A → B eine Funktion. Dann existiert eine bijektive Funktion
h : A/ker (f ) → Ran (f )
von der Menge der Äquivalenzklassen von ker (f ) in den Wertebereich der Funktion f .
Beweis:
Man überzeugt sich zuerst davon, daß die Abbildung
h : A/ker(f ) → Ran (f ) ,
h([x]) := f (x)
eine Funktion ist. Es wird jede Äquivalenzklasse [x] abgebildet, und jede Klasse aus A/ker (f )
wird auch genau auf ein Element aus Ran (f ) abgebildet: Ist [x] = [y], so gilt einerseits
h([x]) = f (x), andererseits h([x]) = h([y]) = f (y) aufgrund der Definition von h. Es ist
nun f (x) = f (y) zu zeigen, damit der Klasse [x] auch genau ein Bild unter h zugeordnet
wird2 Wegen [x] = [y] ist aber nach der ersten Aussage in Satz 2.7 (x, y) ∈ ker (f ), und das
bedeutet aufgrund der Kerndefinition aber gerade f (x) = f (y).
Die Funktion h ist surjektiv, denn da die Äquivalenzklassen von ker (f ) eine Partition von A
2
Man spricht hier auch von der Wohldefiniertheit der Abbildung h: Ihr Wert unter der Abbildung einer
Äquivalenzklasse darf nicht davon abhängen, mit welchem ausgezeichneten Repräsentanten x oder y die
Abbildung vorgenommen wird!
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
47
bilden, wird jeder Wert f (x) aus Ran (f ) erreicht, indem man zu jedem x ∈ A die zugehörige
Äquivalenzklasse [x] unter h abbildet. h ist auch eine injektive Funktion, denn aus h([x]) =
h([y]) folgt aufgrund der Definition von h dann f (x) = f (y), woraus sich aber (x, y) ∈ ker (f )
bzw. [x] = [y] ergibt. Damit ist h insgesamt als eine bijektive Funktion nachgewiesen.
In Satz 2.8 wird der theoretische Hintergrund des oben begonnenen Beispiels bei der Normalisierung von Brüchen ausgedrückt: Es gibt eine bijektive Abbildung von der Menge aller
Äquivalenzklassen (eine ist in (2.4) aufgeschrieben) in die Menge aller gekürzten Brüche
Ran (k). Damit können diese beiden Mengen miteinander identifiziert werden. In diesem
gleichsetzen.
Sinne kann man die in (2.4) aufgeschriebene Menge mit der rationalen Zahl −1
2
Die Menge Q der rationalen Zahlen kann also nach Satz 2.8 als
Q = (Z × Z∗ )/ker (k)
mit
Z∗ := Z \ {0}
aufgefaßt werden, wobei sich die Elemente in Q und in (Z × Z∗ )/ker (k) nur durch unterschiedliche Notationen unterscheiden. Bezeichnet man mit [.] wieder die Äquivalenzklassen
der Abbildung ker, so kann ein Element aus Q z.B. in der Form [(a, b)] geschrieben werden;
man kann aber auch die Notation k((c, d)) (=normalisierte Fassung des Bruches (c, d)) für
irgendein Element (c, d) aus [(a, b)] wählen. Dann kann man, wie oben bereits erwähnt, statt
(a, b) noch ab schreiben, was ebenfalls nur eine Frage der Notation ist. Damit erhält man die
rationalen Zahlen als einen neuen Vorrat von Zahlen, mit denen gerechnet werden kann.
Satz 2.8 liegt auch dem folgenden Satz zugrunde, der in vielen theoretischen Betrachtungen
eine Rolle spielt:
Satz 2.9 (Dekomposition von Funktionen)
Zu jeder Funktion f : A → B existiert eine surjektive Funktion g : A → A/ker (f ), eine
bijektive Funktion h : A/ker (f ) → Ran (f ) und eine injektive Funktion k : Ran (f ) → B,
so daß f gemäß
f = k◦h◦g
zerlegt werden kann.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
48
f
A
B
-
6
g
k
?
h
A/ker (f )
Beweis:
-
Ran (f )
Die drei Funktionen g, h und k werden folgendermaßen definiert:
g : A → A/ker (f ) ,
h : A/ker (f ) → Ran (f ) ,
k : Ran (f ) → B ,
g(a)
:= [a]ker (f ) ,
h([x]) := f (x) ,
k(y)
:= y .
Die Funktion g ordnet jedem Element a aus A die Menge derjenigen Elemente b aus A zu,
die unter f ebenfalls den Wert f (a) annehmen:
g(a) := { b ∈ A : f (b) = f (a) } .
Die Funktion h ist die bijektive Abbildung aus Satz 2.8 , und die Funktion k ist eine sog.
Einbettung von Ran (f ) in B. Diese Einbettung wird der Funktion h noch nachgeschaltet,
weil die Funktion h als Abbildung von A/ker (f ) nach B nicht bijektiv wäre. Wir prüfen
jetzt die Zerlegung f = k ◦ h ◦ g für jedes Element a ∈ A nach:
k ◦ h ◦ g(a) = k ◦ h [a]ker (f ) = k(f (a)) = f (a) .
g ist offensichtlich surjektiv, denn jede Äquivalenzklasse [a]ker (f ) kommt als Bild eines Elementes aus A unter g vor. k ist injektiv, weil die Identitätsabbildung immer injektiv ist. Es werden zum Abschluß dieses Kapitels noch zwei typische Beispiele für Äquivalenzrelationen angeführt.
Beispiel 2.11 Ein Spiel mit zwei Würfeln besteht darin, die Summe der ’Augenzahlen’ beider Würfel nach einem Wurf zu bilden. Gewonnen hat, wer die höhere Augenzahl wirft.
Daher ist es für jeden Spieler weniger interessant, wie sich eine Summe zusammensetzt, also
ob z.B. die Zahl 10 durch eine Kombination aus zwei Fünfen oder aus einer Kombination
aus 6 und 4 entstanden ist. Die Menge W := {1, 2, 3, 4, 5, 6} enthält alle möglichen Ergebnisse, die man mit einem Würfel erzielen kann. Die Ereignismenge A für das Werfen mit
zwei Würfeln besteht dann aus dem cartesischen Produkt A = W × W . Da aber nur die
Summe der Augenzahlen x + y eines Ereignisses (x, y) ∈ A interessiert, wird eine Funktion
f : A → N durch
f (x, y) := x + y
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
49
definiert. Die Relation
ker (f ) = { ((x1 , y1 ), (x2 , y2 )) ∈ A2 | f (x1 , y1 ) = f (x2 , y2 ) }
ermöglicht dann genau die Reduktion eines Wurfes auf das Wesentliche, nämlich auf die
Summe der Augenzahlen. In diesem Zusammenhang hat man die Augenzahl abstrahiert. Folgendermaßen findet man in diesem Beispiel die oben eingeführten Begriffe wieder:
• Äquivalenzklasse: Die Äquivalenzklassen zu einem bestimmten Würfelergebnis s sind
alle Ereignisse (x, y) ∈ A, für die x + y = s ist. Z.B. stellt
{ (4, 6), (5, 5), (6, 4) }
(2.6)
die Äquivalenzklasse zu s = 10 dar.
• Partition: Je zwei verschiedene Äquivalenzklassen sind auch disjunkt, denn sie sind
ja gerade so definiert, daß zwei Würfe mit unterschiedlichen Summen auch in unterschiedlichen Klassen liegen. Die Vereinigung über alle möglichen Äquivalenzklassen
enthält auch alle möglichen Ereignisse in A, weil jedem Wurf mit zwei Würfeln auch
eine Augensumme zugeordnet ist.
• Bijektion von der Quotientenmenge in den Wertebereich von f : Zu jeder möglichen Augensumme gehört genau eine Äquivalenzklasse. Wegen
Ran (f ) = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }
gibt es 11 Äquivalenzklassen. Die Funktion
h : A/ker (f ) → Ran (f ) ,
h([(x, y)]) = f (x, y) = x + y
bildet alle Äquivalenzklassen (gemäß Satz 2.8) auf den Wertebereich Ran (f ) von f ab.
Diese Bijektion stellt die Abstraktion auf die Augenzahl dar, denn beispielsweise wird
die gesamte Menge in (2.6) auf die Zahl 10 abgebildet und die Unterscheidung etwa
zwischen (4, 6) und (5, 5) wird dabei herausgefiltert.
Beispiel 2.12 Es sei m > 1 eine natürliche Zahl. Auf den natürlichen Zahlen N wird die
Relation ’Kongruenz modulo m’ eingeführt:
a ≡ b
(mod m)
⇐⇒
∃k ∈ Z : b − a = k · m .
(gelesen: ’a ist kongruent b modulo m’)
a steht also genau dann in Relation zu b, wenn die Differenz von a und b durch m teilbar
ist, oder anders ausgedrückt, wenn a und b bei der Division durch m den gleichen Rest
ergeben. Man rechnet leicht nach, daß die Kongruenz modulo m eine Äquivalenzrelation ist.
Die Äquivalenzklassen bestehen aus den folgenden Mengen:
0
1
2
m−1
=
=
=
..
.
{ 0, m, 2m, 3m, . . . } ,
{ 1, m + 1, 2m + 1, 3m + 1, . . . } ,
{ 2, m + 2, 2m + 2, 3m + 2, . . . } ,
= { m − 1, 2m − 1, 3m − 1, 4m − 1, . . . } .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
50
Man nennt hier die Äquivalenzklassen auch Restklassen.
Die Abbildung f : N → {0, 1, 2, . . . , m − 1} ordne jeder natürlichen Zahl a den (eindeutig
bestimmten) Rest aus der Menge {0, 1, 2, . . . , m − 1} bei der Division durch m zu. Man kann
schreiben:
h a i
.
f (a) := min { r | r ∈ N ∧ m teilt a − r } = a − m
m
Hierfür ist auch die Notation f (a) = a mod m gebräuchlich; das Symbol mod m fungiert
hier als Operator.
Die Kongruenzrelation modulo m besteht gerade aus dem Kern der Abbildung f (siehe Definition 2.14), sie wird also durch f erzeugt. Man hat daher
N/ker (f ) = { 0, 1, 2, . . . , m − 1 } .
Auf der Menge dieser Restklassen werden wieder die Operationen Addition, Subtraktion und
Multiplikation definiert. Dies geschieht mittels
a b := f (a b) ,
wobei jeweils für eine der Operationen +, − oder ∗ steht. Nun gilt für die bijektive Abbildung
h aus Satz 2.8 zwischen den Restklassen und dem Wertebereich von f :
h(a) = f (a) = a
(0 ≤ a ≤ m − 1) .
h ordnet also der Restklasse a genau die Zahl a zu. Daher läßt man beim Rechnen mit
Restklassen den Strich über den Symbolen auch einfach weg. So schreibt man bei m = 12
z.B. 6 + 8 = 2 oder 8 − 9 = 11 oder 5 · 6 = 6.
Auch in der Informatik spielt die Kongruenzrelation eine wichtige Rolle. Dort nimmt m
z.B. oft den maximalen Wert eines Typs ganzer Zahlen an. Unter Umständen kommt ein
Datentyp vor, mit dem 232 natürliche Zahlen darstellbar sind, nämlich
{ 0, 1, 2, . . . , 232 − 1 } .
Hier ist dann m = 232 . Führt eine Rechnung aus diesem Bereich hinaus, so wird das Ergebnis
’modulo m’ ausgegeben, also z.B.
4294967294 + 3 = 1 .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
51
3 Induktion
Induktion ist ein Konzept zur Definition von Mengen und Funktionen. Im Zusammenhang
mit Mengen spricht man von induktiv definierten Mengen. Funktionen können dann rekursiv
auf solchen Mengen definiert werden. Im Gegensatz zu den in Abschnitt 1.4 vorgestellten
Möglichkeiten der Mengendefinition durch Aufzählen aller Elemente oder durch die Angabe
einer definierenden Eigenschaft geht man bei der induktiven Definition anders vor: man
benennt explizit die ’einfachsten Elemente’ und gibt dann Regeln an, wie ’kompliziertere
Elemente’ aus den bereits erhaltenen Elementen erzeugt werden können. Dieses induktive
Vorgehen wird zunächst anhand eines grundlegenden mathematischen Prinzips (des sog.
Wohlordnungsprinzips) vorgestellt, das häufig auch als Beweisprinzip verwendet wird.
3.1 Einfache Induktion.
Beim Beweisprinzip der einfachen Induktion geht man folgendermaßen vor: um eine Aussage
A(n) über natürliche Zahlen n zu beweisen, versucht man zunächst, die Aussage nur für
einen einfachen Fall zu zeigen. Das ist meist leicht, denn man muß nicht A(n) für alle
natürlichen Zahlen n beweisen, sondern eventuell nur den Wahrheitsgehalt der Aussage A(0)
nachprüfen. Danach verwendet man diese einfachen Ergebnisse (= wahre Aussagen), um
komplexere Resultate zu erhalten. Dies geschieht dadurch, daß man Aussagen der Form
A(x) ist wahr
=⇒
A(y) ist wahr
(3.1)
beweist. Gehört x zu einem der bereits behandelten einfachen Fälle, für die die Aussage A(x)
schon als wahr nachgewiesen ist, so erhält man durch (3.1) ein weiteres Element (nämlich y),
für das die Aussage zutrifft. In vielen Fällen kann man diesen Induktionsschritt so strukturieren, daß man hiermit die Aussage A(n) für alle natürlichen Zahlen n bewiesen hat. Warum
das tatsächlich funktioniert, soll jetzt theoretisch untermauert werden.
Man benötigt dazu die folgende Aussage, die zwar intuitiv klar ist, aber dennoch eigentlich
bewiesen werden müßte. Da wir das hier nicht tun können, wird die Aussage als ein Axiom
aufgeführt, d.h. als ein unbegründetes Prinzip.
Axiom 3.1 (Wohlordnungsprinzip für natürliche Zahlen)
Jede nichtleere Teilmenge der natürlichen Zahlen hat ein kleinstes Element, d.h. formal:
∅=
6 A ⊆ N =⇒ ∃ k ∈ A ∀ n ∈ A : k ≤ n .
Aus diesem Axiom gewinnt man eine Beweistechnik für Aussagen über natürliche Zahlen.
Dies soll an einem historischen Beispiel demonstriert werden. Es handelt sich um eine Formel,
die sich der junge Carl Friedrich Gauß (1777 - 1855) ausgedacht hat, als sein Rechenlehrer
in der Schule die Aufgabe stellte, die Zahlen von 1 bis 100 zu addieren. Der Lehrer erwartete,
daß die Schüler hiermit einige Zeit beschäftigt sind, doch Gauß präsentierte die Lösung 5050
nach wenigen Augenblicken. Er hatte nämlich die Zahlen von 1 bis 100 in der Form
1
2 3 ...
100 99 98 . . .
49 50
52 51
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
52
aufgeschrieben. Nun kann man die Addition aller Zahlen von 1 bis 100 rasch durchführen:
man addiere zunächst spaltenweise, was stets 101 ergibt und multipliziere anschließend mit
der Anzahl 50 der Spalten. Also lautet das Ergebnis 50 · 101 = 5050.
Will man nun allgemein die ersten n natürlichen Zahlen (für ein gerades n) addieren, so
muß man offensichtlich die Summe n + 1 jeder Spalte mit der Anzahl n/2 der Spalten
multiplizieren. Es wird nun gezeigt, daß diese Formel tatsächlich allgemeingültig ist und
auch für ungerade natürliche Zahlen ihre Gültigkeit behält.
Beispiel 3.1 Es sei n ∈ N mit n ≥ 1. Dann gilt
n(n + 1)
.
(3.2)
2
Beweis: Es werde mit S die Menge aller natürlichen Zahlen bezeichnet, für die die Gleichung (3.2) falsch ist. Man nimmt nun S 6= ∅ an und führt einen Widerspruch herbei. Nach
dem Wohlordnungsprinzip (Axiom 3.1) besitzt S ein kleinstes Element, das mit k bezeichnet
wird. Offensichtlich ist k ≥ 2, denn für k = 1 ist die Aussage (3.2) mit n = k wahr. Da k
außerdem das kleinste Element von S ist, ist die Aussage (3.2) auch wahr für k − 1. Es gilt
also
(k − 1)k
.
(3.3)
1 + 2 + 3 + · · · + (k − 1) =
2
Berechnet man nun die Summe der ersten k Zahlen, so erhält man
1 + 2 + 3 + ··· + n =
(3.3)
1 + 2 + 3 + · · · + k = (1 + 2 + 3 + · · · + (k − 1)) + k =
(k − 1)k
+k
2
k2 + k
k(k + 1)
k 2 − k + 2k
=
=
.
2
2
2
Hieraus folgt, daß die Aussage (3.2) doch wahr ist für n = k. Dies widerspricht aber der
Konstruktion von k. Der Widerspruch beweist S = ∅, und daher ist die Aussage (3.2) wahr
für alle natürlichen Zahlen n.
=
Aus diesem Beispiel kann man ein allgemeines Beweisprinzip ableiten. Insbesondere hat der
Schritt von k − 1 nach k dazu geführt die Annahme zu widerlegen. Dies ist aber nur eine der
’Zutaten’ zu diesem Prinzip. Vielmehr wurde auch eine wichtige Voraussetzung angewendet,
damit der erwähnte Schritt von k − 1 nach k überhaupt angewendet werden konnte. Hierfür
war nämlich erforderlich, daß die Aussage zumindest für ein (einfaches) Element wahr ist
(im obigen Beispiel die Zahl 1). Wäre dies nicht der Fall gewesen, wäre die Existenz der Zahl
k − 1 nicht gesichert, denn es wäre dann k = 1 möglich gewesen und k − 1 = 0 wäre dann
eine für k − 1 nicht erlaubte Belegung. Es ist also notwendig zu zeigen, daß die Aussage
einerseits für k = 1 wahr ist und daß sie andererseits für k wahr ist, wenn sie es auch für
k − 1 ist.
Satz 3.1 (Prinzip der einfachen Induktion)
Es sei A(n) eine Aussage über natürliche Zahlen. Wenn gilt:
1.) A(0) ist wahr;
2.) ∀ k > 0 : A(k − 1) ist wahr =⇒ A(k) ist wahr ,
so ist A(n) wahr für alle n ∈ N. Speziell heißt die Aussage in 1. der Induktionsanfang und
die Hypothese in 2. die Induktionsvoraussetzung. Die Implikation in 2. wird Induktionsschluß
oder auch Induktionsschritt genannt.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
53
Dieser Satz kann mit denselben Argumenten wie im Beweis des Beispiels 3.1 begründet
werden.
Man geht bei einem Induktionsbeweis also folgendermaßen vor:
• Man beweise den Induktionsanfang.
• Man wähle ein beliebiges k > 0 und setze voraus, daß die Aussage A(k − 1) wahr ist
(Induktionsvoraussetzung).
• Man beweise für dieses k unter Ausnutzung der Induktionsvoraussetzung, daß die Aussage A(k) wahr ist.
Als Anwendungsbeispiel für das Prinzip der einfachen Induktion soll die zweite Aussage in
Satz 1.6 bewiesen werden. Es wird dort behauptet, daß für eine Menge S bestehend aus n
Elementen die zugehörige Potenzmenge 2n Elemente enthält:
|℘(S)| = 2|S| = 2n .
(3.4)
Beweis: Es wird eine einfache Induktion über die Zahl n = |S| verwendet. Wir bezeichnen
mit Sk eine Menge mit k Elementen.
Induktionsanfang: Für k = 0 ist die Behauptung wahr, denn dann ist S0 = ∅ und ℘(S0 ) =
{∅}. Also hat man
|℘(S0 )| = 1 = 20 = 2|S0 | .
Induktionsvoraussetzung: Für ein k > 0 gelte:
|℘(Sk−1 )| = 2k−1 .
(3.5)
Induktionsschluß: Die hier zu zeigende Implikation lautet formal:
|℘(Sk−1 )| = 2k−1
=⇒
|℘(Sk )| = 2k .
Für die natürliche Zahl k aus der Induktionsvoraussetzung sei nun Sk eine Menge mit k
Elementen. Wegen k > 0 ist Sk nicht leer, und man kann ein Element a ∈ Sk auswählen. Es
wird nun die Menge
T := { A | A ⊆ Sk \ {a} }
untersucht. Gemäß Definition (1.2) ist T die Potenzmenge der Menge Sk \ {a}, also einer
Menge bestehend aus k − 1 Elementen. Daher ist auf diese Situation die Induktionsvoraussetzung (3.5) anwendbar. Das ergibt:
|T | = |℘(Sk \ {a})| = 2k−1 .
(3.6)
Wir benötigen eine weitere Menge:
U := { A | A ⊆ Sk ∧ a ∈ A } .
Nach Konstruktion sind die Mengen T und U disjunkt, denn jede Menge in U enthält das
Element a, während a aber in keiner Menge aus T vorkommt. Nun ist aber
℘(Sk ) = T ∪ U ,
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
54
und wegen T ∩ U = ∅ folgt mit Korollar 1.2
|℘(Sk )| = |T | + |U | .
(3.7)
Die Menge U kann formal auch anders geschrieben werden, nämlich als
U = { A ∪ {a} | A ∈ T } .
Hieraus liest man unmittelbar ab, daß die Mengen T und U gleichmächtig sind, also daß
|T | = |U | ist. Damit ergibt sich aus (3.6) und (3.7):
|℘(Sk )| = |T | + |U | = |T | + |T | = 2|T | = 2 · 2k−1 = 2k ,
womit die Aussage (3.4) bewiesen ist.
In vielen Fällen möchte man Aussagen über natürliche Zahlen n beweisen, die erst für n ≥ n0
gelten und für n = 0, 1, 2, . . . n0 − 1 unter Umständen falsch sind. Hierbei ist n0 eine feste
natürliche Zahl. Beispielsweise gilt die Aussage
100n < n!
erst für n ≥ n0 = 269 und ist für n = 0, 1, . . . , 268 falsch. Um solche Typen von Aussagen
zu beweisen, kann man eine Erweiterung des Induktionsprinzips verwenden.
Satz 3.2 (Erweitertes Induktionsprinzip)
Es sei A(n) eine Aussage über natürliche Zahlen. Wenn es eine Zahl n0 ∈ N gibt, so daß
gilt:
1.) A(n0 ) ist wahr;
2.) ∀ k > n0 : A(k − 1) ist wahr =⇒ A(k) ist wahr ,
so ist A(n) wahr für alle n ≥ n0 .
Der Beweis dieser Aussage kann mit Hilfe von Satz 3.1 erfolgen und wird hier nicht vorgeführt. Für n0 = 0 reduziert sich Satz 3.2 wieder auf die einfache Induktion. Insofern stellt
dieser Satz eine Verallgemeinerung von Satz 3.1 dar.
In vielen Fällen reicht auch dieses Prinzip nicht aus, denn für die Durchführung des Induktionsschlusses muß man häufig nicht nur wissen, daß die Aussage A(k − 1) wahr ist, sondern
auch, daß die Aussage A(k) für alle k im Bereich k = n0 , n0 + 1, . . . , k − 1 richtig ist. Auch
in diesem Fall kann man ein Induktionsprinzip formulieren:
Satz 3.3 (Starkes Induktionsprinzip)
Es sei A(n) eine Aussage über natürliche Zahlen. Wenn es eine Zahl n0 ∈ N gibt, so daß
gilt:
1.) A(n0 ) ist wahr;
2.) ∀ k > n0 : A(j − 1) ist wahr für alle j mit n0 < j ≤ k =⇒ A(k) ist wahr ,
so ist A(n) wahr für alle n ≥ n0 .
Auch diesen Satz kann man ähnlich wie den Satz 3.1 mit Hilfe des Wohlordnungsprinzips
beweisen. Es folgt eine Anwendung des starken Induktionsprinzips.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
55
Beispiel 3.2 (Der Quicksort - Algorithmus)
Dem Quicksort - Algorithmus wird eine endliche Folge s natürlicher Zahlen eingegeben, und
er liefert als Rückgabe diese Folge aufsteigend sortiert. Die Vorgehensweise des Algorithmus
besteht im Aufsplitten der Folge und dem rekursiven Anwenden des Aufsplittungsprinzips auf
die Teile dieses Splits. Im Detail sieht das folgendermaßen aus: Es sei s = (s1 , s2 , . . . , sn )
eine (endliche) Folge natürlicher Zahlen.1
• Ist s die leere Folge, so wird s als Rückgabe geliefert. Ist die Folge s nicht leer, so wird
ein beliebiges Element sj aus der Folge ausgewählt.
• Es wird eine Folge
sL (sj )sR
(3.8)
konstruiert. Dabei ist sL eine Folge, die aus allen Elementen von s ohne sj besteht,
welche kleiner oder gleich sj sind. sR hingegen setzt sich aus allen Elementen von s
zusammen, die größer als sj sind. Die Schreibweise in (3.8) ist als Konkatenation von
Folgen zu verstehen, wobei die mittlere Folge (sj ) nur aus einem Element besteht.
• Der Algorithmus wird jetzt jeweils für die Folgen sL und sR wiederholt. Das Ergebnis
seien die Folgen s∗L und s∗R , wobei der Algorithmus s∗L und s∗R als aufsteigend sortierte
Folgen aus sL bzw. sR gewonnen hat.
• Es wird die Folge s∗L (sj )s∗R zurückgeliefert.
Die Konstruktion der Folge in (3.8) geschieht durch lineares Analysieren der Folge und durch
Vergleichen jedes Elementes mit sj . Die technischen Einzelheiten sind hier belanglos. So wird
z.B. die Folge s = (6, 10, 4, 3, 4, 14, 1, 4, 7) bei der Wahl von s3 = 4 in die Teile sL = (3, 4, 1, 4)
und sR = (6, 10, 14, 7) gesplittet. Entscheidend sind nun die Fragen, ob dieser rekursiv definierte Algorithmus terminiert und ob er auch immer eine aufsteigend sortierte Folge liefert.
Man kann dies mit dem Prinzip der starken Induktion beantworten. In Satz 3.3 wählt man
n0 = 0.
Induktionsanfang: Es sei n = 0. Dann ist s die leere Folge und gemäß der obigen Beschreibung des Algorithmus wird die leere Folge zurückgeliefert. Der Algorithmus terminiert
also und das Ergebnis ist auch sortiert.
Induktionsvoraussetzung: Es sei k > 0. Es wird nun vorausgesetzt, daß der Quicksort
- Algorithmus für jede Folgenlänge j − 1 mit 0 < j ≤ k terminiert und eine aufsteigend
sortierte Folge liefert.
Induktionsschluß: Es sei s eine Folge der Länge k. Da das hieraus beliebig ausgewählte
Element sj weder in sL noch in sR vorkommt, sind sL und sR jeweils Folgen mit Längen
j − 1, wobei 0 ≤ j − 1 < k. Nach der Induktionsvoraussetzung terminiert der Algorithmus
für jede dieser Folgen und liefert aufsteigend sortierte Folgen s∗L und s∗R . Dann ist auch die
Folge s∗L (sj )s∗R (nach Konstruktion) aufsteigend sortiert und der Algorithmus ist beendet.
1
Im Gegensatz zur Definition 2.7 sind hier die Folgenelemente von 1 bis n und nicht von 0 bis n − 1
durchnummeriert.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
56
Es ist notwendig, auf einige formale Varianten bei der Anwendung der Induktionsprinzipien hinzuweisen, die man oft in der Literatur findet. Beim einfachen und erweiterten Induktionsprinzip wird häufig bei der Formulierung der Induktionsvoraussetzung und bei der
Durchführung des Induktionsschritts dieselbe Variable verwendet, die in der zu beweisenden
Aussage A(n) vorkommt. Etwa beim Prinzip der einfachen Induktion (Satz 3.1) sieht das
dann folgendermaßen aus:
Es sei A(n) eine Aussage über natürliche Zahlen. Wenn gilt:
1.) A(0) ist wahr;
2.) ∀ n > 0 : A(n − 1) ist wahr =⇒ A(n) ist wahr ,
so ist A(n) wahr für alle n ∈ N.
Für jemanden, der im Umgang mit der Induktion sattelfest ist, ist diese etwas zweifelhafte
Doppelverwendung der Variable n kein Problem. Der Anfänger sollte das jedoch vermeiden
und wie in Satz 3.1 eine andere Variable im Induktionsschritt verwenden.
Eine weitere formale Variante beim Induktionsprinzip betrifft ebenfalls den Induktionsschritt. Es ist offensichtlich bei der einfachen Induktion formal dasselbe, wenn man beim
Induktionsschritt statt von A(k − 1) auf A(k) zu schließen die Implikation von A(k) auf
A(k + 1) durchführt. Nur muß dies jetzt für alle k ≥ 0 gelingen (und nicht nur für alle
k > 0), damit mit dem kleinsten Wert k = 0 in der Induktionsvoraussetzung A(k) der Anschluß an die Induktionsvoraussetzung A(0) gelingt. Ganz allgemein ist also beim erweiterten
Induktionsprinzip die folgende Variante möglich:
Es sei A(n) eine Aussage über natürliche Zahlen. Wenn es eine Zahl n0 ∈ N gibt,
so daß gilt:
1.) A(n0 ) ist wahr;
2.) ∃ a ∈ Z : ∀ k ≥ n0 − a : A(k + a) ist wahr =⇒ A(k + a + 1) ist wahr ,
so ist A(n) wahr für alle n ≥ n0 .
In Satz 3.2 ist a = −1 gewählt worden.
3.2 Induktiv definierte Mengen.
Wie schon in der Einleitung zu diesem Kapitel erwähnt, wird jetzt noch eine dritte Möglichkeit der Mengendefinition vorgestellt. Diese erfolgt durch Angabe der ’einfachsten Elemente’
und durch das Aufstellen von Regeln, durch die sich ’kompliziertere Elemente’ aus den bereits enthaltenen Elementen erzeugen lassen. So erhält man eine induktiv definierte Menge.
Auch hier soll das Prinzip an einem typischen Beispiel aus der Informatik erläutert werden.
Beispiel 3.3 Es wird die Menge der korrekten ganzzahligen arithmetischen Ausdrücke definiert. Der Einfachheit halber geschieht dies ohne die konkrete Angabe einer Obermenge,
in der sich alles abspielt. Die hiesige Definition ist dann etwas einfacher als in gängigen
Programmiersprachen, aber insgesamt ähnlich.
Es wird vorausgesetzt, daß eine Menge CONST von ganzzahligen Konstanten und eine Menge VAR von Variablenbezeichnern bereits definiert ist. So könnte die Menge CONST z.B.
aus allen ganzen Zahlen im Intervall von −231 bis 231 − 1 bestehen, und die Menge VAR
⊆ A∗ könnte alle Worte über einem Alphabet A = {a, b, c, . . . , z, A, B, C, . . . , Z, 0, 1, 2, . . . 9}
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
57
umfassen, wobei das erste Zeichen stets ein Buchstabe ist. Die Menge EXP aller Ausdrücke
wird dann folgendermaßen durch Basisregeln und induktive Regeln definiert:
Basisregeln:
1.
2.
Jedes Element aus CONST ist in EXP
Jedes Element aus VAR ist in EXP
3.
4.
5.
6.
7.
8.
9.
E ∈ EXP
E ∈ EXP
E ∈ EXP
E1 ∈ EXP
E1 ∈ EXP
E1 ∈ EXP
E1 ∈ EXP
Induktive Regeln:
=⇒
=⇒
=⇒
∧ E2
∧ E2
∧ E2
∧ E2
(E) ∈ EXP
+E ∈ EXP
−E ∈ EXP
∈ EXP =⇒
∈ EXP =⇒
∈ EXP =⇒
∈ EXP =⇒
(Klammerungsregel)
E1 + E2 ∈ EXP
E1 − E2 ∈ EXP
E1 ∗ E2 ∈ EXP
E1 /E2 ∈ EXP
Man darf nun nicht erwarten, daß diese Regeln die Menge der arithmetischen Ausdrücke ’in
einem Schritt’ definieren. Man könnte dann nämlich einwenden, daß man für die Anwendung
der induktiven Regeln aufgrund der Hypothesen eigentlich schon vorher wissen müßte, wie
EXP aussieht. Man muß sich aber vielmehr die Anwendung der Regeln 3. bis 9. als einen
’Schritt für Schritt’ - Prozeß vorstellen: Zuerst werden die Regeln 1. und 2. angewendet.
Damit ist diejenige Teilmenge von EXP festgelegt, die die einfachen Elemente enthält. Dann
wendet man in einem ersten Schritt auf diese erste Teilmenge die Regeln 3. bis 9. an und
erhält dadurch eine größere Teilmenge. Hierauf werden erneut die Regeln 3. bis 9. angewendet
und so entsteht eine noch größere Teilmenge, usw. Auf diese Weise konstruiert man immer
komplexere Ausdrücke. Man kann also festhalten:
Eine Zeichenkette ist genau dann ein Element von EXP, wenn sie durch eine endliche
Anzahl von Anwendungen der Regeln 1. bis 9. entstanden ist.
Es soll zur Demonstration die Zeichenkette (a+b)/25 dahingehend untersucht werden, ob sie
ein korrekter arithmetischer Ausdruck aus EXP ist. Ihre induktive Konstruktion geschieht
durch die Regeln 1. bis 9. folgendermaßen:
a)
b)
c)
d)
e)
f)
Behauptung
a ∈ EXP
b ∈ EXP
a + b ∈ EXP
(a + b) ∈ EXP
25 ∈ EXP
(a + b)/25 ∈ EXP
Begründung
Regel 2.
Regel 2.
Regel 6. und a) und b)
Regel 3. und c)
Regel 1.
Regel 9. und d) und e)
Vor dem Hintergrund dieses Beispiels wird nun eine allgemeine Beschreibung von induktiv
definierten Mengen gegeben. Diese Beschreibung wird nicht als Definition bezeichnet, weil
sie mathematisch noch zu unpräzise ist. Eine korrekte mathematische Definition würde an
dieser Stelle den Rahmen sprengen.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
58
Beschreibung induktiv definierter Mengen.
Eine induktive Definition einer Menge besteht aus einer Menge von Regeln. Man
unterscheidet zwischen Basisregeln und induktiven Regeln. Die Basisregeln bestimmen in einfacher Weise die Zugehörigkeit bestimmter Elemente zu der Menge.
Die induktiven Regeln legen fest, daß weitere Elemente in der Menge enthalten
sind, wenn gewisse andere Elemente schon in der Menge vorkommen. Da die induktiven Regeln als eine Implikation formuliert sind, nennt man die Elemente
vor dem ’=⇒’ -Zeichen die Hypothesen der Regeln und dementsprechend die Elemente nach dem ’=⇒’ -Zeichen die Folgerungen der Regeln. In der so definierten
Menge befinden sich genau die Elemente, die durch eine endliche Anzahl von
Anwendungen dieser Regeln erzeugt werden können.
Um zu zeigen, daß ein Element e in einer induktiv definierten Menge vorkommt, führt man
einen sog. ’Zeile-für-Zeile’ - Beweis durch (wie im Beispiel 3.3 für den Nachweis, daß e =
(a + b)/25 ein arithmetischer Ausdruck ist). Jede Zeile eines solchen Beweises legt entweder
für ein Element fest, daß es aufgrund einer Basisregel in S liegt, oder sie besteht aus der
Folgerung einer induktiven Regel, deren Hypothese als eine frühere Zeile in dem Beweis
vorkommt. In der letzten Zeile des Beweises steht dann als Folgerung die Aussage e ∈ S.
Der näheren Erläuterung dienen noch die folgenden Beispiele:
Beispiel 3.4 (Induktive Definition der natürlichen Zahlen)
Die Menge N der natürlichen Zahlen kann folgendermaßen definiert werden:
1.
2.
0∈N
n∈N
=⇒
n+1∈N
Dabei ist 1. eine Basisregel und 2. eine induktive Regel. Somit erweist sich N als die einfachste
induktiv definierte Menge. Allerdings kann N aber auch anders konstruiert werden:
0∈N
1∈N
n∈N ∧ n+1∈N
1.
2.
3.
=⇒
n+2∈N
Damit wird klar, daß solche Mengen auf unterschiedliche Art und Weise definiert werden
können.
In Abschnitt 2.3 wurde die Menge A∗ der Worte über einem Alphabet A als eine Menge
von endlichen Folgen über A definiert. Durch eine induktive Mengenkonstruktion bietet sich
hierfür aber auch eine alternative Möglichkeit an.
Beispiel 3.5 (Induktive Definition von Wörtern und Sprachen)
Es sei A ein Alphabet. Dann wird die Menge aller Wörter über A folgendermaßen definiert:
1.
2.
ε ∈ A∗
w ∈ A∗ ∧ x ∈ A
=⇒
wx ∈ A∗
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
59
Geht man nun einen Schritt weiter, so kann man eine sog. Sprache als Teilmenge von A∗
(=Menge der Wörter) ebenfalls induktiv definieren. Für ein besonders einfaches Alphabet
A := {a, b} wird so eine Sprache S ⊆ A∗ folgendermaßen definiert:
1.
2.
3.
4.
ε∈S
w ∈ S =⇒ awb ∈ S
w ∈ S =⇒ bwa ∈ S
w ∈ S ∧ u ∈ S =⇒ wu ∈ S
Bei dieser Konstruktion werden also nicht nur einzelne Buchstaben aus A zu Wörtern für
A∗ zusammengefügt, sondern bereits ganze Worte aus A∗ zu neuen Wörtern kombiniert.
Entweder wird ein bereits konstruiertes Wort w durch das gleichzeitige Voranstellen und
Anfügen zweier verschiedener Buchstaben zu einem neuen Wort ergänzt (Regel 2. und 3.)
oder es werden zwei bereits konstruierte Wörter zu einem neuem Wort zusammengefügt
(Regel 4.). Kommen in der Sprache S die Wörter abba und bab vor? Für das Wort abba
kann man einen Zeile-für-Zeile - Beweis angeben:
a)
b)
c)
d)
Behauptung
ε∈S
ab ∈ S
ba ∈ S
abba ∈ S
Begründung
Regel 1.
Regel 2. und a)
Regel 3. und a)
Regel 4. und b) und c)
Man wird sich vergeblich bemühen, einen solchen Beweis auch für die Behauptung bab ∈ S
zu finden. Tatsächlich kommt dieses Wort auch nicht in S vor, und das liegt daran, daß S
genau die Wörter über dem Alphabet A = {a, b} enthält, bei denen die Anzahl der a’s gleich
der Anzahl der b’s ist. Um diese Aussage auch präzise beweisen zu können, benötigen wir
ein noch allgemeineres Beweisprinzip, das speziell auf Aussagen von Elementen in induktiv
definierten Mengen anwendbar ist. Mit diesem Beweisprinzip befassen wir uns im nächsten
Abschnitt.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
60
3.3 Strukturelle Induktion.
Da das Prinzip der strukturellen Induktion einerseits alle bisher eingeführten Induktionsprinzipien verallgemeinert und andererseits in der Informatik eines der wichtigsten Prinzipien
ist, wird es hier in einem eigenen Abschnitt vorgestellt. Es handelt sich bei der strukturellen Induktion um ein Beweisprinzip zum Prüfen von Aussagen über Elemente in induktiv
definierten Mengen. Es wird zunächst das Beweisprinzip eingeführt und anschließend durch
Anwendungen erläutert.
Satz 3.4 (Prinzip der strukturellen Induktion)
Es sei S eine induktiv definierte Menge und A(x) eine Aussage über Elemente x ∈ S. Die
beiden folgenden Bedingungen seien erfüllt:
1.) Für alle Basisregeln R in der Definition von S gelte:
Ist x aufgrund einer Regel R in der Menge S, so ist A(x) wahr.
2.)
Für alle induktiven Regeln R in der Definition von S gelte:
Wenn die Aussage A(x) für jedes x, das in der Hypothese einer Regel R vorkommt, wahr
ist, so ist die Aussage A(y) wahr für das y, das aufgrund der Regel R als Folgerung in S
liegt.
Dann ist die Aussage A(x) für alle x ∈ S wahr.
Man kann die Voraussetzung 2. in diesem Satz so deuten, daß sich die Implikation in einer
induktiven Regel (x1 , x2 , . . . , xn ∈ S =⇒ y ∈ S) auf eine Implikation zwischen Aussagen
überträgt:
A(x1 ) wahr ∧ A(x2 ) wahr ∧ . . . ∧ A(xn ) wahr
=⇒
A(y) wahr .
Beweis: Es sei x ∈ S. Es muß nun gezeigt werden, daß A(x) wahr ist, wenn die Voraussetzungen 1. und 2. im Satz erfüllt sind. Hierzu greifen wir auf den Zeile-für-Zeile - Beweis
zurück, der wegen x ∈ S die Zugehörigkeit von x zu S durch die induktive Definition von S
belegt. Dieser Zeile-für-Zeile - Beweis wird als eine endliche Folge (x0 , x1 , . . . , xm ) interpretiert, wobei xm = x ist und jedes der anderen xi entweder aufgrund einer Basisregel oder
aufgrund einer induktiven Regel in S liegt. Für das Wort abba aus Beispiel 3.5 etwa lautet
diese Folge (x0 , x1 , x2 , x3 ) = (ε, ab, ba, abba). Liegt ein xi aufgund einer induktiven Regel in
S, so gibt es wenigstens ein j < i, so daß xj in der Hypothese der induktiven Regel für xi
vorkommt. Bei abba etwa findet man x0 in der Hypothese zu x1 und in der Hypothese zu
x2 , während x1 und x2 in der Hypothese zu x3 vorkommen. Mit Hilfe des starken Induktionsprinzips aus Satz 3.3 wird nun gezeigt, daß die Aussage A(xk ) für alle k = 0, 1, 2, . . . , m
wahr ist.
Der Induktionsanfang ist für i = 0. Da x0 nur aufgrund einer Basisregel in S liegen kann,
erzwingt die Voraussetzung 1. die Gültigkeit von A(x0 ). Als Induktionsvoraussetzung beim
starken Induktionsprinzip wird nun für eine natürliche Zahl k ≤ m angenommen, daß die
Aussagen A(xi ) für alle i = 0, 1, 2, . . . , k − 1 wahr sind (bzw. daß A(xi−1 ) wahr ist für
i = 1, 2, . . . , k). Es müssen nun zwei Fälle unterschieden werden. Gilt xk ∈ S aufgrund einer
Basisregel, so ist wieder aufgrund der Voraussetzung 1. der Wahrheitsgehalt von A(xk ) garantiert. Ist aber xk ∈ S aufgrund der Folgerung einer induktiven Regel R, so gibt es gewisse
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
61
xi mit i ∈ {0, 1, 2, . . . , k − 1}, die alle in der Hypothese der Regel R vorkommen. Auf diese
Situation ist nun die Induktionsvoraussetzung des starken Induktionsprinzips anwendbar: für
alle diese i sind die Aussagen A(xi ) wahr. Daher sind in der Voraussetzung 2. des Satzes die
Bedingungen erfüllt, und da xk aufgrund der Regel R durch diese xi in S ist, ist die Aussage
A(xk ) wahr. Damit ist der Induktionsschritt beim starken Induktionsprinzip vollzogen und
es wurde gezeigt, daß die Aussagen A(xi ) für alle i = 0, 1, 2, . . . , m wahr sind. Insbesondere
ist die Aussage A(xm ) = A(x) wahr. Da x ∈ S beliebig gewählt war, ist der Satzes bewiesen.
Es ist nun leicht einzusehen, daß dieses Beweisprinzip stärker als die zuvor eingeführten Induktionsprinzipien ist. Im wesentlichen liegt das daran, daß die natürlichen Zahlen N eine
spezielle induktiv definierte Menge sind (vgl. Beispiel 3.4). Man wähle also speziell S = N.
Dann reduziert sich die Voraussetzung 1. in Satz 3.4 auf die Aussage
A(0) ist wahr.
In Beispiel 3.4 gibt es nur eine induktive Regel, und in deren Hypothese kommt nur das
Element n vor. Die Folgerung dieser Regel ist n + 1 ∈ N. Aus der Voraussetzung 2. in Satz
3.4 wird also die Aussage
A(n) ist wahr
=⇒
A(n + 1) ist wahr .
Die Folgerung aus den beiden Voraussetzungen in Satz 3.4 besteht dann darin, daß A(x)
für alle x ∈ N wahr ist, und das ist genau die Aussage von Satz 3.1. Damit erweist sich
das Prinzip der strukturellen Induktion stärker als das der einfachen Induktion. Auch das
erweiterte Induktionsprinzip (Satz 3.2) und das starke Induktionsprinzip (Satz 3.3) können
als Spezialfälle des Prinzips der strukturellen Induktion angesehen werden. Man definiere
dafür induktiv die folgenden Mengen S1 bzw. S2 für S in Satz 3.4. Für das erweiterte Induktionsprinzip wähle die Regeln
n0 ∈ S1
n ∈ S1
=⇒
n + 1 ∈ S1 ,
für das starke Induktionsprinzip hingegen
0 ∈ S2
0 ∈ S2 ∧ 1 ∈ S2 ∧ . . . ∧ n ∈ S2
=⇒
n + 1 ∈ S2 .
Auf S = S1 bzw. S = S2 wende man nun Satz 3.4 an.
Es wird nun eine typische Anwendung der strukturellen Induktion vorgestellt. In Beispiel
3.5 am Schluß des vorigen Abschnitts wurde eine Sprache S konstruiert, von der behauptet
wurde, daß alle ihre Wörter stets die gleiche Anzahl an Buchstaben a und b enthalten. Für
die Menge
T := { w | w ∈ {a, b}∗ ∧ Die Anzahl der a’s in w ist gleich der Anzahl der b’s in w }
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
62
wird also
S = T
(3.9)
behauptet. Zum Beweis dieser Mengengleichheit werden die beiden Inklusionen S ⊆ T und
T ⊆ S gezeigt. Für die erste Inklusion S ⊆ T wird die strukturelle Induktion verwendet.
Es sind jetzt in Satz 3.4 die beiden Voraussetzungen 1. und 2. nachzuweisen. Es gibt nur
eine Basisregel, nämlich ε ∈ S, und ε enthält genauso viele a’s wie b’s, nämlich keine. Zur
Überprüfung der Voraussetzung 2. muß für alle drei induktiven Regeln R folgendes nachgewiesen werden: Werden alle Elemente, die in der Hypothese einer Regel R vorkommen, als zu
T gehörig angenommen, so liegt auch das aufgrund der Regel R in S konstruierte Element
schon in T . Dies gilt offensichtlich für Regel 2, denn hier kommen zu w ∈ T je ein a und
ein b hinzu. Die Anzahl der a’s und b’s wird dabei jeweils um 1 erhöht, so daß nach wie vor
die Anzahl der a’s gleich der Anzahl der b’s ist. Das gleiche gilt auch für Regel 3. In Regel 4
werden zwei Worte w und u konkateniert. Hatten beide Worte jeweils die gleiche Anzahl von
a’s und b’s, so gilt dies dann auch für das Wort wu. Somit ist Satz 3.4 anwendbar, woraus
sich hier die gleiche Anzahl von a’s und b’s in jedem Wort von S ergibt. Das bedeutet aber
S ⊆ T.
Für den Nachweis der Inklusion T ⊆ S genügt die Anwendung des starken Induktionsprinzips. Die Details werden dem Leser als Übungsaufgabe empfohlen.
3.4 Rekursiv definierte Funktionen.
Eine der gängigen Methoden zur Definition einer mathematischen Funktion besteht darin,
explizit eine ’Formel’ oder eine ’Rechenvorschrift’ anzugeben. Man führt so beispielsweise
die Funktionen
√
f (x) = 1 + x2 oder g(x) = x3 + 4x2 − 8x + 1
ein. Allgemein schreibt man also f (x) = . . ., wobei anstelle der Punkte ein Term steht, in
dem x enthalten ist. Gelegentlich werden Funktionen auf den natürlichen Zahlen N aber
auch als sog. Zählfunktionen eingeführt. So gibt die Funktion
X
f (n) = |{ p | p ≤ n ∧ p ist Primzahl }| =
1
p∈P
p≤n
zu jeder natürlichen Zahl n die Anzahl der Primzahlen im Intervall [0; n] an. In der Zahlentheorie wird diese Funktion mit π(n) (anstelle von f (n)) bezeichnet. Funktionen f : A → B
wurden in Definition 2.4 als spezielle Relationen eingeführt. Funktionen kann man daher
auch als gewisse Teilmengen von A × B auffassen und entsprechend beschreiben. So stellt
z.B.
f = { (0, 0), (1, 1), (2, 4), (3, 9), (4, 16), . . . }
die Funktion f (n) = n2 mit Dom (f ) = N dar. Aber unabhängig von der Art der Beschreibung einer Funktion kamen bisher bei der Definition (also auf der rechten Seite des
Gleichheitszeichens) immer bereits bekannte Größen vor, deren Bedeutung von vorneherein
klar ist.
Manchmal erscheint aber f wieder als Teil der Definition rechts vom Gleichheitszeichen. Solche Definitionen scheinen vordergründig betrachtet unsinnig zu sein, denn um die Funktion f
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
63
zu verstehen, muß man die Definitionsvorschrift für f rechts vom Gleichheitszeichen verstehen. In dieser kommt aber wieder f vor, also muß man f eigentlich vorher schon verstanden
haben. Das scheint nicht möglich zu sein. Allerdings sind solche Definitionen nicht immer
unsinnig, sondern in manchen Fällen sogar viel kürzer als eine explizite Formel (falls es für
die Funktion f eine solche explizite Darstellung durch einen geschlossenen Term überhaupt
gibt). In der Tat kann man leicht unsinnige Definitionen konstruieren, wo f links und rechts
vom Gleichheitszeichen vorkommt und wodurch entweder keine Funktion beschrieben wird
oder sogar mehrere Funktionen gleichzeitig festgelegt werden. Letzteres ist natürlich auch
unerwünscht. In diesem Abschnitt soll geklärt werden, unter welchen Bedingungen durch
eine solche Art der Festlegung genau eine Funktion definiert wird. Zur Einführung in diese
Problematik werden einige Beispiele rekursiv definierter Funktionen vorgeführt.
1.) Die Fakultätsfunktion f acult : N → N kann durch
f acult (0)
f acult (n)
= 1
= n · f acult (n − 1)
für n ≥ 1
definiert werden. Statt f acult (n) schreibt man in der Mathematik üblicherweise n!. Eine
nicht rekursive Definition (also die explizite Angabe einer Rechenvorschrift) für die Fakultätsfunktion lautet
f acult (n) = 1 · 2 · 3 · · · · · n .
In vielen Anwendungen der Informatik erweist sich allerdings die rekursive Definition der
Fakultätsfunktion als nützlicher.
2.) Eine andere Definition einer rekursiven Funktion f : N → N ist
f (n) = f (n) .
Diese Vorschrift ist unsinnig, denn jede Funktion erfüllt diese Gleichung. Ebenso unsinnig
ist auch die Festlegung
f (n) = f (n) + 1 ,
denn keine Funktion erfüllt diese Gleichung. Auf den ersten Blick scheint auch die Definition
f (n) = 2 · f (n)
unsinnig zu sein, doch ist hierdurch überraschenderweise genau eine Funktion festgelegt,
nämlich die konstante Funktion f (n) = 0 (die sog. Nullfunktion).
Untersucht man noch einmal die rekursive Definition der Fakultätsfunktion genauer, so wird
ein Zusammenhang zwischen induktiv definierten Mengen und rekursiv definierten Funktionen klar. Denn konkrete Werte für f acult (also lediglich der Funktionswert für 0) sind genau
auf solchen Elementen natürlicher Zahlen definiert, die in Beispiel 3.4 durch eine Basisregel
als natürliche Zahl definiert werden. Werte, die durch eine rekursive Berechnung (also durch
wiederholte Anwendung von f acult auf kleinere Werte) bestimmt werden müssen, sind genau
diejenigen Zahlen, die im obigen Beispiel durch induktive Regeln in den natürlichen Zahlen
N vorkommen. Zu diesem Sachverhalt gibt es noch ein weiteres bekanntes Beispiel.
Beispiel 3.6 (Die Fibonacci - Zahlen)
Die Fibonacci - Zahlen werden durch die folgende Funktion

 0
1
f ib (n) =

f ib (n − 1) + f ib (n − 2)
f ib : N → N definiert:
für
für
für
n=0
n=1
n≥2
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
64
Hierbei wird eine weitere induktive Definition von N verwendet. Die Definition der Fibonacci
- Zahlen ist sinnvoll, denn man kann f ib (n) für jede natürliche Zahl n ausrechnen, indem
man alle vorausgegangenen Werte f ib (0) = 0 , f ib (1) = 1 , f ib (2) = 1 , . . . , f ib (n − 1)
bestimmt und anschließend die letzten beiden davon addiert. Für die Fibonacci - Zahlen ist
auch die Schreibweise F0 = 0, F1 = 1 sowie Fn = Fn−1 + Fn−2 für n ≥ 2 gebräuchlich. Die
ersten Fibonacci - Zahlen lauten:
n 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Fn 0 1 1 2 3 5 8 13 21 34 55 89 144 233
Es gibt auch eine explizite Formel zur Berechnung der Fibonacci - Zahlen:
√ n !
√ n 1
1− 5
1+ 5
Fn = √ ·
−
(n ≥ 0) .
2
2
5
Es wird nun eine allgemeine Beschreibung für die rekursive Definition einer Funktion gegeben, wenn der Definitionsbereich der Funktion selbst rekursiv bestimmt ist.
Definition 3.1 Es sei S eine induktiv definierte Menge und T eine weitere beliebige Menge.
Unter der rekursiven Definition einer Funktion f : S → T aufgrund der induktiven Definition von S versteht man die Festlegung der Funktion f nach dem folgenden Schema:
1.) Es existiert eine bereits bekannte Funktion h, so daß f (y) für jedes Element y, das aufgrund einer Basisregel in S vorkommt, durch f (y) = h(y) berechnet wird.
2.) Zu jeder induktiven Regel von S , in deren Hypothese m Elemente x0 , x1 , . . . , xm−1 vorkommen, existiert eine vollständig bekannte Funktion h : S × T m → T mit
f (y) = h(y, f (x0 ), f (x1 ), . . . , f (xm−1 )) .
(3.10)
Das Bild von y unter f bei jedem Element y, das aufgrund dieser induktiven Regel in S
vorkommt, wird dann mittels (3.10) bestimmt.
Bei der Fakultätsfunktion f acult : N → N greift man auf die erste rekursive Definition von
N in Beispiel 3.4 zu. Zur (einzigen) induktiven Regel, nämlich n − 1 ∈ N =⇒ n ∈ N, gehört
dann die Funktion h : N × N → N mit h(m1 , m2 ) = m1 m2 . Gemäß (3.10) (mit m = 1 und
x0 = y − 1) ist dann
f acult (y) = h(y, f acult (y − 1)) = y · f acult (y − 1) .
Bei der rekursiven Definition der Fibonacci - Zahlen f ib : N → N greift man auf die folgende
rekursive Definition von N zu:
0∈N,
1∈N,
( n − 2 ∈ N ∧ n − 1 ∈ N =⇒ n ∈ N ) .
Zu der (einzigen) induktiven Regel gehört dann die Funktion h : N × N × N → N mit
h(m1 , m2 , m3 ) = m2 + m3 . Bemerkenswert ist hierbei, daß die Funktion h von ihrem ersten
Argument m1 nicht explizit abhängt. In (3.10) wähle man nun m = 2, x0 = y − 1 und
x1 = y − 2. Dann kommt:
f ib (y) = h(y, f ib (y − 1), f ib (y − 2)) = f ib (y − 1) + f ib (y − 2) .
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
65
In den bisherigen Beispielen kamen nur rekursiv definierte Funktionen auf den natürlichen
Zahlen vor. In der Informatik hat man es jedoch auch mit anderen induktiv definierten
Mengen zu tun, über denen Funktionen definiert werden. Ein typisches Beispiel hierfür ist
die induktiv definierte Menge EXP aller arithmetischen Ausdrücke aus Beispiel 3.3. Über
EXP soll nun eine Funktion EV AL rekursiv definiert werden, die die Ausdrücke numerisch
auswertet. Sie soll also z.B. EV AL (3+7) = 10 liefern oder auch EV AL (2·x) = 22 ausgeben,
falls die Variable x mit dem Wert 11 belegt ist. Für das letzte Beispiel muß auf der Menge
V AR der Variablen in EXP bereits eine Funktion M EM angenommen werden, die für jedes
x ∈ V ar denjenigen Wert liefert, der unter der Adresse x gespeichert ist.
Beispiel 3.7 (Rekursive Definition einer Auswertefunktion)
Auf der Menge EXP der arithmetischen Ausdrücke wird eine Auswertefunktion EV AL folgendermaßen im Sinne von Definition 3.1 rekursiv definiert. Hierbei seien E, E1 , E2 ∈ EXP .
Den beiden Basisregeln für EXP entsprechen die beiden Festlegungen
1.
2.
EV AL (c) = c
EV AL (x) = M EM (x)
für alle c ∈ CON ST
für alle x ∈ V AR
Zu den sieben induktiven Regeln für EXP kommen die folgenden Festlegungen
3.
4.
5.
6.
7.
8.
9.
EV AL ((E))
= EV AL (E)
EV AL (+E)
= EV AL (E)
EV AL (−E)
= −EV AL (E)
EV AL (E1 + E2 ) = EV AL (E1 ) + EV AL (E2 )
EV AL (E1 − E2 ) = EV AL (E1 ) − EV AL (E2 )
EV AL (E1 ∗ E2 ) = EV AL (E1 ) ∗ EV AL (E2 )
EV AL (E1 /E2 )
= EV AL (E1 )/EV AL (E2 )
Auf die Problematik undefinierter Werte soll hier nicht eingegangen werden. Diese Probleme
treten z.B. bei der Division mit Null auf, also wenn in Regel 9 der Fall EV AL (E2 ) = 0
eintritt.
Viel bedeutsamer ist die Frage, wie nun mit Hilfe dieser Regeln konkrete Ausdrücke ausgewertet werden. Beispielsweise soll der Ausdruck 2 ∗ 3 + 4 ausgewertet werden. Dies kann
folgendermaßen geschehen:
EV AL (2 ∗ 3 + 4) = (Regel 6) EV AL (2 ∗ 3) + EV AL (4)
= (Regel 8) (EV AL (2) ∗ EV AL (3)) + EV AL (4) = (Regel 1) (2 ∗ 3) + 4 = 10 .
Aber auch eine andere Auswertung ist möglich:
EV AL (2 ∗ 3 + 4) = (Regel 8) EV AL (2) ∗ EV AL (3 + 4)
= (Regel 6) EV AL (2) ∗ (EV AL (3) + EV AL (4)) = (Regel 1) 2 ∗ (3 + 4) = 14 .
In dieses Dilemma sind wir geraten, weil es keine Vorschriften über die Auswertereihenfolge
gibt. Offensichtlich ist die Funktion EV AL durch die obigen Festlegungen nicht eindeutig
definiert! Oder anders ausgedrückt:
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
66
Es gibt mehrere Funktionen, die die rekursive Definition aus Beispiel 3.7 erfüllen.
Um diesen unerwünschten Effekt zu beseitigen, benötigt man ein Kriterium, durch das
gewährleistet ist, daß rekursiv auf induktiven Mengen definierte Funktionen eindeutig sind.
Im Beispiel der Auswertefunktion EV AL ist weniger die Definition von EV AL selbst Schuld
an ihrer Mehrdeutigkeit, sondern vielmehr die Definition der Menge EXP (in Beispiel 3.3).
Es gibt nämlich Elemente in EXP , die ihre Zugehörigkeit zu EXP durch mehrere Sequenzen von Regelanwendungen begründen können. Auch der Ausdruck 2 ∗ 3 + 4 gehört dazu.
Für diesen Term gibt es zwei verschiedene Zeile-für-Zeile - Beweise:
a)
b)
c)
d)
e)
Behauptung
2 ∈ EXP
3 ∈ EXP
4 ∈ EXP
2 ∗ 3 ∈ EXP
2 ∗ 3 + 4 ∈ EXP
Begründung
Regel 1.
Regel 1.
Regel 1.
Regel 8. und a) und b)
Regel 6. und c) und d)
a)
b)
c)
d)
e)
Behauptung
2 ∈ EXP
3 ∈ EXP
4 ∈ EXP
3 + 4 ∈ EXP
2 ∗ 3 + 4 ∈ EXP
Begründung
Regel 1.
Regel 1.
Regel 1.
Regel 6. und b) und c)
Regel 8. und a) und d)
und
Definition 3.2 (Die Bedingung der eindeutigen Lesbarkeit)
Eine induktiv definierte Menge S erfüllt die Bedingung der eindeutigen Lesbarkeit, wenn folgendes gilt:
1.
d.h. 2.
Für jedes Element x ∈ S gibt es genau eine Regel, die x ∈ S begründet.
Wenn ein Element aufgrund einer induktiven Regel in S ist, so gibt es genau
einen Zeile-für-Zeile - Beweis dafür.
Diese Bedingung der eindeutigen Lesbarkeit betrifft allerdings nur die Definition einer Menge, aber nicht die Menge selbst. So kann es durchaus sein, daß für eine Menge S eine Definition existiert, die die Bedingung der eindeutigen Lesbarkeit aus Definition 3.2 erfüllt, aber
es kann auch eine weitere Definition für S geben, die sie nicht erfüllt. Ein einfaches Beispiel
für diese Nichteindeutigkeit der Definition einer Menge kann man schon für die natürlichen
Zahlen N angeben:
1. 0 ∈ N
2. 1 ∈ N
3. n ∈ N =⇒ n + 1 ∈ N
Diese Definition erfüllt nun die Bedingung der eindeutigen Lesbarkeit im Gegensatz zu den
Definitionen von N im Beispiel 3.4 nicht mehr, denn die Zahl 1 gelangt nach N entweder
allein durch die zweite Regel oder durch die Anwendung der ersten Regel gefolgt von der
dritten Regel.
Die Bedeutung der Bedingung der eindeutigen Lesbarkeit bei der rekursiven Definition von
Funktionen wird durch den folgenden Satz ersichtlich, der ohne Beweis angeführt wird.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
67
Satz 3.5 Es sei S eine induktiv definierte Menge, für die eine induktive Definition existiert,
die die Bedingung der eindeutigen Lesbarkeit erfüllt. Dann stellt jede rekursive Funktionsdefinition auf Basis dieser induktiven Definition eine eindeutige Funktion dar.
Offensichtlich ist die Definition der Menge EXP der arithmetischen Ausdrücke in Beispiel 3.3
nicht eindeutig lesbar, denn anderenfalls wäre die Definition der Auswertefunktion EV AL
in Beispiel 3.7 eindeutig gewesen. Die eindeutige Lesbarkeit wird nämlich durch den Term
2 ∗ 3 + 4 verletzt. Dieser Term kann nämlich sowohl durch Regel 6 als auch durch Regel 8
erzeugt werden (man beachte jeweils die letzte Zeile e) in den obigen Tabellen!), wodurch
die eindeutige Lesbarkeit nicht mehr gegeben ist. Terme der Form 3 + 4 + 5 verstoßen gegen
die Bedingungen in Definition 3.2, denn der Ausdruck kann einerseits durch Anwendung der
Additions - Regel 6. in Beispiel 3.3 auf 2 + 3 und 4 in EXP erzeugt werden, andererseits
aber auch durch die Anwendung derselben Regel auf 2 und 3 + 4.
Jedoch ist jede rekursive Funktion, die auf Basis einer (eindeutig lesbaren) Definition von N
erklärt ist, eindeutig. Das gilt so insbesondere für die Funktionen f acult und f ib. Letztere
basiert auf der eindeutig lesbaren Definition
0∈N,
1∈N,
( n − 2 ∈ N ∧ n − 1 ∈ N =⇒ n ∈ N )
von N.
Abschließend werden noch drei Beispiele für eindeutig definierte rekursive Funktionen angeführt, die auf der Basis von eindeutig lesbaren Definitionen aus den Beispielen 3.4 und 3.5
erklärt sind.
Beispiel 3.8 (Eindeutig definierte rekursive Funktionen)
1.) Addition einer Zahl a ∈ N: Die Funktion adda : N → N ist definiert durch
adda (0)
=
adda (n + 1) =
a,
S(adda (n)) .
Hierbei bezeichnet S die sog. Nachfolgerfunktion S(m) = m + 1.
2.) Länge eines Wortes: Die Funktion |.| : A∗ → N ist definiert durch
0
falls v = ε
|v| =
|w| + 1 falls v = wx mit w ∈ A∗ ∧ x ∈ A
3.) Die Konkatenation concatu eines Wortes u ∈ A∗ mit einem beliebigen anderen Wort aus
A∗ : Die Funktion concatu : A∗ → A∗ ist definiert durch
u
falls v = ε
concatu (v) =
(concatu (w))x falls v = wx mit w ∈ A∗ ∧ x ∈ A
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
68
4 Ordnungen
In diesem letzten Kapitel soll nun eine weitere Klasse von Relationen untersucht werden. In
Abschnitt 2.4 wurden Relationen betrachtet, bei denen Mengen partitioniert wurden. Jetzt
geht es darum, die Elemente von Mengen mit Hilfe von Relationen zu ordnen. Es liegt auf
der Hand, daß es hierfür zahlreiche Anwendungen gibt. So sind die natürlichen Zahlen mittels der Vergleichsoperation ’≤’ geordnet, Buchstaben sind nach dem Alphabet geordnet,
Zeichenketten werden lexikographisch geordnet, usw. Andere wichtige Anwendungsmöglichkeiten von Ordnungsrelationen ergeben sich auch in der Programmierung.
4.1 Partielle und totale Ordnungen.
Der wesentliche Begriff dieses Kapitels wird in der folgenden Definition festgelegt.
Definition 4.1 (Partielle Ordnung)
Eine partielle Ordnung auf einer Menge A ist eine Relation R ⊆ A × A, die reflexiv, antisymmetrisch und transitiv ist. Dabei heißt eine Relation R antisymmetrisch, falls gilt:
(a, b) ∈ R ∧ (b, a) ∈ R
=⇒ a = b .
Das Paar (A, R) wird eine partiell geordnete Menge genannt.
Beispiel 4.1 Es sei S eine Menge. A = ℘(S) bezeichne die Potenzmenge von S. Auf A wird
die folgende Relation definiert:
(X, Y ) ∈ R
⇐⇒
X⊆Y .
Diese Teilmengenrelation ist eine partielle Ordnung, denn sie ist reflexiv (weil stets X ⊆ X
gilt), antisymmetrisch (denn aus X ⊆ Y ∧ Y ⊆ X folgt X = Y ) und transitiv (denn aus
X ⊆ Y ∧ Y ⊆ Z folgt X ⊆ Z - siehe auch Satz 1.5).
Die in diesem Beispiel angeführte Teilmengenrelation ist eine der wichtigsten partiellen Ordnungen. Weitere wichtige partielle Ordnungen sind die Teilerrelation und die Relation ’≤’ auf
den natürlichen Zahlen sowie die sog. Vererbungsrelation in der objektorientierten SoftwareEntwicklung. Im folgenden Beispiel wird die Menge aller partiellen Funktionen partiell geordnet.
Beispiel 4.2 Es bezeichne S die Menge aller partiellen Funktionen von A nach B. Dann
wird definiert:
f v g ⇐⇒
Dom (f ) ⊆ Dom (g) ∧
∀ x ∈ Dom (f ) : f (x) = g(x)
.
In Worten: Es ist f v g, wenn der Definitionsbereich von f vollständig von dem Definitionsbereich von g umfaßt wird und wenn auf dem Definitionsbereich von f die Funktionen f
und g auch übereinstimmen. Da partielle Funktionen als Teilmengen von A × B angesehen
werden können, kann man leicht nachweisen, daß die hier definierte Relation gleichbedeutend ist mit der Teilmengenrelation auf A × B (und damit auf den partiellen Funktionen).
Folglich ist (A
B, v) eine partiell geordnete Menge.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
69
Mit den sog. Hasse-Diagrammen werden partielle Ordnungen graphisch dargestellt. In einem
Hasse-Diagramm kommen alle Elemente aus A vor. Wenn nun R eine partielle Ordnung auf A
ist, so wird im Falle a 6= b und (a, b) ∈ R das a unter b gezeichnet und beide Elemente werden
durch eine Linie verbunden. Ist (a, b) 6∈ R, so fehlt die Verbindungslinie. Beispielsweise
betrachte man auf der Menge
M = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
(4.1)
die Teilerrelation δM (vgl. Beispiel 2.4):
δM = {(a, b) ∈ M × M | a ist ein Teiler von b} .
(4.2)
Im zugehörigen Hasse-Diagramm steht die 1 zuunterst, die Primzahlen 2,3,5,7,11 stehen
darüber, die Zahlen 4,6,9,10 (mit je genau zwei Primteilern) folgen in der darüberliegenden
Zeile, und in der obersten Zeile stehen die Zahlen mit 3 Primteilern: 8 und 12.
In einer partiell geordneten Menge sind im allgemeinen nicht alle Elemente miteinander vergleichbar; d.h. nicht für jedes Paar von Elementen a, b ist entweder (a, b) ∈ R oder (b, a) ∈ R
garantiert. Beispielsweise ist bezüglich der Teilerrelation nicht jedes beliebige Paar (m, n)
von natürlichen Zahlen vergleichbar, denn es kann vorkommen, daß m weder ein Teiler von
n ist noch umgekehrt. Dies gilt z.B. für die Paare 2, 3 und 24, 25. Andere partiell geordnete
Mengen sind jedoch durch die Eigenschaft ausgezeichnet, daß je zwei Elemente in Relation
zueinander stehen, wie z.B. in (N, ≤). Hier kann man nämlich für zwei Zahlen immer entscheiden, daß die eine kleiner als die andere ist (oder umgekehrt). Das motiviert die folgende
Definition.
Definition 4.2 (Totale Ordnung, Kette)
Eine partiell geordnete Menge (M, R) heißt eine totale Ordnung, wenn neben den Eigenschaften der partiellen Ordnung zusätzlich gilt:
∀ (a, b) ∈ M × M : (a, b) ∈ R ∨ (b, a) ∈ R .
Solche Mengen (M, R) werden auch als Kette bezeichnet.
Ein typisches Beispiel für eine totale Ordnung ist die lexikographische Ordnung auf Zeichenketten. Nur wegen der totalen Ordnung auf den Zeichenketten ist es möglich, Telefonbücher
anzulegen und darin schnell einen gesuchten Namen zu finden. In der Programmiersprache
Java gibt es den Datentyp Comparable 1 , den jeder Typ besitzen sollte, auf dessen Elementen eine totale Ordnung existiert. Wenn man beispielsweise ein Alphabet A voraussetzt, das
selbst schon total geordnet ist (etwa durch eine ASCII-Codierung), so ist es leicht, diese
Ordnung auf die Menge A∗ der Wörter zu übertragen. Zu diesem Zweck wird die Ordnung
auf dem Alphabet A mit ≤ bezeichnet. Nun seien
v1 = xw1 ,
v2 = yw2
für w1 , w2 ∈ A∗ , x, y ∈ A
zwei Elemente aus A∗ . Nun wird die Relation ’’ auf A∗ definiert, indem für den Vergleich
von v1 und v2 miteinander auf die eben angeführte Gestalt zurückgegriffen wird:
1
Comparable = vergleichbar
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
70
Es ist v1 v2 genau dann, wenn . . .
• v1 = ε , oder
• x≤y
• x = y
∧
∧
x 6= y , oder
w1 w2 .
Die erste Bedingung besagt, daß das leere Wort vor jedem anderen Wort eingeordnet wird.
Diese lexikographische Ordnung ist ein weiteres Beispiel dafür, wie man von der rekursiven
Definition der Wörter A∗ Gebrauch macht (vgl. Beispiel 3.5).
4.2 Spezielle Elemente partiell geordneter Mengen.
Im vorigen Abschnitt wurde ein Ordnungsprinzip für Mengen eingeführt, das es erlaubt,
gewisse Elemente als kleiner oder größer als andere Elemente (im Sinne der Ordnungsrelation) anzusehen. In den folgenden Definitionen werden gewisse Elemente aufgrund der
Ordnungsrelation ausgezeichnet.
Definition 4.3 (Obere Schranken)
Es sei (M, R) eine partiell geordnete Menge und K eine Teilmenge von M , also K ⊆ M .
Eine obere Schranke von K ist ein Element s ∈ M , so daß gilt:
∀x ∈ K :
(x, s) ∈ R .
Die obere Schranke s liegt nicht notwendigerweise in K, ist aber mit allen Elementen aus K
vergleichbar.
Die durch die Teilerrelation aus (4.2) partiell geordnete Menge M aus (4.1) enthält die
Teilmengen K1 = {2, 3} und K2 = {2, 3, 5}. Aus dem Hasse-Diagramm für (M, δM ) entnimmt
man, daß sowohl 6 als auch 12 obere Schranken von K1 sind. Die Menge K2 hat keine oberen
Schranken, denn kein Element aus M ist simultan durch 2, 3 und 5 teilbar. An diesen
Beispielen sieht man ein, daß es mehrere Schranken oder aber auch keine obere Schranke
geben kann. Die beiden oberen Schranken 6 und 12 von K1 liegen beide selbst nicht in K1 .
Eine weitere Teilmenge von M ist K3 = {4, 8}. Hier ist 8 die einzige obere Schranke, die auch
selbst in K3 vorkommt. Solche oberen Schranken von K ⊆ M , die selbst in K liegen, heißen
größte Elemente. Entsprechend werden auch kleinste Elemente einer Menge K definiert:
Definition 4.4 (Kleinste und größte Elemente)
Es sei (M, R) eine partiell geordnete Menge und K eine Teilmenge von M , also K ⊆ M .
• Ein kleinstes Element (Minimum) ist ein Element s ∈ K, so daß (s, x) ∈ R für alle
Elemente x ∈ K gilt.
• Ein größtes Element (Maximum) ist ein Element s ∈ K, so daß (x, s) ∈ R für alle
Elemente x ∈ K gilt.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
71
Als ausgezeichnetes Beispiel betrachten wir den Spezialfall K = M einer durch die Inklusion
’⊆’ geordneten Potenzmenge ℘(M ) einer Menge M : Die partiell geordnete Menge (℘(M ), ⊆)
hat die leere Menge ∅ als kleinstes Element und die Menge M selbst als größtes Element. Das
obige Beispiel der Teilerrelation hat uns schon gezeigt, daß Mengen nicht zwingend immer
ein größtes (oder kleinstes) Element besitzen. Ein anderes Beispiel für diesen Umstand ist
die folgende Teilmenge K der rationalen Zahlen Q:
K = {x ∈ Q : 0 < x < 1} .
Als Teilmenge der partiell geordneten Menge (Q, ≤) besitzt K weder ein kleinstes noch
ein größtes Element, denn unterhalb jeder positiven rationalen Zahl existiert eine weitere
positive rationale Zahl, und ebenso gibt es oberhalb jeder rationalen Zahl < 1 noch eine
weitere rationale Zahl unterhalb 1.
Unter allen Elementen einer Menge von oberen bzw. unteren Schranken sind (im Falle ihrer
Existenz) wieder gewisse Elemente ausgezeichnet:
Definition 4.5 (Kleinste obere und größte untere Schranke)
Es sei (M, R) eine partiell geordnete Menge und K eine Teilmenge von M , also K ⊆ M .
• K besitzt eine kleinste obere Schranke (Supremum), falls die Menge
K s = {x ∈ M | x ist obere Schranke von K}
ein kleinstes Element besitzt. Falls ein solches Element existiert, wird es mit lub (K)
bezeichnet (’least upper bound’).
• K besitzt eine größte untere Schranke (Infimum), falls die Menge
Ks = {x ∈ M | x ist untere Schranke von K}
ein größtes Element besitzt. Falls ein solches Element existiert, wird es mit glb (K)
bezeichnet (’greatest lower bound’).
Weder die kleinste obere noch die größte untere Schranke von K liegt zwingend in K
selbst, kann aber in K vorkommen.
Eine Menge K kann höchstens eine kleinste obere Schranke haben (und entsprechend auch
nur höchstens eine größte untere Schranke), denn gäbe es zwei solche Elemente l1 und l2 als
kleinste obere Schranken von K, so hätte die oben definierte Menge K s eben diese Elemente l1 und l2 als kleinste Elemente. Die Definition von kleinsten Elementen (Definition 4.4)
besagt einerseits, daß l1 und l2 beide in K s enthalten sind. Andererseits gilt (l1 , x) ∈ R für
jedes x ∈ K s , speziell für x = l2 bedeutet das (l1 , l2 ) ∈ R. Ebenso ist (l2 , x) ∈ R für jedes
x ∈ K s , speziell für x = l1 also (l2 , l1 ) ∈ R. Die Antisymmetrie der Relation R erzwingt
dann l1 = l2 , womit die Eindeutigkeit der kleinsten oberen Schranke von K (im Falle ihrer
Existenz) nachgewiesen ist. Außerdem beachte man, daß alle Elemente y aus K s zu dem
kleinsten Element x0 von K s in der Relation (x0 , y) ∈ R stehen; entsprechend hat man
(y, x1 ) ∈ R für alle Elemente y ∈ Ks und für das größte Element x1 in Ks (siehe Definition
4.4).
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
72
Beispiel 4.3 Wir untersuchen die Menge (N, δN ), also die Teilerrelation auf den natürlichen
Zahlen. Für zwei beliebig gewählte natürliche Zahlen m und n mit m 6= n sollen lub (K) und
glb (K) für die Menge K = {m, n} bestimmt werden. Für glb (K) muß unter allen Zahlen x,
die sowohl Teiler von m als auch von n sind, eine größte gesucht werden. Gesucht ist also ein
größter gemeinsamer Teiler von m und n. Diese Zahl existiert stets und wird mit ggT (m, n)
bezeichnet. So ist etwa ggT (12, 8) = 4. Wir haben also ggT (m, n) = glb (K). Entsprechend
ist lub (K) das kleinste gemeinsame Vielfache von m und n, das auch mit kgV (m, n) notiert
wird: lub (K) = kgV (m, n). Der ggT und das kgV können auch für (endlich viele) Zahlen
m1 , m2 , . . . , mk erklärt werden.
Es bezeichne M eine beliebige Menge. Mit der im folgenden beschriebenen Konstruktion wird
M mit einer einfachen, aber für die Programmierung wichtigen partiellen Ordnung versehen.
Ist nämlich ⊥ ∈
/ M irgendein (nicht zu M gehörendes) Element, so wird zunächst die Menge
M ⊥ = M ∪ {⊥}
(4.3)
eingeführt.
Definition 4.6 (Flache partielle Ordnung)
Unter der flachen partiellen Ordnung auf der Menge M ⊥ versteht man die folgende Relation:
a b ⇐⇒ (a = ⊥ ∨ a = b) .
Man prüft leicht nach, daß es sich hierbei tatsächlich um eine partielle Ordnung handelt. In
den Anwendungen der Programmierung spielt das Element ⊥ die Rolle des Undefinierten
oder einer Fehlersituation, wenn Operationen auf der Menge M ausgeführt werden. Ist etwa
M die endliche Menge M = {1, 2, 3, 4}, so wird die zugehörige flache partielle Ordnung
durch ein Hasse-Diagramm beschrieben, in dem das Element ⊥ zuunterst steht und mit
allen anderen Elementen 1,2,3,4, die nebeneinander in einer Zeile vorkommen, durch eine
Linie verbunden ist.
4.3 Funktionen auf partiell geordneten Mengen.
In der Informatik (und in anderen Gebieten der Mathematik) ist es üblich, den Begriff
Morphismus für eine Abbildung f : A → B zu benutzen, wenn f nicht nur von A nach B
abbildet, sondern auch noch strukturinvariant ist. Was bedeutet das? Mittels partiellen Ordnungen wird Mengen eine gewisse Struktur verliehen (die man z.B. durch Hasse-Diagramme
visualisieren kann). Nun ist es oft wünschenswert, daß eine Abbildung zwischen zwei partiell geordneten Mengen diese Ordnungsstrukturen bewahrt. Diese Eigenschaft wird in der
folgenden Definition präzisiert.
Definition 4.7 (Morphismus, monotone Abbildung, Isomorphismus)
Ein Morphismus zwischen zwei partiell geordneten Mengen (M1 , R1 ) und (M2 , R2 ) ist eine
Funktion f : M1 → M2 , für die zusätzlich
(x, y) ∈ R1
=⇒
(f (x), f (y)) ∈ R2
gilt. Ein Morphismus wird auch als eine monotone Abbildung bezeichnet. Ist f zusätzlich
bijektiv, so nennt man f auch einen Isomorphismus.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
73
Ein Beispiel für einen solchen Morphismus ist die Funktion f : (−π/2; +π/2) → R mit
f (x) = tan(x); dabei ist der Bild- und Urbildbereich mit der Relation ’≤’ versehen. Die
monotonieerhaltende Eigenschaft des Tangens mache man sich an seinem Graphen klar!
Ein anderes Beispiel für einen Morphismus ist die Funktion c1 : A+ → A, die den ersten
Buchstaben eines (nichtleeren) Wortes zurückgibt, wenn A mit einer Ordnung R und A+ mit
der auf R basierenden lexikographischen Ordnung versehen ist (vgl. das Beispiel im Anschluß
an Definition 4.2). Für die Programmierung ist die folgende Anwendung wichtig.
Beispiel 4.4 (Strikte Funktionen)
Es seien M ⊥ und N ⊥ zwei Mengen mit den jeweiligen flachen partiellen Ordnungen. Eine
Funktion f : M ⊥ → N ⊥ heißt strikt, wenn
f (⊥) = ⊥
(4.4)
ist. Man prüft leicht nach, daß eine strikte Funktion monoton (also ein Morphismus) ist:
Sind nämlich m, n ∈ M ⊥ mit m n (im Sinne der flachen partiellen Ordnung), so werden
bzgl. m zwei Fälle unterschieden. Ist erstens m = ⊥ (in M ⊥ ), so erzwingt die Striktheit von
f in (4.4) dann f (m) = ⊥ (in N ⊥ ). Gemäß Definition 4.6 der flachen partiellen Ordnung
gilt deshalb f (m) f (n) (in N ⊥ ), unabhängig vom Wert f (n). Zweitens kann der Fall
m = n aufgrund von m n eintreten. Hieraus folgt aber f (m) = f (n), und so ergibt die
flache partielle Ordnung in N ⊥ dann wiederum f (m) f (n). In beiden Fällen ist also
f (m) f (n) nachgewiesen.
In dem folgenden Satz wird eine partielle Ordnung auf Funktionen konstruiert.
Satz 4.1 (Partielle Ordnung auf totalen Funktionen)
Es seien (M1 , R1 ) und (M2 , R2 ) zwei partiell geordnete Mengen. Dann kann die Menge F
aller totalen Funktionen, die M1 nach M2 abbilden, mit einer partiellen Ordnung R ⊆ F × F
versehen werden:
(f1 , f2 ) ∈ R ⇐⇒
∀ a ∈ M1 : (f1 (a), f2 (a)) ∈ R2 .
Der einfache Beweis dieser Aussage sei dem Leser überlassen. Da bei der in diesem Satz
eingeführten Ordnung die Funktionen f1 und f2 genau dann gemäß (f1 , f2 ) ∈ R geordnet
sind, wenn die entsprechende Relation elementweise gemäß (f1 (a), f2 (a)) ∈ R2 bzgl. R2 gilt,
wird die Relation R auch mit R2 bezeichnet. Da die Definition der partiellen Ordnung auf
F × F den Allquantor ∀ a ∈ M1 verwendet, wurden totale Funktionen zugrundegelegt.
In der Praxis macht es oft keinen Unterschied, ob man partielle Funktionen betrachtet, die
auf einer gewissen Teilmenge U des Urbildbereiches M nicht erklärt sind, oder ob man es
mit totalen Funktionen auf M ⊥ zu tun hat, die für x ∈ U den Wert f (x) = ⊥ annehmen.
Beide Betrachtungsweisen sind prinzipiell gleichwertig. Das begründet der folgende Satz.
Satz 4.2 Die Menge A
B sei mit der aus Beispiel 4.2 bekannten partiellen Ordnung v
versehen. Ferner sei die Menge der strikten Funktionen
{ g : A⊥ → B ⊥ | g ist eine strikte Funktion }
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
74
mit der in Satz 4.1 erklärten Ordnung R versehen. Die dabei in Satz 4.1 verwendeten Ordnungen R1 und R2 sind die jeweiligen flachen partiellen Ordnungen in A⊥ und B ⊥ .
Dann gibt es einen Isomorphismus zwischen den Mengen A
B und
{ g : A⊥ → B ⊥ | g ist eine strikte Funktion }.
Die grundlegende Idee im Beweis dieses Satzes besteht in der Konstruktion einer bijektiven
Abbildung φ, die jeder partiellen Funktion f : A
B eine gewisse strikte Funkion g :
⊥
⊥
A → B zuordnet und zudem die jeweiligen Ordnungen erhält. Wir geben nur eine solche
Abbildung an und überlassen dem Leser den Nachweis ihrer geforderten Eigenschaften. Es
ist ziemlich naheliegend, die folgende Funktion φ zu wählen:
f (a) falls a ∈ Dom (f )
φ(f )(a) =
(4.5)
⊥
falls a 6∈ Dom (f ) ∨ a = ⊥
Satz 4.2 zeigt, daß man im Software-Engineering bei Funktionen nicht mehr unterscheiden
muß zwischen Eingaben, bei denen die Funktionen keine sinnvollen Resultate liefern (also für
diese Eingaben nicht definiert sind) und solchen Eingaben, für die ⊥ ausgegeben wird. Dies ist
auch folgerichtig, denn ein Programm, das etwa bei einer Division durch Null einfach seinen
Geist aufgibt, ist wenig praktikabel. Vielmehr sind Programme erwünscht, die im Fehlerfall
zumindest melden, daß ein Fehler aufgetreten ist - und diese Meldung sollte möglichst auch
noch verständlich an der Schnittstelle zum Benutzer bekanntgegeben werden. Insofern ist
es sinnvoll, partielle Funktionen im Software-Engineering gar nicht mehr zu betrachten und
immer mit totalen (aber strikten) Funktionen zu arbeiten. Satz 4.2 begründet, warum man
das auch immer tun darf.
In der folgenden Definition wird eine spezielle Teilmenge von partiell geordneten Mengen
beschrieben.
Definition 4.8 (Vollständig partiell geordnete Mengen)
Eine vollständig partiell geordnete Menge ist eine partiell geordnete Menge (M, R) mit den
folgenden zusätzlichen Eigenschaften:
• M besitzt ein kleinstes Element.
• Jede Kette in M besitzt eine kleinste obere Schranke.
Es wird nun vereinbart, daß das kleinste Element solcher vollständig partiell geordneter
Mengen (in der Programmierung) immer mit ⊥ bezeichnet wird. Im folgenden wird außerdem
die Kurzschreibweise ’vpg-Menge’ bzw. ’pg-Menge’ für eine ’vollständig partiell geordnete
Menge’ bzw. eine ’partiell geordnete Menge’ verwendet.
Die einfachsten vpg-Mengen sind die Mengen, auf denen die flache partielle Ordnung definiert
ist (vgl. Definition 4.6). Das kleinste Element in (M, ) ist das Element ⊥. Außerdem besitzt
jede Kette eine kleinste obere Schranke, denn aufgrund der Definition von haben alle
Ketten die Gestalt K = {⊥, x} mit x ∈ M ⊥ . Für diese Ketten ist lub (K) = x.
Es folgt ein weiteres wichtiges Beispiel.
Beispiel 4.5 Die in Beispiel 4.2 eingeführte und untersuchte pg-Menge (A
B, v) ist sogar eine vpg-Menge. Das kleinste Element ist offensichtlich die leere Funktion ∅ : A
B.
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
75
Um die zweite Eigenschaft für Ketten aus A
B in der Definition von vpg-Mengen nachzuweisen, wird eine beliebige Kette K ⊆ A
B solcher partieller Funktionen untersucht. Eine
kleinste obere Schranke g dieser Kette K muß eine Funktion sein, deren Definitionsbereich
sämtliche Definitionsbereiche aller Funktionen f ∈ K umfaßt. Außerdem erzwingt die Ordnung v in der Kette, daß die Identitäten g(x) = f (x) für alle x in diesem Definitionsbereich
und alle Funktionen f der Kette bestehen, die in x definiert sind. Für den Definitionsbereich
D = Dom (g) der gesuchten Funktion g ist also der Ansatz
[
D =
{Dom (f ) | f ∈ K}
(4.6)
sinnvoll. Nun sei x ∈ D. Somit existiert nach (4.6)eine Funktion f ∈ K, für die f (x)
definiert ist. Dann setzen wir g(x) := f (x). Zunächst muß man sich überlegen, daß die
Funktion g auf diese Weise wohldefiniert ist 2 , d.h. g(x) ist durch die obige Festlegung
eindeutig bestimmt. Hierzu seien f1 und f2 zwei Funktionen der Kette K, die beide in x
definiert sind. Aufgrund der Ketteneigenschaften von K hat man dann entweder f1 v f2
oder f2 v f1 . In beiden Fällen stimmen dann aber die Funktionen f1 , f2 auf der kleineren
Menge der beiden Mengen Dom (f1 ) und Dom (f2 ) überein. Zu dieser kleineren Menge gehört
in jedem Fall x, und so ist g(x) = f1 (x) = f2 (x). Das beweist die Eindeutigkeit der Festlegung von g. Es bleibt dem Leser überlassen, für jede obere Schranke h von K die Relation
g v h nachzuweisen und damit die Eigenschaft g = lub (K) zu begründen.
In diesem Zusammenhang wird noch ein weiteres nützliches Resultat angeführt.
Satz 4.3 (Die Produktordnung)
Es seien (M1 , R1 ), . . . , (Mn , Rn ) pg-Mengen (bzw. vpg-Mengen). Auf der Menge M = M1 ×
M2 × · · · × Mn wird nun mittels
(x1 , x2 , . . . , xn ), (y1 , y2 , . . . , yn ) ∈ R ⇐⇒ ∀ i ∈ {1, 2, . . . , n} : (xi , yi ) ∈ Ri
eine Relation R ⊆ M × M definiert. Dann ist R gleichfalls eine partielle Ordnung und
M wird durch diese Relation zu einer pg-Menge (bzw. zu einer vpg-Menge). Diese partielle
Ordnung heißt auch Produktordnung.
Es wird nun ein weiterer zentraler Begriff eingeführt. Hierzu sei X ⊂ A und f : A → B
eine (totale) Funktion. Mit f (X) werden alle Elemente in B bezeichnet, die als Bild eines
Elementes aus X unter f vorkommen:
f (X) = { f (x) | x ∈ X } .
(4.7)
Definition 4.9 (Stetigkeit)
Es sei (M1 , R1 ) eine vpg-Menge und (M2 , R2 ) eine pg-Menge. Eine Funktion f : M1 → M2
heißt stetig, wenn für jede Kette K ⊆ (M1 , R1 ) folgendes gilt: lub (f (K)) existiert in M2 ,
und
f (lub (K)) = lub (f (K)) .
(4.8)
Hierbei existiert lub (K) wegen der vpg-Eigenschaft von M1 .
2
g(x) darf nicht von der Wahl der speziellen Funktion f abhängen!
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
76
Mit anderen Worten:
Eine Funktion ist stetig, wenn sie kleinste obere Schranken wieder auf kleinste obere
Schranken abbildet.
Achtung: Der in der vorigen Definition eingeführte Stetigkeitsbegriff unterscheidet sich allerdings von dem in der Analysis gebräuchlichen Stetigkeitsbegriff.
Man kann leicht zeigen, daß jede stetige Funktion f : M1 → M2 auch ein Morphismus ist:
Hierzu sei gemäß Definition 4.7 (x, y) ∈ R1 . Dann ist offensichtlich K = {x, y} eine Kette in
M1 mit lub (K) = y. Aus der vorausgesetzten Stetigkeit von f : M1 → M2 folgert man dann
f (y) = f (lub (K)) = lub (f (K)) = lub ({f (x), f (y)}) .
Dies bedeutet, daß f (y) bzgl. der Relation R2 das größere der beiden Elemente f (x) und
f (y) ist, oder (f (x), f (y)) ∈ R2 . Das war zu zeigen.
Allerdings ist nicht jeder Morphismus auch stetig, wie das folgende Beispiel zeigt. Hierzu
werden die natürlichen Zahlen N um ein weiteres Element ∞ ergänzt. Anschließend wird auf
N∞ = N ∪ {∞} eine partielle Ordnung R definiert:
(x, y) ∈ R ⇐⇒
x ≤ y (mit x, y ∈ N) ∨ y = ∞ .
Mit dieser partiellen Ordnung ist N∞ eine vpg-Menge, denn 0 ∈ N∞ ist kleinstes Element
und jede Kette K hat eine kleinste obere Schranke. Denn entweder ist die Kette endlich,
dann ist das größte Element gleich lub (K), oder K ist unendlich, dann hat man lub (K) =
∞. Man beachte, daß in einer endlichen Kette ∞ vorkommen kann (K = {1, 2, 3, ∞} mit
lub (K) = ∞) , während es in einer unendlichen Kette fehlen kann (K = {2, 4, 6, 8, 10, . . . }
mit lub (K) = ∞).
Die Funktion f : N∞ → {0, 1} sei durch
0 falls n ∈ N
f (n) =
1 falls n = ∞
definiert. Hierbei ist der Bildbereich {0, 1} mit der ’≤’ - Relation geordnet. f ist offensichtlich
ein Morphismus, aber nicht stetig. Letzteres sieht man ein, wenn man N der Abbildung f
unterwirft:
lub (f (N)) = lub ({0}) = 0 6= 1 = f (∞) = f (lub (N)) .
Nun wird ein zentrales Resultat vorgestellt, das in der Informatik im Bereich der Prüfung von
Programmen auf Korrektheit wesentliche Bedeutung gewonnen hat. Man verwendet dieses
Resultat, um weitreichende Aussagen über die Korrektheit solcher Programme zu treffen, in
denen Funktionen rekursiv definiert werden.
Satz 4.4 (Über kleinste Fixpunkte stetiger Funktionen)3
Es sei (M, R) eine vpg-Menge mit ⊥ ∈ M und (⊥, x) ∈ R für alle x ∈ M . Ferner sei
f : M → M eine stetige Funktion. Dann besitzt die Menge
fix (f ) = {x ∈ M | f (x) = x}
3
Fixpunktsatz von Stephen Kleene, amerikanischer Logiker, 1909 - 1994
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
77
ein kleinstes Element, das durch die kleinste obere Schranke der Menge
K = {⊥, f (⊥), f 2 (⊥), f 3 (⊥), . . . }
gegeben ist.
Hierbei bezeichnet f n die n-fach iterierte Funktion f :
f n = f ◦ f ◦ · · · ◦ f . Im Satz wird
|
{z
}
n
also behauptet, daß
min fix (f ) = lub(K) .
Beweis: Es wird hier neben der Schreibweise (x, y) ∈ R auch die gleichbedeutende Notation
x y verwendet.
Zunächst wird gezeigt, daß die Elemente in K eine Kette bilden und lub (K) überhaupt
existiert. Weil f stetig ist, ist f nach den obigen Ausführungen auch ein Morphismus. Aus
der Minimalität von ⊥ ergibt sich:
∀x ∈ M :
⊥ x,
speziell für x = f (⊥) ∈ M ist dann ⊥ f (⊥). Jetzt wird mehrfach ausgenutzt, daß f
ein Morphismus ist: Aus ⊥ f (⊥) erhält man sukzessive f (⊥) f 2 (⊥), f 2 (⊥) f 3 (⊥),
f 3 (⊥) f 4 (⊥), usw. Insgesamt ist so
⊥ f (⊥) f 2 (⊥) f 3 (⊥) · · ·
gezeigt, was bedeutet, daß K eine Kette ist. Da M als vollständige pg-Menge vorausgesetzt
ist (Definition 4.8), besitzt K eine kleinste obere Schranke
x0 = lub (K) .
(4.9)
lub (f (K)) = lub (K) .
(4.10)
Wir zeigen nun:
Hierzu werden zwei Fälle unterschieden.
1.Fall: f (⊥) 6= ⊥.
Dann ist wegen f (K) = {f (⊥), f 2 (⊥), f 3 (⊥), . . . } = K \ {⊥}, und daraus ergibt sich sofort
(4.10).
2.Fall: f (⊥) = ⊥.
Dann hat man K = {⊥}, f (K) = {⊥}, mithin lub (f (K)) = ⊥ = lub (K). Das ist wieder
(4.10).
Unter Anwendung von (4.9), (4.10) und der Stetigkeit von f ergibt sich nun:
f (x0 ) = f (lub (K)) = lub (f (K)) = lub (K) = x0 .
Damit ist gezeigt, daß x0 ein Fixpunkt von f ist. Jetzt muß noch bewiesen werden, daß x0
auch der kleinste Fixpunkt von f ist. Dazu sei y ein weiterer beliebiger Fixpunkt von f .
Zunächst wird für y mit dem Prinzip der einfachen Induktion die Aussage
∀ n ∈ N : (f n (⊥), y) ∈ R
(4.11)
FHDW Hannover - Mathematik, Teil I - Prof.Dr.C.Elsner
78
bewiesen.
Induktionsanfang: n = 0. Wegen f 0 (⊥) = ⊥ ist die Aussage (f 0 (⊥), y) = (⊥, y) ∈ R
richtig.
Induktionsannahme: Es gelte (f n−1 (⊥), y) ∈ R für ein n > 0.
Induktionsschluß: Unter Ausnutzung der Induktionsannahme, der Morphismus-Eigenschaft
von f und der Tatsache, daß y ein Fixpunkt von f ist, ergibt sich nacheinander:
(f n−1 (⊥), y) ∈ R ⇒ (f (f n−1 (⊥)), f (y)) ∈ R ⇒ (f n (⊥), f (y)) ∈ R ⇒ (f n (⊥), y) ∈ R .
Damit ist (4.11) bewiesen. Also ist (x, y) ∈ R für alle Elemente x ∈ K. Das erweist y als eine
obere Schranke von K. Nun ist aber x0 gemäß (4.9) die kleinste obere Schranke von K. Es ist
dann (x0 , y) ∈ R (vgl. die Bemerkung im Anschluß an Definition 4.5: alle oberen Schranken
von K sind mit der kleinsten oberen Schranke vergleichbar). Da y nach Voraussetzung auch
ein beliebiger Fixpunkt von f ist, ist somit gezeigt, daß x0 der kleinste Fixpunkt von f ist.
Herunterladen