Vorlesungsskript Teil 1

Werbung
Mathematik für Informatiker 1
Vorlesungsskriptum
Wintersemester 2012/2013
Bernhard Steffen
Oliver Rüthing
Malte Isberner
Fakultät für Informatik
Technische Universität Dortmund
2012
Inhaltsverzeichnis
1 Einleitung
1.1 Illustrative Beispiele und typische Probleme . . . . .
1.2 Das Zusammenspiel von Syntax und Semantik . . . .
1.3 Denken in Strukturen: Ein lernpragmatischer Zugang
1.4 Lernziele und Kompetenzen zusammengefasst . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
6
7
9
2 Aussagen und Mengen
2.1 Aussagen . . . . . . . . . . . . . . . . .
2.1.1 Aussagenlogik . . . . . . . . . . .
2.1.2 Anwendung: Digitale Schaltkreise
2.1.3 Prädikatenlogik . . . . . . . . . .
2.1.4 Logische Beweisprinzipien . . . .
2.2 Mengen . . . . . . . . . . . . . . . . . .
2.2.1 Mengenbeziehungen . . . . . . .
2.2.2 Mengenverknüpfungen . . . . . .
2.2.3 Mächtigkeit endlicher Mengen . .
2.2.4 Antinomien . . . . . . . . . . . .
2.3 Abschließende Betrachtungen . . . . . .
2.4 Lernziele . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
17
18
21
22
23
24
27
27
28
29
3 Relationen und Funktionen
3.1 Relationen . . . . . . . . . . . . . . .
3.1.1 Kartesisches Produkt . . . .
3.1.2 Exkurs: Endliche Bitvektoren
3.1.3 n-stellige Relationen . . . . .
3.1.4 Binäre Relationen . . . . . .
3.2 Funktionen . . . . . . . . . . . . . .
3.2.1 Eigenschaften von Funktionen
3.2.2 Mächtigkeit von Mengen . . .
3.2.3 Partiell definierte Funktionen
3.3 Äquivalenzrelationen . . . . . . . . .
3.3.1 Partitionen . . . . . . . . . .
3.3.2 Exkurs: Kardinalzahlen . . .
3.4 Lernziele . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
31
32
33
33
35
37
40
45
45
46
50
50
4 Induktives Definieren
4.1 Natürliche Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Peano-Axiome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
53
54
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.2
4.3
4.4
4.1.2 Operationen auf natürlichen Zahlen . . . . .
4.1.3 Induktiv definierte Algorithmen . . . . . . . .
Induktiv strukturierte Mengen . . . . . . . . . . . .
Exkurs: Listen in funktionalen Programmiersprachen
Lernziele . . . . . . . . . . . . . . . . . . . . . . . . .
5 Darstellung und deren Bedeutung
5.1 Zeichenreihen . . . . . . . . . . . . .
5.1.1 Grenzen der Berechenbarkeit
5.2 Semantikschemata . . . . . . . . . .
5.3 Backus-Naur-Form . . . . . . . . . .
5.4 Induktive Semantikschemata . . . .
5.5 Lernziele . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
56
57
60
61
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
63
63
65
65
67
70
72
6 Induktives Beweisen
6.1 Ordnungsrelationen . . . . . . . . . . .
6.1.1 Partielle Ordnungen . . . . . .
6.1.2 Quasiordnungen . . . . . . . .
6.1.3 Totale Ordnungen . . . . . . .
6.1.4 Striktordnungen . . . . . . . .
6.1.5 Ordnungen und Teilstrukturen
6.2 Noethersche Induktion . . . . . . . . .
6.2.1 Terminierungsbeweise . . . . .
6.3 Verallgemeinerte Induktion . . . . . .
6.4 Strukturelle Induktion . . . . . . . . .
6.5 Vollständige Induktion . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
75
75
75
77
78
78
79
81
83
84
86
89
7 Ordnungsstrukturen
7.1 Verbände . . . . . . . . . . . . . . . . . . . .
7.1.1 Verbände als algebraische Strukturen .
7.2 Spezielle Verbände . . . . . . . . . . . . . . .
7.2.1 Vollständige Verbände . . . . . . . . .
7.2.2 Boolesche Verbände . . . . . . . . . .
7.3 Konstruktionsprinzipien . . . . . . . . . . . .
7.4 Strukturverträgliche Abbildungen . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
93
93
96
98
98
100
102
103
8 Algebraische Strukturen
8.1 Mengen mit einer Verknüpfung . . . . . . . . . . . . . .
8.1.1 Halbgruppen und Monoide . . . . . . . . . . . .
8.1.2 Gruppen . . . . . . . . . . . . . . . . . . . . . . .
8.1.3 Untergruppen . . . . . . . . . . . . . . . . . . . .
8.1.4 Nebenklassen und der Satz von Lagrange . . . .
8.1.5 Faktorstrukturen . . . . . . . . . . . . . . . . . .
8.1.6 Homomorphismen . . . . . . . . . . . . . . . . .
8.1.7 Schnitte und Produkte algebraischer Strukturen
8.2 Mengen mit zwei Verknüpfungen . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
107
107
107
108
111
113
115
118
123
126
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8.2.1
8.2.2
8.2.3
8.2.4
Index
Ringe . . . . . . . . . . . . . .
Ideale . . . . . . . . . . . . . .
Homomorphismen . . . . . . .
Integritätsbereiche und Körper
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
126
128
130
132
135
1 Einleitung
Ohne Zweifel ist die Mathematik neben der Elektrotechnik einer der Grundpfeiler der Informatik.
So gab es z.B. noch bis in die neunziger Jahre hinein in Aachen einen Lehrstuhl mit der Bezeichnung „Praktische Mathematik, insbesondere Informatik“. Inzwischen hat sich die Informatik jedoch
emanzipiert und wird als eigenständiges Fach akzeptiert. Das bedeutet jedoch keinesfalls, dass ihre
Wurzeln in der Mathematik dadurch irrelevant geworden sind. Vielmehr sind gerade die wohlverstandenen Grundlagen der Informatik durch einen starken mathematischen Kern gekennzeichnet,
und viele konzeptuelle Vorgehensmuster (insbesondere, aber nicht nur) der theoretischen Informatik sind der Mathematik entlehnt. Auf der anderen Seite gibt es auch klassische mathematische
Probleme, die am Ende nur mit Hilfe der Informatik gelöst werden konnten. Ein prominentes Beispiel ist das Vierfarbenproblem1 , dessen Lösung bis heute auf Hilfsmitteln der Informatik beruht.
Durch diese enge Verzahnung hat die Informatik ihrerseits der Mathematik ihren Stempel aufgedrückt. Beispiele hier sind Bereiche der diskreten Mathematik, die konstruktive Logik und weite
Teile der Numerik.
Ziel der Vorlesung ist es, den Wert dieser Verzahnung greifbar zu machen und ein Gefühl dafür zu
vermitteln, wann welche mathematischen Vorgehensmuster vorteilhaft eingesetzt werden können.
Gleichzeitig sollen die mathematischen Verfahrensmuster auch dazu dienen, die Natur der Informatik etwas besser zu verstehen: Was sind ihre Besonderheiten z.B. gegenüber der Mathematik.
Im Folgenden diskutieren wir einige typische, beispielhafte Problemszenarien, deren Lösungen im
weiteren Verlauf der Vorlesung adressiert werden.
1.1 Illustrative Beispiele und typische Probleme
Der Euklidische Algorithmus zur Berechnung des GGT. Informell ausgedrückt zieht der Euklidische Algorithmus2 solange ein maximales Vielfaches der kleineren Zahl b von der größeren Zahl
a ab, bis schließlich b Null wird. Der GGT ist dann a. Abbildung 1.1 illustriert dies mit a = 65,
b = 50 worauf a = 50, b = 15 und schließlich a = 15 und b = 5 folgt. Der Wert von b passt nun
dreimal in a worauf der Algorithmus mit b = 5, dem größten gemeinsamen Teiler von 65 und 50,
terminiert.
Auf den ersten Blick ist hier keineswegs klar, warum dieser über 2200 Jahre alte Algorithmus
tatsächlich den GGT seiner beiden Eingabeparameter berechnet. Klar wird dies, sobald man die
dem Algorithmus unterliegende Invariante erkennt: Die Subtraktion ändert den zu berechnenden
1 siehe
2 siehe
http://de.wikipedia.org/wiki/Vier-Farben-Satz
http://de.wikipedia.org/wiki/Euklidischer_Algorithmus
1
Abbildung 1.1: Illustration des GGT
GGT nicht!
Invarianten sind der zentrale Schlüssel zum Verständnis von Programmschleifen und Rekursion.
Diese Erkenntnis ist in vollem Einklang mit Archimedes Intuition: „Gebt mir einen Punkt auf dem
ich still stehe, und ich werde die Welt aus den Angeln heben“. Das Verständnis als Invarianten
als archimedische Punkte3 ist ein guter Leitfaden. Er hilft iterative und rekursive Programme zu
beherrschen, Induktionsbeweise zu führen und und evolutionäre Programmentwicklung zu strukturieren, alles durch die Beantwortung der Frage „Was ist beständig im Wandel“.
Türme von Hanoi. Ausgehend von drei unterschiedlich großen Scheiben auf dem ersten von
drei Stapeln, sollen diese durch einzelne Bewegung in die gleiche Position auf dem dritten Stapel
gebracht werden. Es dürfen dabei jedoch nur kleinere Scheiben auf größere gelegt werden (in der
Ausgangsposition sind diese auch so angeordnet).
Abbildung 1.2: Türme von Hanoi
Frage: Wie viele Schritte benötigt man, um den Turm regelgerecht und vollständig zu ’verschieben’ ?
Während im vorigen Beispiel der Algorithmus vorgegeben war, kommt hier ein wesentliches Stück
Informatik hinzu: Die Entwicklung des Algorithmus. Dabei ist darauf zu achten, dass dieser Algorithmus so strukturiert ist, dass er z.B. einer Analyse bzgl. der Schrittzahl zugänglich ist. Wie im
vorigen Beispiel steht dabei der zugehörige archimedische Punkt (die Invariante) im Vordergrund.
Finden eines Objektes in einer Menge. Wie viele Objekte muss man im ungünstigsten Fall aus
einer Menge herausnehmen, um nachzuprüfen, ob ein vorgegebenes Element in dieser Menge liegt?
Ähnlich wie im vorigen Problem ist das Lösungsverfahren auch hier nicht vorgegeben.
3 siehe
2
http://de.wikipedia.org/wiki/Archimedischer_Punkt
Abbildung 1.3: Suchen eines Elements in einer Menge
Offensichtlich gibt es ein triviales Verfahren, das aber erfordert, dass man alle Elemente aus der
Menge herausgenommen haben muss, bevor man entscheiden kann, dass das in Frage stehende
Element nicht in der Menge liegt.
Geht das besser?
Das liegt an den Spielregeln. Darf ich mir die Menge selbst organisieren, d.h. darf ich die Art
und Weise, wie die Elemente abgelegt werden, selbst bestimmen? Sofern das möglich ist, geht es
viel besser. Als Anhaltspunkt denke man an ein Telefonbuch und überlege sich, wie es möglich ist,
die gesuchte Telefonnummer unter Tausenden von Einträgen schnell finden zu können.
Dieses Beispiel illustriert einen wesentlichen Informatik-typischen Aspekt, das Ausnutzen von Modellierungsspielräumen: Man kann (in Grenzen) seine Aufgabenstellung so (um)strukturieren,
dass effiziente/elegante Lösungen möglich sind. Im vorliegenden Fall ist Sortieren der Schlüssel zu
Erfolg. Tatsächlich ist die adäquate (Um-)Strukturierung eine Kunst, die den guten Informatiker
auszeichnet.
Im Folgenden werden wir entsprechende Vorgehensmuster behandeln, die insbesondere die mathematische Beherrschbarkeit und die damit verbunden Zuverlässigkeit von Systemen in den Vordergrund stellen. Spezifisch auf Laufzeiteffizienz zielende Muster werden typischer Weise unter dem
Thema Algorithmen und Datenstrukturen vertieft.
Terminierung von Algorithmen In der Informatik trennt man oft den Aspekt der sogenannten
partiellen Korrektheit, die besagt, dass alle erfolgreichen Berechnungen ein korrektes Ergebnis erzielen, von dem Aspekt der Terminierung. Ein besonders drastisches Beispiel zur Illustration des
Kerns dieser beiden Aspekte ist die sogenannte Collatz-Funktion4 , deren Lebensinhalt es zu sein
4 siehe
http://de.wikipedia.org/wiki/Collatz-Problem
3
scheint, unabhängig vom Eingabewert das Resultat 1 zu berechnen:
Eingabe : Natürliche Zahl n
Ausgabe : 1
solange n 6= 1 wiederhole
wenn n gerade dann
n ← n/2
sonst
n ← 3n + 1
Ende
Ende
Gib n aus.
Algorithmus 1: Berechnung der Collatz-Funktion
Die partielle Korrektheit der Collatz-Funktion ist offensichtlich: Wenn die Funktion überhaupt terminiert, d.h. ein konkretes Ergebnis liefert, dann ist das 1. Ob die Collatz-Funktion aber für jeden
Eingabewert terminiert, ist aber bis heute ein offenes Problem. Dies mag erstaunlich scheinen, da
sie auf sehr einfache Weise zu beschreiben ist. Wie unvorhersehbar sich der Wert von n entwickelt,
erkennt man jedoch daran, dass bereits für den Startwert 27 im Verlauf des Algorithmus ein Wert
von 9232 erreicht wird, während bei einem Startwert von 100 der initiale Wert nie überschritten
wird!
Umgang mit beschränkten Ressourcen. Es ist modern, komplexe Aufgaben zu verteilen, und
zwar zum Teil auf sehr, sehr viele Problemlöser (Crowd Sourcing). Ein von der Verteilung her
noch moderateres Beispiel der Verteilung ist die in Abbildung 1.4 skizzierte ANTS Mission der
NASA. Hier soll ein Schwarm von etwa 2000 notebookgroßen Raumschiffe durch den Asteroidengürtel geschifft werden, um irgendwelche Missionen zu erfüllen, wie Probennahmen, Fotografien,
Analyse, usw.. Wegen ihrer eingeschränkten Größe und Kapazität muss dazu eine klare Rollenverteilung vorgenommen werden: jedes dieser Raumschiffe erfüllt Teilaufgaben, deren Ergebnisse dann
anschließend zusammengeführt werden müssen. Es ist im allgemeinen sehr schwierig, eine derartige Zusammenarbeit effizient zu organisieren. Wir wollen uns daher hier auf ein sehr einfaches
Beispielproblem beschränken:
Abbildung 1.4: ANTS
4
Angenommen wir haben einen Schwarm von Minirechnern, die jeder die ganzen Zahlen bis zu
einem Byte beherrschen. D.h. sie können die üblichen Rechenarten wie +, *, - und / verwenden,
wobei / nur für glatt aufgehende Divisionen definiert ist.
Frage 1: Ist es möglich, trotz des Überlaufproblems zu garantieren, dass alle Ergebnisse, die sich
mit einem Byte darstellen lassen, präzise sind? Oder ist es sogar möglich, die Berechnungsergebnisse abschließend auf einem größeren, beispielsweise auf der Erde stationierten Rechner zu einem
präzisen, in vier oder acht Byte repräsentierbaren Ergebnis zusammen zu führen?
Im Rahmen der Behandlung von Faktorstrukturen werden wir sehen, dass es genügt, nur auf den
Resten nach Division mit einer geeigneten Menge von Primzahlen zu rechnen. Wie und warum das
möglich ist, gehört zu den elementaren Grundlagen der Algebra.
Faktorstrukturen haben viele Anwendungen in der Informatik, insbesondere bei der Modellbildung
und der automatischen Programmanalyse (Stichwort: abstrakte Interpretation).
Lösen linearer Gleichungssystemen Das Lösen kleiner linearer Gleichungssysteme begleitet einen
über Jahre hinweg im gymnasialen Mathematik- und Physikunterricht in den unterschiedlichsten
Szenarien. Einer Motivation des zugehörigen Teils 2 der Vorlesung bedarf es an dieser Stelle also
nicht. Was aber typischer Weise nicht adressiert wird, ist der Aspekt der Skalierbarkeit: Wie löst
man lineare Gleichungssysteme mit wirklich vielen Unbestimmten? Die lineare Algebra umfasst
nicht nur effiziente Methoden zur Lösung komplexer linearer Gleichungssysteme, sondern sie stellt
auch ein mit den Worten der Informatik ausgedrückt ideales domänenspezifisches Framework
zur Verfügung, das es insbesondere erlaubt, die Struktur von Lösungen, deren etwaige Eindeutigkeit, sowie Einflüsse von verändernden Transformationen elegant zu erfassen, zu beschreiben und
zu beherrschen.
Eigenfaces Ein besonders aktuelles Anwendungsfeld der linearen Algebra ist die Gesichtserkennung: Wie charakterisiert man individuelle Gesichter möglichst einfach? Die Idee hier ist es, Gesichter (approximativ) aus einem kleinen Repräsentantensystem, den sogenannten Eigenfaces, zusammen zu setzen/zu überlagern. Dieses Vorgehen ist aus Sicht der Informatik besonders spannend,
da es
• Approximation: Der betrachtete Raum der Faces/Gesichter ist eigentlich unendlichdimensional und wird hier approximativ in den endlichen Raum projiziert, der von den
Eigenfaces aufgespannt wird, und
• die aus der Linearen Algebra bekannte Eigenraumzerlegung zusammen führt.
Während Eigenwerte, Eigenvektoren und Eigenräume konkret Thema dieser Vorlesung sind, können
Theorie und Anwendung der Eigenfaces hier nur intuitiv zur Motivation angerissen werden. Details
sind Thema weiterführender Vorlesungen wie Computergraphik.
5
Abbildung 1.a: Eigenfaces
Das linke Bild zeigt ein Mittelwertgesicht (das ganz oben links) und 19 Eigenfaces. Mittelwertgesichter entstehen durch Überlagerung aller zugrundeliegenden Gesichter und sind daher ein guter
Ausgangspunkt, von dem aus man spezifische Variantengesichter durch Hinzufügen von Eigengesichtern unterschiedlicher Intensität konstruieren kann. Mittelwertgesichter bilden damit den
Ursprung des vollen ’Gesichtsraumes’. Weitere Gesichter werden dann durch sogenannte Linearkombinationen von Eigenfaces gebildet. Die Qualität dieser Bilder hängt von der gewählten Dimension des jeweils gewählten approximative Raumes ab. Abbildung 1.a zeigt Varianten für die
Dimensionen 5, 10, 15, 20.
1.2 Das Zusammenspiel von Syntax und Semantik
Traditionell wird in der Mathematik präzise, aber großenteils informell natürlichsprachlich argumentiert. Ein klare (formale) Abgrenzung zwischen der Argumentationsebene, auf der über das
Problem geredet wird und der Problemebene selbst ist unüblich. Insbesondere trennen Mathematiker typischer Weise konzeptuell nicht zwischen der sogenannten Darstellungsebene/Repräsentation
(Syntax) und der intendierten Bedeutung (Semantik). In der Informatik ist diese Trennung dagegen
essentiell.
Im Rahmen der Vorlesung sollen zwei Vorteile dieser Trennung klar werden
• Die formale Beherrschbarkeit von der Repräsentationsebene. Sie ist Grundlage für jegliche
Computer-gestützte Bearbeitung, angefangen von einfacher Textverarbeitung, über das Übersetzen von Programmen in Maschinencode, bis hin zu ambitionierteren Problemen wie z.B.
automatisiertes Theorembeweisen, Compiler-Generierung und computergestütztes Sprachverständnis.
• Der kreative Spielraum, der durch diese Trennung ermöglicht wird: Das intuitiv vorgegebene
Problem kann auch in der Informatik, wie z.B. in der Physik als „naturgegeben“ angesehen werden. Wir haben aber Spielraum bei der Art, wie dieses Problem formal beschrieben
(repräsentiert) wird:
6
Abbildung 1.5: Semiotisches Dreieck
Beispiel: Natürliche Zahlen: Wir sind an die Dezimaldarstellung gewöhnt, ihre logarithmische Prägnanz, und die elegante Weise wie man im Dezimalsystem stellenbezogen rechnet.
Man vergleiche dies einmal mit der Darstellung als römische Zahlen und mit dem Unärsystem.
Ein weiteres Beispiel, das bis heute Relevanz hat, ist er Vergleich zwischen dem metrischen
System und dem angelsächsischen System mit Fuß, Yard und Meile. Das angelsächsische
System hat wegen seiner klaren Handhabungsschwierigkeiten keine Zukunft.
1.3 Denken in Strukturen: Ein lernpragmatischer Zugang
Das war jetzt ein Feuerwerk von Eindrücken, die nicht alle auf einmal vollständig verstanden
und verarbeitet werden können. Seien Sie deswegen jetzt nicht beunruhigt. Der Weg liegt ja noch
vor ihnen. Doch auch hier kann man auf Euklid zurückgreifen, der gesagt hat: „Es gibt keinen
Königsweg zur Mathematik!“ Das bedeutet aber nicht, dass der Weg zur Mathematik unattraktiv
ist. Vielmehr kann man den „Ausblick“ von jedem neu errungenen Erkenntnisplateau genießen,
besonders wenn man ihn sich hart erarbeitet hat.
Um dieses Erklimmen des ’Erkenntnisberges’ zu unterstützen, ist das Skript ist so aufgebaut, dass
es einen schrittweisen Zugang zu der mathematisch geprägte Welt der ’höheren’ Informatik ermöglicht. Sorgfältig wurden z.B. der klausurrelavante Teil und die illustrativen Beispiele von den hier
grau unterlegten Zusatzinformationen wie Motivation, weiterführenden Gedanken und Vorwärtsverweisen in das weitere Informatikstudium abgegrenzt. Diese Vorwärtsverweise betreffen keinesweg
nur Aspekte der theoretischen Informatik. Vielmehr profitieren fast alle Bereiche der Informatik unmittelbar von den im Rahmen dieser Vorlesung erarbeiteten Denkmustern. Die Universalität dieser
Struktur-orientierten Denkmuster ist damit ein ideales Werkzeug für den Methoden/TechnologieTransfer zwischen den unterschiedlichen Teildisziplinen der Informatik und hinein in die Welt der
Anwendungsdisziplinen.
7
Sicher steht für Viele zunächst das Bestehen der Klausur zunächst im Vordergrund. Die klare
Kennzeichnung der Klausur-relevanten Teil soll dabei helfen, sich bei der finalen Klausurvorbereitung nicht zu verzetteln.5 Es sollte aber nicht vergessen werden, dass die Hintergründe und
Motivationen auch hier helfen, die Intentionen zu begreifen und die unterschiedlichen Begriffe und
Methoden gezielt einzuordnen. Das Gehirn arbeitet hier auf unbewusster Ebene mit. Es ist nicht
selten, dass man später, an ganz anderer Stelle, auf einmal versteht, was da gemeint war. Das
’Fallen von Groschen’ ist ein erstaunliches Phänomen, und wenn es passiert ist es erhebend.
Groschen können aber nur fallen, wenn es genügend Material gibt. Die zahlreichen Hinweise, Beispiele und Verweise sollen hier anregen, zum Weiterdenken, zum Diskutieren aber auch zum Googlen und zum Nachschlagen bei Wikipedia. Jede Beschäftigung mit der Thematik bringt einen
weiter, unmerklich, aber bei entsprechendem Einsatz fast unweigerlich. Die Auseinandersetzung
mit dem Vorlesungsstoff betrifft aber keinesfalls nur die mathematischen Inhalte. Tatsächlich ist
es erstaunlich, was man über die Informatik ’im Spiegel’ der Mathematik alles lernen kann, Dinge,
die eine unmittelbare Beschäftigung mit der Informatik gar nicht ans Licht bringen würden. Wenn
Sie das verstehen, dann ist der Hauptziel erreicht, dann werden sich die vielen Einzelteile nach und
nach zu einem Ganzen zusammenfügen. Das Skript ist daher perspektivisch als eine Art Begleiter für Ihr ganzes Studium aufgebaut, der es Ihnen ermöglichen soll, das Fallen der Groschen zu
erkennen und zu genießen.
An dieser Stelle ist eine Bemerkung zu Verweisen auf Wikipedia-Artikel angebracht, welche sich
bereits im vorangegangenen Text fanden und auch an vielen Stellen im Skript finden werden. Diese sollen als Denkanstöße verstanden werden, sich tiefergehend über interessante mathematische
Phänomene und Problemstellungen zu informieren, auch wenn sich diese aufgrund ihrer Komplexität und der erforderlichen Vorkenntnisse hier allenfalls namentlich erwähnen lassen, und sich so
eine Art „mathematischer Allgemeinbildung“ anzueignen. Für diesen Zweck scheinen Verweise auf
Wikipedia wesentlich geeigneter als auf mathematische Fachartikel. Bitte missverstehen Sie dies
nicht: Wikipedia ist keine wissenschaftliche Quelle, die Sie in Seminar- oder Abschlussarbeiten zitieren können! Dies liegt daran, dass die Informationen nicht durch Wissenschaftler
der jeweiligen Fächer begutachtet werden (peer review), nicht jedoch an der Qualität – diese ist
erfahrungsgemäß insbesondere bei Themen der Mathematik und Informatik sehr hoch.
Es ist ganz normal, wenn Sie am Anfang angesichts der vielen neuen Eindrücke und der Flut an
Begrifflichkeiten, Denkansätze und Techniken zunächst ’schwimmen’. Wichtig ist, dass sie weiterschwimmen!6 und auf diese Weise genügend Material zu sammeln, dass die Groschen auch fallen
können. Das kann je nach Umständen länger dauern, oder manchmal ganz schnell spontan geschehen.
Sorgen machen müssen Sie sich erst, wenn Sie trotz ernsthafter Bemühung7 das hier vorgestellte
Anliegen am Ende der Vorlesung immer noch nicht begreifen. Wenn Sie das Anliegen aber ver5 Hierbei
bezieht sich Klausurrelevanz auf die Methoden und Konzepte, nicht aber auf die konkreten Aufgabenstellungen und Beispiele. Die Klausur kann sehr wohl Fragestellungen des Motivationsteils oder der Übungsaufgaben
übernehmen. Nur lassen sich alle Klausuraufgaben allein mit den als klausurrelevant gekennzeichneten ’Werkzeugen’ bearbeiten.
6 Selbst der Soldat hat bei Wassertiefen ab 1,40m laut Soldatengesetz selbsttätig mit Schwimmbewegungen zu
beginnen.
7 Ernsthaft bedeutet hier zusätzlich zu den Veranstaltungen einen Zeitaufwand von wenigstens 5 vollen Stunden in
der Woche für die Bearbeitung der Übungsaufgaben und themenbezogenen Diskussionen mit Kommilitonen
8
innerlicht haben, dann steht einem erfolgreichen Informatikstudium nichts mehr im Wege. Dann
werden Sie zunehmend in der Lage sein, die Prinzipien und Verfahrensmuster selbst einzusetzen,
fehlende Details zu ermitteln, und sich in neue Thematiken einzuarbeiten.
Ganz wichtig ist es, sich klar zu machen, dass anspruchsvollere Texte, jedes mal wenn man sie liest,
wieder eine neue Ebene des Verstehens anregen. Wenn Sie dieses Skript z.B. im Hauptstudium
lesen, werden Sie auf Hinweise stoßen, die Ihnen früher verborgen geblieben sind, da sie zu dem
Zeitpunkt noch keine entsprechende Sensibilität entwickelt hatten. Das gilt natürlich nicht nur für
Texte. Wenn Sie im Studium auf ein Thema stoßen, dass Ihnen aus der Schule bekannt vorkommt,
sollten Sie besonders aufmerksam sein und zu erkennen versuchen, was neu ist an der universitären
Herangehensweise. Jede Stufe des Verstehens lässt Bekanntes ganz anders aussehen. Bleiben Sie
offen für diese Stufen. Sie werden sehen, es gibt sehr viele davon.
1.4 Lernziele und Kompetenzen zusammengefasst
Zweifelfreies Verstehen:
• mathematische Präzision
• dazugehörige Formalismen, sowie
• mathematisches Vorgehen
Einsatz wiederverwendbarer Muster:
• Beschreibungsmuster
• Strukturierungsmuster
• Beweismuster
• algorithmische Muster
Prinzipielles Vorgehen:
• Was ist der Kern des Problems?
• Was sind angemessene Lösungsmuster?
• Wie kann man diese Muster gezielt zur Problemlösung einsetzen?
• Wie erhält man ein spezifisches Lösungsszenario (Domänenmodellierung)
Beherrschung von Modellierungsspielräumen:
I Trennung von Syntax/Semantik: WIE vs. WAS
II (Induktives) Strukturieren
9
III Generalisierung und Abstraktion
als Grundlage für ’teile und herrsche’-Prinzipien wie:
IV Invarianz
V Kompositionalität
mit dem Ziel:
VI Korrektheit (z.B.(induktive) Beweisbarkeit)
VII Effizienz
VIII Skalierbarkeit
10
2 Aussagen und Mengen
2.1 Aussagen
In der Mathematik ist es von essentieller Bedeutung wissenschaftliche Erkenntnisse in (schrift-)sprachlicher
Form abzufassen. Da umgangssprachliche Formulierungen die Gefahr von Missverständnissen in
sich tragen, hat sich eine formalisierte Verwendung sprachlicher Konstrukte durchgesetzt. Fast
noch stärker gilt dies in der Informatik und der Logik, da hier oft Aussagen über verschiedene
Sinnebenen (z.B. Syntax und Semantik) miteinander in Zusammenhang gesetzt werden. Hier ist
selbst bei der Formalisierung größte Sorgfalt geboten, da es sonst zu Missverständnissen durch
Vermischung verschiedener Ebenen kommen kann.
Ein zentraler Begriff der gesamten Logik ist der Begriff der Aussage (engl. proposition), der sich
wie folgt definieren lässt:
Definition 2.1 (Aussagen). Aussagen sind (schrift-)sprachliche Gebilde, für die es sinnvoll ist,
ihnen einen Wahrheitswert wahr (w) oder falsch (f) zuzuordnen.
Leider ist auch diese Definition nicht völlig eindeutig. Problematisch ist hierbei die Formulierung
„sinnvoll“: Während es für viele Sätze unbestreitbar sinnvoll ist, ihnen Wahrheitswerte zuzuordnen,
ist dies bei anderen weit weniger klar. Wir werden dies weiter unten präzisieren, zunächst folgen
jedoch einige Beispiele für Sätze, die zweifellos Aussagen darstellen.
Beispiel 2.2 (Aussagen).
1. Borussia Dortmund ist Deutscher Fußballmeister der Herren 2011. (w)
2. Delfine sind Fische. (f)
3. 5 ist eine Primzahl. (w)
4. Es gibt nur endlich viele Primzahlen. (f)
5. Jede gerade Zahl größer als zwei ist Summe zweier Primzahlen. (?)
Aussage (4) ist falsch, denn mit dem Satz von Euklid1 lässt sich die Existenz unendlich vieler
Primzahlen nachweisen. Bei Aussage (5) hingegen handelt es sich um die sogenannte Goldbachsche
Vermutung2 , deren Gültigkeit bis heute nicht nachgewiesen werden konnte. Dennoch kann man
1 siehe
2 siehe
http://de.wikipedia.org/wiki/Satz%20von%20Euklid
http://de.wikipedia.org/wiki/Goldbachsche%20Vermutung
11
davon ausgehen, dass die Vermutung entweder durch einen Beweis nachgewiesen oder durch ein
Gegenbeispiel widerlegt werden kann.
Keine Aussagen im mathematischen Sinne sind:
Beispiel 2.3 (Keine Aussagen).
1. Wie spät ist es?
2. Kommt her!
3. Diese Aussage ist falsch.
Während es sich bei (1) und (2) um eine Frage beziehungsweise Anweisung handelt, hat (3) zumindest die äußere Form einer Aussage. Allerdings kann man dem Satz keinen eindeutig bestimmten
Wahrheitswert zuordnen, da es sich um ein logisches Paradoxon handelt: Jeder mögliche Wahrheitswert, den man (3) zuordnen kann, stünde im Widerspruch zum Inhalt des Satzes.
Zuletzt gibt es Sätze, bei denen die Einordnung unklar ist:
Beispiel 2.4.
1. Heute ist das Wetter schön.
2. Verdi hat die bedeutendsten Opern komponiert.
Bei nasskaltem Herbstwetter würden die meisten Menschen Satz (1) wohl für falsch befinden.
Allerdings ist die Beurteilung „schön“ immer von der jeweiligen Person abhängig, und manche
Leute mögen ein solches Wetter vielleicht als „schön“ empfinden. Bei Satz (2) kann man sich
durchaus Gedanken über eine objektive Betrachtung machen – die Bedeutsamkeit einer Oper ließe
sich beispielsweise daran messen, wie oft sie weltweit in einem Jahr aufgeführt wird. Dennoch
ist zu erwarten, dass beide mögliche Zuordnungen eines Wahrheitswerts zu diesem Satz manchen
Widerspruch aus der Musikwissenschaft nach sich ziehen würden.
In der Mathematik und Informatik sind solche Uneindeutigkeiten jedoch selten von Bedeutung:
Es wird verlangt, dass Aussagen in einer bestimmten, genau definierten Form vorliegen müssen
(Syntax), und dass es eindeutige Vorschriften gibt, wie sich die Wahrheitswerte dieser Aussagen
berechnen (Semantik). Dann ist die Zuordnung eines Wahrheitswerts zu einem – syntaktisch korrekten – Ausdruck durch die Semantik unmittelbar als „sinnvoll“ gerechtfertigt.
2.1.1 Aussagenlogik
In der Aussagenlogik betrachtet man, wie komplexere Aussagen aus einfachen Aussagen gebildet
werden können. Hierzu geht man von gewissen elementaren (auch: atomaren, griech. atomos =
„unteilbar“) Aussagen aus, welche zu neuen Aussagen verknüpft werden können. Zwei Gedanken
sind dabei zentral: Zum einen ist die Struktur der elementaren Aussagen nicht relevant, es genügt
die Annahme, dass ihnen ein Wahrheitswert zugeordnet werden kann. Die Frage, ob eine elementare
12
Aussage wirklich eine Aussage im Sinne von Definition 2.1 ist, stellt sich also überhaupt nicht.
Zum anderen findet das sogenannte Extensionalitätsprinzip Anwendung: Der Wahrheitswert der
komplexen Aussagen soll sich eindeutig aus den Wahrheitswerten der Teilaussagen ergeben.
Wir werden in den Kapiteln 4 und 5 späteren Kapiteln diese Sichtweise formal präzisieren, indem wir aussagenlogische Formeln (Syntax ) induktiv definieren und diesen dann induktiv eine
Bedeutung (Semantik ) zuweisen. Zunächst aber betrachten wir hier einen etwas weniger formalen
Zugang:
Definition 2.5 (Verknüpfung von Aussagen). Seien A und B beliebige Aussagen. Die folgenden
Gebilde sind dann ebenfalls Aussagen (aussagenlogische Formeln):
Negation von A: (¬A), gesprochen „nicht A“. Der Wahrheitswert von A wird invertiert.a
Disjunktion von A und B: (A ∨ B), gesprochen „A oder B“. Wahr genau dann, wenn mindestens
eine der beiden Aussagen wahr ist.
Konjunktion von A und B: (A ∧ B), gesprochen „A und B“. Wahr genau dann, wenn beide
Aussagen wahr sind.
Implikation von A und B: (A ⇒ B), gesprochen „A impliziert B“ oder „aus A folgt B“: Wahr
genau dann, wenn falls A wahr ist auch B wahr ist.b
Äquivalenz von A und B: (A ⇔ B), gesprochen „A ist äquivalent zu B“ oder „A genau dann,
wenn B“. Wahr genau dann, wenn beide Aussagen den gleichen Wahrheitswert besitzen.
a Gelegentlich
bA
wird die Negation auch durch einen Überstrich ausgedrückt: A.
ist die Prämisse und B die Konklusion der Implikation.
Bemerkenswert an Definition 2.5 ist die Selbstbezüglichkeit: Obwohl Aussagen im Sinne der Aussagenlogik dort erst definiert werden, so wird in der Definition bereits auf Aussagen A und B
zurückgegriffen. Da für Aussagen A, B, C auch ¬A und (B ∨ C) Aussagen sind, ist auch ¬(B ∨ C)
eine Aussage. An dieser Art des induktiven Definierens, das in Kapitel 4 formalisiert wird, lassen
sich sofort zwei Eigenschaften ablesen: Zum einen ist die Menge aller aussagenlogischen Formeln
unbegrenzt, da sich aus den vorhandenen stets neue, komplexere Aussagen bilden lassen. Zum anderen ist es leicht einsichtig, warum elementare Aussagen benötigt werden: Andernfalls hätte man
keinen Punkt, an dem man mit der Konstruktion einer aussagenlogischen Formel beginnen könnte.
Die Definitionen basieren selbst bereits auf einer der obigen Verknüpfungen: Die Formulierung
„genau dann, wenn ...“ drückt eine Äquivalenzbeziehung aus. Aufgrund der großen Wichtigkeit
dieser Beziehung kürzt man dies auch oft mit „gdw.“ (im Englischen iff = „if and only if“) ab.
Hier zeigt sich allerdings die in der Einleitung bereits angesprochene Wichtigkeit der Trennung
verschiedener Bedeutungsebenen: Die Äquivalenz „⇔“ ist eine Verknüpfung in der Aussagenlogik,
der eine bestimmte Bedeutung zugeordnet ist. Die Aussage „genau dann, wenn ...“ findet jedoch
auf einer Ebene statt, auf der man über die Aussagenlogik bzw. deren Semantik spricht. Die beiden
Ausdrücke sind in der obigen Definition also keinesfalls vertauschbar!
Bei der Implikation ist zu bedenken, dass diese im Falle einer nicht erfüllten Prämisse wahr ist. So
13
ist die Aussage:
10 ist eine Primzahl ⇒ Elefanten können fliegen
eine wahre Aussage. Aus einer logisch falschen Aussage lässt sich daher jede andere Aussage folgern
(lat. ex falso quodlibet, „aus dem Falschen folgt Beliebiges“).
Die Verknüpfungen ⇒ (Implikation) und ⇔ (Äquivalenz) drücken eine „wenn, dann ...“- bzw. „genau
dann, wenn ...“-Beziehung aus. Im normalen Sprachgebrauch vernachlässigt man diese Trennung
jedoch oft. So trifft der Satz „Wenn heute die Sonne scheint, gehe ich schwimmen“ formal logisch
gesehen keine Aussage über den Fall, dass die Sonne nicht scheint – anders als eine „Genau dann,
wenn ...“-Formulierung, also eine Äquivalenz.
Eine weitere Verknüpfung, die weniger in der mathematischen Logik, dafür umso mehr in der
Informatik eine Rolle spielt, ist das sogenannte XOR (von engl. eXclusive OR, „exklusives Oder“,
auch als Kontravalenz oder Antivalenz bezeichnet), ausgedrückt durch das Zeichen ⊕. Die Aussage
A ⊕ B ist genau dann wahr, wenn entweder A oder B, aber nicht beide wahr sind. Es lässt sich
leicht überprüfen, dass dies die Negation der Äquivalenz ist.
Eine zentrale Eigenschaft der XOR-Verknüpfung ist die Tatsache, dass eine zweifache Anwendung
mit dem gleichen Operand wieder den ursprünglichen Wahrheitswert ergibt, d.h. (A⊕B)⊕B besitzt
den gleichen Wahrheitswert wie A. In der Informatik ist sie insbesondere in der Kryptographie von
Bedeutung.
Die Verknüpfungssymbole ¬, ∨, ∧, ⇒ und ⇔ werden auch Junktoren genannt. Um Klammern einzusparen vereinbart man, dass bei der Auswertung ¬ Vorrang vor anderen Junktoren, ∧ Vorrang
vor allen Junktoren außer ¬ und ∨ Vorrang vor ⇒ und ⇔ hat.3
Eine formalere Form der Auswertung von Aussagen im Sinne der Aussagenlogik erlaubt die im
Folgenden dargestellte Wahrheitstafel, welche die in Definition 2.5 Verknüpfungen zusammenfasst:
A
f
f
w
w
B
f
w
f
w
¬A
w
w
f
f
A∨B
f
w
w
w
A∧B
f
f
f
w
A ⇒ B
w
w
f
w
A ⇔ B
w
f
f
w
Die Spalten einer Wahrheitstafel lassen sich in zwei Hälften einteilen: Auf der linken Seite stehen
die elementaren Aussagen (hier A und B), auf der rechten Seite finden sich die aus diesen zusammengesetzten aussagenlogischen Formeln. Eine Zeile in der Wahrheitstafel korrespondiert zu einer
eindeutigen Belegung der elementaren Aussagen mit einem Wahrheitswert. In den Zellen schließlich
finden sich die Wahrheitswerte der Aussagen unter der jeweiligen Belegungen.
Es lässt sich zeigen, dass man für eine gegebene Menge von elementaren Aussagen und eine beliebige
Spalte in der zugehörigen Wahrheitstafel eine aussagenlogische Formel konstruieren kann, deren
Auswertung genau die in der Spalte vorgegebenen Wahrheitswerte ergibt. Dies ist beispielsweise
3 Man
sagt auch, dass ¬ stärker bindet als ∧. Die Rangfolge der Junktoren bezeichnet man auch als Operatorenpräzedenz, in der Arithmetik wird diese durch die Regel „Punkt- vor Strichrechnung“ verkörpert.
14
durch die Konstruktion der disjunktiven Normalform (DNF) möglich, ein Verfahren, welches in
der Vorlesung „Rechnerstrukturen“ vorgestellt wird. Die resultierenden Formeln enthalten sogar
lediglich die Junktoren ¬, ∧ und ∨. Man sagt daher auch, dass die Junktorenmenge {¬, ∧, ∨}
funktional vollständig sei.
Aussagen A und B, deren Wahrheitstafeleinträge gleich sind, werden als (semantisch) äquivalent
bezeichnet (in Zeichen A ≡ B). Zum Beispiel kann die Konjunktion, die Implikation und die
Äquivalenz wie folgt durch alleinige Verwendung der Junktoren ¬ und ∨ ausgedrückt werden.
A∧B
≡
¬(¬A ∨ ¬B)
(2.1)
A ⇒ B
≡
¬A ∨ B
(2.2)
A ⇔ B
≡
¬(¬(¬A ∨ B) ∨ ¬(¬B ∨ A)))
(2.3)
Es sei darauf hingewiesen, dass die semantische Äquivalenz ≡ nicht etwa Junktor der Aussagenlogik
ist, sondern – vergleichbar zu „genau dann, wenn ...“ – Metasymbol, um Aussagen über Aussagen
zu formulieren. Es gilt jedoch, dass für äquivalente Aussagen A ≡ B die Aussage A ⇔ B eine
Tautologie, sprich eine immer wahre Aussage ist.
Größe von Wahrheitstafeln. Bei der Betrachtung aussagenlogischer Formeln interessiert man
sich seltener für den Wahrheitswert unter einer bestimmten Belegung, sondern für die Gesamtheit
aller möglichen Belegungen: Ist eine Aussage widersprüchlich (auch: unerfüllbar), d.h. unter keiner
möglichen Belegung wahr? Ist sie zumindest erfüllbar, d.h. unter mindestens einer Belegung wahr?
Oder ist sie gar eine Tautologie (auch: allgemeingültig), also wahr unter jeder möglichen Belegung?
Man erkennt schnell, dass man für die eindeutige Beantwortung dieser Fragen mithilfe einer Wahrheitstafel immer die gesamte Wahrheitstafel kennen muss – für widersprüchliche und allgemeingültige Aussagen im Falle einer positiven, für die Erfüllbarkeit im Falle einer negativen Antwort.
Jedoch wächst die Größe einer Wahrheitstafel exponentiell mit der Anzahl elementarer Aussagen:
Bei n elementaren Aussagen sind 2n Zeilen erforderlich. Sind im Falle von 2 elementaren Aussagen 4 Zeilen, wie in der obigen Wahrheitstafel, auch für einen Menschen noch überschaubar, so
wird dies bei 5 elementaren Aussagen (32 Zeilen) bereits schwer und bei 10 elementaren Aussagen (1024 Zeilen) unmöglich. Auch Computer geraten spätestens ab n = 50 an ihre Grenzen. In
der Vorlesung „Logik für Informatiker“ werden daher Algorithmen vorgestellt, welche den Test auf
(Un-)Erfüllbarkeit aussagenlogischer Formeln, teilweise unter gewissen Einschränkungen, wesentlich effizienter als durch Berechnung einer Wahrheitstafel durchführen können.
Die Äquivalenzen 2.1 und 2.2 sind exemplarisch in der folgenden Wahrheitstafel bewiesen:
A
f
f
w
w
B
f
w
f
w
¬A
w
w
f
f
¬B
w
f
w
f
¬A ∨ ¬B
w
w
w
f
¬(¬A ∨ ¬B)
f
f
f
w
A∧B
f
f
f
w
¬A ∨ B
w
w
f
w
A⇒B
w
w
f
w
15
Die Gleichungen (2.1) - (2.3) zeigen, dass Negation und Disjunktion alleine ausreichen, um alle
in Definition 2.5 eingeführten Aussagenverknüpfungen auszudrücken. Dies ist nicht überraschend:
Da die Junktorenmenge {¬, ∧, ∨} funktional vollständig ist, und sich ∧ durch ¬ und ∨ ausdrücken
lässt (Äquivalenz 2.1), ist natürlich auch die Menge {¬, ∨} funktional vollständig, also insbesondere
auch ausreichend, um Implikation und Äquivalenz auszudrücken.
Tatsächlich genügt sogar schon ein einziger Operator: Definiert man die „Nicht-Und“-Verknüpfung
(auch NAND-Verknüpfung, Not AND, genannt), durch A ∧ B =df ¬(A∧B), so lässt sich die Negation ausdrücken durch ¬A ≡ A ∧ A und die Disjunktion durch A∨B ≡ ¬A ∧ ¬B ≡ (A ∧ A) ∧(B ∧ B).
Die NAND-Verknüpfung alleine ist also bereits funktional vollständig. Dies ist insbesondere im
Schaltwerksentwurf von Bedeutung, wo es von Vorteil ist, möglichst einheitliche Bausteine zu verwenden.
Im Folgenden werden semantische Äquivalenzen von aussagenlogischen Formeln aufgelistet, welche
insbesondere für die Vereinfachung von Formeln von Bedeutung sind. T und F stehen hierbei als
Symbole für eine immer wahre bzw. immer falsche Aussage. Den Nachweis dieser Äquivalenzen mit
Hilfe von Wahrheitstafeln überlassen wir dem Leser als Übungsaufgabe.
Lemma 2.6 (Semantische Äquivalenzen). Es gelten für beliebige Aussagen A, B, C die folgenden
Äquivalenzen:
16
A∧B
A∨B
≡
≡
B ∧A
B ∨A
(A ∧ B) ∧ C
(A ∨ B) ∨ C
≡
≡
A ∧ (B ∧ C)
A ∨ (B ∨ C)
A ∧ (A ∨ B)
A ∨ (A ∧ B)
≡
≡
A
A
A ∧ (B ∨ C)
A ∨ (B ∧ C)
≡
≡
(A ∧ B) ∨ (A ∧ C)
(A ∨ B) ∧ (A ∨ C)
A ∧ ¬A
A ∨ ¬A
≡
≡
F
T
(Negation)
A∧A
A∨A
≡
≡
A
A
(Idempotenz)
¬ ¬A
≡
A
(Doppelnegation)
¬(A ∧ B)
¬(A ∨ B)
≡
≡
¬A ∨ ¬B
¬A ∧ ¬B
T ∧ A
F ∨ A
≡
≡
A
A
(Kommutativität)
(Assoziativität)
(Absorption)
(Distributivität)
(deMorgansche Regeln)
( Neutralität)
Negationsnormalform. Die sogenannten deMorganschen Regeln erlauben es, eine Negation von
einem Junktor auf die Operanden zu verschieben. Bei der Verarbeitung von aussagenlogischen
Formeln ist es oftmals unerwünscht, dass ganze Teilausdrücke negiert werden. Die wiederholte
Anwendung der deMorganschen Regeln sowie der Elimination von Doppelnegationen erlaubt es,
die Formel in eine semantisch äquivalente Formel zu transformieren, in der Negationen nur noch
unmittelbar vor elementaren Aussagen auftreten. Dieses Vorgehen bezeichnet man als negation
pushing, die resultierende Form bezeichnet man als Negationsnormalform (NNF).
2.1.2 Anwendung: Digitale Schaltkreise
In der bisher betrachteten Aussagenlogik liegt der Fokus auf der Kombination elementarer Aussagen
zu größeren Konstrukten. Die Struktur elementarer Aussagen ist nicht relevant. Die Aussagenlogik
ist daher in Szenarien adäquat, wo nicht näher untersuchte Basisobjekte genau zwei Werte annehmen können. Dieses ist zum Beispiel in der Theorie digitaler Schaltkreise der Fall. Dort geht es um
die Verarbeitung binärer Signale, die durch zwei unterschiedliche Spannungspotentiale, etwa 0 V
(entspricht f oder 0) und 5 V (entspricht w oder 1), realisiert werden.
Wir betrachten hier zunächst die Funktionalität eines Halbaddierers. Dieser addiert die an zwei
Eingängen A und B anliegende Signale (entweder 0 oder 1) und erzeugt dabei gegebenenfalls einen
Überlauf (oder Übertrag), der von einem nachgeschalteten Volladdierer verarbeitet werden kann.
Liegt an einem von beiden Eingängen eine 1 an, so ergibt sich als Summe am Ausgang Z ebenfalls 1,
ein Überlauf geschieht nicht. Liegt jedoch an beiden Eingängen 1 an, so ist – wie in der schriftlichen
Addition, hier in das Binärsystem übertragen – die Summe 0, dafür aber wird der Überlauf Ü auf
1 gesetzt.
Abbildung 2.a: Halbaddierer aus NAND-Bausteinen
In Abbildung 2.a findet sich das Schaltbild eines Halbaddierers, der ausschließlich aus NANDBausteinen besteht.a Die Wahrheitstafel für die Gesamtfunktionalität des Halbaddieres ist in Tabelle 2.a zu finden.
17
A B
0 0
0 1
1 0
1 1
Tabelle 2.a:
a Dies
C
D
E
Z
Ü
z }| { z }| { z }| { z }| { z }| {
¯ B A∧
¯ C C∧
¯ B D∧
¯ E C∧
¯C
A∧
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
Wahrheitstafel zu Schaltung aus Abbildung 2.a
ist aufgrund der funktionalen Vollständigkeit von NAND für jede Schaltung möglich.
Wir werden digitale Schaltkreise an dieser Stelle nicht weiter vertiefen. Diese werden ausführlich
in der Vorlesung Rechnerstrukturen oder Elektrotechnik-Vorlesungen (wie z.B. Elektrotechnik und
Nachrichtentechnik) behandelt.
2.1.3 Prädikatenlogik
Genügt die Aussagenlogik zur Beschreibung der Theorie digitaler Schaltkreise, so ist sie für die
Behandlung allgemeiner mathematischer Theorien zu eingeschränkt, da die innere Struktur der
elementaren Aussagen dort eine Rolle spielt. Beispielsweise folgen die Aussagen
1+2
=
2+1
2+3
=
3+2
6 + 14
=
..
.
14 + 6
alle demselben Muster. Sie drücken nämlich die Kommutativität der Addition natürlicher Zahlen
aus. Diesem wird durch die Einführung quantifizierter Ausdrucksformen wie „für alle“ und „es
gibt“ in der Prädikatenlogik Rechnung getragen. Bezeichnet N die Menge der natürlichen Zahlen,4
so drückt die prädikatenlogische Formel
∀ x ∈ N. ∀ y ∈ N. x + y = y + x
den Tatbestand der Kommutativität aus.
Wir verzichten in dieser Vorlesung auf eine formal fundierte Einführung der Prädikatenlogik und
verweisen auf vertiefende Vorlesungen wie Logik für Informatiker. Wesentlicher Bestandteil der
Prädikatenlogik ist eine zugrundeliegende Struktur. Hierunter versteht man eine nichtleere Menge sogenannter Individuen mit zugehörigen Operationen und Relationen (siehe Kapitel 3.1). Ein
wichtiges Beispiel für eine solche Struktur sind die natürlichen Zahlen N, auf denen die Operationen Addition und Multiplikation definiert sind, und welche über die Gleichheits- und ≤-Relation
miteinander verglichen werden können. Die Prädikatenlogik über den natürlichen Zahlen erweitert
die Aussagenlogik in folgender Weise:
4 Im
Verlauf dieses Skripts gehen wir davon aus, dass auch 0 eine natürliche Zahl ist. Für die Menge der echt
positiven natürlichen Zahlen schreiben wir dann N+ .
18
1. Die Junktoren der Aussagenlogik dürfen wie gewohnt zum Kombinieren von Aussagen verwendet werden.
2. Zusätzlich dürfen relationale Ausdrücke mit freien Variablen über natürlichen Zahlen, wie
z.B. n + 1 ≤ 3, verwendet werden. Man spricht hier von Prädikaten oder Aussageformen.5
Aussageformen dürfen auch mehrere freie Variablen enthalten.
3. Aussageformen können unter Verwendung des All- und Existenzquantors in Aussagen überführt werden. Für eine Aussageform A(n) mit freier Variable n bilden wir die:
Allaussage: ∀ n. A(n). Diese ist genau dann wahr, wenn A(n) für alle Werte n ∈ N wahr ist.
Existenzaussage: ∃ n. A(n). Diese ist genau dann wahr, wenn A(n) für mindestens einen
Wert n ∈ N wahr ist.
Ist die zugrundeliegende Struktur der natürlichen Zahlen nicht aus dem Kontext ersichtlich,
schreiben wir auch ∀ n ∈ N. A(n) bzw. ∃ n ∈ N. A(n). In der quantifizierten Formel ist
die Variable n an den Quantor gebunden und kann somit nicht durch äußere quantifizierte
Formeln referenziert werden.
Auf einen Quantor muss nicht immer unmittelbar eine Aussageform folgen. Ist bspw. B eine
Aussageform mit zwei freien Variablen, so kann man z.B. schreiben ∀ n. ∃ m. B(n, m).
Natürlich lassen sich auch Prädikatenlogiken über anderen Strukturen als den natürlichen Zahlen definieren. Um Klammern einzusparen vereinbart man, dass Quantoren schwächer binden als
alle Junktoren. Soll eine engere Bindung zum Ausdruck gebracht werden, müssen quantifizierte
Aussagen entsprechend geklammert werden. Statt ¬(∀ n. A(n)) und ¬(∃ n. A(n)) schreiben wir
kurz 6 ∀ n. A(n) und @ n. A(n). Geschachtelte quantifizierte Aussagen mit demselben Quantor, etwa
∀ x1 . ∀ x2 . . . . ∀ xn . A(x1 , . . . , xn ), können abgekürzt durch ∀ x1 , . . . , xn . A(x1 , . . . , xn ) dargestellt
werden.
Oft führt man in der Prädikatenlogik auch Relationen als Abkürzungen für komplexere Teilformeln
mit freien Variablen ein. Wir demonstrieren dieses für die Eigenschaft des größten gemeinsamen
Teilers (ggT). Als Hilfsmittel definieren wir zunächst die Teilbarkeitsrelation:
n|m =df ∃ k ∈ N. n · k = m.
In Worten: n teilt m, falls es eine natürliche Zahl k gibt, so dass das k-fache von n die Zahl m
ergibt. Darauf aufbauend definieren wir eine dreistellige Relation ggT , die ausdrückt, wann eine
natürliche Zahl x größter gemeinsamer Teiler der natürlichen Zahlen n und m ist:
ggT (n, m, x) =df x|n ∧ x|m ∧ ∀ y ∈ N. (y|n ∧ y|m) ⇒ y ≤ x.
Durch x|n ∧ x|m wird zunächst die Forderung ausgedrückt, dass x ein gemeinsamer Teiler von
n und m ist. Die dann folgende Allaussage drückt die Forderung aus, dass x größer oder gleich zu
5 Der
Begriff Aussageform bringt zum Ausdruck, dass eine solche erst durch das Zuordnen von Werten für die
Variablen zur Aussage wird. Beispielsweise ergibt n + 1 ≤ 3 für n 7→ 2 eine wahre, aber für n 7→ 3 eine falsche
Aussage.
19
jedem anderen gemeinsamen Teiler ist. Da die ggT-Relation auch als Funktion (siehe Kapitel 3.2)
ggT : N × N → N angesehen werden kann, schreibt man statt ggT (n, m, x) auch x = ggT (n, m).
Hier zeigt sich einer der wesentlichen Unterschiede zwischen Mathematik und Informatik: Anhand
der obigen prädikatenlogischen Ausdrücke lässt sich die ggT -Funktion mathematisch einwandfrei
definieren. Zu einer Funktion im Sinne der Informatik gehört jedoch eine Berechnungsvorschrift,
d.h. eine algorithmische Beschreibung, wie man zum korrekten Ergebnis gelangt. In der Definition
des obigen ggT -Prädikats ist eine solche nicht enthalten! Selbst der Test auf Teilbarkeit liefert keine
explizite Beschreibung, wie ein geeignetes k zu finden ist.
Will man jedoch einen Bezug zwischen einer Implementierung der Funktion und dem mathematischen Phänomen des größten gemeinsamen Teilers herstellen, die Korrektheit des Programms also
verifizieren, so ist es oftmals unabdingbar, sich auf die formalen Definitionen etwa in Form der
obigen prädikatenlogischen Formel zu stützen. Dies gilt beispielsweise für die Ableitung korrekter
Invarianten, die ein Schlüsselwerkzeug zur Programmverifikation darstellen. Für das Problem der
ggT-Berechnung mittels des Euklidischen Algorithmus werden wir dies an späterer Stelle auch
durchführen.
Eine häufige Quelle von Missverständnissen ist die Auswirkung logischer Negation auf quantifizierte
Formeln, da diese sich nicht unbedingt mit dem Alltagsverständnis deckt. So ist die Negation von
„alle“ keinesfalls „keiner“, sondern eben „nicht alle“. Formal gilt folgender Zusammenhang:
Lemma 2.7 (Negation von quantifizierten Formeln). Sei A eine Aussageform mit einer freien
Variablen. Dann gelten die folgenden Äquivalenzen:
1. ¬(∀ x. A(x)) ≡ ∃ x. ¬A(x)
2. ¬(∃ x. A(x)) ≡ ∀ x. ¬A(x)
Beweis Wir zeigen exemplarisch die erste Eigenschaft, wobei wir die Struktur natürlicher Zahlen
zugrunde legen.
¬(∀ x. A(x)) ist wahr gdw.
gdw.
gdw.
gdw.
∀ x. A(x) ist falsch
A(x) ist falsch für mindestens ein x
¬A(x) ist wahr für mindestens ein x
∃ x. ¬A(x) ist wahr
(Auswertung ¬)
(Auswertung ∀)
(Auswertung ¬)
(Auswertung ∃)
2
Negationsnormalform. Ähnlich wie über die deMorganschen Regeln lassen sich auch mit den
obigen Äquivalenzen Negationen auf eine tiefere Ebene verschieben. Eine Negationsnormalform,
wie in Abschnitt 2.1.1 beschrieben, lässt sich also auch für prädikatenlogische Formeln definieren. Hierbei wendet man – solange dies möglich ist – die Elimination doppelter Negationen, die
deMorganschen Regeln oder die Regeln zur Negation von Quantoren an. Das Ergebnis ist eine
prädikatenlogische Formel, in der Negationssymbole nur noch unmittelbar vor aus Aussageformen
gebildeten Aussagen auftreten.
20
2.1.4 Logische Beweisprinzipien
Während Wahrheitstafeln ausreichen um beliebige Sätze der Aussagenlogik zu beweisen, kann ein
tabellarischer Ansatz in der Prädikatenlogik wegen der im Regelfall unendlich großen zugrundeliegenden Strukturen nicht mehr zielführend sein. Prinzipiell gibt es beim Beweisen zwei unterschiedliche Ansätze. Zum einen kann ein Beweis semantisch vorgehen, d.h. sich direkt an der Definition
der Semantik der logischen Konstrukte (Junktoren und Quantoren) orientieren. Ein Beispiel für
eine solches Vorgehen ist der Beweis zu Lemma 2.7.6 Zum anderen können als gültig nachgewiesene
Regeln verwendet werden, um die zu beweisende Behauptung syntaktisch zu transformieren. Auf
diesem Vorgehen basieren insbesondere automatisierte Beweissysteme. Ein Beweis für die semantische Äquivalenz T ∨ A ≡ T, der sich ausschließlich auf die Regeln aus Lemma 2.6 stützt, ist:
T∨A
≡
≡
≡
≡
≡
≡
(A ∨ ¬A) ∨ A
(Negation)
A ∨ (¬A ∨ A)
(Assoziativität)
A ∨ (A ∨ ¬A) (Kommutativität)
(A ∨ A) ∨ ¬A
(Assoziativität)
A ∨ ¬A
(Idempotenz)
T
(Negation)
Der vorangegangene Beweis folgt einem Vorgehen, welches zentral für die gesamte Mathematik ist:
Dem axiomatischen Beweisen. Beim axiomatischen Beweisen wird die Gültigkeit einer Behauptung nachgewiesen, indem man sie aus bekannten, als wahr angenommenen Sätzen (den Axiomen)
herleitet. In diesem Beispiel waren dies die in Lemma 2.6 festgehaltenen Äquivalenzen.
Beweisprinzip 2.8 (Axiomatisches Beweisen).
Aus einer Menge von Axiomen, also als wahr vorausgesetzten Sätzen, wird die zu zeigende
Behauptung abgeleitet.
In der mathematischen Praxis verwendet man meist ein gemischtes Vorgehen. Immer wenn ein
praktisch besonders relevantes Beweismuster eingesetzt wird, wird dies in der obigen Weise festgehalten.
Der Begriff „Axiom“
Zentral für den Begriff des Axioms ist die Tatsache, dass dieses als wahr angenommen wird, ohne
dass es bewiesen werden muss – und im strengen Sinne auch nicht bewiesen werden kann. Die
in Lemma 2.6 festgehaltenen Äquivalenzen lassen sich natürlich anhand einer Wahrheitstafel über
die in Definition 2.5 definierte Semantik beweisen, dies ist jedoch für die Gültigkeit des obigen
Beweises nicht notwendig! Nimmt man lediglich ein System an, in dem die Gesetzmäßigkeiten aus
6 Da
die Semantik von Prädikatenlogik in diesem Kapitel nicht vollständig formal ausgeführt ist, sollte man genau
genommen von einem intuitiv semantischen Beweis sprechen. In Kapitel 5 werden wir anhand der formalen
Semantik genauer argumentieren.
21
Lemma 2.6 gelten, so lässt sich die Aussage T ∨ A ≡ T ebenso beweisen, die Negationsregel selbst
ist jedoch nicht ohne Zirkelschluss ableitbar.
Die gesamte moderne Mathematik basiert auf einem solchen Axiomensystem (genauer: auf einer
Axiomatisierung der Mengenlehre, siehe den folgenden Abschnitt). Eine boshafte Interpretation
hiervon ist die Behauptung, Mathematik gründe sich ausschließlich auf willkürliche Annahmen.
Tatsächlich sind auch Systeme denkbar, in denen zusätzliche Axiome gelten, oder aber manche der
gemeinhin verwendeten Axiome als falsch angenommen werden. Dies ist weniger eine Frage von
richtig oder falsch als davon, ob sich im resultierenden System als relevant erachtete Sätze ableiten
lassen – auch wenn Mathematik Grundlage vieler Naturwissenschaften ist, so ist sie nicht per se
zu einer korrekten (was auch immer dies bedeuten mag) Abbildung der Wirklichkeit verpflichtet!
Anforderungen, die man auf einer höheren Ebene an Axiomensysteme stellen kann, sind ihre Konsistenz (aus den Axiomen lässt sich nicht sowohl ein Satz als auch seine Negation ableiten) und
Vollständigkeit (sämtliche wahren Sätze lassen sich aus den Axiomen ableiten). Dem sind jedoch
enge Grenzen gesetzt: In Axiomensystemen hinreichender Komplexität ist weder die Konsistenz
beweisbar, noch die Vollständigkeit realisierbar. Dies wird in Abschnitt 2.3 noch genauer ausgeführt.
2.2 Mengen
Die Mengenlehre als eigenständige mathematische Disziplin geht zurück auf Arbeiten von Georg
Cantor aus dem späten 19. Jahrhunderts. Im Rahmen seiner Arbeit formulierte er folgende Mengendefinition:
Definition 2.9. Unter einer Menge verstehen wir jede Zusammenfassung M von bestimmten
wohlunterschiedenen Objekten m unserer Anschauung oder unseres Denkens (welche die Elemente
von M genannt werden) zu einem Ganzen.
Für eine Menge M kennzeichnet die Aussage m ∈ M , dass m ein Element von M ist. Für die
negierte Aussage ¬(m ∈ M ) wird abkürzend auch m ∈
/ M geschrieben.
Mengen lassen sich in unterschiedlicher Weise beschreiben. Endliche Mengen lassen sich durch
Aufzählung ihrer Elemente beschreiben. So stellt M1 = {♣, ♠, ♥, ♦} die Menge der Kartenfarben
von Spielkarten und M2 = {Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag}
die Menge der Wochentage dar. Auch für unendliche Mengen ist eine solche Beschreibung prinzipiell
möglich, wenn die Beschreibung unmissverständlich ist. So kann man die aus der Schulmathematik
bekannte Menge der natürlichen Zahlen aufzählend beschreiben als N = {0, 1, 2, 3, . . .} und die
Menge der geraden natürlichen Zahlen als Nger = {0, 2, 4, 6, . . .}.7
Die beschreibende Form charakterisiert Mengen, indem die enthaltenen Elemente durch ein Prädikat
charakterisiert werden. So kann die Menge der Primzahlen beschrieben werden durch
P rim = {p | p ∈ N ∧ p ∈
/ {0, 1} ∧ ∀ n ∈ N. n | p ⇒ n ∈ {1, p}}.
7 In
22
Kapitel 4 wird das Konzept des induktiven Definierens als Formalisierung der “..”-Notation eingeführt.
Allgemein hat die beschreibende Form einer Menge M die Gestalt
M = {m | A(m)},
wobei A(m) Prädikat über m, also eine Aussageform mit freier Variablen m ist. Sind die Elemente von m aus einer in A(m) beschriebenen Grundmenge, so kann diese Information auch der
Variablenangabe zugeschlagen werden. Im Falle der Primzahlen hätten wir also:
P rim = {p ∈ N | p ∈
/ {0, 1} ∧ ∀ n ∈ N. n|p ⇒ n ∈ {1, p}}.
Ist A(m) ein unerfüllbares Prädikat so wird dadurch die leere Menge ∅ beschrieben, also ∅ = {x |
F}. Die leere Menge ist die eindeutig bestimmte Menge, die kein Element enthält. Es gilt also
∀ x. x ∈
/ ∅.8
Charakteristisch für Mengen sind die folgenden zwei Eigenschaften:
• Eine Menge definiert keine Anordnung ihrer Elemente. Die Menge {1, 2, 3} unterscheidet sich
nicht von der Menge {3, 2, 1}.
• Elemente einer Menge haben keine Vielfachheit. Von Interesse ist ausschließlich, welche Elemente vorhanden sind. So bezeichnet {1, 1, 2, 2} die gleiche Menge wie {1, 2}.
2.2.1 Mengenbeziehungen
Bei der Betrachtung von Mengen ist es oftmals von Interesse, wie diese sich zueinander verhalten.
Ein naheliegendes Konzept zum Vergleichen zweier Mengen ist natürlich die Betrachtung, ob diese
die gleichen Elemente enthalten, also ob die Mengen an sich gleich sind. Aber auch im Falle
ungleicher Mengen gibt es interessante Fragen: Sind alle Elemente der einen Menge auch in der
anderen Menge enthalten? Formal spricht man hier von einer (echten) Teilmengenbeziehung. Diese
Betrachtung liefert die folgenden Mengenbeziehungen.
Definition 2.10 (Mengenbeziehungen). Seien A und B Mengen. Es gelten die folgenden Beziehungen:
1. A ⊆ B (sprich A ist Teilmenge von B) ⇔df
2. A = B (sprich A ist gleich B) ⇔df
(∀ x. x ∈ A ⇒ x ∈ B)
A ⊆ B ∧ B ⊆ A.
3. A ⊂ B (sprich A ist echte Teilmenge von B) ⇔df
A ⊆ B ∧ A 6= B.
Per Definition ist die leere Menge Teilmenge jeder anderen Menge. Die (echte) Teilmengenbeziehung
von Mengen lässt sich anschaulich gut in einem sogenannten Venn-Diagramm (Abb. 2.1) darstellen.
In diesem werden Mengen durch geometrische Formen (z.B. Kreise) repräsentiert, welche sich
überdecken, ineinander enthalten sind, sich überschneiden oder schnittfrei sind.
8 Auch
wenn „Mengen von Mengen“ erst zu einem späteren Zeitpunkt behandelt werden, so sei bereits an dieser Stelle
angemerkt, dass sich die leere Menge ∅ von der Menge {∅}, welche nur die leere Menge enthält, unterscheidet!
23
A ⊂ B
A
B
Abbildung 2.1: Venn-Diagramm der echten Teilmengenbeziehung
Potenzmengen
Mengen, deren Elemente selbst Mengen über einer Grundmenge M , sind bezeichnet man als Mengensysteme über M . Ein besonders wichtiges Mengensystem ist die Menge aller Teilmengen von
M:
Definition 2.11 (Potenzmenge). Sei M eine Menge. Die Potenzmenge von M ist definiert durch
P(M ) =df {M 0 | M 0 ⊆ M }.
Zu bemerken ist hier, dass die Potenzmenge P(M ) stets sowohl die Grundmenge M als auch die
leere Menge ∅ enthält. Einen besonderen Fall stellt die leere Menge ∅ dar, wo diese beiden Mengen
identisch sind und außerdem das einzige Element der Potenzmenge darstellen; es gilt P(∅) = {∅}.
Beispiel 2.12. Für M = {1, 2, 3} gilt P(M ) = { ∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, M }.
2.2.2 Mengenverknüpfungen
Analog zu den logischen Junktoren, welche Aussagen miteinander verknüpfen, existieren auch
Mengenverknüpfungen, welche die Bildung neuer Mengen aus bestehenden erlauben.
Definition 2.13 (Verknüpfung von Mengen). Seien A und B Mengen. Dann sind folgende Mengenverknüpfungen definiert:
Vereinigung A ∪ B =df {x | x ∈ A ∨ x ∈ B}
Schnitt A ∩ B =df {x | x ∈ A ∧ x ∈ B}
Differenz A \ B =df {x | x ∈ A ∧ x 6∈ B}
Symmetrische Differenz A ∆ B =df (A ∪ B) \ (A ∩ B)
Wie man an der obigen Definition erkennt, weisen die aussagenlogischen Junktoren ∧ und ∨ mit den
Mengenverknüpfungen ∩ und ∪ nicht nur optische Ähnlichkeit auf, stattdessen sind sie zentral für
die Definition derselben. Die symmetrische Differenz ∆ entspricht weiterhin der XOR-Verknüpfung.
24
Falls A ∩ B = ∅ gilt, so nennt man A und B disjunkt. Bei der Übertragung auf mehrere Mengen
ist zu beachten, dass bspw. M1 ∩ M2 ∩ . . . ∩ Mn = ∅ keinesfalls bedeutet, dass diese Mengen jeweils
verschiedene Elemente enthalten, sondern lediglich, dass kein Element in allen Mengen enthalten
ist. Ist jedes Element nur in höchstens einer Menge enthalten, so sagt man, dass die Mengen
M1 , . . . , Mn paarweise disjunkt sind. In einer prädikatenlogischen Formel lässt sich dies ausdrücken
als:
∀ i, j ∈ {1, . . . , n}. i 6= j ⇒ Mi ∩ Mj = ∅.
Für eine gegebene Grundmenge M mit Teilmenge A ⊆ M ist weiterhin das Komplement von A
definiert als A{ =df M \ A.
Im folgenden finden sich illustrierende Venn-Diagramme zu jeder der oben definierten Verknüpfungen. Die aus der Verknüpfung resultierende Menge ist jeweils grau dargestellt.
A∩B
A
A∪B
B
A
A∆B
B
A
A\B
A
B
B \A
B
A
B
Abbildung 2.2: Venn-Diagramme
Beispiel 2.14. Seien P rim und Nger die Menge der Primzahlen und der geraden natürlichen
Zahlen, wie auf Seite 22 definiert. Es gilt:
•
P rim ∩ Nger
= {2}
•
P rim ∪ Nger
= {0, 2, 3, 4, 5, 6, 7, 8, 10, . . .}
•
P rim \ Nger
= {3, 5, 7, 11, 13, . . .}
•
Nger \ P rim
= {0, 4, 6, 8, 10, . . .}
•
Nger ∆ P rim
= {0, 3, 4, 5, 6, 7, 8, 10, . . .}
Beachte: 9 6∈ P rim ∪ Nger
Korrespondierend zu den Gesetzen der Aussagenlogik (siehe Lemma 2.6) gelten folgende Gleichheitsgesetze auf Mengen:
25
Lemma 2.15 (Mengengesetze). Seien A, B, C Teilmengen einer gemeinsamen Grundmenge M .
Dann gilt:a
a
A∩B
A∪B
=
=
B ∩A
B ∪A
(A ∩ B) ∩ C
(A ∪ B) ∪ C
=
=
A ∩ (B ∩ C)
A ∪ (B ∪ C)
A ∩ (A ∪ B)
A ∪ (A ∩ B)
=
=
A
A
A ∩ (B ∪ C)
A ∪ (B ∩ C)
=
=
(A ∩ B) ∪ (A ∩ C)
(A ∪ B) ∩ (A ∪ C)
A ∩ A{
A ∪ A{
=
=
∅
M
(Komplement)
A∩A
A∪A
=
=
A
A
(Idempotenz)
A{ {
=
A
(Doppelkomplement)
(A ∩ B){
(A ∪ B){
=
=
A{ ∪ B {
A{ ∩ B {
M ∩ A
∅ ∪ A
=
=
A
A
(Kommutativität)
(Assoziativität)
(Absorption)
(Distributivität)
(deMorgansche Gesetze)
( Neutralität)
Die Voraussetzung der gemeinsamen Grundmenge M ist nur für Gesetze erforderlich, die M selbst oder die
Komplementoperation { enthalten.
Die Vereinigung und der Schnitt von Mengen können auf beliebige Mengensysteme verallgemeinert
werden.
Definition 2.16 (Erweiterte Vereinigungen und Schnitte).
Sei M ein Mengensystem über einer Grundmenge M . Dann gilt:
1.
S
2.
T
M 0 ∈M
M 0 =df {m ∈ M | ∃ M 0 ∈ M. m ∈ M 0 }
M 0 ∈M
M 0 =df {m ∈ M | ∀ M 0 ∈ M. m ∈ M 0 }
Verkürzt können dieses Operationen auch als
26
S
M bzw.
T
M geschrieben werden.
2.2.3 Mächtigkeit endlicher Mengen
Mit der Mächtigkeit einer Menge M mit endlich vielen Elementen bezeichnen wir die Anzahl ihrer
Elemente, die wir mit |M | bezeichnen.9 Die Mächtigkeit der leeren Menge beträgt 0, d.h.: |∅| = 0.
Satz 2.17. Seien A und B endliche Mengen. Dann gelten die folgenden Gesetzmäßigkeiten:
1. |A\B| = |A| − |A ∩ B|
2. |A ∪ B| = |A| + |B| − |A ∩ B|
3. |A∆B| = |A| + |B| − 2|A ∩ B|
Beweis
1. A\B = A\(A ∩ B). Da (A ∩ B) ⊆ A gilt |A\B| = |A| − |A ∩ B|
2. Sei A ∩ B = ∅, dann |A ∪ B| = |A| + |B| was offensichtlich korrekt ist. Anderenfalls gilt jedoch
(1)
wegen A ∪ B = A ∪ (B\A) auch |A ∪ B| = |A ∪ (B\A)| = |A| + |B\A| = |A| + |B| − |A ∩ B|.
(1)
(2)
3. Wegen A∆B = (A ∪ B)\(A ∩ B) folgt |A∆B| = |A ∪ B| − |A ∩ B| = |A| + |B| − 2|A ∩ B|.
2
Wir werden den Mächtigkeitsbegriff in Abschnitt 3.2.2 auf beliebige, auch unendliche Mengen
verallgemeinern, benötigen dafür aber noch Begriffe, die erst im weiteren Verlauf eingeführt werden.
2.2.4 Antinomien
Die Cantorsche Mengenlehre stößt bei naiver Anwendung des Mengenbegriffes an ihre Grenzen.
Bekannt unter dem Namen Russelsche Antinomie ist zum Beispiel die „Menge“ aller Mengen, die
sich nicht selbst als Element enthalten:
R =df {M | M ∈
/ M }.
Fragt man sich jetzt, ob R in R enthalten ist, so gilt:
R∈R ⇔ R∈
/ R,
was offensichtlich logisch widersprüchlich ist.
Grundlegend für die Russelsche Antinomie ist die selbstreferentielle Konstruktion von R. Ein verwandtes Phänomen war uns bereits im Zusammenhang paradoxer “Aussagen” wie in Beispiel 2.3(4)
9 Teilweise
findet sich auch die Notation ]M , um die Mächtigkeit explizit von anderen Interpretationen der Betragsstriche | · | abzugrenzen.
27
begegnet. Ähnlich wie man in der Aussagenlogik „paradoxe Aussagen“ als Aussagen im mathematischen Sinne ausschließt, bildet die auf Ernst Zermelo und Abraham Adolf Fraenkel zurückgehende
axiomatische Mengenlehre a einen formalen Rahmen, der es verhindert, Konstrukte wie R als Mengen zu klassifizieren. Zentral dabei ist die Unterscheidung von Klassen und Mengen. Während
Klassen beliebige Zusammenstellungen von Elementen zulassen, erfordert die Mengeneigenschaft
das Einhalten zusätzlicher Konsistenzanforderungen.
Eine weitere bekannte Antinomie wurden von Cantor selbst offengelegt, der sich sehr wohl der
Antinomie-Problematik bewusst war. So ist bereits die Allmenge A, das heißt die „Menge“ aller
„Mengen“, widersprüchlich. Weil jede Teilmenge von A in A läge, müsste auch die Potenzmenge
P(A) Teilmenge von P(A) sein. Jedoch lässt sich zeigen, dass die Potenzmenge einer (auch unendlichen) Menge stets echt mächtiger als die Menge selbst ist. Dies wird in Kapitel 3 (Theorem 3.18)
genauer erläutert.
Die Russelsche Antinomie hat auch einen unmittelbaren Bezug zur Informatik. Eine fundamentale
Fragestellung der theoretischen Informatik ist, ob alle Probleme prinzipiell durch den Einsatz von
programmierbaren Rechenmaschinen gelöst werden können. Dies muss verneint werden, da sich
beispielsweise das sogenannte Halteproblem nicht mit einem Computer lösen lässt. Beim Halteproblem geht es um die Frage, ob ein Programm, das den Quelltext und die Eingabe eines anderen
Programmes kennt, entscheiden kann ob dieses Programm unter der gegebenen Eingabe hält oder
nicht. Das Halteproblem wird in weiterführenden Vorlesungen wie „Grundbegriffe der Theoretischen Informatik (GTI)“ ausführlich behandelt, unter anderem wird gezeigt, dass hieraus auch die
Unentscheidbarkeit vieler anderer Probleme folgt. An dieser Stelle verweisen wir interessierte Leser auf einen in http://lwb.mi.fu-berlin.de/personen/Halt.pdf vorgestellten didaktisch sehr
gelungener Brückenschlag zwischen Halteproblem und Russelscher Antinomie.
a siehe
http://de.wikipedia.org/wiki/Axiomatische_Mengenlehre
2.3 Abschließende Betrachtungen
Dem aufmerksamen Leser ist sicher nicht die ähnliche Struktur der Aussagen- und Mengengesetze
in Lemma 2.6 und 2.15 entgangen. In der Tat liegt hier ein erstes Szenario vor, das die in Kapitel
7 ausführlich diskutierten algebraischen Strukturen motiviert. Abstrahiert man nämlich von den
konkret vorliegenden Objekten und Verknüpfungen, so lassen sich Gesetzmäßigkeiten unabhängig
davon, nämlich auf der reinen Strukturebene studieren.
Tatsächlich sind sogar nur die jeweiligen Gesetze in der oberen Hälfte erforderlich,10 denn alle
anderen Gesetze sind jeweils aus diesen herleitbar. Auch wenn sich Lemma 2.6 auf Aussagen und
Lemma 2.15 auf Mengen beziehen, so genügt es aufgrund der exakt übertragbaren Struktur, diese
Herleitung nur einmal zu vollziehen. Dies motiviert ein Lösen von der sogenannten Modellebene,
also der Ebene der Aussagenlogik und Mengenverknüpfung, welche ein Modell für den Umgang
mit logischen bzw. mathematischen Phänomenen definieren, hin zu einer Betrachtung der Meta10 Diese
fünf Gesetze bilden eine sogenannte Boolesche Algebra (auch Boolescher Verband genannt), eine Struktur
mit herausragender Bedeutung in der Informatik.
28
Modell-Ebene, auf welcher man sich mit phänomenunabhängigen Modellen für ebensolche Modelle
befasst.
Obwohl Sätze der Aussagenlogik anhand von endlichen Wahrheitstafeln semantisch überprüft werden können, stößt ein solches Vorgehen rasch an seine Grenzen, da die Tabellen exponentiell groß in
der Anzahl der Aussagevariablen werden. Dagegen bietet das axiomatische, syntax-basierte Beweisen mit Hilfe der Gesetze aus Lemma 2.6 die Möglichkeit den Beweis kompositionell zu organisieren,
also durch Ausnutzung des strukturellen Aufbaus und des Extensionalitätsprinzips, welches es erlaubt, Teilausdrücke für sich genommen zu betrachten. Das Regelsystem erfüllt dabei zwei zentrale
Zielsetzungen, die allgemein bei Axiomatisierung von Regel- bzw. Gleichungssystemen wichtig sind:
Korrektheit: Es können nur gültige Aussagen durch das Ersetzen von „Gleichem durch Gleiches“
abgeleitet werden.
Vollständigkeit: Alle gültigen Aussagen können durch das Ersetzen von „Gleichem durch Gleiches“
auch hergeleitet werden.
Für die Prädikatenlogik stellt sich die Situation allerdings schon etwas schwieriger dar. Zwar ist
die Korrektheit in allen üblichen Regelsystemen gegeben, aber die Vollständigkeit hängt stark von
den betrachteten Strukturen ab. Für die Struktur der natürlichen Zahlen wurde durch Gödel in
seinem berühmten 1. Unvollständigkeitssatza nachgewiesen, dass es kein endliches vollständiges und
korrektes Regelsystem geben kann. Dies gilt entsprechend auch für sämtliche Axiomensysteme,
die eine Beschreibung der natürlichen Zahlen enthalten. Als unmittelbare Folge bedeutet dies
auch, dass es im in der Mathematik weithin verwendeten Axiomensystem, der Zermelo-FraenkelAxiomatisierung der Mengenlehre, unbeweisbare (und unwiderlegbare) Sätze gibt. Dies hatte einen
gewaltigen Einfluss auf die Mathematik des 20. Jahrhunderts, zu dessen Beginn man glaubte, mit
einer angemessenen Formalisierung der Mathematik sämtliche mathematischen Problemstellungen
lösen zu können. Erwähnenswert ist hier das Hilbert-Programmb des deutschen Mathematikers
David Hilbert (* 1862; †1943).
In Kapitel 8 werden wir dagegen Strukturen (z.B. Gruppen) kennenlernen, die vollständig axiomatisierbar sind: Genau die gültigen Aussagen lassen sich im jeweiligen Regelsystem herleiten.
Dennoch gibt es auch hier kein Verfahren, das entscheidenc kann, ob eine Aussage gültig ist oder
nicht.
a siehe
http://de.wikipedia.org/wiki/G%C3%B6delscher_Unvollst%C3%A4ndigkeitssatz
http://de.wikipedia.org/wiki/Hilbert-Programm
c siehe http://de.wikipedia.org/wiki/Entscheidbar
b siehe
2.4 Lernziele
Wenn Sie dieses Kapitel durchgearbeitet haben, sollten Sie...
• ein Verständnis von Aussagen- und Prädikatenlogik erlangt haben:
– Was sind Aussagen?
29
– Wie sind aussagenlogische/prädikatenlogische Formeln aufgebaut?
– Wie lässt sich die Gültigkeit einer Aussage zeigen?
– Wie lassen sich Aussagen in (semantisch äquivalente) Aussagen umformen (z.B. für
axiomatische Beweise)?
• ein Verständnis von Mengen erlangt haben:
– Was sind Mengen?
– Wie lassen sich Mengen definieren?
– In welcher Beziehung können Mengen zueinander stehen?
– Welche Verknüpfungen sind auf Mengen definiert?
– Welchen Grenzen unterliegt der Mengenbegriff?
• die Bedeutung von Mustern und Strukturen in der Mathematik erkannt haben:
– In welcher Beziehung stehen Aussagenlogik und Mengenlehre zueinander?
– Welche Vorteile hat (in diesem Kontext) das Betrachten der zugrundeliegenden Muster,
anstelle der konkreten aussagenlogischen Junktoren und Mengenverknüpfungen?
– Was sind Axiomensysteme?
– Welche Anforderungen lassen sich an Axiomensysteme stellen?
30
3 Relationen und Funktionen
3.1 Relationen
Relationen stellen Beziehungen zwischen den Elementen von Mengen her. Grundlegend für den
Relationenbegriff ist die Konstruktion des kartesischen Produktes.
3.1.1 Kartesisches Produkt
Intuitiv ist das Kartesische Produkt (auch Kreuzprodukt) zweier Mengen A und B das Resultat,
wenn man jedes Element aus A mit jedem aus B kombiniert.
Definition 3.1 (Kartesisches Produkt). Seien A und B Mengen. Das Kartesische Produkt von A
und B ist definiert durch:
A × B =df {(a, b) | a ∈ A ∧ b ∈ B}
Elemente (a, b) ∈ A × B heißen Paare oder (genauer) auch geordnete Paare, da die Reihenfolge
ihrer Elemente von Bedeutung ist. Auf diesen ist die Gleichheit definiert durch
(a, b) = (a0 , b0 ) ⇔df a = a0 ∧ b = b0 .
Im Allgemeinen gilt also (a, b) 6= (b, a). Dies unterscheidet geordnete Paare von zweielementigen
Mengen, denn bei letzteren spielt die Reihenfolge der Elemente keine Rolle – so gilt {1, 2} = {2, 1},
aber (1, 2) 6= (2, 1). Dennoch kann man geordnete Paare auch als zweielementige Mengen auffassen.
Hierzu definiert man:
(a, b) =df {{a}, {a, b}}.
Diese Festlegung ist im Einklang mit der strengeren Gleichheitheitsanforderung geordneter Paare,
denn es gilt z.B. (1, 2) = {{1}, {1, 2}} 6= {{2}, {1, 2}} = (2, 1).
Beispiel 3.2 (Kartesisches Produkt). Betrachten wir A = {♣, ♠, ♥, ♦} und B = {As, König,
Dame, Bube, 10 , 9 , 8 , 7 } so ist das kartesische Produkt die Menge der 32 Spielkarten in einem
31
Skat-Spiel:
A × B = { (♣, As), . . . , (♣, 7),
(♠, As), . . . , (♠, 7),
(♥, As), . . . , (♥, 7),
(♦, As), . . . , (♦, 7) }
Sofern A = B gilt, schreiben wir statt A × A auch A2 . Das kartesische Produkt lässt sich auf mehr
als zwei Mengen verallgemeinern durch:
M1 × M2 × . . . × Mn =df ((. . . (M1 × M2 ) × . . .) × Mn ).
Wir schreiben (m1 , m2 , . . . , mn ) statt ((..(m1 , m2 ), . . .), mn ) und bezeichnen diese als Tupel der
Länge n oder auch n-Tupel. Analog zur Notation A2 schreiben wir kurz An an Stelle von A × . . . × A.
{z
}
|
n mal
3.1.2 Exkurs: Endliche Bitvektoren
Ein wichtiges Beispiel eines n-fachen kartesischen Produktes ist {0, 1}n . Die Elemente aus {0, 1}n
werden auch Bitvektoren der Länge n genannt. Eine besondere Bedeutung kommt ihnen bei der
Repräsentation von Teilmengen einer n-elementigen Menge M = {m1 , . . . , mn } zu: A ⊆ M kann
durch einen charakteristischen Bitvektor (b1 , . . . , bn ) ∈ {0, 1}n repräsentiert werden mit:
bi = 1 ⇔ mi ∈ A.
Betrachtet man aus der Grundmenge der Monate M =df {Januar , . . . , Dezember } die Teilmenge
M31 der Monate mit 31 Kalendertagen, so können diese durch den Bitvektor
(1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1)
beschrieben werden. Diese Sichtweise als Bitvektor ist versteckt auch in der bekannten Merkregel
zu finden, die die Monate mit 31 Tagen anhand der Fingerknöchel beschreibt.
Hier stehen die Knöchelerhebungen für die 1- und
die Knöchelvertiefungen für die 0-Einträge.
Die Teilmenge der Monate Mr , die den Buchstaben r enthalten, werden entsprechend durch den
Bitvektor
(1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1)
charakterisiert.
32
Was die Repräsentation von Mengen als Bitvektoren in der Informatik interessant macht, ist die
in Abschnitt 2.2.2 festgehaltene Beziehung zwischen Mengenverknüpfungen und aussagenlogischen
Junktoren. So lassen sich für zwei Mengen M und M 0 über derselben Grundmenge, dargestellt
durch Bitvektoren (b1 , . . . , bn ) und (b01 , . . . , b0n ) die Mengenoperationen Schnitt, Vereinigung, Differenz und symmetrische Differenz durch komponentenweise Berechnung von bi ∧ b0i , bi ∨ b0i , bi ∧ ¬b0i
bzw. bi ⊕ b0i bilden. Dies ist besonders effizient, da Prozessoren diese Operationen für ganze Maschinenworte (also bspw. Bitvektoren der Länge 32 oder 64) in einer einzigen Instruktion durchführen
können. Der Nachteil besteht jedoch – jedenfalls in der naiven Umsetzung – darin, dass selbst eine
nur einelementige Menge den gleichen Platzbedarf hat wie die gesamte Grundmenge.
3.1.3 n-stellige Relationen
Eine n-stellige Relation lässt sich formal wie folgt definieren.
Definition 3.3 (n-stellige Relation). Sei n ≥ 1 und M1 , . . . , Mn Mengen. Eine Teilmenge R ⊆
M1 × . . . × Mn heißt n-stellige Relation auf M1 × . . . × Mn .
Relationen spielen in der Informatik an verschiedenen Stellen eine bedeutende Rolle. Abbildung
3.1 illustriert eine Relation, die Dozenten und Kurse miteinander in Beziehung setzt.
Abbildung 3.1: Relation zwischen Dozenten und Kursen.
Es fällt auf, dass in Definition 3.3 mit der Wahl n = 1 auch einstellige Relationen zugelassen sind.
In der Tat sind einstellige Relationen R ⊆ M nichts anderes als Teilmengen von M . Relationen
sind eng mit den Aussageformen der in Abschnitt 2.1.3 eingeführten Prädikatenlogik verknüpft
(bzw. deren semantischer Interpretation). Die definierten Aussageformen n|m für Teilbarkeit oder
ggT (n, m, x) definierten Relationen, welche 2 bzw. 3 natürliche Zahlen miteinander in Beziehung
setzen. Aber offensichtlich haben einstellige Aussageformen (Relationen) ebenso eine Berechtigung
– man denke beispielsweise an die Frage, ob eine gegebene Zahl eine Primzahl ist.
3.1.4 Binäre Relationen
Im folgenden werden wir uns im wesentlichen auf binäre (oder auch zweistellig genannte) Relationen
beschränken. Wir verwenden hier typischerweise die Notation R ⊆ A × B. In diesem Fall heißt A
Argumentbereich und B Bildbereich der Relation. Vertauscht man deren Rollen, so kommt man
33
zum Begriff der Umkehrrelation.
Definition 3.4 (Umkehrrelation). Sei R ⊆ A × B eine binäre Relation. Die Umkehrrelation
R−1 ⊆ B × A ist definiert durch R−1 =df {(b, a) | (a, b) ∈ R}.
Binäre Relationen können komponiert werden, wenn der Zielbereich der ersten Relation mit dem
Argumentbereich der zweiten Relation übereinstimmt. In diesem Fall definiert man:
Definition 3.5 (Produktrelation). Seien R1 ⊆ A × B und R2 ⊆ B × C Relationen. Die Produktrelation R1 R2 ⊆ A × C ist definiert durch R1 R2 =df {(a, c) | ∃ b ∈ B. (a, b) ∈ R1 ∧ (b, c) ∈ R2 }.
Die Konstruktion ist illustriert in Abbildung 3.2. Eine besondere Bedeutung kommt hierbei der
sogenannten Identitätsrelation (oder identischen Relation) IA =df {(a, a) | a ∈ A} auf A zu:1 Ist
R ⊆ A × B, dann gilt IA R = R = R IB . Das Produkt mit der jeweiligen Identitätsrelation
verändert die zugrundeliegende Relation also nicht.
Abbildung 3.2: Produktrelation
Konvention: Statt (a, b) ∈ R wird oft auch die sogenannte Infixnotation a R b verwendet. Dieses
ist insbesondere bei Relationssymbolen wie „=“,„≤“,„<“,. . . der Fall, in Einklang mit der üblichen
Schreibweise. In seltenen Fällen findet man aber auch hier zur Verdeutlichung die Schreibweise
(a, b) ∈ ≤.
Definition 3.6 (Bilder, Urbilder). Sei R ⊆ A × B eine binäre Relation. Als Bilder eines Elements
a ∈ A bezeichnen wir die Elemente der Menge
R(a) =df {b ∈ B | (a, b) ∈ R}.
1 Wenn
34
A aus dem Kontext klar hervorgeht, kann der Index A auch wegfallen.
Analog bezeichnet man für ein Elemente b ∈ B die Menge
R−1 (b) =df {a ∈ A | (a, b) ∈ R}.
als Urbildmenge von b.
Bei der obigen Definition ist zu beachten, dass beide Mengen auch leer sein können. Die Notation
R(a) bzw. R−1 (b) bei Relationen findet sich in der Mathematik eher selten, meist ist sie Funktionen
(siehe Abschnitt 3.2) vorbehalten. Allerdings lassen sich so manche Aussagen über Relationen
kompakter formulieren; so ist – für eine Aussageform A – beispielsweise ∀ b ∈ R(a). A(b) äquivalent
zu ∀ (x, y) ∈ R. x = a ⇒ A(y).
Eine besondere Rolle spielen Relationen der Art R ⊆ A × A, also solche, bei denen Argumentund Bildbereich übereinstimmen. Diese werden als homogene Relationen bezeichnet. Ein Beispiel
hierfür ist die Identitätsrelation IA , die sich bei genauer Betrachtung als die Teilmenge der Gleichheitsrelation „=“ darstellt, eingeschränkt auf Elemente aus A. Auch weitere bekannte Relationen
wie „6=“ oder „≤“ betrachtet man als homogene Relationen, beispielsweise auf den reellen Zahlen
R.
3.2 Funktionen
In der Schulmathematik werden Funktionen als eindeutige Zuordnungen von Elementen eines Definitionsbereichs zu Elementen eines Wertebereichs eingeführt. Diese eher intuitive Beschreibung
lässt sich formalisieren, indem man Funktionen als binäre Relationen mit speziellen Eigenschaften
auffasst. Hierfür betrachten wir zwei symmetrisch aufgebaute Eindeutigkeits- und Totalitätseigenschaften.
Definition 3.7 (Rechts-,Linkseindeutigkeit). Eine binäre Relation R ⊆ A × B heißt
1. rechtseindeutig gdw.
∀ a ∈ A, b1 , b2 ∈ B. (a, b1 ) ∈ R ∧ (a, b2 ) ∈ R ⇒ (b1 = b2 ).
2. linkseindeutig gdw.
∀ a1 , a2 ∈ A, b ∈ B. (a1 , b) ∈ R ∧ (a2 , b) ∈ R ⇒ (a1 = a2 ).
Rechtseindeutige Relationen zeichnen sich dadurch aus, dass kein Element des Argumentbereichs
verschiedene Elemente des Bildbereichs erreicht. Abbildung 3.3(a) zeigt eine Relation, die nicht
rechtseindeutig ist (die fett dargestellten Pfeile verletzen die Eigenschaft). Entsprechend sind linkseindeutige Relationen solche, bei denen Elemente des Zielbereiches nicht von verschiedenen Elementen des Argumentbereichs getroffen werden dürfen. Abbildung 3.3(b) zeigt eine Relation, die
zwar rechts- aber nicht linkseindeutig ist.
Eine Relation, die allen Elementen des Argumentbereichs Bilder zuordnet heißt linkstotal. Werden
alle Elemente des Bildbereichs getroffen, so spricht man von einer rechtstotalen Relation.
35
Abbildung 3.3: a) Nicht rechtseindeutige Relation b) Nicht linkseindeutige Relation
Definition 3.8 (Links-,Rechtstotalität). Eine binäre Relation R ⊆ A × B heißt
1. linkstotal ⇔df ∀ a ∈ A. ∃ b ∈ B. (a, b) ∈ R
2. rechtstotal, ⇔df ∀ b ∈ B. ∃ a ∈ A. (a, b) ∈ R
Die Relation aus Abbildung 3.3(a) ist offensichtlich rechts- aber nicht linkstotal, während die
Relation aus Abbildung 3.3(b) links- aber nicht rechtstotal ist.
Basierend auf einer Teilmenge der eingeführten Eigenschaften können wir nun den bekannte Begriff
der Funktion formalisieren.
Definition 3.9 (Funktion). Eine rechtseindeutige, linkstotale Relation heißt Funktion (oder Abbildung).
Ist die Relation f ⊆ A × B eine Funktion, so wählt man stattdessen die Schreibweise f : A → B.
Alle Bildmengen f (a) enthalten genau ein Element – wegen der Rechtseindeutigkeit höchstens, und
wegen der Linkstotalität mindestens eines. Dies erlaubt es, f (a) = b statt f (a) = {b} zu schreiben.
Es ist jedoch zu beachten, dass die Urbildmenge f −1 (b) eines Elementes b ∈ B weiterhin mehrere
oder auch gar keine Elemente enthalten kann; im Allgemeinen ist f −1 also lediglich eine Relation.
Die Zuordnung der Funktionswerte zu den Elementen des Argumentbereichs beschreibt man auch
in der Form a 7→ f (a).
Für die Menge aller Funktionen von A nach B schreiben wir auch kurz B A . Diese Schreibweise
erklärt sich als eine Verallgemeinerung der Notation B n für das n-fache kartesische Produkt: So
lässt sich ein n-Tupel (b1 , . . . , bn ) ∈ B n als Abbildung von {1, . . . , n} nach B mit der Abbildungsvorschrift i 7→ bi auffassen. Die Schreibweise B A verallgemeinert dies von der Menge {1, . . . , n} auf
beliebige „Index“-Mengen A. Im Falle endlicher Mengen gilt außerdem, dass die Anzahl möglicher
Funktionen von A nach B genau B A = |B||A| ist.
Analog zur in Definition 3.5 eingeführten Produktrelation definieren wir die Komposition von
Funktionen f : A → B und g : B → C als die Verkettung bzw. Hintereinanderausführung zweier
Funktionen. Man beachte, dass hierbei Linkstotalität und Rechtseindeutigkeit durch das Relationenprodukt erhalten bleiben. Historisch hat sich allerdings bei der Komposition von Funktionen
eine gegenüber dem Relationenprodukt umgekehrte Reihenfolge der Argumente durchgesetzt: Die
zuerst angewandte Funktion steht rechts. Es gilt also:
36
g ◦ f =df f g
wobei ◦ das Symbol für die Funktionskomposition ist. Der Vorteil der geänderten Reihenfolge ist,
dass die Komposition von Funktionen kompatibel mit der argumentweisen Anwendung ist.2 Es gilt
nämlich für ein Argument a ∈ A:
(g ◦ f )(a) = g(f (a)).
Die identische Relation IA ist per Konstruktion auch eine Funktion von A nach A. Da die Funktionskomposition mit dem Relationenprodukt (in vertauschter Operandenreihenfolge) identifiziert
werden kann, behält sie natürlich auch hier ihre besondere Bedeutung. Im Funktionskontext verwenden wir für IA gleichbedeutend die Notation idA , für f : A → B gilt f ◦ idA = idB ◦f = f .
3.2.1 Eigenschaften von Funktionen
Linkstotalität und Rechtseindeutigkeit sind die essentiellen Eigenschaften von Funktionen. Aber
auch ihre symmetrischen Gegenstücke, Rechtstotalität und Linkseindeutigkeit, bestimmen wichtige
zusätzliche Funktionseigenschaften.
Definition 3.10 (Injektivität, Surjektivität, Bijektivität). Eine Funktion f : A → B heißt:
1. injektiv genau dann, wenn f linkseindeutig ist;
2. surjektiv genau dann, wenn f rechtstotal ist;
3. bijektiv genau dann, wenn f injektiv und surjektiv ist.
Wir betrachten einige Beispiele für diese Eigenschaften.
Beispiel 3.11.
1. Die Funktion f1 : N → N mit n 7→ 2 n ist injektiv, denn für n, m ∈ N mit n 6= m folgt
f1 (n) 6= f1 (m). Andererseits ist f1 nicht surjektiv, denn es gibt kein n ∈ N mit f1 (n) = 1.
2. Die Funktion f2 : Z → N mit z 7→ |z| ist surjektiv,a denn jedes n ∈ N ist Bild der
entsprechenden Zahl aus Z. Allerdings ist f2 nicht injektiv, denn es gilt f2 (−1) = f2 (1) = 1.
Das bedeutet, dass die Eins von verschiedenen Elementen aus Z getroffen wird.
3. Die Funktion f3 : Q → Q mit q 7→ 2 q ist bijektiv. Die Injektivität folgt analog wie für f1 . Die
Surjektivität ergibt sich aus der Tatsache, dass jede Zahl q ∈ Q von 2q ∈ Q getroffen wird.
2 Bei
manchen anderen Autoren findet sich jedoch auch eine Definition der Funktionskomposition, deren Argumentreihenfolge mit dem Relationenprodukt übereinstimmt.
37
(
a |z|
bezeichnet den Absolutbetrag von z, definiert durch |z| =df
z
−z
falls z ≥ 0
.
sonst
Beim Beweis der Injektivität von f1 wurde nicht direkt mit der Definition der Linkseindeutigkeit
argumentiert. Vielmehr wurde statt der Implikation f1 (a1 ) = f1 (a2 ) ⇒ a1 = a2 die Implikation
a1 6= a2 ⇒ f1 (a1 ) 6= f1 (a2 ) gezeigt. Dieses Vorgehen ist allgemein als Prinzip der Kontraposition bekannt:
Beweisprinzip 3.12 (Kontraposition).
Seien A, B Aussagen. Dann gilt:
(A ⇒ B) ≡ (¬B ⇒ ¬A).
In Worten: Eine Implikation A ⇒ B kann man beweisen, indem man die umgekehrte
Implikation über den negierten Aussagen beweist.
Die Gültigkeit des Prinzips der Kontraposition kann leicht anhand von einer Wahrheitstafel gezeigt
werden.
Wie bereits erwähnt ist die Umkehrrelation einer Funktion im Allgemeinen keine Funktion (man
betrachte etwa die Funktion f2 aus Beispiel 3.11). Die Umkehrrelation einer injektiven Funktion
ist jedoch zumindest rechtseindeutig (wegen der Linkseindeutigkeit der ursprünglichen Funktion),
jedoch im Allgemeinen nicht linkstotal. Eine solche Relation bezeichnet man auch als partielle oder
partiell definierte Funktion (dies wird in Abschnitt 3.2.3 noch weiter ausgeführt werden).
Bijektive Funktionen f haben allerdings immer eine Umkehrfunktion, die wir mit f −1 bezeichnen.
Da bijektive Funktionen aufgrund ihrer Umkehrbarkeit eine herausragende Bedeutung haben, bezeichnet man sie kurz auch oft als Bijektionen. Seltener liest man außerdem die Bezeichnungen
Injektion und Surjektion für injektive bzw. surjektive Funktionen.
In Hinblick auf die Funktionskomposition gilt folgender hilfreicher Zusammenhang:
Satz 3.13. Seien f : A → B und g : B → A Funktionen mit g ◦ f = idA und f ◦ g = idB . Dann
sind f und g bijektiv und es gilt weiter f −1 = g bzw. g −1 = f .
Beweis Wegen der symmetrischen Rollen von f und g genügt es die Bijektivität von f zu zeigen
sowie die Eigenschaft, dass g Umkehrfunktion von f ist.
Wir zeigen zunächst die Injektivität von f und betrachten dazu a, a0 ∈ A. Dann gilt:
f (a) = f (a0 ) ⇒
⇒
⇒
⇒
38
g(f (a)) = g(f (a0 ))
(g ◦ f )(a) = (g ◦ f )(a0 )
idA (a) = idA (a0 )
a = a0
(g ist Funktion)
(Def. ◦)
(g ◦ f = idA )
(Def. idA )
Für die Surjektivität haben wir zu zeigen, dass jedes b ∈ B ein Urbild a ∈ A besitzt. Sei also b ∈ B.
Dann setze a =df g(b). Es gilt:
f (a)
Def.a
=
f (g(b)) = (f ◦ g)(b)
f ◦g=idB
=
idB (b) = b
Schließlich zeigen wir noch, dass g Umkehrfunktion von f ist, also f −1 = g gilt. Seien a ∈ A, b ∈ B.
Dann gilt:
f (a) = b ⇒
⇒
⇒
⇒
⇒
g(f (a)) = g(b)
(g ist Funktion)
(g ◦ f )(a) = g(b)
(Def. ◦)
idA (a) = g(b)
(g ◦ f = idA )
a = g(b)
(Def. idA )
f −1 (b) = g(b)
(Def. f −1 )
2
Obwohl wir schon mit quantifizierten Aussagen umgegangen sind, möchten wir an dieser Stelle noch
einmal ein prinzipielles Vorgehen beim Beweisen aufgreifen. Dieses machen wir anhand der Surjektivitätseigenschaft im vorangegangenen Beweis klar. Formal betrachtet ist hier eine geschachtelte
All- und Existenzaussage zu zeigen, nämlich:
∀ b ∈ B. ∃ a ∈ A. f (a) = b.
Der Beweis benutzt dabei folgendes Prinzip zur Elimination der Quantoren:
Beweisprinzip 3.14 (Auflösung von Quantoren).
• Der Allquantor einer Allaussage ∀ x. A(x) wird aufgelöst, indem die Variable x als
beliebig aus der Struktur angenommen gewählt wird und dann A(x) bewiesen wird.
Im Beweis dürfen dann keine einschränkenden Annahmen über x getroffen werden,
man verwendet eine Formulierung wie „Sei x beliebig gewählt“. Trotz der ursprünglich
beliebigen Wahl verändert sich der Wert von x im weiteren Verlauf jedoch nicht! Zur
Verdeutlichung schreibt man daher manchmal auch „Sei x beliebig, aber fest“.
• Der Existenzquantor einer Existenzaussage ∃ y. A(y) wird aufgelöst, indem die Variable
y geeignet aus der Struktur gewählt wird und dann A(y) bewiesen wird. Im Beweis
verwendet man dann eine Formulierung wie „Wähle y als ...“ oder „Setze y = . . .“, und
die Eigenschaften dieses konkreten Wertes dürfen ausgenutzt werden.
Die Anwendung findet sich im vorangegangenen Surjektivitätsbeweis in den zwei Sätzen „Sei also
b ∈ B. Dann setze a =df g(b)“. Man erkennt, dass über b keinerlei Annahmen getroffen wurden – für
die Wahl von a und den weiteren Beweis wird lediglich ausgenutzt, dass g(b) eindeutig bestimmt
ist – was aus der Funktionseigenschaft von g für jedes Element aus B folgt.
Eine weitere besondere Eigenschaft von bijektiven Funktionen ist die Tatsache, dass auch ihre
Komposition wiederum eine bijektive Funktion ist. Der Beweis bleibt an dieser Stelle dem Leser
39
als Übungsaufgabe überlassen.
3.2.2 Mächtigkeit von Mengen
Injektive und bijektive Funktionen spielen eine wichtige Rolle bei der Entwicklung eines formal
fundierten Mächtigkeitsbegriffes von Mengen (vgl. Kapitel 2.2), der auch für unendliche Mengen
trägt.
Definition 3.15 (Mächtigkeitsbeziehungen von Mengen). Seien A und B Mengen.
1. A und B heißen gleichmächtig, in Zeichen A ∼
= B, falls es eine bijektive Funktion f : A → B
gibt.
2. A ist nicht mächtiger als B, in Zeichen A 5 B, falls es eine injektive Funktion f : A → B
gibt.
3. Ist A nicht mächtiger als B und sind A und B nicht gleichmächtig, so heißt A (echt) weniger
mächtig als B, in Zeichen A B.
Offensichtlich sind gemäß dieser Definition die endlichen Mengen {1, 2, 3, 4} und {♣, ♠, ♥, ♦}
gleichmächtig, die Mengen {2, 3, 4, 5} und {gelb, rot, blau} aber nicht. In diesem Fall ist {gelb, rot, blau}
echt weniger mächtig als {2, 3, 4, 5}.
Es gilt folgender Zusammenhang:
Satz 3.16. Seien A und B Mengen. Dann gilt:
A ∼
=B
⇔
A 5 B ∧ B 5 A.
Obwohl dieser Zusammenhang intuitiv naheliegend ist, ist der Beweis keinesfalls trivial. Das Resultat ist als Satz von Cantor-Bernstein-Schröder3 bekannt.
Besonders interessant werden Mächtigkeitsbetrachtungen im Falle unendlicher Mengen. Diesen
Unterschied können wir zunächst einmal formal charakterisieren:
Definition 3.17 (Endliche und unendliche Mengen). Eine Menge M heißt unendlich genau dann,
wenn
∃ M 0 ⊂ M. M 0 ∼
= M.
Anderenfalls ist M endlich.
Die natürlichen Zahlen sind unendlich, denn es ist N+ ⊂ N, und die Funktion
f : N → N+
n 7→ n + 1
ist offensichtlich bijektiv.
3 siehe
40
http://de.wikipedia.org/wiki/Cantor-Bernstein-Schr%C3%B6der-Theorem
Der fundamentale Unterschied zwischen endlichen und unendlichen Mengen lässt sich auch anhand
eines als Hilberts Hotela bekannten Gedankenexperiment veranschaulichen. Man stelle sich ein
komplett belegtes Hotel vor, in dem außerdem alle Zimmer aufsteigend durchnummeriert sind.
Gibt es nur endlich viele Zimmer, so ist es offensichtlich nicht möglich, einem neu ankommenden
Gast ein freies Zimmer zuzuweisen. Anders stellt sich die Lage bei einem (hypothetischen) Hotel
mit unendlich vielen Zimmern dar, von denen ebenfalls alle belegt sind: Fordert man alle Gäste
auf, jeweils in das der Nummer nach nächste Zimmer umzuziehen, so wird das erste Zimmer frei.
Der neue Gast findet also eine Unterkunft, ohne dass einer der bisherigen Gäste kein neues Zimmer
findet.
a siehe
http://de.wikipedia.org/wiki/Hilberts_Hotel
Man sagt auch, dass die natürlichen Zahlen abzählbar unendlich sind. Intuitiv bedeutet dies, dass
man sämtliche Elemente in einer (unendlichen) linearen Folge auflisten, also durchnummerieren
kann. Auch wenn dies wegen des Erlaubens unendlicher Folgen als eher schwache Einschränkung
erscheint, so werden wir später zeigen, dass dies für die wenigsten unendlichen Mengen möglich ist.
Natürlich sind aber auch alle zu den natürlichen Zahlen gleichmächtigen Mengen M abzählbar, da
die für M ∼
= N erforderliche Bijektion genau die Aufgabe des Durchnummerierens übernimmt.
Im Folgenden werden wir weitere wichtige abzählbar unendliche Mengen kennenlernen. Die erste
dieser Mengen sind die ganzen Zahlen Z. Um einzusehen, dass diese gleichmächtig zu den natürlichen Zahlen sind, betrachten wir die Funktion:
fZ : N → Z
(
n 7→
n
2
− n+1
2
falls n gerade
falls n ungerade
fZ bildet natürliche Zahlen in folgender Weise auf ganze Zahlen ab:
0 7→ 0, 1 7→ −1, 2 7→ 1, 3 7→ −2, 4 7→ 2, . . . .
Offensichtlich ist f surjektiv, denn jede negative ganze Zahl z wird durch die natürliche Zahl
−(2z + 1), jede andere ganze Zahl durch 2z getroffen. Zusätzlich ist fZ auch injektiv, denn für
unterschiedliche natürliche Zahlen ist deren Bild unterschiedlich.
Etwas erstaunlicher ist, dass auch N × N gleichmächtig zu N ist. Die Konstruktion der bijektiven Abbildung d : N × N → N ist bekannt als Cantorsches Diagonalverfahren und illustriert in
Abbildung 3.4.4
Die dem Diagonalverfahren zugrunde liegende Funktion d kann auch explizit angegeben werden
durch:5
1
d(m, n) =df (n + m)(n + m + 1) + m.
2
4 Dies
lässt sich sogar, für ein beliebiges (aber festes) n ∈ N, auf Nn übertragen. Die Visualisierung gestaltet sich
allerdings spätestens für n > 3 deutlich schwieriger.
Pn+m−1
Pn+m
5 Der Term 1 (n + m)(n + m + 1) entspricht
(i + 1) =
i=0
i=0 i. Das sind die aufgezählten Elemente auf
2
den vollständig durchlaufenen Diagonalen. In der letzten Diagonalen kommen dann noch m Schritte hinzu.
41
Abbildung 3.4: Cantorsches Diagonalverfahren: Aufzählung der Elemente aus N × N entlang der
markierten Linie durch d(0, 0) = 0, d(0, 1) = 1, d(1, 0) = 2, d(0, 2) = 3, d(1, 1) =
4...
Die Gleichmächtigkeit von N und N × N ist auch deshalb von besonderer Bedeutung, da die rationalen Zahlen Q durch Brüche, also Paare ganzer Zahlen, repräsentiert werden können. Da verschiedene Brüche allerdings dieselbe rationale Zahl darstellen können, etwa 12 = 42 = 36 = . . . liefert
die Funktion d hier nur eine Injektion dQ : Q → N. Dabei wird eine rationale Zahl repräsentiert
durch einen vollständig gekürzten Bruch pq mit p ∈ Z und q ∈ N+ . In der Diagonalfunktion lesen
wir den Wert für (fZ−1 (p), q) ab, also:
p
dQ
=df d fZ−1 (p), q .
q
Da es die sogenannte triviale Injektion von N nach Q gibt, also die Funktion f : N → Q mit
f (n) = n, sind nach Satz 3.16 die Mengen N und Q gleichmächtig.
Fassen wir die bisherigen Erkenntnisse zusammen, so gilt also:
N ∼
= Z ∼
= N×N ∼
= Q.
Dass nicht jede unendliche Menge gleichmächtig zu N ist, es also überabzählbar unendliche Mengen
gibt, ergibt sich aus folgendem sehr weitreichenden Resultat.
Satz 3.18. Sei M eine nichtleere Menge. Dann gilt M {0, 1}M .
Beweis Wir zeigen zunächst, dass M 5 {0, 1}M gilt. Hierzu betrachten wir die folgende Funktionsfamilie bm : M → {0, 1}, mit m ∈ M und
(
1 wenn x = m
bm (x) =df
0 sonst.
Wir betrachten nun die folgende Abbildung a : M → {0, 1}M , definiert durch
a(m) =df bm .
42
Für m 6= m0 gilt auch bm 6= bm0 , da bm (m) = 1 6= bm0 (m) = 0 gilt. a ist also eine injektive Funktion,
es folgt M 5 {0, 1}M .
Der Beweis von M ∼
6= {0, 1}M ist komplexer. Angenommen es gäbe eine bijektive, also insbesondere
surjektive, Funktion
g : M → {f | f : M → {0, 1}} .
{z
}
|
{0,1}M
Dann definieren wir folgende Funktion h : M → {0, 1}
h(m) =df 1 − g(m)(m) für alle m ∈ M.
Da g surjektiv ist, existiert ein m0 ∈ M :
(3.1)
g(m0 ) = h
Nach Konstruktion gilt aber g(m0 )(m0 ) 6= h(m0 ), also g(m0 ) 6= h im Widerspruch zu Gleichung
3.1.
2
Die Konstruktion aus dem zweiten Teil des vorherigen Beweis ist für M = N als Diagonalargument
graphisch in Abbildung 3.5 veranschaulicht. Hier sind die Funktionen g(i) : N → {0, 1} reihenweise
in der Form g(i) = g(i)(0) g(i)(1) g(i)(2) . . . dargestellt. Auf der Diagonalen gibt es immer eine
Nichtübereinstimmung zur Funktion h.
g(0)
= g(0)(0) g(0)(1) g(0)(2) g(0)(3) . . .
| {z }
6=h(0)
g(1)
=
g(1)(0) g(1)(1) g(1)(2) g(1)(3) . . .
| {z }
g(2)
=
g(2)(0) g(2)(1) g(2)(2) g(2)(3) . . .
| {z }
6=h(1)
..
.
6=h(2)
..
.
Abbildung 3.5: Diagonalargument für die Nichtsurjektivität von Funktion g aus dem Beweis von
Satz 3.18. Funktion h wird nicht von g erreicht.
Beim Beweis von Theorem 3.18 haben wir ein weiteres wichtiges Beweisprinzip kennengelernt,
nämlich das des Widerspruchsbeweises.
Beweisprinzip 3.19 (Widerspruchsbeweis).
Sei A eine zu beweisende Aussage. Gelingt es aus der Annahme ¬A auf eine Aussage
43
B zu schließen, für die ¬B gilt, so muss A gelten. Kurz:
(¬A ⇒ B) ∧ ¬B ⇒ A.
Auch dieses Beweismuster lässt sich leicht anhand einer Wahrheitstafel als gültig nachweisen.
Satz 3.18 hat deshalb besondere Bedeutung, da zwischen der Potenzmenge einer Menge und den
Funktionen von M in die Menge {0, 1} eine bijektive Beziehung besteht. Eine Teilmenge A von M
kann nämlich durch ihre charakteristische Funktion
χA : M → {0, 1}
(
1
χA (m) =df
0
falls m ∈ A
sonst
beschrieben werden. Die charakteristische Funktion ist also ein (u.U. auch unendlicher) Bitvektor,
der durch seine 1-Einträge genau die in A enthaltenen Elemente markiert. Es ist leicht zu sehen,
dass
fM : P(M ) → {0, 1}M
fM (A) =df χA
bijektiv ist.6 Unmittelbare Folge von Satz 3.18 ist daher, dass die Potenzmenge einer Menge M echt
mächtiger als die Menge selbst ist.7 Dieses offenbart auch die Vielschichtigkeit unendlicher Mengen.
Offensichtlich liegt mit N, P(N), P(P(N )), . . . eine Folge von Mengen vor, deren Mächtigkeit in
jedem Schritt echt ansteigt. In der Mathematik trägt man dieser Tatsache durch den Begriff der
Kardinalzahlen (siehe Abschnitt 3.3.2) Rechnung.
Nachdem wir bereits typische abzählbar unendliche Mengen kennengelernt haben, wollen wir P(N)
als nächste Ebene noch näher beleuchten. Auch hier gibt es interessante gleichmächtige Mengen,
denn es gilt:
{0, 1}N ∼
= R
= P(N) ∼
= (0, 1) ∼
wobei (0, 1) =df {x ∈ R | 0 < x < 1} das offene Intervall der reellen Zahlen zwischen 0 und 1
bezeichnet.
Die erste ∼
=-Beziehung haben wir bereits gezeigt. Die dritte ∼
=-Beziehung ist unmittelbar durch die
x− 21
Bijektion fR : (0, 1) → R mit x 7→ x (x−1) gerechtfertigt.
Die zweite ∼
=-Beziehung basiert auf der Idee, dass jede reelle Zahl im Intervall zwischen 0 und 1
als Binärbruchentwicklung, also als abzählbar unendlicher Bitvekor, geschrieben werden kann. So
wird etwa der periodische Binärbruch 0, 001001 durch den entsprechenden unendlichen Bitvektor
0010010101 . . . repräsentiert. Da diese Repräsentation aber nur eindeutig ist, wenn keine Binärbrü6 Der
Zusammenhang zwischen der Potenzmenge und {0, 1}M motiviert auch die – vor allem in der Informatik
übliche – Notation 2M für die Potenzmenge.
7 Satz 3.18 beschränkte sich auf nichtleere Mengen M , da eine intuitive Definition von Abbildungen mit der leeren
Menge als Definitionsbereich schwer fällt. Offensichtlich gilt jedoch auch ∅ P(∅) = {∅}.
44
che mit endständiger Periode 1 vorliegen,a ist die dadurch definierte Abbildung
f : (0, 1) → {0, 1}N nur injektiv, nicht aber surjektiv. Umgekehrt kann man alle unendlichen Bitvektoren, die nicht ab einer Position dauerhaft 1 sind, auf ihre Binärbruchentwicklung im Intervall
(0, 1) abbilden, die anderen auf ihre Binärbruchentwicklung plus 1. Damit hat man eine injektive
Funktion von {0, 1}N nach R. Schaltet man nun die injektive Funktion fR−1 : R → (0, 1) dahinter,
hat man auch eine injektive Funktion von {0, 1}N nach (0, 1). Aus Satz 3.16 folgt schließlich die
Gleichmächtigkeit von (0, 1) und {0, 1}N .
a Man
beachte, dass z.B. der periodische Binärbruch 0, 0101̄ und der Binärbruch 0, 011 dieselbe reelle Zahl repräsentieren.
3.2.3 Partiell definierte Funktionen
In der Informatik hat man es oft auch mit Abbildungen zu tun, die zwar rechtseindeutig, aber nicht
linkstotal sind. Man denke zum Beispiel an ein deterministisches8 Programm, das eine ganzzahlige Eingabe erwartet und eine ganzzahlige Ausgabe zurückliefert. Diese Ein-Ausgabe-Relation ist
rechtseindeutig, denn falls ein Ergebnis zurückgeliefert wird, so ist dieses eindeutig bestimmt. Falls
die Berechnung allerdings fehlschlägt, sich etwa in einer Endlosschleife verfängt, so existiert keine
Ausgabe. Die Ein-Ausgabe-Relation ist also nicht linkstotal. Im Falle von rechtseindeutigen Relationen spricht man daher auch von partiell definierten Funktionen. Wir verwenden die Notation
f : A 99K B. Der Definitionsbereich von f (in Zeichen: Def (f )) ist die Menge aller Elemente aus A,
die ein Bildelement besitzen. Im Unterschied zu totalen Funktionen gilt nur Def (f ) ⊆ A,9 jedoch
keine Gleichheitsbeziehung. Die Komposition partiell definierter Funktionen kann analog zu der
totaler Funktionen definiert werden, wobei a ∈ Def (f ◦ g) nur genau dann gilt, wenn a ∈ Def (g)
und in diesem Falle außerdem g(a) ∈ Def (f ).
3.3 Äquivalenzrelationen
Äquivalenzrelationen formalisieren mathematisch das Konzept des Identifizierens ähnlicher Objekte. Sie sind daher zentrales Instrument für den Prozess der Abstraktion. So lassen sich zum Beispiel
wertgleiche arithmetische Ausdrücke wie x + x und 2x identifizieren. Auch bei der mathematisch
fundierten Konstruktion der Zahlbereiche spielen Äquivalenzrelationen eine entscheidende Rolle.
Da die Brüche 21 , 42 , 36 , . . . allesamt dieselbe rationale Zahl repräsentieren, liegt es in der Tat nahe,
die rationalen Zahlen Q über eine Äquivalenzrelation auf Z × Z\{0} zu definieren. Formal sind
Äquivalenzrelationen homogene Relationen mit folgenden Eigenschaften:
Definition 3.20 (Äquivalenzrelation). Eine Relation ∼ ⊆ A × A heißt Äquivalenzrelation gdw.
1. ∼ ist reflexiv, d.h.: ∀ a ∈ A. a ∼ a
2. ∼ ist symmetrisch, d.h.: ∀ a1 , a2 ∈ A. a1 ∼ a2 ⇒ a2 ∼ a1
8 Bei
einem deterministischem Programm ist, für eine bestimmte Eingabe, der Ablauf eindeutig bestimmt. Insbesondere finden also keine Zufallszahlen o.ä. Verwendung.
9 Da wir zur Definition partieller Funktionen nur eine Forderung, nämlich diejenige nach Linkstotalität, aufgeben,
werden von dieser Definition natürlich auch sämtliche total definierten Funktionen umfasst.
45
3. ∼ ist transitiv, d.h.: ∀ a1 , a2 , a3 ∈ A. a1 ∼ a2 ∧ a2 ∼ a3 ⇒ a1 ∼ a3
Auf Z × Z \ {0} definieren wir die Äquivalenzrelation ∼Q durch
(a, b) ∼Q (c, d) ⇔df ad = bc,
wobei sich die rechte Seite durch einfache Termumformungen aus ab = dc ergibt. Als eine leichte
Übungsaufgabe bleibt es dem Leser überlassen nachzuweisen, dass ∼Q die Eigenschaften (1)–(3)
aus Definition 3.20 erfüllt.
Beispiel 3.21. Wir betrachten hier einige Verwandtschaftsbeziehungen unter einer Menge von
Personen.
1. Die Geschwisterbeziehung ist eine Äquivalenzrelation.a
2. Die Freundschaftsbeziehung ist im Allgemeinen keine Äquivalenzrelation, da diese nicht transitiv ist. Wenn Anna mit Bob befreundet ist und Bob mit Charlotte, so müssen Anna und
Charlotte nicht unbedingt befreundet sein.
3. Die Bruderbeziehung ist keine Äquivalenzrelation, da diese nicht symmetrisch ist. Andreas
ist zwar Bruder von Beate, aber natürlich nicht umgekehrt. Definiert man diese Relation
allerdings nur auf männlichen Personen, so erhält man wiederum eine Äquivalenzrelation
(unter der Annahme, dass ein Mann Bruder von sich selbst ist.)
a Wir
nehmen dabei an, dass eine Person Geschwister von sich selbst ist. Ferner haben Geschwister ein gemeinsames
Elternpaar, was Halbgeschwister ausschließt.
Äquivalenzrelationen über einer Grundmenge A legen Äquivalenzklassen auf A fest: Für a ∈ A ist
die zugehörige ∼-Äquivalenzklasse [a]∼ definiert als
[a]∼ =df {a0 ∈ A | a ∼ a0 },
d.h. die Menge aller Elemente aus A, die zu a äquivalent sind. Aufgrund der Eigenschaften (1)-(3)
aus Definition 3.20 sind auch alle Elemente dieser Menge untereinander äquivalent. Man erkennt
leicht, dass die Wahl eines konkreten a für die Menge [a]∼ nur eine untergeordnete Bedeutung
spielt: Gilt a ∼ a0 , so ist [a]∼ = [a0 ]∼ .
Die Menge aller Äquivalenzklassen einer Äquivalenzrelation ∼ bildet ein Mengensystem mit Grundmenge A. Dieses Mengensystem ist von einem besonderen Typ, den wir im Folgenden näher betrachtet.
3.3.1 Partitionen
Partitionen sind Mengensysteme, die eine Grundmenge vollständig in eine paarweise disjunkte
Menge von Teilmengen, auch Partitionsklassen genannt, zerlegen. Formal bedeutet dies:
Definition 3.22 (Partition). Sei M eine Menge. P ⊆ P(M ) heißt Partition ⇔df
1. ∅ ∈
/P
46
(Die Partitionsklassen sind nichtleer)
2.
S
M 0 ∈P
(Die Partitionsklassen überdecken M )
M0 = M
3. ∀ M1 , M2 ∈ P. M1 6= M2 ⇒ M1 ∩ M2 = ∅
(Die Partitionsklassen sind paarweise
disjunkt)
Beispiel 3.23. Für M = {1, 2, 3} sind P1 =df {{1}, {2}, {3}} und P2 =df {{1, 2}, {3}} Partitionen.
P3 =df {{1}, {2}} ist keine Partition, da das Element 3 nicht überdeckt wird. Ebenso ist P4 =df
{{1, 2}, {2, 3}} keine Partition, denn die beiden Partitionsklassen sind nicht disjunkt.
Den engen Zusammenhang zwischen Äquivalenzrelationen und Partitionen hält der folgende Satz
fest.
Satz 3.24. Sei A eine beliebige Menge.
1. Ist ∼ ⊆ A × A eine Äquivalenzrelation auf A, dann bildet die Menge aller Äquivalenzklassen
A/ ∼ =df {[a]∼ | a ∈ A}
eine Partition auf A.
2. Ist P ⊆ P(A) eine Partition auf A, dann ist
∼P =df {(a1 , a2 ) ∈ A × A | ∃ A0 ∈ P. a1 , a2 ∈ A0 }
eine Äquivalenzrelation auf A.
Beweis
1. Wegen a ∈ [a]∼ für alle a ∈ A sind die Äquivalenzklassen offensichtlich nicht leer. Außerdem
S
gilt a∈A [a]∼ = A. Es bleibt zu zeigen, dass die Äquivalenzklassen paarweise disjunkt sind.
Dieses zeigen wir per Kontraposition. Sei [a1 ]∼ ∩ [a2 ]∼ 6= ∅ für a1 , a2 ∈ A. Dann existiert
ein a0 mit a0 ∈ [a1 ]∼ und a0 ∈ [a2 ]∼ . Also gilt a0 ∼ a1 und a0 ∼ a2 . Mit der Symmetrie und
Transitivität von ∼ folgt a1 ∼ a2 und somit auch [a1 ]∼ = [a2 ]∼ .
2. Wir zeigen zuerst, dass ∼P reflexiv ist. Sei a ∈ A. Weil P ganz A überdeckt, existiert eine
Partitionsklasse A0 , die a enthält. Per Definition gilt dann a ∼P a. Um die Symmetrie von
∼P zu zeigen, nehmen wir an es gelte a1 ∼P a2 für Elemente a1 , a2 ∈ A. Per Definition liegen
a1 und a2 in einer gemeinsamen Partitionsklasse A0 und es folgt dann auch a2 ∼P a1 . Der
Beweis der Transitivität ist analog.
2
Man spricht in diesem Zusammenhang auch von der (1) durch ∼ induzierten Partition bzw. der
(2) durch P induzierten Äquivalenzrelation auf A.
Auch zwischen Funktionen und Äquivalenzrelationen besteht ein Zusammenhang: Jede Funktion
f : A → B induziert eine Äquivalenzrelation ∼f auf A:
a1 ∼f a2 ⇔df
f (a1 ) = f (a2 ).
47
Die zugehörige Partition wird als Urbildpartition bezeichnet, denn ihre Partitionsklassen sind die
Urbilder der Elemente aus f (A), also der Gestalt f −1 (b) mit b ∈ f (A).
Beispiel 3.25. Wir betrachten eine Menge von Studierenden S =df {Adam, Barbie, Conan, Dana,
Eric, Fred, Gia, Hannah, Ken, Iris, Jan}, die an einer Klausur teilgenommen haben. Die erzielte
Klausurnote kann als Funktion n : S → {1, 2, 3, 4, 5} wie angesehen werden und sei hier etwa:
Adam 7→ 2, Barbie 7→ 5, Conan 7→ 1, Dana 7→ 2, Eric 7→ 3, Fred 7→ 3,
Gia 7→ 3, Hannah 7→ 2, Ken 7→ 5, Iris 7→ 1, Jan 7→ 2
Die zugehörige Äquivalenzrelation identifiziert Studierende mit derselben Klausurnote. Die Partitionsklasse der Einserresultate ist:
n−1 (1) = {s ∈ S | n(s) = 1} = {Conan, Iris}.
Die gesamte Urbildpartition ist:
{{Conan, Iris}, {Adam, Dana, Hannah, Jan}, {Eric, Fred, Gia}, {Barbie, Ken}}.
Man beachte, dass die Note 4 nicht vergeben wurde und daher die leere Urbildmenge nicht Bestandteil der Partition ist.
Eine Stolperfalle fördert die Betrachtung zutage, ob der Schnitt und die Vereinigung von Äquivalenzrelationen wiederum eine Äquivalenzrelation darstellen. Seien ∼1 und ∼2 zwei Äquivalenzrelationen, dann offenbar auch ∼1 ∩ ∼2 :10 Alle Elemente der Form (a, a) müssen sowohl in ∼1 als
auch ∼2 enthalten sein. Ebenso muss für (a, b) ∈∼1 ∩ ∼2 auch jeweils (b, a) in ∼1 sowie in ∼2 sein,
für die Transitivität lässt sich analog argumentieren.
Anders stellt sich die Sache jedoch bei der Vereinigung ∼1 ∪ ∼2 dar, welche im Allgemeinen
keine Äquivalenzrelation ist. Dies liegt daran, dass die Vereinigung nicht notwendigerweise die
Transitivität erhält: Ist (a, b) ∈∼1 \ ∼2 und (b, c) ∈∼2 \ ∼1 , aber (a, c) weder in ∼1 noch ∼2 , so
enthält die Vereinigung (a, b) und (b, c), ohne jedoch (a, c) zu enthalten.
Hüllenoperatoren
Die vorangegangene Betrachtung legt die Frage nahe, wie sich eine solche Relation „reparieren“
lässt, d.h. wieder in eine Äquivalenzrelation überführen lässt. Für eine homogene binäre Relation
R ⊆ A × A ist die transitive Hüllea (auch transitiver Abschluss, engl. transitive closure) R+ definiert als die kleinste Relation, die R enthält und transitiv ist. Diese lässt sich rekursiv wie folgt
beschreiben:
(a, b) ∈ R+ ⇔df (a, b) ∈ R ∨ ∃ c ∈ A. (a, c) ∈ R+ ∧ (c, b) ∈ R+ .
10 Man
48
beachte, dass Relationen lediglich Teilmengen des kartesischen Produkts sind.
Ist zusätzlich die Reflexivität verletzt, lassen sich diese beiden Eigenschaften mit der reflexivtransitiven Hülle R∗ wiederherstellen, welche mittels der Identitätsrelation als R∗ =df R+ ∪ IA
definiert werden kann.
Die reflexiv-transitive Hülle findet häufig in der theoretischen Informatik Anwendung, wenn man etwa die Übergänge zwischen Konfigurationen (Zuständen) einer Rechenmaschine, z.B. einer TuringMaschinec , betrachtet: Bedeutet s ` s0 , dass die Maschine in einem Berechnungsschritt von s in
den Zustand s0 wechseln kann, so schreibt man s `∗ s00 , wenn man von der nötigen Anzahl an
Zwischenschritten (auch keine) abstrahieren will. Erforderlich ist dann nur eine – potentiell leere
– Folge von Berechnungsschritten über Zwischenzustände, an deren Anfang s und Ende s00 steht.
Die letzte Eigenschaft, die bei einer Äquivalenzrelation verletzt sein kann, ist die Symmetrie. Die
symmetrische Hülle lässt sich definieren als R↔ =df R ∪ R−1 . Kombiniert man diese drei Hüllen∗
operatoren, so ergibt sich die reflexiv-transitiv-symmetrische Hülle R↔ . Für eine beliebige Relation
∗
R ist R↔ eine Äquivalenzrelation.
a Eine
„Hülle“ bezeichnet im mathematischen Sinne immer eine minimale Menge, welche eine gegebene Menge
vollständig enthält, und zusätzlich bestimmte Eigenschaften erfüllt. Zentral ist hierbei, dass keine Elemente
enthalten sind, welche weder gegeben noch durch die Eigenschaften erzwungen wurden. Ein anschauliches Beispiel
aus der Geometrie ist die konvexe Hülleb einer Menge von Punkten.
c siehe http://de.wikipedia.org/wiki/Turing-Maschine
Äquivalenzrelationen in der objektorientierten Programmierung
Äquivalenzrelationen sind von solch herausragender Bedeutung, dass ihre Anwendung oft unbewusst geschieht. Tatsächlich ist es oft üblich, äquivalente Objekte zu identifizieren, d.h. als exakt
gleich zu betrachten. Hierbei ist zu beachten, dass auch die Gleichheit „=“ wiederum eine Äquivalenzrelation ist.
Ein Beispiel hierfür liefert die Programmiersprache Java: Der spracheigene Vergleichsoperator ==
testet, ob zwei Operanden das selbe Objekt referenzieren (Identität). So wertet beispielsweise der
Ausdruck new String("foo") == new String("foo") zu false aus, da der new-Operator die
Erzeugung eines komplett neuen Objekts garantiert.
Oft ist man jedoch am Inhalt (bzw. der Semantik) der Objekte interessiert, statt an ihrer Identität.
Hierfür definiert die Klasse Object, von welcher alle selbst definierten Klassen erben, die Methode equals. Diese ist genau für den Test auf „semantische Gleichheit“ verantwortlich. Wird sie
überschrieben, so muss der Programmierer den Test auf Gleichheit selbst implementieren. Hierfür
ist es essenziell, die Eigenschaften von Äquivalenzrelationen sicherzustellen, was auch die offizielle
Dokumentationa fordert:
„The equals method implements an equivalence relation on non-null object references:
• It is reflexive: for any non-null reference value x, x.equals(x) should return
true.
• It is symmetric: for any non-null reference values x and y, x.equals(y) should
49
return true if and only if y.equals(x) returns true.
• It is transitive: for any non-null reference values x, y, and z, if x.equals(y)
returns true and y.equals(z) returns true, then x.equals(z) should return
true.“
a siehe
http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)
3.3.2 Exkurs: Kardinalzahlen
Man kann sich leicht überlegen, dass die Gleichmächtigkeit von Mengen, wie sie in Kapitel 3.2.2
definiert wurde, eine Äquivalenzrelation auf Mengen ist.a Die Äquivalenzklassen dieser Relation
werden als Mächtigkeit oder Kardinalzahlen bezeichnet. Wir verwenden wie im Falle endlicher
Mengen die Notation |M |. Die kleinste unendliche Kardinalzahl ist ℵ0 =df |N|. Über die nächstgrößere Kardinalzahl lässt sich nur schwerlich eine Aussage treffen: Die Kontinuumshypotheseb
besagt, dass die nächst größere unendliche Kardinalzahl ℵ1 =df |R| ist. Allerdings wurde nachgewiesen, dass diese Hypothese sich in der herrschenden Axiomatisierung der Mathematik, der
Zermelo-Fraenkel-Mengenlehre, weder beweisen noch widerlegen lässt.
Basierend auf den Mächtigkeitsgesetzen endlicher Mengen definiert man folgende Rechenoperationen auf Kardinalzahlen:
Definition 3.a (Operationen auf Kardinalzahlen).
1. |A| + |B| =df |A ∪ B|, falls A ∩ B = ∅
2. |A| ∗ |B| =df |A × B|
3. |A||B| =df |AB |
a Wegen
der Antinomie der Allmenge muss der Begriff streng genommen auf der Klasse der Mengen oder relativ
zu einem zugrundeliegenden Mengenuniversum gesehen werden.
b siehe http://de.wikipedia.org/wiki/Kontinuumshypothese
Kardinalzahlen lassen sich durch 5 partiell ordnen.c Für unendliche Mengen A und B mit |A| ≤
|B| gilt:
|A| + |B| = |A| ∗ |B| = |B|.
c Eine
formale Definition von Ordnungen findet sich in Kapitel 7; die Antisymmetrie ist hier Konsequenz von
Satz 3.16.
3.4 Lernziele
Am Ende dieses Kapitels sollten Sie ...
• eine Vorstellung von Relationen haben:
50
– Wie sind Relationen formal definiert?
– Welche besonderen Eigenschaften können binäre Relationen aufweisen?
– Was bedeutet es, wenn eine Funktion injektiv/surjektiv/bijektiv ist?
• mit Mächtigkeiten von Mengen vertraut sein:
– Was bedeutet es, wenn eine Menge unendlich ist?
– Wie vergleicht man Mächtigkeiten von (unendlichen) Mengen?
– Welche unendlichen Mengen sind gleichmächtig, welche sind echt mächtiger?
– Mit welcher Beweisidee lässt sich bspw. die Überabzählbarkeit von {0, 1}N nachweisen?
• den Begriff der Äquivalenzrelation verinnerlicht haben:
– Durch welche Eigenschaften sind Äquivalenzrelationen definiert?
– Welcher Zusammenhang besteht zwischen Äquivalenzrelationen und Partitionen/Funktionen?
51
52
4 Induktives Definieren
In Kapitel 2 haben wir Mengen als eine der zentralen mathematischen Strukturen kennengelernt.
Angegeben wurden Mengen entweder explizit (dies funktioniert natürlich nur bei endlichen Mengen), durch Anwendung von Mengenoperationen wie Vereinigung oder Schnitt aus anderen Mengen
gebildet, oder in beschreibender Form unter Angabe eines Prädikats, welches Elemente aus einer
größeren Menge ausgewählt hat.
In vielen Fällen stoßen diese Spezifikationsmechanismen jedoch an ihre Grenzen, da die Struktur
der zu beschreibenden Objekte beliebig komplex werden kann. In manchen Fällen haben wir uns
damit beholfen, „. . .“ in die Mengenbeschreibung aufzunehmen – selbst für die „Definition“ der
natürlichen Zahlen N = {0, 1, 2, . . .} musste diese Notation bislang genügen.
Intuitiv ist es dem Leser sicher klar, wie er die „. . .“-Notation zu interpretieren hat: Aus einfachen
Objekten sowie einigen komplexeren Beispielen lassen sich allgemeine Regeln für den Aufbau komplexerer Objekte herleiten. Das Vorgehen anhand fester Regeln Objekte beliebiger Komplexität
zu bilden ist die Grundidee des in diesem Kapitel vorgestellten induktiven Definierens. Zwar
wird dieses Prinzip hier zunächst anhand einer Formalisierung der natürlichen Zahlen vorgestellt,
seine überragende Bedeutung kommt aber erst durch eine Vielzahl anderer Anwendungsbereiche,
insbesondere aus der Informatik, zum Ausdruck. Als Beispiele sind Zahldarstellungen, Ausdrücke,
Datenstrukturen sowie Programmier- und Prozesssprachen zu nennen, welche größtenteils induktiv aufgebaut sind. Aber auch Algorithmen, Funktionen und Prädikate sind oft induktiv über den
Aufbau der zugrundeliegenden Strukturen definiert.
Induktives Vorgehen ist jedoch nicht nur für die Definition solcher Mengen von Bedeutung, sondern
auch um Aussagen über deren Elemente zu beweisen. Dieses induktive Beweisen (siehe Kapitel 6)
bedeutet „Beweisen entlang der induktiven Struktur“ der zugrundeliegenden Objekte. Induktionsbeweise erlauben es, Eigenschaften für unendlich viele Objekte auf einen repräsentativen Induktionsschluss zurückzuführen.
4.1 Natürliche Zahlen
Der intuitive Umgang mit natürlichen Zahlen ist dem Leser seit früher Kindheit vertraut. Auch
wenn es unmöglich ist, alle natürlichen Zahlen aufzuzählen, so ist das Konzept der natürlichen
Zahl als Resultat des Zählens von Objekten einer endlichen Menge offenbar hinreichend leicht
verständlich.1
betrachtet könnte man sagen, dass die natürlichen Zahlen ein Modell der Äquivalenzklassen von ∼
=
auf endlichen Mengen sind.
1 Mathematisch
53
Einen etwas tieferen Einblick erhält man, wenn man die oben angesprochene Notation N =
{0, 1, 2, . . .} betrachtet: Ausgehend von der kleinsten natürlichen Zahl 0 bildet man die jeweils
nächste natürliche Zahl, indem man 1 auf ihren Vorgänger addiert. In der Tat bildet diese Betrachtung den Kern der im Folgenden vorgestellten Peano-Axiome. Hierbei zeigt sich auch eine
grundsätzliche Beziehung des induktiven Definierens zu einem weiteren zentralen Konzept der Informatik, den in Kapitel 1 bereits angesprochenen Invarianten: Addiert man auf eine beliebige
natürliche Zahl 1, so ist gesichert dass die resultierende Zahl ebenfalls natürlich ist.
4.1.1 Peano-Axiome
Die Peano-Axiome stellen eine formale Charakterisierung der natürlichen Zahlen dar. Die Grundidee dabei ist, dass jede natürliche Zahl durch eine endliche Anwendung der Nachfolgefunktion
s(·) entsteht.
Definition 4.1 (Peano-Axiome).
P1 0 ist eine natürliche Zahl: 0 ∈ N.a
P2 Jede natürliche Zahl n besitzt eine eindeutig bestimmte natürliche Zahl s(n) als Nachfolger:
∀ n ∈ N. ∃ m ∈ N. m = s(n)
P3 0 ist nicht Nachfolger einer natürlichen Zahl:
@ n ∈ N. 0 = s(n)
P4 Verschiedene natürliche Zahlen haben verschiedene Nachfolger:
∀ m, n ∈ N. n 6= m ⇒ s(n) 6= s(m)
P5 Induktionsaxiom: Ist M ⊆ N mit 0 ∈ M und der Eigenschaft, dass aus n ∈ M auch s(n) ∈ M
folgt, so muss M = N gelten.
(∀ M ⊆ N. 0 ∈ M ∧ ∀ n ∈ N. n ∈ M ⇒ s(n) ∈ M ) ⇒ (M = N).
a In
diesem Skript nehmen wir an, dass 0 die kleinste natürliche Zahl ist. In der nicht-informatischen Mathematik
geht man üblicherweise von 1 als kleinster natürlichen Zahl aus, die Axiome (P1), (P3) und (P5) müssen dann
entsprechend angepasst werden.
Die Axiome (P1) und (P3) beschreiben die Sonderrolle der Null. Die Axiome (P2) und (P4) drücken
aus, dass die Anwendung der Nachfolgefunktion für alle natürlichen Zahlen wiederum eine natürliche Zahl ergibt, und dass s(·) injektiv ist, also eine zumindest partiell definierte Umkehrfunktion 2
besitzt. Axiom (P5) ist Grundlage des später in Theorem 6.17 eingeführten Beweisprinzips der
vollständigen Induktion, welches es ermöglicht, Aussagen über die gesamte Menge der natürlichen
Zahlen zu beweisen.
2 In
54
der Tat ist 0 die einzige Definitionslücke der „Vorgängerfunktion“, wie auch durch (P3) festgelegt.
An dieser Stelle sei darauf hingewiesen, dass im Induktionsaxiom (P5) erstmals eine sogenannte
prädikatenlogische Formel 2. Stufe vorliegt. Der äußere Allquantor bezieht sich nämlich nicht auf
Individuen der Struktur natürlicher Zahlen, sondern auf Mengen solcher Individuen. Allgemein
spricht man von Prädikatenlogik 2. Stufe, wenn dort auch über Relationen quantifiziert werden
darf. Lässt man auch Relationen über Relationen zu so kommt man zur Prädikatenlogik 3. Stufe
usw.
4.1.2 Operationen auf natürlichen Zahlen
Es fällt auf, dass Operationen wie Addition und Multiplikation nicht Bestandteil der Peano-Axiome
sind. Diese können aber leicht auf der axiomatischen Grundlage aufbauend induktiv definiert werden. Betrachten wir zunächst die Addition und definieren:
Definition 4.2 (Addition natürlicher Zahlen). Die Addition zweier Zahlen aus N ist induktiv
definiert durch
0 + m =df m
s(n) + m =df s(n + m)
(a)
(b)
Beschreibt Gleichung (a) noch eine echte Vereinfachung des Ausdrucks, so scheint Gleichung (b)
nur die Positionierung der Klammern zu verändern. Jedoch ist das Argument von s(·) auf der
rechten Seite wiederum ein Additionsausdruck, bei dem der linke Summand echt kleiner ist. Die
Anwendung dieser induktiven Definition lässt sich anhand des Beispiels der Addition von 2 und 1
nachvollziehen:
s(s(0)) + s(0)
(b)
=
s(s(0) + s(0))
(b)
=
s(s(0 + s(0)))
(a)
=
s(s(s(0)))
Diese Art zu rechnen ist zwar hochgradig impraktikabel, das berechnete Ergebnis ist jedoch offensichtlich korrekt. Auf der Addition aufbauend kann entsprechend auch die Multiplikation definiert
werden:
Definition 4.3 (Multiplikation natürlicher Zahlen). Die Multiplikation zweier Zahlen aus N ist
induktiv definiert durch
0·m
=df
0
s(n) · m
=df
m + (n · m)
55
Mithilfe induktiver Definitionen lassen sich auch die manchen Lesern sicher bereits bekannten
P
Q
Summen- und Produktzeichen
und
formalisieren:
k
X
ni =df
k−1
P
i=1
 (
k
Y

 1
i=1
ni =df
falls k = 0

 0
falls k = 0
k−1
Q
 (
sonst
ni ) + nk
i=1
sonst
ni ) · nk
i=1
wobei ni ∈ N für alle i ∈ {1, . . . , k}.
Beispiel 4.4 (Fakultät und Potenz). Weitere wichtige Operationen auf natürlichen Zahlen sind
die Fakultät von n (in Zeichen n!) sowie die n-te Potenz einer Zahl m (in Zeichen mn ). Diese lassen
sich mithilfe des Produktzeichens ebenfalls sehr leicht definieren:
n!
mn
=df
=df
n
Q
i=1
n
Q
i=1
i = (. . . (1 · 2) . . .) · n)
m = (. . . (m · m) . . .) · m) .
{z
}
|
n mal
4.1.3 Induktiv definierte Algorithmen
Basierend auf der induktiven Definition natürlicher Zahlen können eine Vielzahl weiterer Funktionen definiert werden. Etwas weniger offensichtlich, aber mindestens so bedeutend sind induktiv
definierte Algorithmen. In der Einleitung haben wir bereits das Problem der Türme von Hanoi
kennengelernt: Die Aufgabe ist es, n Scheiben aufsteigender Größe von einem Ausgangsstab A
unter Verwendung eines Hilfsstabes B auf einen Zielstab C zu verschieben, so dass jeweils nur eine
Scheibe bewegt wird und zu keinem Zeitpunkt eine größere auf einer kleineren Scheibe liegt.
Die algorithmische Lösung für dieses Problem lässt sich induktiv über die Anzahl der Scheiben n
definieren:
• Für n = 0 ist nichts zu tun.
• Für n > 0
– Verschiebe n − 1 Scheiben von Stapel A nach B, wobei C als Hilfsstapel dient.
– Verschiebe die n-te Scheibe von Stapel A nach C.
– Verschiebe n − 1 Scheiben von Stapel B nach C, wobei A als Hilfsstapel dient.
Kern ist hier die rekursive Definition des Algorithmus: Das Problem, n Scheiben zu verschieben
wird hierbei auf das Verschieben von n − 1 Scheiben sowie das separate Verschieben der größten
Scheibe reduziert. Auch wenn diese Vorgehensweise sehr indirekt wirkt, so lässt sich beweisen, dass
56
das Problem nicht mit weniger Schritten als für den obenstehenden Algorithmus benötigt werden
zu lösen ist. Es handelt sich also um einen für das Problem optimalen Algorithmus.
4.2 Induktiv strukturierte Mengen
In Abschnitt 4.1 haben wir die natürlichen Zahlen in ihrer Peano-Axiomatisierung als eine spezielle,
sehr einfache induktiv definierte Struktur kennengelernt: Ausgehend vom Element 0 lässt sich
jede weitere natürliche Zahl durch sukzessive Anwendung der Nachfolgefunktion s(·) beschreiben.
Analog zum beschriebenen Vorgehen lassen sich jedoch auch komplexere Regeln zur induktiven
Definition von Mengen aufstellen.
Definition 4.5 (Induktiv strukturierte Mengen). Sei
1. A eine Menge elementarer oder atomarer Bausteine
2. O eine Menge von Operatoren (oder Konstruktoren) mit zugehöriger Stelligkeit k ≥ 1, die es
erlauben, kleinere Bausteine zu größeren Einheiten zusammenzusetzen.
Die durch A und O induktiv beschriebene Menge M ist die kleinste Menge, für die gilt:
1. A ⊆ M ,
2. Ist o ∈ O ein Operator mit Stelligkeit k und sind m1 , . . . , mk ∈ M , dann ist auch
o(m1 , . . . , mk ) ∈ M .a
a Eine
noch kompaktere, aber weniger intuitive Formulierung erhält man, wenn man auch Operatoren mit Stelligkeit
0 zulässt. Diese lassen sich als atomare Bausteine auffassen. Für die obige Definition genügt dann lediglich jeweils
Punkt 2.
Induktiv strukturierte Mengen spielen in der Informatik eine entscheidende Rolle. Wir betrachten
im folgenden einige Beispiele:
Beispiel 4.6 (Binäre Bäume). Binäre Bäume sind die kleinste Menge mit
1. Der leere Binärbaum − ist ein atomarer Binärbaum und
2. Falls T1 und T2 Binärbaume sind, so ist auch [T1 , T2 ] ein Binärbaum. T1 ist linker und T2
rechter Teilbaum von diesem.
Der induktiv konstruierte Binärbaum [[[−, −], [[−, −], −]], [−, −]] ist in Abbildung 4.1 graphisch in
Baumform dargestellt.
Es sei an dieser Stelle darauf hingewiesen, dass in diesem Skript die aus Operatoren und Elementen aus M gebildeten Konstrukte o(m1 , . . . , mk ) lediglich syntaktischer Natur sind. Dies soll
nicht zuletzt die in der Informatik zentrale Trennung von Syntax und Semantik unterstreichen.
Die Möglichkeit, zusätzlich eine Interpretation dieser syntaktischen Konstrukte zu definieren, wird
dadurch nicht eingeschränkt.
57
Abbildung 4.1: Graphische Darstellung eines Binärbaumes
Bei anderen Autoren findet sich jedoch auch die Vorgehensweise, die Definition induktiver Mengen
im Stile von Definition 4.5 semantisch aufzufassen: Die Operatoren aus O sind dann k-stellige
Funktionen. Formal benötigt man hierfür allerdings noch eine Grundmenge G ⊇ M , so dass die
Abbildungsvorschrift der Operatoren ohne Verwendung von M angegeben werden kann.
Setzt man die natürlichen Zahlen als bekannt voraus, so lässt sich beispielsweise die Menge der
Zweierpotenzen P unter Verwendung der Verdoppelungsfunktion d : N → N, d(n) = 2n induktiv
definieren durch A = {1}, O = {d}. In diesem Fall hat der Operator d eine Interpretation als
Funktion auf den natürlichen Zahlen, d(d(· · · d(1) · · · ) ist lediglich eine Berechnungsvorschrift für
ein bereits in N enthaltenes Element; die Menge P wurde über der Grundmenge N induktiv definiert.
In der Informatik ist es jedoch häufig die angemessenere Betrachtungsweise, die Operatoren aus
O als Konstruktoren aufzufassen: Das Konstrukt o(m1 , . . . , mk ) ist hierbei keine Berechnungsvorschrift, die sich auf die Interpretation von o als Abbildung stützt, sondern beschreibt die inhärente
Struktur des jeweiligen Objekts, wie etwa bei binären Bäumen. Eine Grundmenge lässt sich hier
nur schwer angeben, da die induktive Definition die besondere Gestalt binärer Bäume überhaupt
erst einführt.
Boolesche Terme
Im folgenden betrachten wir eine weitere induktiv definierte Menge, nämlich die der Booleschen
Terme. Diese sind letztlich nichts anderes als ein induktiv definiertes Modell für die in Abschnitt 2.1
eingeführte Aussagenlogik.
Definition 4.7 (Boolesche Terme). Sei V eine Menge von Booleschen Variablen, z.B. V =
{X, Y, Z, ...}. Die Menge BT aller Booleschen Terme über V ist die kleinste Menge mit:
1. T, F und Boolesche Variablen aus V sind atomare Boolesche Terme.
2. Sind t1 und t2 Boolesche Terme, so sind auch
• ¬t1 , die Negation von t1 ,
• ( t1 ∧ t2 ), die Konjunktion von t1 und t2 und
58
• ( t1 ∨ t2 ), die Disjunktion von t1 und t2
Boolesche Terme.
Es ist zu beachten, dass die obige Definition nur die Syntax, also die äußere Form Boolescher
Terme beschreibt. Hiermit ist den Operatoren wie ∨ und ∧ noch keine Bedeutung, wie sie etwa in
Definition 2.5 (S. 13) natürlichsprachlich festgelegt wurde, zugeordnet. In Kapitel 5.4 werden wir
Booleschen Termen ebenfalls induktiv eine Semantik zuordnen, die zu einem gegebenen Booleschen
Term eine Berechnung des Wahrheitswertes unter einer gewissen Belegung erlaubt.
In diesem Kapitel führen wir aber zunächst noch eine induktive Definition ein, die eine rein syntaktische Transformation auf Booleschen Termen beschreibt.
Definition 4.8 (Syntaktische Substitution). Die Substitution ist eine dreistellige Abbildung
·[·/·] : BT × BT × V → BT .
Intuitiv ist t1 [t2 /X] der Term, der entsteht, wenn wir in t1 die Variable X an allen Stellen durch
den Term t2 ersetzen.
Formal ist die Substitution für Boolesche Terme t, t1 , t2 ∈ BT und Variablen X, Y ∈ V induktiv
über den Aufbau von t1 wie folgt definiert:
• T[t/X] =df T
• F[t/X] =df F
(
• Y [t/X] =df
t
Y
falls Y = X
sonst
• (¬t1 )[t/X] =df ¬(t1 [t/X])
• (t1 ∧ t2 )[t/X] =df (t1 [t/X] ∧ t2 [t/X])
• (t1 ∨ t2 )[t/X] =df (t1 [t/X] ∨ t2 [t/X])
Bemerkenswert an der obigen Definition ist die Tatsache, dass der Substitutionsoperator [t/X]
im Falle nicht-atomarer Boolescher Terme immer in exakt gleicher Form auf sämtliche Teilterme angewendet wird, und sich die äußere Form (Negationen bleiben Negationen, Konjunktionen
bleiben Konjunktionen etc.). Man spricht in diesem Kontext auch von Kompositionalität: Das Ergebnis der Operation auf einer komplexen Struktur lässt sich zusammensetzen aus den Ergebnissen
dieser Operation auf den Teilstrukturen. Das zugrundeliegende formale Konzept sind sogenannte
Homomorphismen, die in Kapitel 8 ausgiebig thematisiert werden.
Im folgenden ist der Substitutionsbegriff anhand zweier Beispiele illustiert. Im Falle der ersten
Substitution sind die Zwischenschritte gemäß der induktiven Definition explizit ausgeführt, im
Falle der zweiten bleibt dies als Übungsaufgabe dem Leser überlassen:
59
Beispiel 4.9.
• ¬(Y ∧ X)[t/X] = ¬((Y ∧ X)[t/X]) = ¬(Y [t/X] ∧ X[t/X]) = ¬(Y ∧ t)
• (X ∨ (Y ∧ X))[t/X] = (t ∨ (Y ∧ t))
4.3 Exkurs: Listen in funktionalen Programmiersprachen
Lineare Listen werden vermutlich jedem Leser, der sich bereits mit Programmierung befasst hat,
bekannt sein: Es handelt sich um eine Sequenz von n Elementen (bspw. ganzen Zahlen), die in
einer festen Reihenfolge angeordnet sind – jedem Element ist ein eindeutiger Index zwischen 1 und
n (bzw. 0 und n − 1) zugeordnet.
In imperativen und objektorientierten Programmiersprachen wie C, C++ oder Java werden Listen
häufig entweder mit Hilfe von Feldern (Arrays) oder als sogenannte verkettete Listen implementiert.
In funktionalen Programmiersprachen wie etwa Haskella bedient man sich oft einer induktiven
Definition, die in ihrer Struktur große Ähnlichkeiten zu den Peano-Axiomen aufweist.
Induktiv lassen sich Listen über einer bestimmten Menge von Elementen, beispielsweise ganzen
Zahlen Z, wie folgt definieren:
1. Die leere Liste ist eine Liste.
2. Ist z ∈ Z und l eine Liste, so ist auch z gefolgt von l eine Liste.
Solche induktiven Datentypdefinition lassen sich in Haskell sehr einfach vornehmen: Bezeichnet
Empty die leere Liste und Lst den Listenkonstruktor gemäß Punkt 2, so lässt sich der Typ IntList
wie folgt definieren:
1
data I n t L i s t = Empty | Cons Integer I n t L i s t
Der Listenkonstruktor Cons erhält also eine ganze Zahl (Integer) sowie die folgenden Elemente,
wiederum als IntList spezifiziert. Die Liste 4, 8, 15, 16, 23, 42 besäße dann die Darstellung
1
( Cons 4 ( Cons 8 ( Cons 15 ( Cons 16 ( Cons 23 ( Cons 42 Empty ) ) ) ) ) )
Eine Funktion mysum, welche die Summe aller Elemente einer Liste berechnet, lässt sich dann
sehr einfach durch Fallunterscheidung nach der Gestalt der übergebenen Liste (pattern matching)
angeben:
1
2
3
4
5
6
mysum : : I n t L i s t −> Integer
−− B a s i s f a l l : Die Summe d e r l e e r e n L i s t e i s t 0
mysum Empty = 0
−− Die Summe e r g i b t s i c h aus dem e r s t e n Element
−− p l u s d e r Summe d e r R e s t l i s t e
mysum ( Cons z l ) = z + mysum l
60
Es fällt auf, dass diese Definition sehr stark der induktiven Definition des Summenzeichens auf
Seite 56 ähnelt.
Natürlich ist in Haskell bereits ein Datentyp für Listen enthalten, so bezeichnet [Integer] eine
Liste ganzer Zahlen, [] ist die leere Liste, und der Listenkonstruktor hat die Form (z:l). Aber
auch komplexere induktiv aufgebaute Datenstrukturen sowie Algorithmen auf diesen lassen sich in
Haskell sehr kompakt definieren.
a siehe
http://de.wikipedia.org/wiki/Haskell_(Programmiersprache)
4.4 Lernziele
Am Ende dieses Kapitels sollten Sie ...
• die Peano-Axiomatisierung der natürlichen Zahlen kennen:
– Welche „Bausteine“ (Atome/Operationen) sind hierfür nötig?
– Warum ist es unnötig, dass arithmetische Operationen in den Peano-Axiomen spezifiziert sind?
• mit induktiven Mengendefinitionen vertraut sein:
– Nach welchem Schema werden Mengen induktiv definiert?
– Welche Bedeutung haben induktiv definierte Mengen für die Informatik?
61
62
5 Darstellung und deren Bedeutung
Die systematische Verarbeitung von Informationen, insbesondere deren automatische Verarbeitung mit Hilfe von Rechenanlagen, ist die grundlegende Aufgabe der Informatik. Unter Information versteht man dabei den abstrakten Bedeutungsgehalt eines Begriffs der realen Welt. Damit
wir Information kommunizieren und Rechenanlagen diese verarbeiten können, wird eine schematische, formalisierte Darstellung benötigt: die Repräsentation. Eine Information kann allerdings auf
verschiedene Weisen repräsentiert werden. Beispielsweise sind gebräuchliche Repräsentanten der
natürliche Zahl “vier”:
• Dezimal: 4
• Binär: 100
• Unär: ||||
• Römisch: IV
Umgekehrt können auch Repräsentationen unterschiedlich interpretiert werden. Zum Beispiel kann
IV entweder eine Buchstabenfolge oder eine Darstellung der natürlichen Zahl “vier” sein.
Die Festlegung oder Konzeption eines geeigneten Repräsentationssystems (Sprache) zusammen mit
einer adäquaten Begriffsbildung ist eine zentrale Aufgabe der Informatik, die wir als Definition eines
Semantikschemas bezeichnen wollen. Die Interpretation (Deutung) liefert zu jeder Repräsentation
ihre Semantik (Bedeutung). Ohne Interpretation sind alle Repräsentationen bedeutungsleer. Erst
die Zuordnung von Bedeutungen macht die Repräsentation zur Information.
Im täglichen Leben wird zwischen Repräsentation und Information oft nicht explizit unterschieden.
Vielmehr unterstellt man implizit oft eine Standardinterpretation. In der Informatik jedoch gibt es
a priori keine Standardinterpretation. Das erhöht den Spielraum beim Design der Semantikschemata, macht aber eine explizite begriffliche Trennung zwischen dem abstrakten Informationsgehalt
und der äußeren Form unbedingt notwendig.
5.1 Zeichenreihen
Syntaktische Repräsentationen sind in der Regel Sequenzen von Alphabetzeichen, sogenannte Zeichenreihen oder Worte. Mathematisch gesehen können Zeichenreihen der Länge n als Funktion,
die von der Menge {1, . . . , n} in ein Alphabet A abbildet, aufgefasst werden.1
1 Dies
ist eine andere Auffassung von n-Tupeln, also Elementen des n-fachen kartesischen Produkts.
63
Definition 5.1 (Zeichenreihe).
Sei A eine endliche Menge von Zeichen (auch Alphabet genannt). Eine Zeichenreihe (auch Wort)
w der Länge n ∈ N über A ist eine Funktion
w : {1, . . . , n} → A.
Für n = 0 ist {1, . . . , n} leer. Die (eindeutige) Zeichenreihe der Länge 0 bezeichnet man als das
leere Wort ε.
Die Menge aller Zeichenreihen über A mit Länge n wird mit An bezeichnet, es ist A0 = {ε}. Die
Menge aller Zeichenreihen beliebiger, aber endlicher Länge ist die sogenannte kleenesche Hülle A∗
von A:
[
A∗ =df
An .
n∈N
Offensichtlich enthält A∗ auch das das leere Wort ε. Beschränkt man sich auf nichtleere Worte so
schreiben wir
[
A+ =df
An .
n∈N+
Eine wichtige Operation auf endlichen Zeichenreihen ist ihre Verkettung (Konkatenation), d.h. die
einfache Aneinanderreihung zweier Zeichenfolgen.
Definition 5.2 (Konkatenation von Zeichenreihen).
Seien w1 und w2 Zeichenreihen der Länge n und m über A. Dann ist die Konkatenation von w1
und w2 definiert durch:
w1 w2 : {1, . . .(, n + m} → A
w1 (i)
falls 1 ≤ i ≤ n
w2 (i − n) falls n + 1 ≤ i ≤ n + m
(w1 w2 )(i) =
Die Konkatenation von Zeichenreihen lässt sich auch auf Mengen von Zeichenreihen verallgemeinern: Sind W1 und W2 Mengen von Zeichenreihen über einem gemeinsamen Alphabet A, so bezeichnet W1 W2 (zur Verdeutlichung auch als W1 · W2 geschrieben) die Menge
W1 · W2 =df {w1 w2 | w1 ∈ W1 , w2 ∈ W2 }
der Zeichenreihen über A, die durch Konkatenation einer Zeichenreihe aus W1 mit einer Zeichenreihe aus W2 gebildet werden können.
Weiterhin bezeichnet W n , n ∈ N die Menge derjenigen Zeichenreihen, die durch n-fache Konkatenation von Zeichenreihen aus W gebildet werden können. Induktiv lässt sich dies wie folgt
definieren:
W0
=df
{ε}
n
=df
W · W n−1 ∀n ∈ N+
W
64
Auch hier können wir die (positive) kleenesche Hülle definieren, es gilt
[
[
W ∗ =df
W n , W + =df
W n.
n∈N
n∈N+
Interpretiert man A als eine Menge von Zeichenreihen der Länge 1, so fallen die beiden Definitionen
zusammen. Zu beachten ist, dass W + = W ∗ \ {ε} nur gilt, falls ε ∈
/ W . Andernfalls sind die beiden
Mengen gleich.
5.1.1 Grenzen der Berechenbarkeit
An dieser Stelle wollen wir noch auf eine für die Informatik folgenreiche Beobachtung hinweisen.
Die Menge der endlichen Zeichenreihen A∗ über einem endlichen Alphabet A ist abzählbar unendlich. Für den Spezialfall der endlichen Bitvektoren, also {0, 1}∗ wurde dies im Rahmen der
Übungen behandelt, die Konstruktion lässt sich für größere Alphabete leicht verallgemeinern. Programme in einer beliebigen Programmiersprache sind durch ihre textuelle Darstellung gegeben,
es kann also nur abzählbar unendlich viele verschiedene Programme (oder, allgemeiner, endliche
Berechnungsvorschriften) geben.
Andererseits ist die Menge der Funktion von N nach N überabzählbar unendlich. Es kann also nicht
jede Funktion f : N → N durch eine endliche Berechnungsvorschrift, also zum Beispiel durch ein
auf Computern ausführbares Programm, berechnet werden.
Diese Überlegung ist zwar nicht konstruktiv, im Rahmen der Vorlesung „Grundbegriffe der theoretischen Informatik“ (GTI) werden Sie allerdings konkrete, praktisch relevante Funktionen kennenlernen, die nicht berechnet werden können.
5.2 Semantikschemata
Formal wird der Zusammenhang zwischen Information und Repräsentation durch den Begriff des
Semantikschemas erfasst.
Definition 5.3 (Semantikschema). Ein Semantikschema ist ein Tripel (R, I, [[ · ]]). Hierbei ist
• R die Menge der Repräsentationen,
• I die Menge der Informationen und
• [[ · ]] ⊆ R × I eine Semantikrelation oder Interpretation. Statt [[ · ]](r) schreibt man [[ r ]].
Bei der überwiegenden Anzahl in der Informatik vorkommender Semantikschemata ist die Semantikrelation sogar eine – zumindest partiell definierte – (Semantik-)Funktion. Im Umfeld natürlicher
Sprachen ist dies meist nicht der Fall: So steht das Wort Bank in der deutschen Sprache für unterschiedliche Gegenstandskategorien unseres täglichen Lebens.
65
Die folgenden Semantikschemata für die Darstellung natürlicher Zahlen verdeutlichen den Unterschied zwischen der Information und ihrer Repräsentation. Wir beginnen mit der einfachsten
Repräsentation, der Unärdarstellung, die sich bei Verwendung des einelementigen Strichalphabetes
ergibt:2
Beispiel 5.4 (Unärdarstellung positiver natürlicher Zahlen).
• Ru =df {|}+ = {|, ||, |||, . . .}
• Iu =df N+ = {1, 2, . . . }: Positive Natürliche Zahlen
(als Information bzw. Konzept, nicht als ihre Darstellung im Dezimalsystem!)
• [[ · ]]u ist definiert durch [[ || . . . | ]]u =df n
| {z }
n
Die Semantik einer Nachricht aus n Strichen ist also die natürliche Zahl n.
Im täglichen Umgang gebräuchlich ist die Verwendung der Dezimaldarstellung:
Beispiel 5.5 (Dezimaldarstellung natürlicher Zahlen).
• Rd =df {0, . . . , 9}+
• Id =df N
• [[ · ]]d ist definiert durch [[ w ]]d =df
n
X
10n−i · [[ w(i) ]]z
i=1
Dabei bezeichnet [[ · ]]z den Wert einer Dezimalziffer, also [[ 0 ]]z =df 0, . . . , [[ 9 ]]z =df 9.
Die Darstellung aus Definition 5.5 hat den Nachteil, dass [[ · ]]d nicht injektiv ist. Das Problem liegt
im Zulassen führender Nullen von Repräsentanten. So gilt:
[[ 1 ]]d = [[ 01 ]]d = [[ 001 ]]d = . . . = 1.
2 Um
Elemente der Repräsentationsebene klar von den Konzepten der Informationsebene zu trennen, werden erstere
im Folgenden immer durch Fettdruck gekennzeichnet.
66
Führende Nullen können aber vermieden werden, indem man die Menge der Repäsentanten einschränkt auf:
Rd =df {0} ∪ {z w | z ∈ {1, . . . , 9}, w ∈ {0, . . . , 9}∗ }
Wir betrachten nun noch als weitere Darstellung natürlicher Zahlen deren Binärdarstellung:
Beispiel 5.6 (Binärdarstellung natürlicher Zahlen).
• Rb =df {0} ∪ {1 w | w ∈ {0, 1}∗ }
• Ib =df N
• [[ · ]]b ist
definiert durch [[ w ]]b =df
n
X
2n−i · [[ w(i) ]]bz
i=1
Dabei bezeichnet [[ · ]]bz den Wert einer Binärziffer, also [[ 0 ]]bz =df 0 und [[ 1 ]]bz =df 1.
Interessanterweise eröffnet sich für Binärzahlen auch eine völlig andere Möglichkeit der Interpretation. Diese können nämlich auch als endliche Mengen natürlicher Zahlen interpretiert werden
(bzw. als Wertevektoren der zugehörigen charakteristischen Funktion, siehe Abschnitt 3.2.2bzw.
Exkurs 3.1.2). Eine 1 steht für ein vorhandenes, eine 0 für ein nicht vorhandenes Element. Bei
Binärzahlen ohne führende Nullen liegt es nahe das größte vorhandene Element durch die führende
Eins zu repräsentieren. Also haben wir folgendes Semantikschema:
Beispiel 5.7 (Binärdarstellung endlicher Mengen natürlicher Zahlen).
• Rbs =df {0} ∪ {1 w | w ∈ {0, 1}∗ }
• Ibs =df P(N)
• [[ · ]]bs ist definiert durch [[ w ]]bs =df {|w| − i | i ∈ {1, . . . , |w|} ∧ w(i) = 1}
Offensichtlich ist [[ · ]]bs injektiv, aber nicht surjektiv, denn unendliche Teilmengen von N können
nicht durch endliche Binärworte beschrieben werden. Wir kommen in Kapitel 5.4 auf Semantikschemata im Kontext induktiven Definierens zurück.
5.3 Backus-Naur-Form
Die bislang in den Semantikschemata auftretenden Zeichenreihen waren sehr einfach. Oft sind aber
syntakische Strukturen komplizierter aufgebaut. In der Informatik hat sich ein spezielles Format
zur induktiven Definition syntaktischer Strukturen (Sprachen) durchgesetzt, die Backus-Naur-Form
(BNF).
67
Eine BNF besteht aus endlich vielen (Produktions- oder Ableitungs-)Regeln der Form <N> ::= w.
Die linke Regelseite besteht aus einem sogenannten Nichtterminalsymbol,3 die rechte Regelseite
besteht aus einer ggf. auch leeren Zeichenreihe, die sowohl Nichtteminalsymbole als auch sogenannte Terminalsymbole enthalten kann. Terminalsymbole können nicht weiter mithilfe von Regeln abgeleitet werden, sie entsprechen Zeichen des zugrundeliegenden Alphabets. Zum Zweck der
Unterscheidung werden Nichtterminalsymbole hier in spitzen Klammern dargestellt. Nichtterminalsymbole sind Hilfssymbole, die im Rahmen eines Ableitungsprozesses ersetzt werden. Am Ende
dieses Prozesses sollen Nichtterminalsymbole vollständig eliminiert werden und eine Zeichenreihe
hervorgehen, die allein aus Terminalsymbolen besteht.
Enthält eine BNF mehrere Regeln mit identischen linken Seiten, etwa
<N>
::= w1
...
<N>
::= wn
so schreiben wir für diese Regeln auch kurz
<N> ::= w1 | . . . | wn
Beispiel 5.8 (BNF für natürliche Zahlen). Die Konstruktion natürlicher Zahlen anhand der PeanoAxiome ist durch die folgende BNF definiert:
<Nat> ::=
0 | s(<Nat>)
In der BNF für natürliche Zahlen sind “0”,“s00 , “(” und “)” Terminalzeichen, während <Nat> das
einzige Nichtterminalzeichen ist.
Intuitiv benutzt man BNFs um Zeichenreihen zu erzeugen, die nur aus Terminalzeichen bestehen.
Dafür startet man mit einem ausgezeichneten Nichtterminalzeichen (dem Startsymbol ), hier etwa
<Nat>, das man durch die rechte Seite einer Regel, etwa s(<Nat>), ersetzt. In dieser rechten Seite
kann dann ein beliebiges Vorkommen eines Nichtterminalzeichens ebenso ersetzt werden. Dieser
Prozess wird solange fortgesetzt, bis nur noch Terminalzeichen vorhanden sind. Zum Beispiel kann
die natürliche Zahl 3 durch folgende Ableitung erzeugt werden:
<Nat> =⇒
s(<Nat>)
=⇒
s(s(<Nat>))
=⇒
s(s(s(<Nat>)))
=⇒
s(s(s(0)))
Das Konzept der Ableitung wird durch den Begriff der Ableitungsrelation formalisiert. Seien T die
Terminalzeichen, N die Nichtterminalzeichen und R die Regeln einer BNF, so ist die Ableitungs3 Nichtterminalsymbole
68
werden im Folgenden immer durch serifenlose Schrift gekennzeichnet.
relation =⇒ ⊆ (N ∪ T)∗ × (N ∪ T)∗ wie folgt definiert:
w =⇒ w0 ⇔df
∃ w1 , w2 ∈ (N ∪ T)∗ , A ::= w̃ ∈ R. w = w1 A w2 ∧ w0 = w1 w̃ w2
In einem Ableitungsschritt, in dem man eine Regel A ::= w̃ anwendet, ersetzt man also in einem
Wort w ein Vorkommen von A durch w̃. Dabei bleibt alles, was in w links oder rechts von dem
ersetzten Vorkommen von A steht, unverändert. Die oben angegebene Definition von =⇒ schreibt
man auch kürzer als
w1 A w2 =⇒ w1 w̃ w2
Eine Folge w1 , . . . , wk von Worten über (N ∪ T)∗ (d.h. w1 , . . . , wk ∈ (N ∪ T)∗ ) heißt Ableitungsfolge, wenn wi =⇒ wi+1 für alle i ∈ {1, . . . , k − 1} gilt. Man sagt, ein Wort w0 ∈ (N ∪ T)∗ lässt
sich aus einem Wort w ∈ (N ∪ T)∗ ableiten, wenn es eine Ableitungsfolge w1 , . . . , wk mit w = w1
und w0 = wk gibt. Für ein gegebenes Nichtterminalsymbol A besteht die von A generierte Sprache
aus genau den Worten w über T (d.h. w ∈ T∗ ), die sich aus A ableiten lassen. Beachte, dass die
Worte in der von A abgeleiteten Sprache keine Nichtterminalsymbole enthalten dürfen.
Wir werden Eigenschaften der Backus-Naur-Form hier nicht weiter verfolgen, da diese uns hier in
erster Linie als Werkzeug induktiven Definierens interessieren. Für eine umfassende Behandlung sei
auf Vorlesungen wie „Grundbegriffe der Theoretischen Informatik“ (GTI) oder „Formale Methoden
des Systementwurfs“ (FMS) verwiesen.
Betrachten wir nun eine BNF für Dezimalzahlen.
Beispiel 5.9 (BNF für Dezimalzahlen).
<DezimalZahl> ::=
<Ziffer> ::=
<Ziffer> | <DezimalZahl><Ziffer>
0 | ... | 9
Die Booleschen Terme (siehe Definition 4.7) sind durch die folgende BNF definiert:
Beispiel 5.10 (BNF für Boolesche Terme).
<BT> ::=
<V> ::=
T | F | <V> | ¬<BT> | ( <BT> ∧ <BT> ) | ( <BT> ∨ <BT> )
X0 | X1 | . . .
Bei der BNF für Boolesche Terme fällt auf, dass eine unendliche Variablenmenge durch eine mit
Punkten stilisierten Notation beschrieben wird: Eine Variable hat hierbei die Form Xn , mit n ∈ N.
Streng genommen ist das bei einer BNF nicht erlaubt, denn Terminal- und Nichtterminalsymbole
sowie die Regelmenge müssen endlich sein.
Eine Möglichkeit dies zu umgehen ist es, unter Verwendung der Produktionsregel für Dezimalzahlen das Benennungsschema für Variablen explizit anzugeben. Hierzu müsste die BNF wie folgt
69
angepasst werden:
<BT> ::=
<DezimalZahl> ::=
<Ziffer> ::=
<V> ::=
T | F | <V> | ¬<BT> | ( <BT> ∧ <BT> ) | ( <BT> ∨ <BT> )
<Ziffer> | <DezimalZahl><Ziffer>
0 | ... | 9
X<DezimalZahl>
Dann sind Variablennamen wie X0, X1, X2, . . . ableitbar, bspw. durch die Schrittfolge
<V> =⇒ X<Dezimalzahl> =⇒ X<Ziffer> =⇒ X0.
Verbreiteter ist jedoch die Verwendung einer Produktionsregel der Form
<V> ::= v ∈ V.
v ist eine Metavariable für eine gesondert spezifizierte Menge von Variablen(namen), z.B. V =
{X0 , X1 , . . .}. Auf Ebene der BNF wird diese Metavariable wie ein Terminalsymbol behandelt
(d.h. sie kommt auf keiner linken Seite einer Produktionsregel vor), kann aber durch beliebige
Identifikatoren instanziiert werden.
In der Praxis, beispielsweise im Übersetzerbau, bedient man sich letzterer Variante. Das Einlesen
des Quellcodes wird in zwei Schritten vollzogen: Zuerst wird in der lexikalischen Analyse der gesamte Eingabestrom in sogenannte Tokens aufgeteilt, gleichsam die kleinsten semantiktragenden
Einheiten der Programmiersprache. Dies können einzelne Zeichen wie (, { sein, aber auch ganze Wörter wie Schlüsselwörter (if, else) oder eben Bezeichner von Variablen und Typen. Auch
Zahldarstellungen würde man – anders als in den obigen Beispielen – als Tokenklassen und nicht
über die BNF definieren.
Die verschiedenen Tokenklassen werden meist durch sogenannte Reguläre Ausdrückea spezifiziert,
die eigentliche BNF der Programmiersprache wird dann auf Ebene der Tokens (die auch unendlich große Bezeichnermengen umfassen können) spezifiziert – diese Struktur im Eingabetext zu
analysieren ist dann Aufgabe des Parsings.
In der Vorlesung „Übersetzerbau“ wird die Realisierung dieser Schritte vertiefend behandelt.
a siehe
http://de.wikipedia.org/wiki/Regul%C3%A4re_Ausdr%C3%BCcke
5.4 Induktive Semantikschemata
Besondere Bedeutung haben Semantikschemata, bei denen die Repräsentationen induktiv beschrieben sind, etwa als induktive Menge oder über eine BNF. In dieser Situation bietet es sich an, dass
auch die Semantikfunktion induktiv auf den Repräsentationen definiert ist.
Betrachten wir zunächst eine induktive Variante für das Semantikschmema aus Beispiel 5.5, die sich
ergibt wenn wir die induktive Beschreibung der Repräsentationen aus Beispiel 5.9 zugrundelegen:
70
Beispiel 5.11 (Dezimaldarstellung natürlicher Zahlen).
• Rd =df {0, . . . , 9}+ ,
• Id =df N
• [[ · ]]d ist induktiv definiert durch
[[ z ]]d
[[ w z ]]d
=df
=df
[[ z ]]z
10 · [[ w ]]d + [[ z ]]d
Semantik Boolescher Terme
Die in Beispiel 5.10 angegebene BNF für Boolesche Terme legt, ähnlich wie die induktive Definition 4.7 (Seite 58), nur den syntaktischen Aufbau fest. Eine Semantik muss den so definierten
syntaktischen Konstrukten zusätzlich noch zugeordnet werden. Da Boolesche Terme Variablen enthalten, die den elementaren Aussagen in der Aussagenlogik entsprechen, kann ein Boolescher Term
im Allgemeinen nur relativ zum Wahrheitswert der Variablen ausgewertet werden. Wir führen
dazu den Begriff der Variablenbelegungen ein. Formal sind das Zuordnungen von Variablen zu
Wahrheitswerten.
BV =df {β | β : V → {w, f }}.
Die Semantik eines Booleschen Terms ist dann eine Funktion von BV nach {w, f }, die den Wahrheitswert des Booleschen Terms unter der jeweiligen Variablenbelegung angibt.
Definition 5.12 (Semantikfunktion). Die Semantikfunktion für Boolesche Terme ist eine Funktion
[[ · ]]B : BT → {w, f }BV , die einem Booleschen Term unter Zuhilfenahme einer Belegung einen
Wahrheitswert zuordnet. Sie ist wie folgt induktiv definiert:
• [[ T ]]B (β) =df w
• [[ F ]]B (β) =df f
• [[ X ]]B (β) =df β(X) für alle X ∈ V
• [[ (¬t1 ) ]]B (β) =df ¬([[
˙ t1 ]]B (β))
• [[ (t1 ∧ t2 ) ]]B (β) =df ([[ t1 ]]B (β) ∧˙ [[ t2 ]]B (β))
• [[ (t1 ∨ t2 ) ]]B (β) =df ([[ t1 ]]B (β) ∨˙ [[ t2 ]]B (β))
˙ ∨˙ semantische Operationen auf den Wahrheitswerten {w, f }, die durch folgende
Dabei sind ¬,
˙ ∧,
Wahrheitstafel beschrieben sind:
71
b1
f
f
w
w
b2
f
w
f
w
¬b
˙ 1
w
w
f
f
b1 ∨˙ b2
f
w
w
w
b1 ∧˙ b2
f
f
f
w
Folgendes Besipiel enthält eine schrittweise Anwendung der Semantikfuktion.
Beispiel 5.13 (Anwendung Semantikfunktion). Sei β ∈ BV eine Variablenbelegung mit β(X) = f .
Dann gilt:
[[ (¬X ∨ F) ]]B (β)
=
=
=
=
=
=
[[ ¬X ]]B (β) ∨˙ [[ F ]]B (β)
¬[[
˙ X ]]B (β) ∨˙ [[ F ]]B (β)
¬β(X)
˙
∨˙ [[ F ]]B (β)
¬β(X)
˙
∨˙ f
¬f
˙ ∨˙ f
t
(Def. [[ · ]]B
(Def. [[ · ]]B
(Def. [[ · ]]B
(Def. [[ · ]]B
(Auswertung
(Auswertung
für Disjunktion)
für Negation)
für Variablen)
für Konstante F )
β(X))
˙
mit Operatoren ¬,
˙ ∨)
In Kapitel 2 haben wir die (semantische) Äquivalenz aussagenlogischer Formeln darüber definiert,
dass sämtliche Einträge in der Wahrheitstafel übereinstimmen. Die wahrheitstafelgestützte Semantikdefinition dort war jedoch eher von intuitivem Charakter. Mithilfe der in Definition 5.12 induktiv
definierten Semantik können wir die semantische Äquivalenz nun auch formal definieren.
Definition 5.14 (Semantische Äquivalenz Boolescher Terme). Seien t1 , t2 ∈ BT Boolesche Terme
über eine Variablenmenge V. t1 und t2 heißen genau dann (semantisch) äquivalent (geschrieben
t1 ≡ t2 ), wenn gilt
∀ β ∈ BV . [[ t1 ]]B (β) = [[ t2 ]]B (β).
Man überzeugt sich leicht, dass dies exakt mit der intuitiven Definition übereinstimmt: Jede Belegung β ∈ BV entspricht genau einer Zeile in der entsprechenden Wahrheitstafel.
5.5 Lernziele
Am Ende dieses Kapitels sollten Sie ...
• das grundlegende Konzept der Trennung von Syntax und Semantik (Repräsentation und
Information) verinnerlicht haben.
– Warum ist dies gerade in der Informatik von so zentraler Bedeutung?
– Wie lassen sich Semantiken formal erfassen?
– Wie unterscheiden sich Semantikschemata in der Informatik zumeist von denen der
realen Welt? Warum sind diese Eigenschaften in der Informatik unabdingbar?
72
• die Backus-Naur-Form (BNF) zur induktiven Definition syntaktischer Strukturen kennen.
– Aus welchen Elementen besteht eine BNF? Wie werden Regeln angegeben?
– Wie lassen sich (Terminal-)Wörter ausgehend von einem Nichtterminalsymbol konstruieren?
– Wie kann man auf diese Art definierten syntaktischen Konstrukten eine Semantik zuordnen?
73
74
6 Induktives Beweisen
In den Kapiteln 4 und 5 haben wir zahlreiche induktiv definierte Mengen, Funktionen und Algorithmen betrachtet. In diesem Kapitel werden wir das Werkzeug des induktiven Beweisens kennenlernen. Induktives Beweisen bedeutet „Beweisen entlang der induktiven Struktur“ der zugrundeliegenden Objekte. Induktionsbeweise erlauben es, Eigenschaften für unendlich viele Objekte auf
einen repräsentativen Induktionsschluss zurückzuführen.
In diesem Kapitel werden wir mehrere Induktionsprinzipien kennenlernen. Abweichend von der
historisch geprägten Reihenfolge beginnen wir hier aber nicht mit den natürlichen Zahlen und dem
Prinzip der vollständigen Induktion, sondern stellen in Kapitel 6.2 das elementarste und gleichzeitig
umfassendste Induktionsprinzip vor, nämlich das der Noetherschen Induktion. Dieses beruht auf
rein ordnungsbegrifflichen Voraussetzungen, deren Grundlagen wir uns zunächst im Folgenden
zuwenden.
6.1 Ordnungsrelationen
Ordnungen sind in verschiedenen Kontexten bekannt. So lassen sich Zahlbereiche wie N, Z, Q und
R mit einer Ordnung ≤ versehen, die es erlaubt Zahlen hinsichtlich ihrer Größe zu vergleichen. Für
Potenzmengen stellt die Mengeninklusion ⊆ eine Ordnung unter ihren Elementen her.
6.1.1 Partielle Ordnungen
Im Gegensatz zu den Ordnungen auf Zahlbereichen gibt es bei der Mengeninklusion allerdings auch
unvergeleichbare Elemente. So gilt zum Beispiel weder {1, 2} ⊆ {1, 3} noch {1, 3} ⊆ {1, 2}. Man
spricht daher hier von einer sogenannten partiellen Ordnung oder Halbordnung, im Gegensatz zur
totalen Ordnung, in der zwei beliebige Elemente immer untereinander vergleichbar sind. Formal
ist eine auf einer gewissen Menge A definierte (Halb-)Ordnung eine binäre homogene Relation, die
bestimmte Eigenschaften aufweist. Die folgende Definition formalisiert dies.
Definition 6.1 (Partielle Ordnung (Halbordnung)). Eine homogene Relation ⊆ A × A heißt
partielle Ordnung oder auch Halbordnung, gdw.
1. ist reflexiv : ∀ a ∈ A. a a
2. ist antisymmetrisch: ∀ a1 , a2 ∈ A. a1 a2 ∧ a2 a1 ⇒ a1 = a2
75
3. ist transitiv : ∀ a1 , a2 , a3 ∈ A. a1 a2 ∧ a2 a3 ⇒ a1 a3
An dieser Stelle ist zu beachten, dass die partielle Ordnung lediglich eine auf einer bestehenden
Menge A nachträglich definierte Relation bezeichnet – die Elemente einer Menge sind prinzipiell
ungeordnet, was Mengen beispielsweise von Tupeln unterscheidet. In den meisten Fällen ist man
jedoch an der Ordnungsrelation sowie an der Menge A gleichermaßen interessiert. Das Paar
(A, ) wird partiell geordnete Menge genannt. Diese Art von Struktur ist so wichtig, dass sich
insbesondere im Englischen hierfür auch die kompakte Bezeichnung poset (partially-ordered set)
etabliert hat.
Es ist leicht nachzuweisen, dass (P(A), ⊆) für jede Grundmenge A eine partiell geordnet ist. Ebenso
sind die natürlichen Zahlen mit der Teilbarkeitsbeziehung eine partielle Ordnung.
Auf den natürlichen Zahlen ist jedem die intuitive Ordnung 0 ≤ 1 ≤ 2 ≤ . . . klar. Allerdings ist
diese nicht unmittelbarer Bestanteil der Peano-Axiome (siehe 4.1). Man kann die Ordnung auf
natürlichen Zahlen wie folgt defineren:1
Definition 6.2 (Ordnung auf N). Für n, m ∈ N sei die Relation ≤⊆ N × N definiert durch
n ≤ m ⇔df ∃ k ∈ N. n + k = m.
Es gilt:2
Satz 6.3. ≤ ist eine partielle Ordnung auf N.
Beweis Wir zeigen die drei geforderten Eigenschaften:3
Reflexivität: Sei n ∈ N. Mit k = 0 gilt dann n + 0 = 0 + n = n, also auch n ≤ n.
Antisymmetrie: Seien n, m ∈ N mit n ≤ m und m ≤ n. Dann existieren Zahlen k1 , k2 ∈ N mit:
n + k1
m + k2
= m
= n
Setzt man m aus der ersten Gleichung in die Zweite ein, so erhält man (n + k1 ) + k2 = n.
Wegen der Assoziativität und Kommutativität der Addition gilt (k1 + k2 ) + n = n und somit
auch
(k1 + k2 ) + n = 0 + n.
Daraus folgt mit der Rechtskürzungsregel k1 + k2 = 0, was wegen Peano-Axiom (P3) k1 =
k2 = 0 impliziert. Also gilt schließlich auch n = m.
Transitivität: Seien n, m, p ∈ N mit n ≤ m und m ≤ p. Dann existieren Zahlen k1 , k2 ∈ N mit:
1 Man
beachte, dass die Ordnung sich auf die Definition der Addition natürlicher Zahlen stützt (vgl. Definition 4.2).
Vorgriff auf Abschnitt 6.1.3 sei darauf hingewiesen, dass es sich bei ≤ sogar um eine totale Ordnung handelt.
Allerdings sind totale Ordnungen lediglich ein Spezialfall des allgemeineren Konzepts der partiellen Ordnung.
3 Der Beweis stützt sich auf die Assoziativität, Kommutativität und Rechtskürzungsregel der Addition natürlicher Zahlen. Diese sind zwar jedem Leser bekannt, werden aber erst an späterer Stelle formal bewiesen (siehe
Satz 6.18).
2 Als
76
n + k1
m + k2
= m
= p
Setzt man m aus der ersten Gleichung in die Zweite ein, so erhält man (n + k1 ) + k2 = p. Mit der
Assoziativität der Addition folgt
n + (k1 + k2 ) = p
und damit gilt n ≤ p.
2
6.1.2 Quasiordnungen
In manchen Situationen ist die Antisymmetrie eine zu restriktive Forderung: Schließlich besagt sie,
dass wechselweise in Ordnungsrelation stehende Elemente schon identisch sein müssen. Will man
aber beispielsweise Personen nach ihrer Körpergröße ordnen, so existieren durchaus verschiedene
Personen, die gleichgroß sind. Ein aus Abschnitt 3.2.2 bereits bekanntes Beispiel ist der Vergleich
der Mächtigkeiten von Mengen, auch wenn dort noch mit einem rein intuitiven Ordnungsbegriff
gearbeitet wurde: Mengen A und B, für die A ∼
= B gilt, stehen wechselseitig in Relation bzgl. 5
(vgl. Definition 3.15), auch wenn sie im allgemeinen nicht identisch sind.
Verzichtet man entsprechend in Definition 6.1 auf die Forderung der Antisymmetrie, so spricht
man von einer Quasiordnung oder auch Präordnung (engl. preorder). Ein weiteres Beispiel einer
Quasiordnung ist die Teilbarkeitsrelation auf ganzen Zahlen. Während auf natürlichen Zahlen eine
partielle Ordnung vorliegt, geht im Falle ganzer Zahlen die Antisymmetrie verloren, denn es gilt
zum Beispiel −1|1 aber auch 1| − 1. Auch die Implikation auf Booleschen Termen ist ein typisches
Beispiel einer Quasiordnung, wie sie oft auf syntaktischen Bereichen anzutreffen ist. Wiederum ist
hier Reflexivität und Transitivität gegeben, die Antisymmetrie aber verletzt, denn verschiedene
semantisch äquivalente Terme stehen in beidseitiger Implikationsbeziehung. Betrachtet man hingegen die Implikation auf den Äquivalenzklassen semantisch äquivalenter Terme liegt eine partielle
Ordnung vor. Im Allgemeinen wird für eine Quasiordnung - ⊆ A × A durch
a1 ∼ a2 ⇔df a1 - a2 ∧ a2 - a1
eine Äquivalenzrelation auf A definiert. Man spricht hier auch vom Kern der Quasiordnung. Umgekehrt gilt, dass für eine Äquivalenzrelation ∼ auf einer Menge A eine partielle Ordnung auf
der Menge der Äquivalenzklassen A/∼ eine Quasiordnung - auf A induziert:
a1 - a2 ⇔df [a1 ]∼ [a2 ]∼ .
In der Praxis fällt die Trennung zwischen partiellen Ordnungen und Quasiordnungen oftmals unscharf aus: Da eine Quasiordnung - durch Identifizieren bezüglich ∼ äquivalenter Objekte zu einer
partiellen Ordnung wird, ist der formal korrekte Begriff oftmals lediglich eine Frage des Abstraktionsniveaus der angenommenen Perspektive.
77
6.1.3 Totale Ordnungen
Eine Quasiordnung - ⊆ A × A, in der alle Elemente vergleichbar sind, d.h. für die gilt
∀ a1 , a2 ∈ A. a1 - a2 ∨ a2 - a1
heißt totale Quasiordnung oder auch Präferenzordnung. Liegt statt einer Quasiordnung sogar eine
partielle4 Ordnung vor, spricht man von einer totalen oder auch linearen Ordnung.
Im oben angesprochenen Beispiel der Ordnung von Personen nach ihrer Körpergröße handelt es
sich also um eine totale Quasiordnung. Die natürlichen Zahlen mit der ≤-Ordnung (siehe Abbildung 6.2(a)) sind hingegen sogar total geordnet.
6.1.4 Striktordnungen
Zu einer gegebenen Quasiordnung - lässt sich die zughörige Striktordnung ≺ definieren durch:
a1 ≺ a2 ⇔df a1 - a2 ∧ a1 6∼ a2 .
Offensichtlich ist ≺ transitiv. Außerdem kann es keine wechselweise in Beziehung stehenden Elemente geben. Denn würde sowohl a1 ≺ a2 als auch a2 ≺ a1 gelten, so folgt nach der Definition von
≺:
a1 - a2 ∧ a1 - a2 ∧ a1 6∼ a2 .
Hieraus folgt aber, dass sowohl a1 ∼ a2 als auch a1 6∼ a2 gelten muss. Somit hat ≺ also folgende
charakteristische Eigenschaften:
Lemma 6.4.
1. ≺ ist asymmetrisch, d.h.: ∀ a1 , a2 ∈ A. a1 ≺ a2 ⇒ a2 6≺ a1
2. ≺ ist transitiv, d.h.: ∀ a1 , a2 , a3 ∈ A. a1 ≺ a2 ∧ a2 ≺ a3 ⇒ a1 ≺ a3
Die Asymmetrie5 von ≺ impliziert außerdem sofort, dass ≺ irreflexiv ist, d.h.: ∀ a ∈ A. a 6≺ a.
Umgekehrt induziert eine Striktordnung ≺, sprich eine Relation mit den Eigenschaften aus Lemma
6.4, unmittelbar eine partielle Ordnung durch:6
a1 a2 ⇔df a1 ≺ a2 ∨ a1 = a2 .
4 Der
Leser sollte sich an dieser Stelle nicht verwirren lassen: Auch wenn das Wort „partiell“ hier wie eine Gegenüberstellung zu „total“ wirkt, so ist hiermit lediglich die Abgrenzung zur Quasiordnung gemeint. Allgemein gilt,
dass eine partielle Ordnung ein Spezialfall einer Quasiordnung ist, und dass eine totale Ordnung ein Spezialfall
einer partiellen Ordnung ist.
5 Das Konzept der Asymmetrie ist nicht zu verwechseln mit der Antisymmetrie, wie sie für partielle Ordnungen
gefordert wird!
6 Ersetzt man die Bedingung a = a durch a ∼ a , wo ∼ eine Äquivalenzrelation auf A ist, so erhält man
1
2
1
2
wiederum eine Quasiordnung.
78
Reduziert man eine Striktordnung auf die unmittelbar benachbarten Abhängigkeiten erhält man
die Nachbarschaftsordnung ≺N definiert durch:
a1 ≺N a2 ⇔df a1 ≺ a2 ∧ @ a3 ∈ A. a1 ≺ a3 ≺ a2 .
In ≺N sind transitive Beziehungen eliminiert. Abbildung 6.1 illustriert den Unterschied der Relationen , ≺ und ≺N anhand der Teilbarkeitsrelation auf der Menge der natürlichen Zahlen
{1, 2, 3, 4, 6, 12}. Diese ist dabei wie üblich definiert durch n|m ⇔df ∃ k ∈ N. n · k = m. Im Bild
wird n|m durch einen Pfeil von n nach m repräsentiert.
Abbildung 6.1: Teilbarkeitsrelation auf {1, 2, 3, 4, 6, 12}: a) Als partielle Ordnung, b) als Striktordnung und c) als Nachbarschaftsordnung.
Konstruiert man ≺N ausgehend von einer partiellen Ordnung , so erhält man aus ≺N zurück,
indem man deren reflexiv-transitive Hülle ≺∗N bildet (siehe Abschnitt 3.3.1); es gilt ≺∗N =. Zur
Erinnerung: Die reflexiv-transitive Hülle R∗ einer Relation R ⊆ A×A ist die kleinste R umfassende
transitive und reflexive Relation.
Wegen ≺N ⊆ ≺ ⊂ ist ≺N für die kompakte Respräsentation von von besonderer Bedeutung.
Die graphische Darstellung von ≺N ist auch unter dem Begriff Hasse-Diagramm von bekannt.
Bei dieser Darstellung wird ≺N durch Verbindungen dargestellt, wobei kleinere Elemente unten
angeordnet sind. Abbildung 6.2 zeigt die Hasse-Digramme einiger partieller Ordnungen.
6.1.5 Ordnungen und Teilstrukturen
Betrachtet man eine Teilmenge B ⊆ A einer geordneten Menge, so heben sich einige Elemente
durch ihre speziellen Eigenschaften hervor. Die folgende Definition beschreibt zunächst untere und
obere “Randelemente” in B.
79
Abbildung 6.2: Hasse Diagramme zu a) ≤-Ordnung auf N, b) ⊆-Ordnung auf P({1, 2, 3}), c) der
Teilbarkeitsrelation | auf {1, . . . , 12}.
Definition 6.5 (Minimale, maximale Elemente).
Sei - ⊆ A × A Quasiordnung und B ⊆ A. Ein Element b ∈ B heißt
1. minimales Element in B ⇔df @ b0 ∈ B. b0 ≺ b und
2. maximales Element in B ⇔df @ b0 ∈ B. b ≺ b0 .
Man beachte, dass es in B mehrere verschiedene minimale bzw. maximale Elemente geben kann.
Beispiel 6.6. Betrachten wir in Abbildung 6.2(c) die Teilmenge B = {2, 3, 4, 6}, so sind 2 und 3
minimale Elemente, während 4 und 6 maximale Elemente sind.
Wirklich extreme Elemente in B werden durch folgende strengere Definition erfasst:
Definition 6.7 (Kleinstes, größtes Element). Sei ⊆ A × A partielle Ordnung und B ⊆ A. Ein
Element b ∈ B heißt
1. kleinstes Element in B ⇔df ∀ b0 ∈ B. b b0 und
2. größtes Element in B ⇔df ∀ b0 ∈ B. b0 b.
Offensichtlich ist ein kleinstes Element insbesondere minimal und ein größtes Element auch maximal. Für totale Ordungen gilt umgekehrt auch, dass minimale Elemente schon kleinste beziehungsweise maximale Elemente größte Elemente sind.
Beispiel 6.8. Betrachten wir in Abbildung 6.2(c) die gesamte Menge der Elemente {1, . . . , 12}, so
sind 7, 8, 9, 10, 11 und 12 maximale Elemente, aber es existiert kein größtes Element. Andererseits
ist die 1 minimales und hier auch kleinstes Element.
80
6.2 Noethersche Induktion
Das Prinzip der Noetherschen Induktion ist das universelle Instrument, um Aussagen über geordnete Mengen (siehe Kapitel 4) zu beweisen. Generell müssen nur schwache ordnungstheoretische
Voraussetzungen für die Anwendbarkeit dieses Induktionsprinzips vorliegen, nämlich die Struktur
einer Noetherschen Quasiordnung.
Definition 6.9 (Noethersche Quasiordnung). Eine Quasiordnung - ⊆ A × A heißt Noethersch
genau dann, wenn jede nichtleere Teilmenge von A ein bezüglich - minimales Element besitzt.
Liegt sogar eine partielle Ordnung vor, spricht man von einer Noetherschen partiellen Ordnung.
Anschaulich verhindert die Existenz minimaler Elemente, dass es bezüglich ≺ unendliche absteigende Ketten in A gibt.
Beispiele Nothersch partieller Ordnungen sind:
Beispiel 6.10 (Noethersch partielle Ordnungen).
1. Die durch ≤ geordneten natürlichen Zahlen N sind Noethersch total geordnet, denn jede
nichtleere Teilmenge enthält sogar ein kleinstes Element.
2. Die durch die Teilwortbeziehung geordnete Menge der endlichen Zeichenreihen A∗ ist
Noethersch partiell geordnet. Jede echt absteigende Kette von Zeichenreihen wird in jedem
Schritt echt kürzer.
3. Die Potenzmenge jeder endlichen Menge M ist durch ⊆ Noethersch partiell geordnet. Jede
echt absteigende Kette von Mengen enthält in jedem Schritt mindestens ein Element weniger.
Hingegen haben wir im Folgenden Beispiele für partiell geordnete Mengen, die aber nicht Nothersch
sind:
Beispiel 6.11 (Nicht Noethersch partielle Ordnungen).
1. Die durch ≤ total geordneten ganzen Zahlen Z sind nicht Noethersch geordnet, denn die
nichtleere Teilmenge Z besitzt kein minimales Element.
2. Die durch ≤ total geordneten nichtnegativen rationalen Zahlen Q≥0 sind nicht Noethersch
geordnet, denn die nichtleere Teilmenge { 21 , 13 , 14 , . . .} besitzt kein minimales Element.
3. P(N) ist durch ⊆ nicht Noethersch geordnet, denn die nichtleere
{N, N\{0}, N\{0, 1}, N\{0, 1, 2}, . . .} besitzt kein minimales Element.
Teilmenge
Noethersche Quasiordnungen bilden die Grundlage für ein fundamentales Beweisprinzip in der
Mathematik, dem der Noetherschen Induktion.
81
Beweisprinzip 6.12 (Prinzip der Noetherschen Induktion).
Sei - ⊆ M ×M eine Noethersche Quasiordnung. Lässt sich eine Aussage A über M für
jedes m ∈ M aus der Gültigkeit der Aussage für alle echt kleineren Elemente ableiten, dann
ist sie für jedes m ∈ M wahr.
∀ m ∈ M. ∀ m0 ∈ M. m0 ≺ m ⇒ A(m0 ) ⇒ A(m) ⇒ ∀ m ∈ M. A(m).
Beweis Wir zeigen die Behauptung per Kontraposition. Falls ∀ m ∈ M. A(m) nicht gilt, gibt es
eine nichtleere Menge G ⊆ M von Gegenbeispielen definiert durch G =df {g ∈ M | ¬A(g)}. Weil
- Noethersch ist, existiert ein minimales Gegenbeipiel gmin ∈ G. Wegen der Minimalität von gmin
gilt ∀ m0 ∈ M. m0 ≺ gmin ⇒ A(m0 ). Damit ist aber der Induktionsschritt, d.h. die Implikation
∀ m ∈ M. ∀ m0 ∈ M. m0 ≺ m ⇒ A(m0 )
⇒ A(m) ,
verletzt, denn ∀ m0 ∈ M. m0 ≺ gmin ⇒ A(m0 ) gilt, aber nicht A(gmin ).
2
Als eine erste Anwendung Northerscher Induktion wollen wir die Kommutativität der Addition
natürlicher Zahlen gemäß Definition 4.2 beweisen, also
∀ n, m ∈ N. n + m = m + n.
Diese und andere Eigenschaften natürlicher Zahlen sind an späterer Stelle in Satz 6.18 zusammengefasst zu finden. Dort ist auch der Standardbeweis durch eine verschachtelte vollständige
Induktion zu finden. Der Beweis mittels Noetherscher Induktion ist aber vergleichsweise eleganter.
Alles was man benötigt ist eine geeignete Noethersche Ordnung auf Paaren natürlicher Zahlen.
Wir verwenden dafür die komponentenweise Ordnung auf N × N, die definiert ist wie folgt:
(n, m) ≤ (n0 , m0 ) ⇔df n ≤ n0 ∧ m ≤ m0 .
Dann ergibt sich für Satz 6.18(2) folgender Beweis:
Beweis Sei (n, m) ∈ N × N. Wir nehmen an, dass die Behauptung für alle echt kleineren Paare
bereits bewiesen wurde. Wir unterscheiden folgende Fälle:
Fall 1: n = 0.
n+m = 0+m
(4.2.a)
=
(∗)
m = m+0 = m+n
Eigenschaft (*) ist die Neutralität der 0 bezüglich der Addition (vergl. Satz 6.18) und wird
hier als verwendbar vorausgesetzt.
Fall 2: n 6= 0, m = 0. Der Fall ist analog zu Fall 1.
82
Fall 3: n 6= 0, m 6= 0. Dann existieren n0 , m0 mit n = s(n0 ) und m = s(m0 ):
n+m
(4.2.b)
s(n0 ) + m
=
=
(4.2.b)
s(s(m0 + n0 ))
(I.V.)
s(m0 + n)
=
=
(I.V.)
(4.2.b)
=
I.V.
s(n0 + m) = s(m + n0 )
=
s(s(n0 + m0 ))
(4.2.b)
=
(4.2.b)
=
s(s(m0 ) + n0 )
s(s(n0 ) + m0 ) = s(n + m0 )
s(m0 ) + n = m + n
2
6.2.1 Terminierungsbeweise
In der Informatik hat die Noethersche Induktion große Bedeutung für den Nachweis, dass Programme für ihre Eingaben nicht unendlich lange rechnen, sondern dass die Berechnung irgendwann
abbricht. Man spricht hier von der Terminierung des Programmes. Aus Gründen der Darstellung
führen wir die Überlegungen hier nicht für Programme einer konkreten Programmiersprache durch,
sondern betrachten rekursive Berechnugsvorschriften. Von diesen wollen wir nachweisen, dass jeder Aufruf nach höchstens endlich vielen rekursiven Aufrufen der Berechnungsvorschrift schließlich
mit einem Ergebnis terminiert. Grundidee hierfür ist es eine Noethersche Quasiordnung auf den
Argumentwerten zu definieren bezüglich der jeder rekursive Aufruf mit echt kleineren Argumenten
als in der aufrufenden Berechnung erfolgt. Es ist offensichtlich, dass dann die Folge der rekursiven
Aufrufe schließlich terminieren muss.
Zunächst betrachten wir die rekursive Berechnungsvorschrift zur Berechnung des größten gemeinsamen Teilers zweier positiver natürlicher Zahlen:
ggt : N+ × N+ → N+


falls n = m
 n
ggt(n, m) =
ggt(n − m, m) falls m < n

 ggt(n, m − n) falls n < m
Eine geeignete Noethersche Quasiordnung auf N+ × N+ ist etwa gegeben durch:
(n, m) .max (n0 , m0 ) ⇔df max(n, m) ≤ max(n0 , m0 ).
Es ist leicht einzusehen, dass .max Noethersche Quasiordnung ist. Es liegt allerdings keine partielle
Ordnung vor, da verschiedene Paare wie etwa (1, 3) und (2, 3) wechselweise in .max -Beziehung stehen können. Da bei jedem rekursiven Aufruf von ggt die kleinere von der größeren Zahl abgezogen
wird, verringert sich das Maximum der Argumente im Aufruf. Damit terminiert die Berechnungsvorschrift ggt nach endlich vielen Aufrufen.
Ein etwas ambitionierteres Beispiel ist die folgende Berechnungsvorschrift, die auch als AckermannFunktion bekannt ist.7
7 Ausführliche
Informationen zur Historie und Bedeutung
http://de.wikipedia.org/wiki/Ackermannfunktion.
der
Ackermann-Funktion
finden
Sie
unter
83
ack : N × N → N


falls n = 0
 m+1
ack(n, m) =
ack(n − 1, 1)
falls n > 0, m = 0

 ack(n − 1, ack(n, m − 1)) falls n > 0, m > 0
Eine für die Terminierung geeignete Noethersche totale Ordnung ist die lexikographische Ordnung
auf N × N, die definiert ist durch:
(n, m) ≤lex (n0 , m0 ) ⇔df n < n0 ∨ (n = n0 ∧ m ≤ m0 ).
Erfolgt ein rekursiver Aufruf gemäß der zweiten Alternative so wird das erste Argument echt
verringert. Damit nimmt das Argumentpaar in der lexikographischen Ordnung ab. Gleiches gilt
für den äußeren Aufruf in der dritten Alternative. Es bleibt den inneren Aufruf in der dritten
Alternative, also ack(n, m − 1), zu untersuchen. Hier bleibt das erste Argument unverändert, aber
das zweite Argument nimmt echt ab. Damit erfolgt auch dieser Aufruf mit lexikographisch kleineren
Argumenten.
Das Finden einer für den Terminierungsbeweis geeigneten Noetherschen Quasiordnung ist allerdings bei weitem nicht so offensichtlich wie es die beiden vorangehenden Beispiele nahelegen. In
der Tat ist die Terminierung beliebiger rekuriver Berechnungsvorschriften ein unentscheidbares
Problemm, d.h. kann nicht mit einem automatisierbaren Verfahren entschieden werden. Ein prominentes Beispiel einer konkreten rekursiven Berechnungsvorschrift, für die bis heute kein Terminierungsbeweis bekannt ist, bildet die sogenannte Collatz-Funktion.8
col : N+ → {1}


 1
col(n) =
col(n/2)

 col(3n + 1)
falls n = 1
falls n gerade
falls n ungerade
Es ist sofort klar, dass wann immer ein Aufruf von col(n) terminiert, das Ergebnis der Berechnung
1 ist. Somit ist allein die Frage, ob die Terminierung für alle positiven natürlichen Zahlen garantiert
ist, von Bedeutung. Obwohl mit Rechnerunterstützung die Terminierung für alle Startwerte bis ca.
5 · 1018 nachgewiesen wurde, gibt es bis heute weder einen Beweis der Terminierung noch einen
Hinweis auf die Existenz eines Startwertes, für den die Berechnung divergiert.
6.3 Verallgemeinerte Induktion
Der Spezialfall der Noetherschen Induktion, bei der als Menge die natürlichen Zahlen mit Ihrer
üblichen Ordnung (Definition 6.2) zugrunde liegen ist unter dem Begriff Verallgemeinerte Induktion
bekannt. Da hier eine Noethersche totale Ordnung vorliegt, haben wir:
8 Weitere
84
Informationen zur Collatz-Funktion finden Sie unter http://de.wikipedia.org/wiki/Collatz-Problem.
Beweisprinzip 6.13 (Prinzip der verallgemeinerten Induktion).
Lässt sich eine Aussage A über natürliche Zahlen für jede natürliche Zahl aus der Gültigkeit
der Aussage für alle kleineren natürlichen Zahlen ableiten, dann ist sie für jede natürliche
Zahl wahr.
∀ n ∈ N. (∀ m ∈ N. m < n ⇒ A(m)) ⇒ A(n) ⇒ ∀ n ∈ N. A(n).
Im Gegensatz zur populäreren vollständigen Induktion, auf die wir in Kapitel 6.5 noch näher
eingehen werden, erlaubt es das Prinzip der verallgemeinerten Induktion bei der Induktionsvoraussetzung auf alle echt kleineren natürlichen Zahlen zurückzugreifen. Ein bekanntes Beispiel, für
das dieses sich als nützlich erweist, sind die wie folgt induktiv definierten Fibonacci-Zahlen.
Definition 6.14 (Fibonacci-Zahlen).
f ib(0)
=df 0
f ib(1)
=df 1
f ib(n + 1) =df f ib(n) + f ib(n − 1)
Wir beweisen folgende obere Abschätzung für die Fibonacci-Zahlen:
∀ n ∈ N. f ib(n) < 2n .
Beweis Sei n ∈ N und die Behauptung bewiesen für alle m < n (Induktionsannahme). Wir
unterscheiden dann folgende 3 Fälle:
Def.
• n = 0. Dann gilt f ib(0) = 0 < 1 = 20 .
Def.
• n = 1. Dann gilt f ib(1) = 1 < 2 = 21 .
• n ≥ 2. Dann gilt:
Def.
IA
f ib(n) = f ib(n − 2) + f ib(n − 1) < 2n−2 + 2n−1 ≤ 2n−1 + 2n−1 = 2 · 2n−1 = 2n .
2
Es ist auffällig, dass im Gegensatz zum Prinzip der vollständigen Induktion (siehe Kapitel 6.5) bei
der verallgemeinerten Induktion vermeintlich auf einen Induktionsbeginn für die Null verzichtet
wird. Allerdings ist dieser implizit im Induktionsschritt verborgen. Weil es keine kleineren natürlichen Zahlen als die Null gibt, ist die Eigenschaft ∀ m < 0. A(m) trivialerweise erfüllt. Weil die
gesamte Implikation (∀ m < 0. A(m)) ⇒ A(0) im Induktionsschluss gelten muss, ist A(0) als
gültig nachzuweisen.
85
6.4 Strukturelle Induktion
Eine weitere Form des induktiven Beweisens, die für die Informatik von zentraler Bedeutung ist, ist
die Anwendung auf induktiv beschriebene Mengen gemäß Definition 4.5. Zur Erinnerung: Die Elemente einer induktiv beschriebenen Menge M sind entweder Atome aus einer vorgegebenen Menge
A, oder über Operatoren (bzw. Konstruktoren) o ∈ O aus Elementen aus M zusammengesetzt.
Letztere Elemente haben die allgemeine Form o(m1 , . . . , mk ), mit mi ∈ M für 1 ≤ i ≤ k.
Will man eine Aussage A über M für jedes Element m ∈ M beweisen, so geht man dabei wie folgt
vor:
1. Man beweist, dass A für jedes Atom a ∈ A gilt.
2. Man beweist für jeden Konstruktor o ∈ O, dass unter der Voraussetzung, dass A für beliebige
m1 , . . . , mk ∈ M gilt, A auch für o(m1 , . . . , mk ) gilt.
Zusammenfassen lässt sich dieses Vorgehen in folgendem Beweisprinzip.
Beweisprinzip 6.15 (Prinzip der strukturellen Induktion).
Sei M eine über eine Menge von Atomen A und Konstruktoren O induktiv beschriebene
Menge.
Lässt sich eine Aussage A über M für jedes Atom a ∈ A beweisen, und lässt sich für jeden
Konstruktor o ∈ O aus der Gültigkeit der Aussage für m1 , . . . , mk ∈ M die Gültigkeit für
o(m1 , . . . , mk ) ableiten, dann ist A für jedes m ∈ M wahr.
∀ a ∈ A. A(a) ∧ ∀ o ∈ O, m1 , . . . , mk ∈ M. A(m1 )∧· · ·∧A(mk ) ⇒ A o(m1 , . . . , mk )
⇒ ∀ m ∈ M. A(m)
Die strukturelle Induktion stellt ebenfalls einen Spezialfall der Noetherschen Induktion dar: Zu
einer induktiv beschriebenen Menge M betrachte man die Nachbarschaftsordnung ≺N , die genau
komplexere Elemente mit ihren einzelnen „Bausteinen“ in Relation setzt. Es gilt:
m1 ≺N m2 ⇔df
∃ o ∈ O. m2 = o(m01 , . . . , m0k ) ∧ m1 ∈ {m01 , . . . , m0k }.
Betrachtet man die entsprechende, aus der reflexiv-transitiven Hülle gebildete partielle Ordnung
= ≺∗N , so ist klar, dass diese die „Teilstruktureigenschaft“ auf M beschreibt, und – aufgrund
der zugrundeliegenden Atome a ∈ A – Noethersch ist. Das Beweisprinzip 6.15 ergibt sich dann als
Spezialfall von Beweisprinzip 6.12 auf der Noethersch geordneten Menge (M, ).
Die strukturelle Induktion ist von fundamentaler Wichtigkeit für viele Anwendungsfälle in der
Informatik. Prinzipiell folgt sie einem sehr einfachen Schema: Die zu zeigende Aussage A wird für
jedes m ∈ M gezeigt, indem eine Fallunterscheidung nach den möglichen Konstruktionen von m
durchgeführt wird. Ist m ∈ A, so muss die Gültigkeit der Aussage absolut bewiesen werden; ist m =
o(m1 , . . . , mk ) für einen Operator o ∈ O, so kann die Gültigkeit von A für m1 , . . . , mk vorausgesetzt
86
werden. Dieses Muster soll aufgrund seiner Wichtigkeit hier noch einmal sehr detailliert vertieft
werden.
Beispiel 6.16 (Vollständigkeit von {¬, ∧}). Wir betrachten die in Definition 2.5 (Seite 13) beschriebenen aussagenlogischen Formeln, aufgefasst als induktiv beschriebene Menge aus den Atomen a, b, c, . . . (elementare Aussagen) sowie dem einstelligen Konstruktor ¬ und den zweistelligen
Konstruktoren ∧, ∨, ⇒, ⇔.a
Wie in Kapitel 2 bereits angemerkt wurde, ist die Junktorenmenge {¬, ∧} funktional vollständig,
d.h. zu jeder aussagenlogischen Formel φ existiert eine semantisch äquivalente Formel φ0 , so dass φ0
lediglich die Junktoren ¬ und ∧ enthält. Wir wollen dies nun mit Hilfe der strukturellen Induktion
beweisen.
Sei φ eine aussagenlogische Formel. Wir führen nun eine Fallunterscheidung nach dem induktiven
Aufbau von φ durch:
Fall 1: φ = a, also ist φ eine elementare Aussage. Dann enthält φ keine Junktoren, erfüllt die zu
beweisende Eigenschaft also trivial.
Fall 2: φ = ¬ψ. Dann existiert nach der Induktionsannahme (IA) eine aussagenlogische Formel
ψ 0 ≡ ψ, so dass ψ 0 nur ¬ und ∧ enthält. Dies gilt dann auch für φ0 = ¬ψ 0 , und es gilt φ0 ≡ φ.
Fall 3: φ = ψ1 ∧ ψ2 . Dann existieren nach der IA ψ10 ≡ ψ1 , ψ20 ≡ ψ2 mit der gewünschten Eigenschaft, und φ0 = ψ10 ∧ ψ20 ≡ φ enthält ebenfalls nur ¬ und ∧.
Fall 4: φ = ψ1 ∨ ψ2 . Dann existieren nach der IA ψ10 ≡ ψ1 , ψ20 ≡ ψ2 mit der gewünschten Eigenschaft, und φ0 = ¬(¬ψ10 ∧ ¬ψ20 ) ≡ φ enthält ebenfalls nur ¬ und ∧.
Fall 5: φ = ψ1 ⇒ ψ2 . Dann existieren nach der IA ψ10 ≡ ψ1 , ψ20 ≡ ψ2 mit der gewünschten
Eigenschaft, und φ0 = ¬(ψ10 ∧ ¬ψ20 ) ≡ φb enthält ebenfalls nur ¬ und ∧.
Fall 6: φ = ψ1 ⇔ ψ2 . Dann existieren nach der IA ψ10 ≡ ψ1 , ψ20 ≡ ψ2 mit der gewünschten
Eigenschaft, und φ0 = ¬(¬(ψ10 ∧ ψ20 ) ∧ ¬(¬ψ10 ∧ ¬ψ20 )) ≡ φc enthält ebenfalls nur ¬ und ∧.
a Aus
ästhetischen Gründen verwenden wir im Folgenden die Schreibweise A ∧ B statt ∧(A, B) etc.
der Äquivalenz A ⇒ B ≡ ¬A ∨ B und der deMorganschen Regeln.
c Aufgrund der Äquivalenz A ⇔ B ≡ (A ∧ B) ∨ (¬A ∧ ¬B) und der deMorganschen Regeln.
b Aufgrund
Nun soll noch ein komplexeres Beispiel betrachtet werden, nämlich eine als Substitutionslemma
bekannte Aussage, die die in Definition 4.8 (Seite 59) eingeführte synaktische Substitution mit
ihrem semantischen Gegenstück in Beziehung setzt. Es ist zu beachten, dass im Gegensatz zum
vorangehenden Beispiel nicht auf den in Kapitel 2 eingeführten aussagenlogischen Formeln, sondern
auf den in Definition 4.7 (Seite 58) eingeführten Booleschen Termen gearbeitet wird.
Zunächst benötigen wir die folgende Definition.
87
Definition 6.a (Semantische Substitution). Sei β ∈ BV , also β : V → {w, f } eine Belegung für
eine Variablenmenge V. Die semantische Substitution
·{·/·} : BV × {w, f } × V → BV
ist eine wie folgt definierte dreistellige Abbildung:
(
v
falls X = Y ,
β{v/X}(Y ) =df
β(Y ) sonst.
∀v ∈ {w, f }, X, Y ∈ V.
In Worten ausgedrückt ergibt die Anwendung von β{v/X} eine neue Belegung, die sich von β
höchstens darin unterscheidet, dass die Variable X unter dieser Belegung den Wahrheitswert v
annimmt.
Semantische und synaktische Substitution setzt das folgende Lemma in Beziehung.
Lemma 6.b (Substitutionslemma). Seien t, t0 ∈ BT Boolesche Terme über einer Variablenmenge
V, X ∈ V eine Variable und β ∈ BV eine Belegung. Es gilt:
[[ t[t0 /X] ]]B (β) = [[ t ]]B (β{[[ t0 ]]B (β)/X}).
In Worten bedeutet dies: Unter einer festen Belegung β hat die syntaktische Substitution einer
Variable X mit einem Term t0 den gleichen (semantischen) Effekt wie die semantische Substitution
des Wertes von X mit dem Wert von t0 unter β.
Der Beweis ist etwas länglich, erfordert außer eine konsequenten, wiederholten Anwendung von
Definition 5.12 (Definition von [[ · ]]B , Seite 71), Definition 4.8 (Definition der syntaktischen Substitution, Seite 59) und Definition 6.a (Definition der semantischen Substitution) jedoch lediglich
an einigen Stellen eine Rückführung auf den Induktionsschluss.
Beweis Wir führen eine strukturelle Induktion nach dem Aufbau von t durch.
Fall 1: t = T. Dann ist
[[ T[t0 /X] ]]B (β)
(4.8)
=
(5.12)
=
(5.12)
=
[[ T ]]B (β)
w
[[ T ]]B β{[[ t0 ]]B (β)/X}
Fall 2: t = F, analog zu Fall 1.
Fall 3: t = Y ∈ V, Y 6= X.
[[ Y [t0 /X] ]]B (β)
(4.8)
=
(5.12)
=
(6.a)
=
88
[[ Y ]]B (β)
β(Y )
β [[ t0 ]]B (β)/X (Y )
Fall 4: t = X.
[[ X[t0 /X] ]]B (β)
(4.8)
=
(6.a)
=
(5.12)
=
[[ t0 ]]B (β)
β [[ t0 ]]B (β)/X (X)
[[ X ]]B β [[ t0 ]]B (β)/X
Fall 5: t = ¬t1 .
[[ (¬t1 )[t0 /X] ]]B (β)
(4.8)
=
(5.12)
=
(IA)
=
(5.12)
=
[[ ¬t1 [t0 /X] ]]B (β)
¬˙ [[ t1 [t0 /X] ]]B (β)
¬˙ [[ t1 ]]B β{[[ t0 ]]B (β)/X}
[[ ¬t1 ]]B (β{[[ t0 ]]B (β)/X})
Fall 6: t = t1 ∨ t2 .
[[ (t1 ∨ t2 )[t0 /X] ]]B (β)
(4.8)
=
(5.12)
=
(IA)
=
(5.12)
=
[[ t1 [t0 /X] ∨ t2 [t0 /X] ]]B (β)
∨˙ [[ t1 [t0 /X] ]]B (β), [[ t2 [t0 /X] ]]B (β)
∨˙ [[ t1 ]]B β{[[ t0 ]]B (β)/X} , [[ t2 ]]B β{[[ t0 ]]B (β)/X}
[[ t1 ∨ t2 ]]B (β{[[ t0 ]]B (β)/X})
Fall 7: t = t1 ∧ t2 , analog zu Fall 6.
2
Nehmen Sie sich ruhig Zeit, jede der Gleichungen im Einzelnen nachzuvollziehen. Sie werden schnell
feststellen, dass diese in den meisten Fällen nichts weiter als „wortwörtliche“ Anwendungen der
jeweiligen Definitionen sind.
6.5 Vollständige Induktion
Traditionell ist induktives Beweisen sehr stark mit dem Beweisprinzip der vollständigen Induktion
verknüpft. In der Tat lässt sich diese unmittelbar aus dem Induktionsaxiom (P5) der Peanoaxiome
ableiten. Andererseits ist die vollständige Induktion nur ein Spezialfall der Kapitel 6.3 vorgestellten
verallgemeinerten Induktion, bei der im Induktionsschluss nur auf den direkten Vorgänger Bezug
genommen werden darf. Wir haben also:
89
Beweisprinzip 6.17 (Induktionsprinzip der vollständigen Induktion).
Ist eine Aussage A über natürliche Zahlen für 0 wahr und lässt sich ihre Gültigkeit für jede
größere natürliche Zahl aus der Gültigkeit der Aussage für ihren Vorgänger ableiten, dann ist
sie für jede natürliche Zahl wahr.
A(0) ∧ ∀ n ∈ N. A(n) ⇒ A(n + 1)
⇒ ∀ n ∈ N. A(n).
Wir wollen das Beweisprinzip der vollständigen Induktion zunächst dazu verwenden, einige zentrale Eigenschaften der Addition und Multiplikation natürlicher Zahlen gemäß ihrer induktiven
Definitionen (siehe Definition 4.2 und 4.3) zu beweisen:
Satz 6.18. Seien n, m, k ∈ N. Dann gilt:
Assoziativität:
(n + m) + k = n + (m + k)
(n · m) · k = n · (m · k)
Kommutativität:
n+m = m+n
n·m = m·n
Neutrale Elemente:
n+0 = n
n·1 = n
Rechtskürzungsregeln:
(n+k = m+k) ⇒ (n = m)
(n · k = m · k) ⇒ (n = m)
falls k 6= 0
Distributivität:
(n + m) · k = n · k + m · k
Beweis Wir bweweisen hier exemplarisch die Assoziativität und Kommutativiät der Addition. Die
übrigen Beweis seien dem Leser überlassen. Während der Beweis der Assoziativität per vollständiger Induktion über das Argument n erfolgen kann, muss für den Beweis der Kommutativität
auch Argument m in Form einer inneren Induktion berücksichtigt werden. In diesem Falle ist also
eine verschachtelte vollständige Indurktion erforderlich. Man beachte hier den Unterschide zum
simultanen Beweis per Noetherscher Induktion auf Seite 82.
Assoziativität der Addition
Def.+
Induktionsanfang: n = 0. Dann gilt: (0 + m) + k
=
m+k
Def.+
=
0 + (m + k)
Induktionsschluss: Sei die Behauptung bereits für ein beliebiges, aber festes n ∈ N gezeigt
(Induktionsannahme). Dann zeigen wir, dass die Behauptung auch für n + 1 gilt:
((n + 1) + m) + k
Def. +1
=
IA
(s(n) + m) + k
= s(n + (m + k))
90
Def. +
=
Def. +
=
s(n + m) + k
s(n) + (m + k)
Def. +
=
Def.+1
=
s((n + m) + k)
(n + 1) + (m + k)
Kommutativität der Addition
Induktionsanfang: Wie Fall n = 0 im Beweis auf Seite 82.
Induktionsschluss: Sei die Behauptung gezeigt für ein beliebiges, aber festes n ∈ N. Dann
haben wir:
(n + 1) + m
= s(n) + m
(4.2.b)
=
(∗)
I.V
s(n + m) = s(m + n) = m + s(n) = m + (n + 1)
Die Behauptung (∗) im Induktionsschluss wird durch eine innere vollständige Induktion
über m für festes n gezeigt:
Induktionsanfang: Wie Fall m = 0 im Beweis auf Seite 82.
Induktionsschluss: Sei die Behauptung gezeigt für ein beliebiges, aber festes m ∈ N.
(m + 1) + s(n)
=
(4.2.b)
=
s(m) + s(n)
(4.2.b)
=
I.V.
s(m + s(n)) = s(s(m + n))
s(s(m) + n) = s((m + 1) + n)
2
In den durch (IA) gekennzeichneten Stellen im Induktionsschluss geht die Induktionsannahme
ein. Dies sollte in einem sauber ausgeführten Induktionsbeweis immer irgendwo der Fall sein und
entsprechend gekennzeichnet werden.
Das Beweisprinzip der vollständigen Induktion kann in Kombination mit den induktiv definierten
Operationen auf natürlichen Zahlen auch für anpruchsvollere Aussagen verwendet werden:
Beispiel 6.19 (Beispiele zur vollständigen Induktion).
Für alle n ∈ N gilt:
1. Es gibt 2n Teilmengen von n–elementigen Mengen.
2.
n
P
i=
i=1
3.
n
P
n∗(n+1)
,
2
Summe der ersten n natürlichen Zahlen.
(2i − 1) = n2 , Summe der ersten n ungeraden Zahlen.
i=1
Beweis Wir beweisen hier nur die erste Aussage.
Induktionsanfang: n = 0. Eine 0-elementige Menge ist die leere Menge und diese hat genau 20 = 1
Teilmengen, nämlich die leere Mange selbst.
Induktionsschluss: Sei die Behauptung bereits für ein beliebiges aber festes n ∈ N gezeigt (Induktionsannahme). Sei M eine n + 1-elementige Menge. Wir wählen ein beliebiges m ∈ M . Sei
A ⊆ M . Dann gibt es zwei Fälle:
• m∈
/ A. Also A liegt voll in der n-elementigen Menge M \{m}, d.h.: A ⊆ M \{m}. Nach
Induktionsannahme gibt es 2n solche Teilmengen.
91
• m ∈ A. Dann liegt die Restteilmenge A\{m} voll in der n-elementigen Menge M \{m}.
Da jede der Teilmengen in M \{m} auch zu einer Teilmenge mit m beitragen kann, gibt
es nach Induktionsannahme wiederum 2n solche Teilmengen.
Insgesamt hat man 2n + 2n = 2 · 2n = 2n+1 Teilmengen.
2
92
7 Ordnungsstrukturen
In Kapitel 6.1 haben wir den Begriff der partiellen Ordnungen kennengelernt, motiviert durch
das Induktionsprinzip der Noetherschen Induktion. Auf der anderen Seite haben wir zahlreiche
Beispiele partieller Ordnungen kennengelernt, die von großer Bedeutung sind, etwa:
• (P(M ), ⊆): Potenzmengen mit Inklusionsbeziehung
• (BT |≡ , ⇒): Klassen semantisch äquivalenter Boolesche Terme mit der Implikationsbeziehung
• (N, |): Natürliche Zahlen mit der Teilbarkeitsbeziehung
Die Definition partieller Ordnungen stellt an sich nur schwache Anforderungen, die den strukturellen Eigenschaften der obigen Beispiele nicht voll gerecht werden. So besitzen zum Beispiel zwei
Teilmengen immer eine kleinste diese enthaltende Obermenge, die Vereinigung der beiden Mengen. Dass dieses in partiellen Ordnungen allgemein, selbst in solchen mit kleinstem und größtem
Element, keineswegs der Fall sein muss, illustriert Abbildung 7.1. Hier werden die Elemente 2 und
3 zwar von 4, 5 und 6 nach oben übertroffen, aber in {4, 5, 6} gibt es kein kleinstes Element.
Abbildung 7.1: Partielle Ordnung mit kleinstem und größtem Element, die kein Verband ist.
7.1 Verbände
Will man Strukturen, wie in Abbildung 7.1 ausschließen, betrachtet man partielle Ordnungen
mit zusätzlichen strukturellen Eigenschaften, die sogenannten Verbände. Bevor wir diese formal
definieren, benötigen wir aber noch einige Begriffe.
93
Definition 7.1 (Obere und untere Schranken). Sei (M, ) eine partielle Ordnung und
X ⊆ M.
1.
a) y ∈ M heißt obere Schranke von X ⇔df ∀ x ∈ X. x y.
Wir schreiben auch kurz X y.
b) Die Menge der oberen Schranken von X ist OX =df {y ∈ M | X y}.
c) Besitzt OX ein kleinstes Element, die kleinste obere Schranke (oder Supremum) von X,
so wird dieses mit sup(X) bezeichnet.
2.
a) y ∈ M heißt untere Schranke von X ⇔df ∀ x ∈ X. y x.
Wir schreiben auch kurz y X.
b) Die Menge der unteren Schranken von X ist UX =df {y ∈ M | y X}.
c) Besitzt UX ein größtes Element, die größte untere Schranke (oder Infimum) von X, so
wird dieses mit inf(X) bezeichnet.
Im Allgemeinen kann die Menge der oberen und unteren Schranken leer sein. So hat in Abbildung
6.2 die Menge {8, 12} keine gemeinsamen oberen Schranken, d.h. O{8,12} = ∅. Selbst wenn etwa
obere Schranken existieren, müssen diese kein kleinstes Element besitzen. Wie bereits diskutiert hat
in Abbildung 7.1 die Knotenmenge {2, 3} die oberen Schranken 4, 5 und 6, d.h. O{2,3} = {4, 5, 6},
aber es gibt keine kleinste obere Schranke.
Infimum und Supremum, sofern existent, sind eindeutig bestimmt. Dieses führen wir hier für das
Infimum näher aus. Seien y1 , y2 ∈ M zwei Infima von X ⊆ M . Dann gilt y2 y1 , denn y2 ist
untere Schranke von X und y1 ist größte untere Schranke von X. Mit vertauschten Rollen von y1
und y2 folgt ebenso y1 y2 . Wegen der Antisymmetrie von impliziert y2 y1 zusammen mit
y1 y2 dann y1 = y2 .
Offensichtlich ist ein kleinstes Element von X, sofern ein solches existiert, das Infimum von X und
ein größtes Element von X das Supremum. Im Allgemeinen sind Infima und Suprema aber nicht
notwendig kleinste bzw. größte Elemente der Teilmenge X, ja nicht einmal in X selbst enthalten.
Dieses gilt selbst dann, wenn X total geordnet ist. Betrachten wir die Potenzmenge der natürlichen
Zahlen, also (P(N), ⊆) und X ⊆ P(N) mit X =df {∅, {1}, {1, 2}, {1, 2, 3}, . . .}. Offensichtlich gilt
sup(X) = N, aber N ist nicht größtes Element von X, da N nicht in X enthalten ist.
Mit dem Begriff der Infima und Suprema definiert man:
Definition 7.2 (Verband). Eine partielle Ordnung (V, ) heißt Verband ⇔df
∀ x, y ∈ V. inf({x, y}) existiert ∧ sup({x, y}) existiert
Betrachten wir erneut die Potenzmenge als Ordnung (P(M ), ⊆) so liegt offensichtlich ein Verband vor mit sup({A, B}) = A ∪ B und inf({A, B}) = A ∩ B. Ebenso ist (N, |) ein Verband mit sup({n, m}) = KgV (n, m), dem kleinsten gemeinsamen Vielfachen von n und m, und
inf({n, m}) = GgT (n, m), dem größten gemeinsamen Teiler von n und m. Verbände spielen eine
94
wichtige Rolle im Zusammenhang mit der Repräsentation von konkreter und abstrakter Information. So ist in Abbildung 7.2(a) ein Verband zu sehen, der als starke Abstraktion von P(Z, ⊆)
angesehen werden kann. Hier sind Mengen ganzer Zahlen auf ihre Vorzeicheninformationen reduziert. So steht das mit “>=0” annotierte Element für die Vorzeicheninformation “nicht negativ”.
Drunter fallen solche Mengen ganzer Zahlen, deren Elemente alle größer oder gleich 0 sind. Eine genauere Vorzeicheninformation als “>=0” hat man mit “>0” oder “=0”. Das größte Element
“any” steht für die total unspezifische Vorzeicheninformation, also Mengen, die sowohl positive
als auch negative ganze Zahlen enthalten. Das kleinste Element “none” steht für das Fehlen von
Vorzeicheninformation und abstrahiert damit allein die leere Menge. Abbildung 7.2(b) zeigt den
sogenannten flachen Verband ganzer Zahlen. Hier wird die übliche Ordnungsbeziehung zwischen
den Zahlen völlig ignoriert und alle Zahlen unabhängig nebeneinander angeordnet. Damit gilt aber
für verschiedene Zahlen wie 2 und 3 nicht etwa sup(2, 3) = max(2, 3) = 3, wie es bezüglich der
üblichen ≤-Beziehung der Fall ist, sondern sup(2, 3) = any. Andererseits besitzt der flache Verband
den Vorteil, dass es keine echt unendlich absteigenden Folgen von Elementen gibt. In der Tat sind
alle echt absteigenden Folgen in ihrer Länge durch 3 beschränkt.
Abbildung 7.2: a) Verband der Vorzeicheninformationen ganzer Zahlen, b) Flacher Verband ganzer
Zahlen
Auf endlichen Verbände, also solchen mit endlicher Trägermenge V =df {x1 , . . . , xn }, existieren
die Infima und Suprema auch für beliebige nichtleere Teilmengen. Das Infimum von X ⊆ M
bestimmt sich nämlich induktiv durch:
(
inf({x1 , . . . , xk }) =
x1
falls k = 1
inf({inf({x1 , . . . , xk−1 }), xk }) sonst
Das Supremum kann analog beschrieben werden. Endliche Verbände besitzen folglich auch ein
kleinstes und ein größtes Element, nämlich inf(V ) bzw. sup(V ). In unendlichen Verbänden gilt
dieses nicht unbedingt. Betrachten wir etwa die Teilbarkeit auf positiven natürlichen Zahlen, also
(N+ , |), so liegt ein Verband ohne größtes Element vor.
95
7.1.1 Verbände als algebraische Strukturen
Die Definition eines Verbandes erlaubt es, inf und sup als binäre Operatoren aufzufassen. Daher
definieren wir:
xfy
xgy
=df
=df
inf({x, y})
sup({x, y})
Es gilt dann:
Satz 7.3. Sei (V, ) ein Verband. Dann gilt für alle x, y, z ∈ V :
1. Assoziativität:
a)
(x f y) f z = x f (y f z)
b)
(x g y) g z = x g (y g z)
2. Kommutativität:
a)
xfy = y fx
b)
xgy = y gx
3. Absorption:
a)
x f (x g y) = x
b)
x g (x f y) = x
Beweis Die Kommutativität ist offensichtlich trivial. Für die Assoziativität betrachten wir Eigenschaft 1(a). Es bezeichne u1 =df (x f y) f z = inf({inf({x, y}), z}) und u2 =df x f
(y f z) = inf({x, inf({y, z})}). Offensichtlich ist u1 untere Schranke von x, y und z. Also gilt
u1 inf({y, z}) und weiter u1 inf({x, inf({y, z})}) = u2 . Analog haben wir u2 u1 und mit
der Antisymmetrie von schließlich u1 = u2 . Eigenschaft 1(b) beweist man dual. Für Absorptionseigenschaft 3(a) stellen wir zunächst fest x g y = sup({x, y}) x. Offensichtlich gilt dann
x f (x g y) = inf({x, sup({x, y})}) = x. Letztere Gleichheit folgt trivial aus der Tatsache,
| {z }
x
dass das Infimum einer zweielementigen linear geordneten Menge deren kleinstes Element ist. Eigenschaft 3(b) beweist man wiederum dual.
2
Eine Menge V mit zwei Operationen f und g, die die Eigenschaften aus Satz 7.3 erfüllen, wird
als algebraischer Verband bezeichnet. Die erwähnten Eigenschaften (Assoziativität, Kommutativität und Absorption) sind uns bereits an früherer Stelle begegnet. In der Tat sind die Mengenund Aussagengesetze in Tabelle 2.15 und 2.6 Ausdruck einer zugrundeliegenden algebraischen Verbandsstruktur.
Aus Gründen der Abgrenzung zu algebraischen Verbänden bezeichnen wie Verbände im Sinne von
Definition 7.2 auch als ordnungsstrukturelle Verbände. Mit Satz 7.3 haben wir bereits gesehen,
dass jeder ordnungsstrukturelle Verband einen algebraischen Verband induziert. Dass auch die
96
Umkehrung gilt, wird in Satz 7.5 gezeigt. Zuvor zeigen wir aber die Idempotenzeigschaften in
algebraischen Verbänden.
Lemma 7.4 (Idempotenz). Sei (V, f, g) ein algbraischer Verband und x ∈ V . Dann gilt:
1.
x = xfx
2.
x = xgx
Beweis
x =
=
x f (x g (x f x))
xfx
(Absorption)
(Absorption)
x =
=
x g (x f (x g x))
xgx
(Absorption)
(Absorption)
2
Lemma 7.4 geht unmittelbar in den Beweis des bereits ankündigten folgenden Resultates ein:
Satz 7.5. Sei (V, f, g) ein algebraischer Verband. Definiert man eine binäre Relation ⊆ V × V
durch:
x y ⇔df x = x f y,
so ist (V, ) ein ordnungsstruktureller Verband.
Beweis Zunächst müssen wir zeigen, dass überhaupt eine partielle Ordnung ist.
• Reflexivität: Folgt unmittelbar aus der Idempotenz von f (Lemma 7.4).
• Antisymmetrie: Seien x, y ∈ V mit x y und y x. Das heißt nach Definition x = x f y
und y = y f x. Wegen der Kommutativität von f impliziert das x = y.
• Transitivität: Es gelte x y und y z.
x
=
=
=
=
=
xfy
(x f y) f (y f z)
(x f (y f y)) f z
(x f y) f z
x fz
(x y)
(x y, y z)
(Assoziativität)
(Idempotenz)
(x y)
Das heißt nach Definition x z.
Es bleibt zu zeigen, dass je zwei Elemente aus V ein Infimum und Supremum besitzen. Aus Dualitätsgründen beschränken wir uns hier auf die Infimumseigenschaft. Seien x, y ∈ V . Wir behaupten,
Idemp.
Assoz.
Komm.
dass x f y Infimum von {x, y} ist. Wegen x f y
= (x f x) f y = x f (x f y)
=
Assoz.
x f (y f x) = (x f y) f x gilt x f y x. Ebenso kann x f y y gezeigt werden. x f y
97
ist also untere Schranke von {x, y}. Um zu zeigen, dass es auch die größte untere Schranke ist,
nehmen wir an z ∈ V sei eine beliebige untere Schranke von {x, y}. Dann gilt:
z
= z fy
= (z f x) f y
= z f (x f y)
(z y)
(z x)
(Assoziativität)
Also ist z x f y.
2
7.2 Spezielle Verbände
Nachdem wir nun Verbände sowohl in der Sicht als Ordnungsstrukturen, als auch als algebraische
Strukturen kennengelernt haben, wollen wir noch einige wichtige spezielle Verbände untersuchen.
Diese ergeben sich durch zusätzliche Anforderungen an die betrachteten Strukturen.
7.2.1 Vollständige Verbände
Betrachten wir die ordnungsstrukturelle Sicht von Verbänden aus Definition 7.2, so haben wir
gesehen, dass in endlichen Verbänden beliebige nichtleere Teilmengen ein Infimum und Supremum
besitzen. Es liegt also nahe diese Forderung auf unendliche Verbände zu übertragen. Man kommt
so zum Begriff vollständiger Verbände:
Definition 7.6 (Vollständiger Verband). Eine partielle Ordnung (V, ) heißt vollständiger Verband
⇔df
∀ X ⊆ V. inf(X) existiert ∧ sup(X) existiert
Beispiel 7.7 (Vollständiger Verband).
1. (N, ≤) ist Verband, aber kein vollständiger Verband, denn sup(N) existiert nicht.
2. (N ∪ {∞}, ≤) mit n ≤ ∞ für alle n ∈ N ∪ {∞} ist ein vollständiger Verband.
3. (P(M ), ⊆) ist vollständiger Verband für jede Menge M .
4. (N, |) ist vollständiger Verband mit inf(X) = GgT (X), dem größten gemeinsamen Teiler
aller Elemente in X. Das Supremum ist analog sup(X) = KgV (X), das kleinste gemeinsame
Vielfache aller Elemente in X. Man beachte, dass dieses für unendliche Teilmengen die 0 ist.
5. (N+ , |) ist kein vollständiger Verband denn für unendliche Teilmengen wie z.B. N existiert
kein Supremum.
Definition 7.6 ist eigentlich unnötig restriktiv definiert. Es reicht nämlich die Existenz von Infima
oder Suprema allein zu fordern, da die jeweils andere Eigenschaft dann automatisch sichergestellt
ist. Es gilt nämlich:
98
Lemma 7.8 (Vollständiger Verband).
1. Sei (V, ) eine partielle Ordnung, in der Infima generell existieren, also
∀ X ⊆ V. inf(X) existiert.
Dann ist (V, ) vollständiger Verband, d.h. auch Suprema existieren generell, also
∀ X ⊆ V. sup(X) existiert.
2. Sei (V, ) eine partielle Ordnung, in der Suprema generell existieren, also
∀ X ⊆ V. sup(X) existiert.
Dann ist (V, ) vollständiger Verband, d.h. auch Infima existieren generell, also
∀ X ⊆ V. inf(X) existiert.
Beweis Aus Dualitätsgründen beschränken wir uns auf Teil (1) und nehmen an, dass für alle
Teilmengen X ⊆ V das Infimum inf(X) existiert. Sei X ⊆ V . Wir betrachten die Menge der
oberen Schranken OX von X und zeigen:
sup(X) = inf(OX ).
Hierfür zeigen wir zwei Ordunungsbeziehungen, wodurch die Behauptung aus der Antisymmetrie
folgt.
• sup(X) inf(OX ) : Per Definition ist sup(X) kleinste obere Schranke von X. Also gilt
sup(X) OX . Damit ist sup(X) untere Schranke von OX und somit sup(X) inf(OX ),
da ja inf(OX ) die größte untere Schranke von OX ist.
• sup(X) inf(OX ) : Per Definition ist sup(X) insbesondere obere Schranke von X. Somit
ist sup(X) ∈ OX und es gilt inf(OX ) sup(X), denn inf(OX ) ist ja insbesondere untere
Schranke von OX .
2
In einem vollständigen Verband (V, ) existiert immer ein kleinstes Element ⊥V (sprich bottom
von V ) und ein größtes Element >V (sprich top von V), nämlich:
⊥V
>V
= inf(V )
= sup(V )
= sup(∅)
= inf(∅)
Nach den Ausführungen auf Seite 95 ist in endlichen Verbänden die Existenz der Infima und
Suprema nichtleerer Teilmengen sichergestellt. Mit der vorangegangenen Betrachtung über größte
und kleinste Elemente existiert auch inf(∅) und sup(∅) und wir haben:
99
Satz 7.9. Jeder endliche Verband ist vollständig.
7.2.2 Boolesche Verbände
Während vollständige Verbände ausschließlich über die Erweiterung der ordnungsstrukturellen
Eigenschaften definiert sind, können auch algebraische Verbände über zusätzliche Eigenschaften
erweitert werden. In der Tat enthalten die Mengen- und Aussagengesetze in Tabelle 2.15 und 2.6
zwei zusätzliche Gesetze. Eines davon ist die Distributivität, die in folgenden Weise verallgemeinert
werden kann.
Definition 7.10 (Distributiver Verband). Ein algbraischer Verband (V, f, g) heißt distributiv,
genau dann wenn für alle x, y, z ∈ V gilt:
1.
x g (y f z) = (x g y) f (x g z)
2.
x f (y g z) = (x f y) g (x f z)
Genau genommen reicht es in Definition 7.10 eine der beiden Eigeschaften zu fordern. Es gilt:
Lemma 7.11 (Distributiver Verband). Die Bedingungen in Definition 7.10 sind äquivalent. Das
heißt, eine der Eigenschaften stellt bereits sicher, dass ein distributiver Verband vorliegt.
Beweis Nehmen wir an, dass Eigenschaft (1) erfüllt ist. Dann gilt
x f (y g z)
=
=
=
=
=
=
=
x f (x g z) f (y g z)
x f (x g z) f (y g z)
x f (z g x) f (z g y)
x f z g (x f y)
x g (x f y) f z g (x f y)
(x f y) g x f (x f y) g z
(x f y) g (x f z)
(Absorption)
(Assoziativität)
(Kommutativität)
(Distributivität Eig. (1))
(Absorption)
(Kommutativität)
(Distributivität Eig. (1))
2
Abbildung 7.3 zeigt einen Verband, der nicht distributiv ist, denn es gilt zum einen a g (b f c) =
a g 0 = a g 0 = a, zum anderen (a g b) f (a g c) = 1 f 1 = 1.
Ausgehend von dieser Definition führen wir Boolesche Verbände ein als ein abstraktes Model für
Strukturen wie sie und in der Mengenlehre oder Aussagenlogik begegnet sind.
Definition 7.12 (Boolescher Verband). Ein distributiver algebraischer Verband (V, f, g) heißt
Boolescher Verband, genau dann wenn es zwei verschiedene Elemente 0 und 1 in V gibt und für
jedes x ∈ V ein komplementäres Element x̄ ∈ V existiert, so dass gilt:
1.
x g x̄ = 1
2.
x f x̄ = 0
100
Abbildung 7.3: Nichtdistributiver Verband.
Satz 7.13 (Boolescher Verband). Sei (V, f, g) ein Boolescher Verband. Dann gilt für jedes x, y ∈
V:
1. x̄ ist eindeutig bestimmt.
2. Neutralität:
a) x g 0 = x
b) x f 1 = x
3. Extremalgesetze:
a) x g 1 = 1
b) x f 0 = 0
4. Doppelkomplement:
¯ = x
x̄
5. De Morgansche Gesetze:
a) x g y = x̄ f ȳ
b) x f y = x̄ g ȳ
Beweis Wir beweisen zunächst (2), da dieses für den Beweis von (1) vorteilhaft ist. Hier beschränken wir uns auf Teil 1(a). Es gilt:
xg0
Kompl.
=
x g (x f x̄)
Absorp.
=
x.
Für die Eindeutigkeit von x̄ nehmen wir an, y und z wären zwei Komplemente von x. Dann gilt:
y
Neutr.
=
Komm.
=
Def.z
y f 1 = y f (x g z)
(x f y) g (y f z)
Def.y
=
Distr.
=
(y f x) g (y f z)
0 g (y f z)
Neutr.
=
(y f z)
Analog zeigt man z = (y f z), was dann y = z beweist.
101
Für die Extremalgesetze beschränken wir uns wieder auf Eigenschaft 3(1). Hier gilt:
xg1
Kompl.
=
x g (x g x̄)
Assoz.
=
(x g x) g x̄
Idemp.
=
x g x̄
Kompl.
=
1
Für die Eigenschaft des Doppelkomplementes haben wir zunächst:
(A) x f x̄ = 0
¯=0
(B) x̄ f x̄
Nun gilt:
x
Neutr.
=
(B)
¯)
x g 0 = x g (x̄ f x̄
Distr.
=
¯)
(x g x̄) f (x g x̄
Kompl.
=
¯)
1 f (x g x̄
Neutr.
=
¯
x g x̄
¯ = x g x̄
¯. Zusammen haben wir dann x̄
¯ = x.
Analog zeigt man unter Benutzung von (A) x̄
Beweis de Morgan folgt.
2
7.3 Konstruktionsprinzipien
Im folgenden gehen wir noch auf einige besonders wichtige Konstruktionsprinzipien ein, um Verbände zu größeren Verbänden zu kombinieren. Zunächst betrachten wir das kartesische Produkt
der den Verbänden zugrundeliegenden Mengen:
Satz 7.14 (Produktverband). Seien (A, A ) und (B, B ) Verbände. Dann ist
(A × B, A×B )
ein Verband, wobei
(a, b) A×B (a0 , b0 ) ⇔df a A a0 ∧ b B b0 .
Sind (A, A ) und (B, B ) vollständig, so ist auch der Produktverband vollständig.
Beweis Folgt
2
Das folgende Bild zeigt den Produktverband von ({1, 2, 3}, ≤) mit sich selbst, wobei ≤ die übliche
Ordnung auf natürlichen Zahlen ist.
102
(3,3)
(2,3)
(1,3)
(3,2)
(2,2)
(1,2)
(3,1)
(2,1)
(1,1)
Ein praktisch relevantes Beispiel eines Produktverbandes ist z.B. das Produkt der Verbände (R, ≥)
und (R, ≤). Die Paare charakterisieren Intervalle reeller Zahlen. Hier kann man etwa an ein Zeitfenster denken, in dem eine Steuerungsschaltung eine bestimmte Reaktion auslösen muss. Betrachten
wir nun das Infimum zweier Intervalle, so gilt:
inf((l1 , u1 ), (l2 , u2 )) = (inf ≥ (l1 , l2 ), inf ≤ (u1 , u2 )) = (max({l1 , l2 }), min({u1 , u2 })).
Konkret ist etwa inf((3.5, 7.2), (2.9, 5.7)) = (3.5, 5.7). Damit wird zum Ausdruck gebracht, dass
das Zeitfenster (3.5, 5.7) das größte ist, welches in den beiden Zeitfenstern (3.5, 7.2) und (2.9, 5.7)
enthalten ist. Dual dazu ist das Supremum zweier Intervalle definiert.
Betrachtet man Funktionen, deren Zielbereich Verbandseigenschaft hat, so kommt man zum Begriff
des Funktionenverbandes.
Satz 7.15 (Funktionenverband). Sei (A, A ) ein Verband und M eine Menge. Dann ist
(AM , AM )
ein Verband, wobei die Funktionsordnung AM definiert ist durch:
f AM g ⇔df ∀ m ∈ M. f (m) A g(m).
Beweis Folgt
2
7.4 Strukturverträgliche Abbildungen
Im folgenden untersuchen wir Funktionen zwischen (vollständigen) Verbänden. Verbände haben wir
bislang sowohl in der Sichtweise als Ordnungsstrukturen als auch in der Sichtweise als algebraische
Strukturen kennengelernt. Funktionen, die in besonderer Weise verträglich mit Operatoren oder
Ordnungen sind, werden allgemein als Homomorphismen bezeichnet. Diese spielen insbesondere
im Zusammenhang mit algebraischen Strukturen eine wichtige Rolle und werden uns daher auch
in Kapitel 8 immer wieder begegnen.
Wir betrachten hier zunächst den relativ schwachen Begriff des Ordnungshomomorphismus:
103
Definition 7.16 (Ordnungshomomorphismus). Seien (A, A ) und (B, B ) Verbände und f : A →
B eine Funktion. f heißt Ordnungshomomorphismus genau dann, wenn für alle a1 , a2 ∈ A gilt:
a1 A a2 ⇒ f (a1 ) B f (b).
Man nennt f dann auch monoton oder isoton.
Im Folgenden betrachten wir einige Beispiele:
Beispiel 7.17 (Ordnungshomomorphismus).
1. Für (N, ≤) ist jede konstante Funktion N → k mit festem k ∈ N ein Ordnungshomomorphismus.
2. Für (N, |) ist f7 : N → N mit f7 (n) =df 7 · n ein Ordnungshomomorphismus, denn aus n | m
folgt n · k = m für ein geeignetes k ∈ N. Dann gilt aber auch 7 · (n · k) = (7 · n) · k = 7 · m,
also f7 (n) | f7 (m).
3. Für (N, ≤) ist die Funktion qs, die einer Zahl ihre Quersumme zuordnet kein Ordnungshomomorphismus, denn 99 ≤ 100, aber qs(99) = 18 > 1 = qs(100).
In der Sichtweise algebraischer Verbände stellt sich die Homomorphieeigenschaft als Verträglichkeit
mit den binären Operatoren g und f dar.
Definition 7.18 (g− und f-homomorphismus). Seien (A, gA , fA ) und (B, gB , fB ) algebraische
Verbände und f : A → B eine Funktion.
1. f heißt g-Homomorphismus genau dann, wenn für alle a1 , a2 ∈ A gilt:
f (a1 gA a2 ) = f (a1 ) gB f (a2 ).
2. f heißt f-Homomorphismus genau dann, wenn für alle a1 , a2 ∈ A gilt:
f (a1 fA a2 ) = f (a1 ) fB f (a2 ).
Die algebraischen Homomorphieeigenschaften implizieren Ordnungshomomorhie, wie das folgende
Resultat ausführt:
Satz 7.19. Seien (A, gA , fA ) und (B, gB , fB ) algebraische Verbände und f : A → B eine Funktion. Wir betrachten weiter die zugehörigen ordnungsstrukturellen Verbände (A, A ) und (B, B )
(siehe Satz 7.5). Dann gilt:
1. Falls f ein g-Homomorphismus ist, so ist f ein Ordnungshomomorphismus.
2. Falls f ein f-Homomorphismus ist, so ist f ein Ordnungshomomorphismus.
104
Beweis Wir zeigen zunächst (2). Seien a1 , a2 ∈ A. Dann gilt:
a1 A a2
⇔
⇒
⇒
⇔
a1 fA a2 = a1
f (a1 fA a2 ) = f (a1 )
f (a1 ) fB f (a2 ) = f (a1 )
f (a1 ) B f (a2 )
Def. A
f ist fA −Homomorphismus
Def. B
(1) folgt analog, wenn wir folgende allgemein in Verbänden geltende Beziehung ausnutzen:
x f y = x ⇔ x g y = y.
Für die “⇒”-Richtung betrachten wir die aus der Absorption folgende Gleichheit y = y g (y f x).
Ausnutzen der Voraussetzung x f y = x liefert y = y g x und damit auch x g y = y. Die “⇐”Richtung ist analog.
2
Dass g- und f-Homomorphismen echt strengere Eigenschaften als Ordungshomomorphismen sind,
können wir anhand des folgenden Beispiels einsehen. Wir betrachten den gewöhnlichen Verband
natürlicher Zahlen (N, ≤) und f : N × N → N definiert durch f ((n, m)) = n + m. Offensichtlich ist
f ein Ordnungshomomorphismus. Allerdings liegt kein g-Homomorphismus vor, denn es gilt zum
einen
f ((1, 4) gN×N (3, 2)) = f ((min({1, 3}), min({4, 2}))) = f ((1, 2)) = 3,
zum anderen aber
f ((1, 4)) gN f ((3, 2)) = min({f ((1, 4)), f ((3, 2))}) = min({5, 5}) = 5.
Ebenso liegt auch kein f-Homomorphismus vor, denn zum einen haben wir
f ((1, 4) fN×N (3, 2)) = f ((max({1, 3}), max({4, 2}))) = f ((3, 4)) = 7,
zum anderen
f ((1, 4)) fN f ((3, 2)) = max({f ((1, 4)), f ((3, 2))}) = max({5, 5}) = 5.
105
106
8 Algebraische Strukturen
In Kapitel 7.1.1 haben wir bereits Verbände in der Sichtweise algebraischer Strukturen betrachtet.
In diesem Kapitel werden wir weitere wichtige algebraische Strukturen kennenlernen. Die Untersuchung algebraischer Strukturen ist Ergebnis eines für die moderne Mathematik prägenden
Abstraktionsprozesses. Statt ähnliche Resultate für unterschiedliche mathematische Disziplinen
unabhängig nebeneinander zu entwickeln, versucht man gemeinsame Grundstrukturen zu identifizieren und Resultate anhand einer rein axiomatischen Basis herzuleiten.
8.1 Mengen mit einer Verknüpfung
Wir betrachten zunächst Mengen G, auf denen eine zweistellige Verknüpfung ⊕ : G × G → G
definiert ist. G bildet mit ⊕ eine algebraische Struktur, für die wir üblicherweise die Schreibweise
hG, ⊕i verwenden. In diesem Kontext bezeichnet man G auch als die Trägermenge der Struktur
hG, ⊕i. Ist die zugehörige Operation aus dem Kontext ersichtlich, so ist es üblich – wenn auch
etwas unsauber –, die Struktur hG, ⊕i mit der Trägermenge G selbst zu identifizieren.
8.1.1 Halbgruppen und Monoide
Setzen wir als minimale Eigenschaft die Assoziativität der Verknüpfung voraus, wird die Struktur
zur Halbgruppe:
Definition 8.1 (Halbgruppe). hG, ⊕i heißt Halbgruppe ⇔df ⊕ ist assoziativ, d.h.:
∀ a, b, c ∈ G. (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c)
Betrachten wir die ganzen Zahlen Z mit der Addition, so handelt es sich bei hZ, +i um eine
Halbgruppe, denn die Addition in Z ist bekanntlich assoziativ. Betrachten wir anstatt der Addition
allerdings die Subtraktion als Verknüpfung, so liegt keine Halbgruppe vor, denn die Eigenschaft
der Assoziativität ist hier verletzt: Es gilt (5 − 3) − 1 = 1 6= 5 − (3 − 1) = 3. Die Menge A+ der
nicht-leeren Zeichenreihen über einem Alphabet A (siehe Kapitel 5.1) mit der Konkatenation · als
Verknüpfung, also hA+ , ·i, ist ein weiteres Beispiel für eine Halbgruppe. Eine Halbgruppe hG, ⊕i,
deren Operation ⊕ kommutativ ist (d.h. ∀a, b ∈ G.a ⊕ b = b ⊕ a), wird kommutative oder auch
abelsche Halbgruppe genannt. Ein algebraischer Verband besteht folglich aus zwei kommutativen
Halbgruppen, die über das Absorptionsaxiom gekoppelt sind.
107
Ein Element e ∈ G heißt neutrales Element genau dann, wenn
a ⊕ e = e ⊕ a = a für alle a ∈ G.
In hN, +i ist beispielsweise 0 das neutrale Element, es gilt n + 0 = 0 + n = n für alle n ∈ N.
Natürlich muss es kein solches Element geben, z.B. sind hN\{1}, ·i oder hN\{0}, +i Halbgruppen
ohne neutrale Elemente. Auch hA+ , ·i besitzt kein neutrales Element – wohl aber hA∗ , ·i, nämlich
ε. In jedem Fall kann es höchstens ein neutrales Element geben.
Lemma 8.2 (Eindeutigkeit von neutralen Elementen). Existieren in einer Halbgruppe hG, ⊕i neutrale Elemente e und e0 , so gilt e = e0 .
Beweis Seien e, e0 ∈ G neutrale Elemente bezüglich ⊕. Dann gilt: e = e ⊕ e0 = e0 .
2
Eine Halbgruppe mit neutralem Element heißt Monoid.
Beispiel 8.3 (Halbgruppen/Monoide).
• hA+ , ·i ist eine Halbgruppe, aber kein Monoid, da kein neutrales Element existiert.
• hA∗ , ·i ist ein Monoid mit neutralem Element ∈ A∗ .
• hN, +i ist ein Monoid mit neutralem Element 0.
• hN, ·i ist ein Monoid mit neutralem Element 1.
• hAA , ◦i (Funktionen f : A → A mit der Komposition als Verknüpfung) ist ein Monoid mit
der identischen Abbildung idA als neutralem Element.
8.1.2 Gruppen
Offensichtlich ist nicht nur hN, +i ein Monoid mit neutralem Element 0, sondern auch hZ, +i. Hier
lässt sich außerdem die Besonderheit beobachten, dass das neutrale Element 0 sich für ein beliebiges
z ∈ Z als z + (−z) darstellen lässt – im Gegensatz zu N, wo −n für n 6= 0 nicht in N enthalten ist.
Für eine ganze Zahl z bezeichnet −z das (bezüglich +) inverse Element (oder kurz Inverses) von
z.
Die folgende Definition beschreibt den allgemeinen Fall.
Definition 8.4 (Inverses Element). Sei hG, ⊕i ein Monoid mit neutralem Element e ∈ G, ferner
sei a ∈ G. Ein Element a−1 ∈ G mit a ⊕ a−1 = a−1 ⊕ a = e heißt inverses Element zu a.
Es sei hier darauf hingewiesen, dass a−1 an dieser Stelle eine etablierte, rein syntaktische Notation
für inverse Elemente in einem Monoid darstellt. Dies ist nicht zu verwechseln mit der Operation x1
auf rationalen oder reellen Zahlen! Der aufmerksame Leser wird bereits bemerkt haben, dass für
bspw. hR, ·i mit neutralem Element 1 der Bruch x1 für x 6= 0 in der Tat das zu x inverse Element
bezeichnet. Für hG, ⊕i = hZ, +i gilt davon unberührt jedoch a−1 = −a.
108
Eine Besonderheit zeigt sich beim neutralen Element e ∈ G: Aufgrund der Definition ist e ⊕ e = e,
dieses ist also zu selbstinvers. Darüber hinaus kann kein Element a ∈ G mit a 6= e zu e invers sein,
da a ⊕ e = a 6= e gilt. Tatsächlich lässt sich diese Eindeutigkeit sogar für jedes Element, für das
ein Inverses existiert, zeigen.
Lemma 8.5 (Eindeutigkeit von inversen Elementen). Sei hG, ⊕i ein Monoid mit neutralem Element e ∈ G, ferner sei a ∈ G. Existiert ein zu a inverses Element a−1 ∈ G, so ist dieses eindeutig
bestimmt.
−1 zu a inverse Elemente. Dann gilt:
Beweis Seien a−1 und ag
a−1
Neut.
=
Inv.
−1 ⊕ a) ⊕ a−1
e ⊕ a−1 = (ag
Ass.
−1 ⊕ (a ⊕ a−1 ) Inv.
−1 ⊕ e
= ag
= ag
Neut.
=
−1
ag
2
Monoide, in denen jedes Element ein zugehöriges Inverses besitzt, kennzeichnen eine außerordentlich wichtige algebraische Struktur.
Definition 8.6 (Gruppe). Ein Monoid hG, ⊕i, bei dem zu jedem Element a ∈ G ein inverses
Element a−1 ∈ G existiert, heißt Gruppe.
Liegt sogar ein kommutatives Monoid zugrunde, so spricht man einer kommutativen bzw. abelschen
Gruppe.
Beispiel 8.7 (Gruppen).
• hR\{0}, ·i ist eine kommutative Gruppe mit neutralem Element 1. Das zu x inverse Element
ist x1 .
• hR, +i, hZ, +i sind kommutative Gruppen. Neutrales Element ist 0 und inverses Element zu
x ist −x.
• hA∗ , ·i ist keine Gruppe, da Worte aus A+ keine inversen Elemente besitzen.
• hZ, ·i ist keine Gruppe, da ganze Zahlen im Allgemeinen keine multiplikativ inversen Elemente
besitzen.
• h{−1, 1}, ·i ist eine kommutative Gruppe.
In der in Beispiel 8.7 letztgenannten Struktur h{−1, 1}, ·i haben wir als Besonderheit eine endliche
Trägermenge {−1, 1}. Solche endlichen algebraischen Strukturen lassen sich mittels Strukturtafeln
darstellen. Im diesem Falle ist das einfach:
·
−1
1
−1
1
−1
1
−1
1
Für n ≥ 1 sei Zn =df {0, . . . , n − 1}. Auf dieser Menge definieren wir zweistellige Verknüpfungen
109
+n und ·n für a, b ∈ Zn wie folgt:
a +n b =df
(a + b)
a ·n b =df
(a · b)
mod n
mod n
Hierbei bezeichnet a mod n den Rest der ganzzahligen Division von a durch n. Es gilt:
a
mod n = k ⇔ ∃ l ∈ Z. a = l · n + k, 0 ≤ k < n
In Abbildung 8.1 wird die Addition +n und Multiplikation ·n exemplarisch für Z6 dargestellt.
+n
0
1
2
3
4
5
0
0
1
2
3
4
5
1
1
2
3
4
5
0
2
2
3
4
5
0
1
3
3
4
5
0
1
2
4
4
5
0
1
2
3
5
5
0
1
2
3
4
·n
0
1
2
3
4
5
0
0
0
0
0
0
0
1
0
1
2
3
4
5
2
0
2
4
0
2
4
3
0
3
0
3
0
3
4
0
4
2
0
4
2
5
0
5
4
3
2
1
Abbildung 8.1: Additions- und Multiplikationstafeln für Z6
Es gilt:
Satz 8.8. Für n ∈ N+ ist hZn , +n i eine kommutative Gruppe.
Beweis Siehe Übungen.
2
Allgemein gelten in Gruppen die folgenden Rechenregeln:
Lemma 8.9 (Rechenregeln in Gruppen). Sei hG, ⊕i eine Gruppe. Dann gilt:
(Rechtskürzungsregel)a
1. ∀a, b, c ∈ G. a ⊕ b = c ⊕ b ⇒ a = c
2. ∀a, b ∈ G. (a ⊕ b)−1 = b−1 ⊕ a−1
(Invertierungsregel)
a Es
sei bemerkt, dass die Rechtskürzungsregel bspw. auch in hN, +i und hN+ , ·i gilt, welche keine Gruppen, sondern
lediglich Monoide sind. Diese muss dann allerdings explizit unter Verwendung der Peano-Axiome bewiesen werden
(siehe Satz 6.18).
Beweis
1. Wir folgern die Konklusion unter Anwendung der Prämisse:
a
Neut.
a ⊕ e = a ⊕ (b ⊕ b−1 )
Präm.
(c ⊕ b) ⊕ b−1
=
=
Neut.
=
2. Siehe Übungen.
110
Inv.
c
Assoz.
=
Assoz.
=
(a ⊕ b) ⊕ b−1
Inv.
c ⊕ (b ⊕ b−1 ) = c ⊕ e
2
8.1.3 Untergruppen
Für eine gegebene Gruppe lassen sich interessante Teilstrukturen, die sogenannten Untergruppen,
identifizieren und näher untersuchen.
Definition 8.10 (Untergruppen). Ist hG, ⊕i eine Gruppe und H 6= ∅ eine Teilmenge von G,
so dass hH, ⊕i auch eine Gruppe ist, so nennen wir hH, ⊕i Untergruppe von hG, ⊕i, in Zeichen
H ≤ G.
Analoge Unterstrukturen lassen sich für Halbgruppen und Monoide definieren. Unterstrukturen
müssen insbesondere mit derselben Operation wie in der Oberstruktur versehen sein. So ist zum
Beispiel die Gruppe hQ \ {0}, ·i keine Untergruppe der Gruppe hR, +i, obwohl Q ⊆ R gilt.
Hierbei ist zu beachten, dass wir ⊕ als zweistellige Verknüpfung ⊕ : G × G → G definiert hatten.
Soll diese Operation jetzt auf H ⊆ G übertragen werden, so muss – unabhängig von der Art
der Unterstruktur – in jedem Falle gezeigt werden, dass diese, auf Elemente aus H angewendet,
ebenfalls auf Elemente auf H abbildet. Es muss also gelten:
∀ a, b ∈ H. a ⊕ b = c ∈ H.
Man sagt in diesem Falle auch, dass H unter ⊕ abgeschlossen ist.
Beispiel 8.11. hZ, +i ist eine Untergruppe von hR, +i.
Dass das neutrale Element in einem Monoid eindeutig ist, wurde in Satz 8.2 bereits gezeigt. Man
könnte jetzt vermuten, dass Untermonoide auch dasselbe neutrale Element wie in der übergeordneten Struktur besitzen. Dies gilt im Allgemeinen jedoch nicht, wie das folgende Beispiel zeigt.
Beispiel 8.12. Gegeben sei das Monoid hG, ⊕i gemäß der folgenden Verknüpfungstabelle:
⊕
a
b
a b
a b
b b
hG, ⊕i besitzt als neutrales Element a. Im Untermonoid h{b}, ⊕i ist jedoch b das neutrale Element.
Betrachten wir Gruppen anstatt von Monoiden, so ist jedoch gewährleistet, dass das neutrale
Element in Untergruppen erhalten bleibt.
Satz 8.13. Sei hG, ⊕i eine Gruppe und H ⊆ G, so dass hH, ⊕i eine Untergruppe ist. hH, ⊕i besitzt
das selbe neutrale Elemente wie hG, ⊕i.
Beweis Seien eG und eH die neutralen Elemente von G und H, und sei a ∈ H (beachte H 6= ∅).
Dann gilt a = eG ⊕ a = eH ⊕ a. Mit der Rechtskürzungsregel (Satz 8.9(1)) folgt sofort eG = eH .
111
2
Satz 8.13 stellt insbesondere sicher, dass {e} die einzige einelementige Untergruppe bildet. Jede
Gruppe hG, ⊕i hat damit zwei sogenannte triviale Untergruppen, nämlich sich selbst und h{e}, ⊕i.1
Definition 8.14 (Symmetrische Gruppe).
Für n ≥ 2 bildet Sn =df {f | f : {1, . . . , n} → {1, . . . , n}, f bijektiv} mit der Komposition ◦ als
Operation eine Gruppe, die sogenannte symmetrische Gruppe. Die Elemente in Sn werden auch als
Permutationen auf {1, . . . , n} bezeichnet.
Anschaulich betrachtet beschreibt eine Permutationen auf einer n-elementigen Menge die Operation des „Vertauschens“ bzw. Umordnens der Objekte dieser Menge. Aus dieser Anschauung ergibt
sich leicht, dass Permutationen umkehrbar und gegen Komposition (d.h. Hintereinanderausführung) abgeschlossen sind; einen formalen Beweis überlassen wir dem geneigten Leser als Übungsaufgabe. Die identische Abbildung ist ebenfalls eine Permutation und ist bezüglich ◦ neutral (siehe
auch Abschnitt 3.2, S. 37). Schließlich vervollständigt die Assoziativität der Funktionskomposition die Gruppeneigenschaften von hSn , ◦i. Allerdings werden wir später sehen, dass Sn (außer für
n = 2) nicht kommutativ ist.
Permutationen lassen sich in der sogenannten Matrixschreibweise darstellen. So repräsentiert die
Schreibweise
!
1 2 3
f =
3 2 1
eine Permutation aus S3 mit f (1) = 3, f (2) = 2 und f (3) = 1. Damit lässt sich S3 explizit
aufschreiben als:
S3 =
123
123
123
123
123
123
123
,
,
,
,
,
132
213
231
312
321
Alternativ können Permutationen auch in der kompakten Zykelschreibweise angegeben werden.
Die Funktion f aus dem obigen Beispiel etwa lässt sich in Zykelschreibweise als f = (1 3) ◦
(2) aufschreiben. Innerhalb der Klammerpaare stehen hier diejenigen Werte, die bei wiederholten
Anwendungen „der Reihe nach“ aufeinander abgebildet werden. Es gilt also f (1) = 3 und f (3) = 1.
Einelementige Zykel kennzeichnen Elemente, die von der Permutation nicht verändert werden, also
invariant unter der Permutation sind. Diese trivialen Zykel werden üblicherweise weggelassen, es
gilt also f = (1 3).
Das Konzept der Zykelschreibweise lässt sich noch besser an einem 3-Zykel wie etwa g = (1 2 3)
verdeutlichen:
!
1 2 3
g =
.
2 3 1
1 Ist
112
|G| = 1, so existiert sogar nur eine einzige triviale Untergruppe!
Allgemein steht (c1 c2 c3 . . . ck−1 ck ) für c1 7→ c2 , c2 7→ c3 ,. . .,ck−1 7→ ck , ck 7→ c1 . Die Menge S3
lässt sich in dieser Schreibweise wie folgt darstellen:
S3 = {id, (2 3), (1 2), (1 2 3), (1 3 2), (1 3)}
Allerdings lässt sich nicht jede Permutation mit lediglich einem nichttrivialen Zykel darstellen, wie
es bei S3 der Fall ist. Jedoch gilt:
Satz 8.15. Jede Permutation lässt sich als Komposition von paarweise disjunkten Zykeln schreiben.
Zwei Zykel heißen hierbei disjunkt, wenn die Mengen der in ihnen vorkommenden Elemente disjunkt sind. Das Symbol ◦ wird bei der Komposition von Zykeln oft weggelassen: Die Funktion
h : {1, 2, 3, 4} → {1, 2, 3, 4} mit h(1) = 2, h(2) = 1, h(3) = 4, h(4) = 3 schreibt man auch als
h = (1 2)(3 4). Wir wollen dies hier jedoch nicht weiter vertiefen.
Zu einer Gruppe hG, ⊕i bildet die Menge aller Untergruppen einen vollständigen Verband (siehe Abbildung 8.2). Die Infimumsoperation ist dabei der Schnitt der Untergruppen, die trivialen
Untergruppen bilden das kleinste und größte Element.
hS3 , ◦i
h{id, (123), (132)}, ◦i
h{id, (12)}, ◦i
h{id, (13)}, ◦i
h{id, (23)}, ◦i
h{id}, ◦i
Abbildung 8.2: Untergruppenverband zu hS3 , ◦i
8.1.4 Nebenklassen und der Satz von Lagrange
In diesem Abschnitt wird mit dem Satz von Lagrange einer der zentralen Sätze der Gruppentheorie
vorgestellt. Dieser setzt für den Fall endlicher Gruppen die Kardinalität einer Gruppe (bzw. deren
Trägermenge) mit den Kardinalitäten ihrer Untergruppen in Beziehung.
Satz 8.16 (Satz von Lagrange). Sei hG, ⊕i eine endliche Gruppe und hH, ⊕i eine Untergruppe
von G. Dann ist |G| ein Vielfaches von |H|, es gilt
|H| |G|
Bevor wir Satz 8.16 beweisen können, benötigen wir zunächst ein weiteres wichtiges Konzept, welches in engem Zusammenhang zu Untergruppen steht: Die sogenannten Nebenklassen. Betrachtet
man beispielsweise die Gruppe hZ, +i und deren Untergruppe 3Z der Vielfachen von 3, so kann
113
man sich Z zerlegt vorstellen in
3Z =
{. . . , −6, −3, 0, 3, 6, . . .}
3Z + 1
=
{. . . , −5, −2, 1, 4, 7, . . .}
3Z + 2
=
{. . . , −4, −1, 2, 5, 8, . . .}
⇒Z =
3Z ∪ (3Z + 1) ∪ (3Z + 2)
Der Begriff der Nebenklassen verallgemeinert diese Idee:
Definition 8.17 (Nebenklassen). Sei hH, ⊕i eine Untergruppe von hG, ⊕i und a ∈ G. Dann
bezeichne
aH
=df
{a ⊕ h | h ∈ H}
Ha
=df
{h ⊕ a | h ∈ H}
die Links- bzw. Rechtsnebenklasse von H zu a.
Offensichtlich stimmen in kommutativen Gruppen Links- und Rechtsnebenklassen überein. Im
Allgemeinen ist dieses aber nicht so, wie das folgende Beispiel zeigt:
Beispiel 8.18. Betrachten wir die Untergruppe H = h{id, (1 2)}, ◦i von hS3 , ◦i und das Element
a = (2 3) ∈ G, dann gilt
aH = {(2 3) ◦ id, (2 3) ◦ (1 2)} = {(2 3), (1 3 2)}
Ha = {id ◦ (2 3), (1 2) ◦ (2 3)} = {(2 3), (1 2 3)}
Der Beweis des Satzes von Lagrange beruht nun darauf, dass die Menge der Rechtsnebenklasse
eine Partition von G bildet, in der alle Elemente die gleiche Kardinalität aufweisen. Im Detail:
Beweis Seien hG, ⊕i und hH, ⊕i aus Satz 8.16 gegeben, insbesondere gilt also H ≤ G. Wir beweisen
zunächst die Partitionseigenschaften von {aH | a ∈ G}:
1. ∀a ∈ G. aH 6= ∅. Klar, da H nicht leer ist.
[
2.
gH = G. Klar, da e ∈ H (H ist Untergruppe).
g∈G
3. ∀a, a0 ∈ G. aH ∩ a0 H 6= ∅ ⇒ aH = a0 H.
Seien a, a0 ∈ G mit aH ∩ a0 H 6= ∅. Dann gibt es h, h0 ∈ H mit a ⊕ h = a0 ⊕ h0 , also
a = a0 ⊕ h0 ⊕ h−1
(8.1)
Zeige o.B.d.A. aH ⊆ a0 H (der gesamte Beweis ist symmetrisch in a und a0 , d.h. a0 H ⊆ aH
lässt sich vollständig analog zeigen, es folgt aH = a0 H). Sei g ∈ aH beliebig. Dann gibt es
114
ein h00 ∈ H mit g = a ⊕ h00 . Also folgt:
a
g = a ⊕ h00
(8.1)
=
z
}|
{
a0 ⊕ h0 ⊕ h−1 ⊕ h00 ∈ a0 H
|
{z
}
∈H
Beachte: h0 ⊕ h−1 ⊕ h00 ∈ H, da H eine Untergruppe ist.
Nun ist noch zu zeigen, dass alle Partitionsklassen die gleiche Kardinalität besitzen, d.h. |aH| =
|a0 H| für alle a ∈ G. Wir zeigen dies durch Konstruktion einer injektiven Abbildung von aH nach
a0 H. Zunächst betrachten wir die Funktion f : aH → G mit b 7→ a0 ⊕ a−1 ⊕ b.
1. ∀b ∈ aH. f (b) ∈ a0 H
Wegen b ∈ aH gibt es ein h ∈ H mit b = a ⊕ h ∈ aH. Es gilt:
f (b)
=
f (a ⊕ h)
=
a0 ⊕ a−1 ⊕ a ⊕h
| {z }
=
a0 ⊕ h ∈ a0 H.
e
2. f ist injektiv. Seien b1 = a ⊕ h1 , b2 = a ⊕ h2 und f (b1 ) = f (b2 ). Dann gilt:
e
b1
=
b1
z }| {
z }| {
0−1
0
−1
⊕ a ⊕a ⊕ a ⊕ h1 = a ⊕ a0−1 ⊕ a0 ⊕ a−1 ⊕ a ⊕ h1
a ⊕ h1 = a ⊕ a
|
{z
}
{z
}
|
e
f (b1 )
f (b2 )
=
z
}|
{
a ⊕ a0−1 ⊕ f (b2 ) = a ⊕ a0−1 ⊕ a0 ⊕ a−1 ⊕ a ⊕ h2
=
b2
z }| {
z }| {
0−1
0
−1
a⊕a
⊕ a ⊕a ⊕ a ⊕ h2 = a ⊕ h2 = b2
{z
}
|
V or.
e
e
Aus dem ersten Punkt folgt, dass wir f auch als Funktion f : aH → a0 H auffassen können, aus der
Injektivität folgt |aH| ≤ |a0 H|. Da wir über a und a0 jedoch keine weiteren Annahmen getroffen
haben, können wir ihre Rollen im Beweis auch vertauschen, es folgt |a0 H| ≤ |aH|, womit sich die
zu beweisende Aussage ergibt.
2
Aus dem Satz von Lagrange folgt beispielsweise, dass es in S3 keine Untergruppe mit 4 Elementen
geben kann (|S3 | = 6). Ebenso kann eine Gruppe, deren Mächtigkeit eine Primzahl ist, nur triviale
Untergruppen haben. Weitere bekannte Resultate die auf dem Satz von Lagrange aufbauen, sind
der kleine Satz von Fermat und dessen Generalisierung, Eulers Theorem.
8.1.5 Faktorstrukturen
Es wurde bereits erwähnt, dass – außer für abelsche Gruppen – die Rechts- und Linksnebenklassen
einer Untergruppe nicht notwendigerweise übereinstimmen. Untergruppen, für die diese Eigenschaft
jedoch erfüllt ist, nehmen eine besondere Rolle ein.
115
Definition 8.19 (Normalteiler). Sei hH, ⊕i eine Untergruppe von hG, ⊕i. Wenn die Rechts- und
Linksnebenklassen für alle a ∈ G übereinstimmen (Ha = aH), wird H ein Normalteiler von G
genannt (Notation: H / G).
Man erkennt direkt, dass in einer abelschen Gruppe jede Untergruppe gleichzeitig auch Normalteiler
ist. Aber auch in der nicht-kommutativen Gruppe S3 gibt es Normalteiler:
Beispiel 8.20. Es gilt N = h{id, (1 2 3), (1 3 2)}, ◦i / hS3 , ◦i. Wähle z.B. a = (2 3) ∈ S3 . Dann
gilt
(2 3) ◦ N
=
{(2 3) ◦ id, (2 3) ◦ (1 2 3), (2 3) ◦ (1 3 2)} = {(2 3), (1 3), (1 2)}
N ◦ (2 3)
=
{id ◦(2 3), (1 2 3) ◦ (2 3), (1 3 2) ◦ (2 3)} = {(2 3), (1 2), (1 3)} = (2 3) ◦ N
h{id, (1 2 3), (1 3 2)}, ◦i wird auch als alternierende Gruppe mit 3 Elementen bezeichnet und mit
A3 abgekürzt.
Ein interessanter Zusammenhang besteht zwischen hA3 , ◦i und der Gruppe hZ3 , +3 i: Betrachtet
man die Verknüpfungstafeln der beiden Gruppenoperationen, so fällt auf, dass abgesehen von der
unterschiedlichen Form der Elemente diese im Prinzip „strukturgleich“ sind:
◦
id
(1 2 3)
(1 3 2)
id
(1 2 3) (1 3 2)
id
(1 2 3) (1 3 2)
(1 2 3) (1 3 2) id
(1 3 2) id
(1 2 3)
+3
0
1
2
0
0
1
2
1
1
2
0
2
2
0
1
Die beiden Tafeln lassen sich also durch eine feste Vertauschung zwischen den Elementen aus
A3 und Z3 ineinander überführen. Das formale Konzept hinter dieser Strukturgleichheit ist die
Isomorphie, die später formal eingeführt wird. In Zeichen drückt man dies als hA3 , ◦i ∼
= hZ3 , +3 i
aus.
Die Bedeutung der Normalteiler liegt darin, dass sie eine Gruppenstruktur auf die Nebenklassen
übertragen. So ist es möglich, direkt auf den Nebenklassen zu „rechnen“. Betrachten wir beispielsweise den Normalteiler 3Z von Z auf Seite 114 erneut, so haben wir etwa:
(1 + 3Z) +3Z (2 + 3Z) = (1 + 2) + 3Z = 3 + 3Z = 3Z.
Allgemein definieren wir:
Lemma 8.21 (Faktorgruppe). Sei hG, ⊕i eine Gruppe und N ein Normalteiler von G. Dann ist
hG/N, ⊕N i mit
G/N =df {aN | a ∈ G}
eine Gruppe, wobei ⊕N wie folgt definiert ist:
aN ⊕N bN = (a ⊕ b)N
Wir nennen hG/N, ⊕N i die Faktorgruppe von G bezüglich N .
116
Beweis
Zu zeigen:
1. Wohldefiniertheit (Repräsentantenunabhängigkeit), d.h.
∀a, a0 , b, b0 ∈ G.
aN = a0 N ∧ bN = b0 N
⇒ aN ⊕N bN = a0 N ⊕N b0 N
Seien a, a0 , b, b0 ∈ G gegeben mit aN = a0 N und bN = b0 N . Zunächst gilt: Es existieren
n, n0 ∈ N mit a0 = a ⊕ n und b0 = b ⊕ n0 . Weil N Normalteiler ist, stimmen die Links- und
Rechtsnebenklassen überein und es existiert ein n00 ∈ N mit n ⊕ b = b ⊕ n00 . Dann gilt:
a0 N ⊕N b0 N
=
(a0 ⊕ b0 )N
=
((a ⊕ n) ⊕ (b ⊕ n0 ))N
=
(a ⊕ (n ⊕ b) ⊕ n0 )N
=
(a ⊕ (b ⊕ n00 ) ⊕ n0 )N
=
((a ⊕ b) ⊕ n00 ⊕ n0 )N
| {z }
n000
=
(a ⊕ b)N
=
aN ⊕N bN
2. G/N hat ein neutrales Element eN .
Sei e das neutrale Element von G. Dann zeigen wir, dass eN = N = N e das neutrale Element
von G/N ist.
Sei a ∈ G. Dann gilt:
aN ⊕N eN = (a ⊕ e)N = aN
3. G/N hat inverse Elemente:
∀aN ∈ G/N. ∃(aN )−1 ∈ G/N. aN ⊕N (aN )−1 = eN = N.
Sei aN ∈ G/N . Wir wählen (aN )−1 = a−1 N ∈ G/N (da G eine Gruppe ist, ist die Existenz
von a−1 gesichert). Offensichtlich gilt:
aN ⊕N a−1 N = (a ⊕ a−1 )N = eN = N.
2
Unmittelbare Folge des Satzes von Lagrange (genau genommen dessen Beweises) ist dann:
Korollar 8.22 (Korollar zum Satz von Lagrange). Sei hG, ⊕i eine endliche Gruppe und H ein
Normalteiler von G. Es gilt
|G| = |H| · |G/H|
117
8.1.6 Homomorphismen
Homomorphismen als strukturverträgliche Abbildungen wurden bereits in Kapitel 7.4 im Zusammenhang mit Verbänden betrachtet. Auch für die hier vorgestellten algebraischen Strukturen sind
diese von großer Bedeutung.
Einige solche strukturverträglichen Abbildungen sind bereits durch “Rechengesetze” der Schulmathematik bekannt, ohne explizit als Homomorphismen charakterisiert worden zu sein. So verbirgt
sich beispielsweise hinter dem Gesetz zum Rechnen mit Logarithmen
log(x · y) = log(x) + log(y)
die Aussage, dass log ein Gruppenhomomorphismus von hR>0 , ·i nach hR, +i ist. Analog gilt dies
für
ex+y = ex · ey ,
hier liegt entsprechend ein Gruppenhomomorphismus von hR, +i nach hR>0 , ·i vor.
Definition 8.23 ((Gruppen-)Homomorphismus). Seien hG1 , ⊕1 i und hG2 , ⊕2 i Gruppen und f :
G1 → G2 eine Abbildung. f heißt (Gruppen-)Homomorphismus genau dann, wenn
∀a, b ∈ G1 . f (a ⊕1 b) = f (a) ⊕2 f (b)
Die Abbildung heißt
• Monomorphismus, wenn f zusätzlich injektiv ist.
• Epimorphismus, wenn f zusätzlich surjektiv ist.
• Isomorphismus, wenn f zusätzlich bijektiv ist.
Bei Gleichheit beider Gruppen nennt man f ferner Endomorphismus. Ist f zusätzlich bijektiv (also
ein Isomorphismus), so wird f Automorphismus genannt.
Analoge Begriffe können für Halbgruppen und Monoide definiert werden. Bei Monoidhomomorphismen fordert man zusätzlich, dass das neutrale Element der Argumentmonoids auf das neutrale
Element des Zielmonoids abbildet.
Es mag verwundern, dass – obwohl eine Gruppe insbesondere auch ein Monoid ist – diese Forderung
für Gruppenhomomorphismen nicht explizit erhoben wird. Dies wird jedoch durch das folgende
Lemma gerechtfertigt.
Lemma 8.24 (Lemma). Seien hG1 , ⊕1 i und hG2 , ⊕2 i Gruppen mit neutralen Elementen e1 und
e2 . Ferner sei f : G1 → G2 ein Gruppenhomomorphismus. Dann gilt:
1. f (e1 ) = e2
2. ∀a ∈ G1 . f (a−1 ) = (f (a))−1
Beweis
118
1. Sei a ∈ G1 . Dann gilt zum einen f (a) = f (e1 ⊕1 a) = f (e1 ) ⊕2 f (a),
zum anderen f (a) = e2 ⊕2 f (a).
Insgesamt haben wir also f (e1 ) ⊕2 f (a) = e2 ⊕2 f (a). Mit der Rechtskürzungsregel (siehe
Satz 8.9(1)) folgt f (e1 ) = e2 .
2. Sei a ∈ G1 . Dann gilt zum einen e2 = (f (a))−1 ⊕2 f (a),
(1)
zum anderen e2 = f (e1 ) = f (a−1 ⊕1 a) = f (a−1 ) ⊕2 f (a).
Insgesamt haben wir also (f (a))−1 ⊕2 f (a) = f (a−1 ) ⊕2 f (a). Wieder folgt mit der Rechtskürzungsregel f (a−1 ) = (f (a))−1 .
2
Abweichend von der üblichen Notation für Definitions- und Wertebereich von Abbildungen schreiben wir im Folgenden auch kurz f : hG1 , ⊕1 i → hG2 , ⊕2 i, um die zugrundeliegenden Strukturen
hG1 , ⊕1 i und hG2 , ⊕2 i und die Abbildung in einer Schreibweise kompakt darzustellen. Betrachten
wir nun einige Beispiele für Homomorphismen.
Beispiel 8.25.
1. ϕ1 : hA∗ , ·i → hN, +i mit w 7→ |w| ist ein Monoidepimorphismus, denn es gilt ϕ1 (ε) = |ε| = 0
und
ϕ1 (w1 · w2 ) = ϕ1 (w1 w2 ) = |w1 w2 | = |w1 | + |w2 | = ϕ1 (w1 ) + ϕ1 (w2 )
Surjektivität: Wir wählen ein festes Zeichen a ∈ A. Für ein beliebiges n ∈ N gilt ϕ1 (an ) = n.
Nichtinjektivität für |A| ≥ 2: Seien a, b ∈ A verschieden, also insbesondere ab 6= ba. Dann ist
ϕ1 (ab) = ϕ1 (ba) = 2.
2. ϕ2 : hZ, +i → hN, +i mit ϕ2 (x) = x2 ist kein Homomorphismus, denn
ϕ2 (1 + 1) = (1 + 1)2 = 22 = 4 6= 2 = 12 + 12 = ϕ2 (1) + ϕ2 (1)
3. Sei hG, ⊕i eine Gruppe und N ein Normalteiler von G. Dann ist
ϕ3 : hG, ⊕i → hG/N, ⊕N i mit ϕ3 (g) = gN
ein Gruppenepimorphismus. Nach der Definition von ⊕N gilt:
ϕ3 (a ⊕ b) = (a ⊕ b)N = aN ⊕N bN = ϕ3 (a) ⊕N ϕ3 (b).
Die Surjektivität ergibt sich unmittelbar aus der Definition von G/N . Für |N | ≥ 2 ist ϕ3
jedoch nicht injektiv, da für a, b ∈ N mit a 6= b dennoch gilt aN = bN .
4. Sei hG, ⊕i eine Gruppe und b ∈ G. Dann ist
ϕb : G → G mit ϕb (g) = b−1 ⊕ g ⊕ b
119
ein Gruppenautomorphismus.
Homomorphie: Seien g1 , g2 ∈ G. Dann gilt:
ϕb (g1 ⊕ g2 )
Def. ϕb
=
Neut.
=
Ass.
=
Def. ϕb
=
Ass.
b−1 ⊕ (g1 ⊕ g2 ) ⊕ b = (b−1 ⊕ g1 ) ⊕ (g2 ⊕ b)
Inv.
(b−1 ⊕ g1 ) ⊕ e ⊕ (g2 ⊕ b) = (b−1 ⊕ g1 ) ⊕ (b ⊕ b−1 ) ⊕ (g2 ⊕ b)
(b−1 ⊕ g1 ⊕ b) ⊕ (b−1 ⊕ g2 ⊕ b)
ϕb (g1 ) ⊕ ϕb (g2 )
Surjektivität: Sei g ∈ G. Dann gilt mit g 0 =df b ⊕ g ⊕ b−1 :
ϕb (g 0 )
Def.g 0
=
Inv.
=
Ass.
b−1 ⊕ (b ⊕ g ⊕ b−1 ) ⊕ b = (b−1 ⊕ b) ⊕ g ⊕ (b−1 ⊕ b)
e⊕g⊕e
Neut.
=
g
Injektivität: Seien g1 , g2 ∈ G. Dann gilt:
ϕb (g1 ) = ϕb (g2 )
Def. ϕb
b−1 ⊕ g1 ⊕ b = b−1 ⊕ g2 ⊕ b
Rkürz.
⇒
b−1 ⊕ g1 = b−1 ⊕ g2
⇒
b ⊕ (b−1 ⊕ g1 ) = b ⊕ (b−1 ⊕ g2 )
Ass.
⇒
(b ⊕ b−1 ) ⊕ g1 = (b ⊕ b−1 ) ⊕ g2
Inv.
e ⊕ g1 = e ⊕ g2
⇒
⇒
Neut.
⇒
g1 = g2
Abschließend wollen wir noch auf spezielle von Homomorphismen induzierte Gruppenstrukturen
eingehen.
Definition 8.26 (Kern). Seien hG1 , ⊕1 i und hG2 , ⊕2 i Gruppen mit neutralen Elementen e1 und
e2 . Für einen Gruppenhomomorphismus ϕ : G1 → G2 ist der Kern von ϕ die Menge der Elemente,
die auf das neutrale Element in G2 abgebildet werden:
Kern(ϕ) =df {x ∈ G1 | ϕ(x) = e2 }
Anders ausgedrückt bezeichnet der Kern die Urbildmenge des neutralen Elements der Zielmenge.
Diese recht einfache Definition soll dennoch für Z6 beispielhaft bestimmt werden.
Beispiel 8.27 (Kern). ϕ : hZ6 , +6 i → hZ6 , +6 i mit ϕ(x) = 2x ist ein Gruppenhomomorphismus.
Es gilt:
Kern(ϕ) = {0, 3}
Der folgende Satz stellt die Verbindung zum vorangegangenen Abschnitt über Faktorstrukturen
her.
Satz 8.28 (Homomorphismen und Gruppenstrukturen).
Seien hG1 , ⊕1 i und hG2 , ⊕2 i Gruppen
mit neutralen Elementen e1 und e2 . Für einen Gruppenhomomorphismus ϕ : G1 → G2 gilt:
120
1. Kern(ϕ) bildet einen Normalteiler von G1 ,
2. Bild(ϕ) = {y ∈ G2 | ∃x ∈ G1 . ϕ(x) = y} bildet eine Untergruppe von G2 .
Beweis
1. Sei K =df Kern(ϕ). Wir zeigen zunächst, dass K Untergruppe von G1 ist. Seien a, b ∈ K.
Wegen ϕ(a ⊕1 b) = ϕ(a) ⊕2 ϕ(b) = e2 ⊕2 e2 = e2 ist K bezüglich ⊕1 abgeschlossen.
Wegen ϕ(e1 ) = e2 ist außerdem e1 ∈ K. Mit Lemma 8.24(2) gilt auch ϕ(a−1 ) = (ϕ(a))−1 =
e−1
= e2 und somit liegen auch die Inversen in K.
2
Wir zeigen nun, dass K Normalteiler von G1 ist. Zunächst überlegen wir uns dafür eine
alternative Normalteilercharakterisierung. Für eine Gruppe hG, ⊕i und deren Untergruppe
H gilt nämlich:
(∀ a ∈ G. aHa−1 ⊆ H) ⇔ (∀ a ∈ G. aH = Ha)
(∗)
Wir haben zum einen:
(∀ a ∈ G. aHa−1 ⊆ H) ⇒ (∀ a ∈ G. aHa−1 a ⊆ Ha) ⇒ (∀ a ∈ G. aH ⊆ Ha)
und zum anderen:
(∀ a ∈ G. aHa−1 ⊆ H) ⇒ (∀ a ∈ G. a−1 Ha ⊆ H) ⇒ (∀ a ∈ G. aa−1 Ha ⊆ aH)
⇒ (∀ a ∈ G. Ha ⊆ aH)
Zusammen gilt (∀ a ∈ G. aHa−1 ⊆ H) ⇒ (∀ a ∈ G. aH = Ha). Die umgekehrte Richtung
ist einfach, denn es gilt
(∀ a ∈ G. aH = Ha) ⇒ (∀ a ∈ G. aHa−1 = Haa−1 ) ⇒ (∀ a ∈ G. aHa−1 = H).
Um zu zeigen, dass K Normalteiler von G1 ist, zeigen wir nun die allgemeinere Behauptung,
dass jedes Urbild eines Normalteilers von G2 ein Normalteiler von G1 ist. Da {e2 } trivialer
Normalteiler von G2 ist, impliziert das insbesondere die Behauptung. Sei also N2 Normalteiler
von G2 und N1 =df ϕ−1 (N2 ) dessen Urbild. Dann gilt für a ∈ G1 :
ϕ(aN1 a−1 )
ϕ Hom.
=
ϕ(a)ϕ(N1 )ϕ(a−1 )
Lem.8.24
=
ϕ(a)ϕ(N1 )(ϕ(a))−1
Def.N1
=
ϕ(a)N2 (ϕ(a))−1
(∗)
⊆ N2
Da das Bild von aN1 a−1 in N2 liegt, muss nach Definition von N1 insbesondere aN1 a−1 ⊆ N1
gelten. Gemäß Eigenschaft (*) folgt hieraus aber schon, dass N1 Normateiler von G1 ist.
2. Sei B =df Bild(ϕ). Wir zeigen, dass B Untergruppe von G2 ist. Seien b1 , b2 ∈ B. Dann
existieren a1 , a2 ∈ G1 mit b1 = ϕ(a1 ) und b2 = ϕ(a2 ). Wegen b1 ⊕2 b2 = ϕ(a1 ) ⊕2
ϕ(a1 ) = ϕ(a1 ⊕1 a2 ) ist B bezüglich ⊕2 abgeschlossen. Mit Lemma 8.24(2) gilt außerdem
b−1
= (ϕ(a1 ))−1 = ϕ(a−1
1
1 ) ∈ B.
2
121
Beispiel 8.29. Wir greifen Beispiel 8.27 auf, also ϕ : hZ6 , +6 i → hZ6 , +6 i mit ϕ(x) = 2x. Es ist
Kern(ϕ) = {0, 3}. Da hZ6 , +6 i abelsch ist, ist jede Untergruppe gleichzeitig auch Normalteiler.
{0, 3} erfüllt offenbar die Untergruppeneigenschaft: Es ist 0 ∈ {0, 3} das einzige von Null verschiedene Element 3 ist zu sich selbst invers. Die Abgeschlossenheit ist damit sogar schon abgedeckt:
Es ist 0 + 0 = 3 + 3 = 0 sowie 3 + 0 = 0 + 3 = 3.
Weiterhin gilt Bild(ϕ) = {0, 2, 4}. Auch hier überzeugt man sich leicht von der Untergruppeneigenschaft.
Im vorigen Abschnitt haben wir auf der Basis von Normalteilern die Faktorgruppe G/N definiert,
also aus einer (beliebigen) Gruppe G eine Struktur abgeleitet, die selbst wieder eine Gruppe war,
jedoch gewissermaßen auf einer anderen „Ebene“: Elemente von G/N sind Teilmengen von G.
Auf der Basis von Gruppenhomomorphismen lässt sich ähnlich vorgehen. Anhand der Gruppeneigenschaften von G lässt sich zeigen, dass eine Gruppenstruktur auf einer Teilmenge der Gruppenhomomorphismen (genauer: der Automorphismen) existiert. Es gilt:
Satz 8.30 (Automorphismengruppe). Die Menge aller Automorphismen einer Gruppe G bildet
mit der Funktionskomposition ◦ eine Gruppe, die sogenannte Automorphismengruppe.
Beweis Die Funktionskomposition ist offensichtlich assoziativ. Das neutrale Element der Funktionskomposition ist die identische Abbildung, die den trivialen Automorphismus darstellt. Nun
ist noch zu zeigen, dass Automorphismen unter Komposition abgeschlossen sind, sowie dass die
Umkehrfunktion eines Automorphismus wiederum ein Automorphismus ist.
Für die Abgeschlossenheit unter der Komposition zeigen wir die etwas stärkere Aussage, dass die
Komposition von Homomorphismen wiederum ein Homomorphismus ist (dass Bijektivität unter
Komposition erhalten bleibt ist bereits aus Kapitel 3 bekannt). Seien also f : hG1 , ⊕1 i → hG2 , ⊕2 i
und g : hG2 , ⊕2 i → hG3 , ⊕3 i Gruppenhomomorphismen. Für beliebige a, b ∈ G1 gilt
(g ◦ f )(a ⊕1 b) = g(f (a ⊕1 b)) = g(f (a) ⊕2 f (b)) = g(f (a)) ⊕3 g(f (b)) = (g ◦ f )(a) ⊕3 (g ◦ f )(b).
Also ist (g ◦ f ) : hG1 , ⊕1 i → hG3 , ⊕3 i ein Gruppenhomomorphismus.
Es bleibt die Abgeschlossenheit unter der Bildung inverser Elemente zu zeigen (wiederum ist die
prinzipielle Existenz von inversen Elementen bzgl. ◦ bereits aus Kapitel 3 bekannt, zu zeigen bleibt
noch, dass diese wiederum Homomorphismeneigenschaft haben). Wir zeigen dies allgemein für
Isomorphismen f : hG1 , ⊕1 i → hG2 , ⊕2 i:
f −1 (a ⊕2 b) = f −1 (f (f −1 (a)) ⊕2 f (f −1 (b))) = f −1 (f (f −1 (a) ⊕1 f −1 (b))) = f −1 (a) ⊕1 f −1 (b).
Also ist f −1 : hG2 , ⊕2 i → hG1 , ⊕1 i ein Gruppenisomorphismus. Dies überträgt sich für den Spezialfall hG1 , ⊕1 i = hG2 , ⊕2 i natürlich auch auf Automorphismen, womit die Gruppeneigenschaft der
Automorphismengruppe gezeigt ist.
2
122
8.1.7 Schnitte und Produkte algebraischer Strukturen
Bei der Betrachtung von Gruppen (und anderen algebraischen Strukturen) haben wir die Betrachtung auf die durch die Struktur definierte Verknüpfung auf der Ebene der Elemente konzentriert.
Eine Ausnahme stellten Faktorstrukturen, wo aus einer Gruppe G und einem Normalteiler N eine
neue Struktur G/N mit der entsprechenden Operation ⊕N konstruiert wurde. Es zeigte sich, dass
diese Struktur selbst wieder die Gruppeneigenschaften erfüllt. Im Folgenden wollen wir Operationen auf zwei (Unter-)Strukturen betrachten. Auch hier interessiert uns, welche Operationen als
Ergebnis wieder eine mathematisch interessante Struktur zur Folge haben.
Schnitt von Unterstrukturen. Zunächst betrachten wir den Schnitt zweier Strukturen. Eine naheliegende Forderung ist hier, dass diese beiden Strukturen Unterstrukturen einer gemeinsamen
„Oberstruktur“ sind – ansonsten ist der Schnitt leer, oder die Semantik der Verknüpfung, das
neutrale Element etc. nicht eindeutig definiert.
Lemma 8.31 (Schnitte von Unter(halb)gruppen). Sei hG, ⊕i eine Gruppe (Halbgruppe) und
hH1 , ⊕i, hH2 , ⊕i ≤ hG, ⊕i Untergruppen (Unterhalbgruppen). Dann gilt: Der Schnitt hH1 ∩ H2 , ⊕i
ist ebenfalls eine Untergruppe (Unterhalbgruppe) von G.
Beweis Die Assoziativität der Verknüpfung ⊕ überträgt sich von hG, ⊕i. Es sind also die Abgeschlossenheit (Halbgruppe), sowie die Existenz des neutralen Elements und die Existenz der
Inversen (Gruppe) nachzuweisen. Man beachte, dass jede Gruppe auch eine Halbgruppe ist.
• Abgeschlossenheit: Seien a, b ∈ H1 ∩ H2 . Zu zeigen ist, dass a ⊕ b ∈ H1 ∩ H2 ist. Aus der
Untergruppeneigenschaft von H1 folgt, da a, b ∈ H1 , dass auch a ⊕ b ∈ H1 ist; analog folgt
a ⊕ b ∈ H2 . Damit ist die Aussage offenbar erfüllt.
• Neutrales Element: Sei e ∈ G das neutrale Element von hG, ⊕i. Da H1 und H2 Untergruppen sind, muss sowohl e ∈ H1 als auch e ∈ H2 (also e ∈ H1 ∩ H2 ) gelten.
• Inverse Elemente: Sei a ∈ H1 ∩ H2 . Aus der Gruppeneigenschaft von H1 und H2 folgt
a−1 ∈ H1 sowie a−1 ∈ H2 , also a−1 ∈ H1 ∩ H2 .
2
Es fällt auf, dass in Lemma 8.31 keine Aussage über den Schnitt von Untermonoiden getroffen
wurde. In der Tat sind Monoide nicht unter Schnittbildung abgeschlossen. Dies lässt sich anhand
von Beispiel 8.12 veranschaulichen: Es sei M = {a, b} mit a ⊕ a = a und b ⊕ x = x ⊕ b = b für
x ∈ {a, b}. Echte Untermonoide sind M1 = {a} sowie M2 = {b}, beide Elemente sind (bezogen auf
das jeweilige Untermonoid) neutral. Der Schnitt M1 ∩ M2 ist jedoch leer, kann also insbesondere
kein neutrales Element enthalten.
Aus Kapitel 3 wissen wir, dass Äquivalenzrelationen unter Schnittbildung abgeschlossen sind, nicht
jedoch unter der Vereinigungsoperation. Dies liegt daran, dass die Vereinigung im Allgemeinen nicht
ausreichend ist, um Transitivität sicherzustellen. Eine ähnliche Problematik ergibt sich auch bei der
Betrachtung der Vereinigung von Gruppen: Die Abgeschlossenheit ist im Allgemeinen nicht erfüllt
123
(daraus folgt insbesondere, dass schon die Vereinigung zweier Unterhalbgruppen im Allgemeinen
keine Halbgruppe ist). Wir betrachten hierzu das Beispiel hZ6 , +6 i mit den Untergruppen H1 =
{0, 2, 4} und H2 = {0, 3}. Die Vereinigung H1 ∪ H2 = {0, 2, 3, 4} bildet jedoch keine Untergruppe:
Es gilt 2, 3 ∈ H1 ∪ H2 , aber 2 +6 3 = 5 ∈
/ H1 ∪ H2 .
Kartesisches Produkt von Strukturen. Aus den Übungen ist bereits bekannt, dass für (vollständige) algebraische Verbände (A, fA , gA ) sowie (B, fB , gB ) auch (A × B, f, g) ein (vollständiger)
algebraischer Verband ist. Die Operationen f und g auf dem Produktverband A × B sind durch
komponentenweise Anwendung von fA und fB bzw. gA und gB definiert, es gilt
(a1 , b1 ) f (a2 , b2 )
=df
(a1 fA a2 , b1 fB b2 )
(a1 , b1 ) g (a2 , b2 )
=df
(a1 gA a2 , b1 gB b2 )
Für algebraische Strukturen mit einer Operation ist eine vollständig analoge Definition möglich: Zu
Halbgruppen (Monoiden, Gruppen) hA, ⊕A i und hA, ⊕A i definieren wir das Produkt als Struktur
hA × B, ⊕i, wobei die Verknüpfung wie folgt definiert ist:
(a1 , b1 ) ⊕ (a2 , b2 ) =df (a1 ⊕A a2 , b1 ⊕B b2 ).
Die Eigenschaften dieser Produktstruktur beschreibt das folgende Lemma.
Lemma 8.32. Seien hA, ⊕A i und hB, ⊕B i Halbgruppen (Monoide, Gruppen). Dann gilt: Das Produkt hA × B, ⊕i ist ebenfalls eine Halbgruppe (ein Monoid, eine Gruppe).
Sind A und B (mindestens) Monoide, und sind eA bzw. eB die neutralen Elemente in A bzw. B,
so ist (eA , eB ) das neutrale Element des Produktmonoids.
Sind A und B Gruppen, und sind zu a ∈ A, b ∈ B die inversen Elemente jeweils a−1 und b−1, so
ist (a−1 , b−1 ) in der Produktgruppe das zu (a, b) inverse Element.
Beweis Die Abgeschlossenheit ist trivial: Da A und B unter ⊕A bzw. ⊕B abgeschlossen sind, folgt
(a1 , b1 ) ⊕ (a2 , b2 ) = (a1 ⊕A a2 , b1 ⊕B b2 ) .
| {z } | {z }
∈A
|
∈B
{z
∈A×B
}
In allen Fällen ist weiterhin die Assoziativität zu zeigen. Diese lässt sich reduzieren auf die Assoziativität der Strukturen hA, ⊕A i und hB, ⊕B i:
((a1 , b1 ) ⊕ (a2 , b2 )) ⊕ (a3 , b3 )
Def. ⊕
(a1 ⊕A a2 , b1 ⊕B b2 ) ⊕ (a3 , b3 )
Def. ⊕
((a1 ⊕A a2 ) ⊕A a3 , (b1 ⊕B b2 ) ⊕B b3 )
=
=
⊕A , ⊕B assoz.
=
(a1 ⊕A (a2 ⊕A a3 ), b1 ⊕B (b2 ⊕B b3 ))
Def. ⊕
(a1 , b1 ) ⊕ (a2 ⊕A a3 , b2 ⊕B b3 )
Def. ⊕
(a1 , b1 ) ⊕ ((a2 , b2 ) ⊕ (a3 , b3 ))
=
=
Sind A und B (mindestens) Monoide, so ist zu zeigen, dass für alle (a, b) ∈ A × B gilt: (eA , eB ) ⊕
(a, b) = (a, b) ⊕ (eA , eB ) = (a, b). Der Beweis folgt einem ähnlichen Schema wie der Beweis der
124
Assoziativität.
Def. ⊕
=
(eA ⊕A a, eB ⊕B b)
eA , eB neutr.
(a ⊕A eA , b ⊕B eB )
(eA , eB ) ⊕ (a, b)
=
eA , eB neutr.
=
h
= (a, b) ⊕ (ea , eb )
i
(a, b)
Für den Fall, dass A und B sogar Gruppen sind, ist die Eigenschaft der inversen Elemente zu
zeigen. Für alle (a, b) ∈ A × B gilt:
Def. ⊕
(a−1 , b−1 ) ⊕ (a, b)
(a−1 ⊕A a, b−1 ⊕B )
=
a
−1
,b
−1
=
inv.
a−1 , b−1 inv.
=
(a ⊕A a−1 , b ⊕B b−1 )
h
i
= (a, b) ⊕ (a−1 , b−1 )
(eA , eB )
2
Es sei an dieser Stelle noch angemerkt, dass – da die spezifischen Struktureigenschaften erhalten
bleiben – sich dies auf beliebige Produkte A1 × A2 × · · · × An verallgemeinern lässt. Insbesondere
ist für n ∈ N+ zu einer Gruppe hG, ⊕G i auch hGn , ⊕i eine Gruppe (selbiges gilt für Halbgruppen,
Monoide, und auch für Verbände). Dies stellt einen wichtigen Unterschied zu den im nächsten
Abschnitt betrachteten Strukturen mit zwei Verknüpfungen dar, wo eine solche Übertragung nicht
möglich ist.
Wir wollen abschließend noch die Übertragung von Homomorphismen, d.h. strukturerhaltenden
Abbildungen, auf Produktstrukturen betrachten.
Lemma 8.33 (Produktstruktur-Homomorphismen). Seien hA1 , ⊕A1 i, hB1 , ⊕B1 i, hA2 , ⊕A2 i sowie
hB2 , ⊕B2 i Halbgruppen (Monoide, Gruppen), und seien ferner hA : hA1 , ⊕A1 i → hA2 , ⊕A2 i sowie hB : hB1 , ⊕B1 i → hB2 , ⊕B2 i Halbgruppen- (Monoid-, Gruppen-)Homomorphismen. Dann ist
h : A1 × B1 → A2 × B2 mit
h((a, b)) =df (hA (a), hB (b))
ein Halbgruppen- (Monoid-, Gruppen-)Homomorphismus von hA1 × B1 , ⊕1 i nach hA2 × B2 , ⊕2 i,
wobei ⊕1 und ⊕2 wie üblich durch komponentenweise Anwendung von ⊕A1 und ⊕B1 bzw. ⊕A2 und
⊕B2 definiert sind.
Beweis Für Halbgruppen und Gruppen genügt es, die Homomorphieeigenschaft nachzuweisen. Für
alle (a, b) ∈ A1 × B1 gilt:
h((a, b) ⊕1 (a0 , b0 ))
Def. ⊕1
=
Def. h
=
hA , hB Hom.
=
Def. ⊕2
=
Def. h
=
h((a ⊕A1 a0 , b ⊕B1 b0 ))
(hA (a ⊕A1 a0 ), hB (b ⊕B1 b0 ))
(hA (a) ⊕A2 hA (a0 ), hB (b) ⊕B2 hB (b0 ))
(hA (a), hB (b)) ⊕2 (hA (a0 ), hB (b0 ))
h((a, b)) ⊕2 h((a0 , b0 )).
Für Monoide ist zusätzlich noch zu zeigen, dass die neutralen Elemente aufeinander abgebildet
werden. Da diese Forderung jedoch auch für hA und hB gelten muss, ist der Beweis trivial.
2
125
8.2 Mengen mit zwei Verknüpfungen
Bei den bislang betrachteten Strukturen trat der Zahlbereich Z der ganzen Zahlen in zwei verschiedenen Rollen auf: Bei der Betrachtung der Multiplikation hZ, ·i lag ein kommutatives Monoid
mit neutralem Element 1 vor, bei der Betrachtung der Addition sogar eine kommutative Gruppe
hZ, +i mit neutralem Element 0. Hierbei blieb ein Zusammenhang von Addition und Multiplikation jedoch unberücksichtigt. Dass dies keineswegs angemessen ist, wissen wir spätestens seit der
induktiven Definition der Multiplikation auf Grundlage der Peano-Axiome aus Kapitel 4, die als
wiederholte Addition definiert wurde.
Formal gesehen wird im Unterschied zum vorigen Abschnitt die Struktur also nicht aus einer Menge
samt einer Verknüpfung gebildet, sondern wir betrachten gleichzeitig zwei Verknüpfungen auf einer
einzelnen Trägermenge. Derartige Strukturen existieren in vielen Bereichen der Mathematik, so
dass auch hier entsprechende algebraische Strukturen entstanden sind.
8.2.1 Ringe
Die einfachste algebraische Struktur mit zwei Verknüpfungen, die der Ringe, ist eine Verallgemeinerung der wesentlichen Eigenschaften der ganzen Zahlen. Die Theorie der Ringe liefert bereits
weitreichende Resultate, die Anwendung auch in anderen Strukturen wie Polynomringen und quadratischen Matrizen haben.
Definition 8.34 (Ring). Eine Menge R mit Operationen ⊕ und heißt Ring genau dann, wenn
• hR, ⊕i bildet eine kommutative Gruppe,
• hR, i bildet eine Halbgruppe,
• Es gelten die Distributivgesetze:
∀a, b, c ∈ R. a (b ⊕ c)
=
(a b) ⊕ (a c)
∀a, b, c ∈ R. (a ⊕ b) c =
(a c) ⊕ (b c)
Ein Ring hR, ⊕, i heißt kommutativ genau dann, wenn auch hR, i kommutativ ist.
Man beachte, dass lediglich die Forderung der Distributivität die beiden Operationen ⊕ und in Beziehung setzt. Für den Nachweis bzw. die Untersuchung der beiden anderen Forderungen
können die Strukturen hR, ⊕i sowie hR, i isoliert betrachtet werden. Aus naheliegenden Gründen
bezeichnet man ⊕ als additive und als multiplikative Verknüpfung des Ringes, diese Bezeichnungen überträgt man auch auf die jeweiligen Teilstrukturen.
Das neutrale Element bezüglich ⊕ bezeichnet man als Nullelement oder kurz 0 des Ringes. Existiert
auch ein neutrales Element bezüglich (d.h. ist hR, i sogar ein Monoid), so bezeichnet man
dieses als Einselement oder kurz 1 des Ringes. In diesem Fall spricht man von einem „Ring mit
Einselement“. In einem Ring verwendet man die Notation −a (anstelle von a−1 ) für die Inversen
126
der additiven Gruppe. Für jedes Element a eines Ringes gilt a 0 = 0 a = 0, denn
0 ⊕ (0 a) = 0 a = (0 ⊕ 0) a
Dist.
=
(0 a) ⊕ (0 a).
Mit der Rechtskürzungsregel folgt dann 0 = 0 a. Die Aussage 0 = a 0 lässt sich analog
nachweisen.
Wir betrachten im Folgenden einige Beispiele für Ringe.
Beispiel 8.35 (Ringe).
• hZ, +, ·i ist ein kommutativer Ring mit Einselement 1.
• hmZ, +, ·i mit mZ =df {m · z | z ∈ Z} für m ∈ N+ sind kommutative Ringe. Für m > 1 ist
aber kein Einselement vorhanden.
• hP(M ), ∆, ∩i (Potenzmenge, symmetrische Differenz, Schnittmenge) ist kommutativer Ring
mit Einselement.a Offenbar ist hP(M ), ∩i kommutative Halbgruppe mit neutralem Element M . hP(M ), ∆i ist sogar kommutative Gruppe mit neutralem Element ∅. Die symmetrische Differenz ist offensichtlich kommutativ und ∅ neutrales Element. Mit A∆B =
(A ∩ B { ) ∪ (A{ ∩ B) lässt sich die Assoziativität, wenn auch mit einigem Rechenaufwand,
nachweisen. Schließlich ist jede Menge zu sich selbst invers, denn A ∆ A = ∅. Den Nachweis
der Distributivität überlassen wir an dieser Stelle dem Leser zur Übung.
Pn
• R[x] =df h{ i=0 ai xi | n ∈ N, ai ∈ R}, +, ·i (Polynome mit reellen Koeffizienten) ist ein
kommutativer Ring. Hierbei bezeichnen + und · die Polynomaddition und -multiplikation.
Null- und Einselement sind die konstante 0- bzw. 1-Funktion.
• Die n × n-Matrizen (n ∈ N+ ) über R bilden einen nichtkommutativen Ring mit Einselement
(siehe Satz 10.1.4).
a Man
beachte, dass hP(M ), ∪, ∩i kein Ring ist. Zwar ist hP(M ), ∪i kommutative Halbgruppe mit neutralem Element ∅ und hP(M ), ∩i kommutative Halbgruppe mit neutralem Element M , aber die Mengenkomplemente sind
keine geeigneten Inversen. Bzgl. der Vereinigung gilt A ∪ A{ = M und nicht etwa A ∪ A{ = ∅. Ebenso gilt
A ∩ A{ = ∅ und nicht etwa A ∩ A{ = M .
Analog zum Begriff der Untergruppe bildet eine nichtleere Teilmenge R0 ⊆ R eines Ringes hR, ⊕, i
einen Unterring, wenn hR0 , ⊕, i ein Ring ist. Da sämtliche Eigenschaften der Verknüpfung sich
auf die Teilmenge übertragen (nachzuweisen ist erneut nur die Abgeschlossenheit sowie das Enthaltensein der geforderten speziellen Elemente), ist ein Unterring eines kommutativen Ringes trivialerweise wieder kommutativ. Wie das Beispiel 2Z ⊆ Z zeigt, muss ein Unterring aber nicht
notwendigerweise ein Einselement enthalten, selbst wenn der Oberring ein Einselement besitzt. Als
triviale Unterringe eines Rings hR, ⊕, i bezeichnet man hR, ⊕, i selbst sowie h{0}, ⊕, i. Hierbei
ist zu beachten, dass letzterer in keinem Fall ein Einselement enthält.
Beispiel 8.36. Ring Z8 mit Unterring {0, 2, 4, 6}.
127
0
7
1
6
2
5
3
4
Weitere Unterringe: Z8 selbst, {0} sowie {0, 4}.
8.2.2 Ideale
Für Ringe lässt sich eine zu den Nebenklassen für Gruppen analoge Konstruktion durchführen:
Definition 8.37 (Ideale). Sei hR, ⊕, i ein Ring. I ⊆ R heißt Linksideal, genau dann wenn
1. hI, ⊕i ist Untergruppe von hR, ⊕i
2. ∀a ∈ I, r ∈ R. r a ∈ I
Ersetzt man die zweite Bedingung durch
2’. ∀a ∈ I, r ∈ R. a r ∈ I
erhält man analog den Begriff des Rechtsideals. Ist hR, ⊕, i ein kommutativer Ring, so sind die
beiden Bedingungen offensichtlich äquivalent.
Die Bedingung aus Punkt 2) lässt sich auch kurz schreiben als r I ⊆ I, wobei r I =df
{r a | a ∈ I}. Analoges gilt für Bedingung 2’).
I ⊆ R heißt Ideal genau dann, wenn I Links- und Rechtsideal ist. Wir schreiben in Anlehnung an
die Normalteilereigenschaft dann I / R.
Offensichtlich ist jedes Ideal auch ein Unterring.
Beispiel 8.38 (Ideale).
• Für jedes m ∈ N+ ist der Unterring mZ von Z ein Ideal.
• Die endlichen und co-endlichena Teilmengen von N bilden einen Unterring von hP(N), ∆, ∩i,
denn die (co-)endlichen Teilmengen sind bezüglich Schnitten, Vereinigung und Komplementbildung abgeschlossen. Es liegt aber kein Ideal vor, denn der Schnitt der co-endlichen Menge
N mit der Menge der geraden Zahlen Nger ist Nger , welche weder endlich noch co-endlich ist.
128
• Polynome p ∈ R[x] mit p(1) = 0 sind ein Ideal der Menge der Polynome mit reellen Koeffizienten (siehe Beispiel 8.35).
a Eine
Teilmenge A ⊆ N heißt co-endlich genau dann, wenn A{ endlich ist.
Wegen Definition 8.37(1) ist jedes Ideal insbesondere nicht leer, wegen der Kommutativität der
additiven Gruppe sogar ein Normalteiler von hR, ⊕i. Ist R kommutativ, so fallen die Begriffe Linksideal, Rechtsideal und Ideal zusammen. Ein Links- bzw. Rechtsideal, das ein eventuell vorhandenes
Einselement enthält, ist immer schon der ganze Ring. Die trivialen Untergruppen hR, ⊕, i sowie
h{0}, ⊕, i sind ebenfalls Ideale, die trivialen Ideale. Besitzt ein Ring nur triviale Ideale, so nennt
man ihn einfach.
Ideale besitzen ein Reihe von Abgeschlossenheitseigenschaften:
Satz 8.39 (Abgeschlossenheitseigenschaften von Idealen).
Sei hR, ⊕, i ein Ring und I, J / R beliebige Ideale. Dann gilt:
1. I ∩ J / R
2. I + J =df {a ⊕ b | a ∈ I, b ∈ J} / R
Beweis Wir zeigen exemplarisch die Linksidealeigenschaft. Die Rechtsidealeigenschaft lässt sich
analog beweisen.
1. Seien a, r ∈ R Dann gilt:
a ∈ I ∩ J ⇒ a ∈ I ∧ a ∈ J ⇒ r a ∈ I ∧ r a ∈ J ⇒ r a ∈ I ∩ J.
2. Seien a, b, r ∈ R Dann gilt:
a ⊕ b ∈ I + J ⇒ a ∈ I ∧ b ∈ J ⇒ r a ∈ I ∧ r b ∈ J ⇒ (r a) ⊕ (r b) ∈ I + J
⇒ r (a ⊕ b) ∈ I + J.
2
Als Konsequenz von Satz 8.39 folgt, dass die Menge aller Ideale selbst wieder eine uns vertraute
Struktur bilden.
Satz 8.40 (Verband der Ideale).
algebraischen Verband, nämlich
Die Menge aller Ideale eines Ringes hR, ⊕, i bildet einen
h{I | I / R}, +, ∩i
Beweis Die Abgeschlossenheit der Operationen + und ∩ wurde bereits in Satz 8.39 gezeigt. Offensichtlich sind beide Operationen auch assoziativ und kommutativ. Es bleiben die Absorptionseigenschaften I + (I ∩ J) = I und I ∩ (I + J) = I nachzuweisen. Betrachten wir zunächst die erste
Eigenschaft. Hier gilt zunächst die Inklusion I ⊆ I + (I ∩ J), weil I ∩ J das Nullelement enthält.
Umgekehrt gilt I + (I ∩ J) = {a ⊕ b | a ∈ I ∧ b ∈ I ∩ J} ⊆ I.
129
Nun betrachten wir die zweite Absorptionseigenschaft. Es gilt offensichtlich I ∩ (I + J) ⊆ I. Da J
das Nullelement enthält, gilt I + J ⊇ I. Dann gilt auch I ∩ (I + J) ⊇ I.
2
Analog zur Konstruktion einer Faktorgruppe mittels eines Normalteilers lassen sich Ringe gemäß
ihrer Ideale faktorisieren. Die entstehende Struktur bildet, analog zur Faktorgruppe, einen Faktorring.
Lemma 8.41 (Faktorring). Sei hR, ⊕, i ein Ring und I ein Ideal von R. Dann ist hR/I, ⊕I , I i
ein Ring, der sogenannte Faktorring von R bezüglich I.
Dabei ist R/I und ⊕I definiert wie in Lemma 8.21 – im Unterschied dazu verwenden wir aber die
Schreibweise (a ⊕ I) statt aI – und I durch:
(a ⊕ I) I (b ⊕ I)
=df
(a b) ⊕ I
Beweis Weite Teile des Beweises lassen sich exakt aus dem Beweis zu Lemma 8.21 übertragen.
Analog zum Beweis der Repräsentantenunabhängigkeit von ⊕I kann dies auch für I gezeigt
werden. Die Assoziativität von I und somit Halbgruppeneigenschaft von hR/I, I i ist hingegen
trivial.
2
8.2.3 Homomorphismen
Auch auf Strukturen mit zwei Operationen lässt sich der Homomorphiebegriff ausdehnen. Hier
wird die Strukturverträglichkeit dann bezüglich beider Operationen gefordert. Exemplarisch für
Ringe haben wir:
Definition 8.42 (Ringhomomorphismus).
Seien hR, ⊕R , R i und hS, ⊕S , S i Ringe. Eine Funktion
f :R→S
heißt Ringhomomorphismus genau dann, wenn für alle a, b ∈ R gilt:
1. f (a ⊕R b) = f (a) ⊕S f (b) und
2. f (a R b) = f (a) S f (b)
Sind R und S Ringe mit Einselement, also solche, für die 1R und 1S existieren, so gilt zusätzlich:a
3) f (1R ) = 1S .
a Diese
Bedingung ist ohnehin erfüllt, wenn f surjektiv ist.
Beispiele für Ringhomomorphismen sind:
130
Beispiel 8.43.
• Die Abbildung ganzer Zahlen auf Modulo-Restklassen:
ϕn : hZ, +, ·i → Z/nZ mit
z 7→ (z
mod n)Z
• Der Auswertungshomorphismus für Polynome mit reellen Koeffizienten für festes r ∈ R:
αr : R[x] → hR, +, ·i mit
n
X
ai xi 7→
i=0
n
X
ai r i
i=0
Als Verallgemeinerung des ersten Beispiels haben wir folgendes Resultat:
Satz 8.44. Sei hR, ⊕, i ein Ring und I ein Ideal von R. Dann bildet die Funktion
f : R → R/I mit
a 7→ a ⊕ I
einen Ringepimorphismus.
Beweis Für die ⊕-Strukturverträglichkeit haben wir:
f (a ⊕ b) = (a ⊕ b) ⊕ I = (a ⊕ I) ⊕I (b ⊕ I) = f (a) ⊕I f (b).
Die -Strukturverträglichkeit ist analog. Die Surjektivität ist offensichtlich.
2
Die Ringe hZn , +, ·i und die Faktorringe hZ/nZ, +, ·i für n ∈ N+ sind sogar isomorph. Man kann
leicht nachweisen, dass die Abbildung z 7→ z + nZ in der Tat ein Ringisomorphismus ist.
Analog zu Satz 8.28(1) haben wir außerdem:
Satz 8.45. Seien hR1 , ⊕1 , 1 i und hR2 , ⊕2 , 2 i Ringe mit Nullelementen 01 und 02 sowie
f : hR1 , ⊕1 , 1 i → hR2 , ⊕2 , 2 i ein Ringhomomorphismus. Dann gilt
Kern(f ) =df {a ∈ R | f (a) = 02 }
bildet ein Ideal.
Beweis Im Beweis zu Satz 8.28(1) wurde bereits gezeigt, dass Kern(f ) ein Normalteiler zu hR1 , ⊕1 i
und damit insbesondere Untergruppe ist. Sei a ∈ Kern(f ) und r ∈ R1 . Dann gilt:
f (a 1 r)
f Hom.
=
f (a) 2 f (r)
a∈Kern(f )
=
02 2 f (r) = 02 .
131
Analog folgt f (r 1 a) = 0. Also gilt a 1 r ∈ Kern(f ) und r 1 a ∈ Kern(f ).
2
Schließlich sei noch auf einen interessanten Zusammenhang mit der Verbandsstruktur der Ideale
(siehe Satz 8.40) hingewiesen, denn es gilt:
Lemma 8.46. Die Abbildung
f : h{nZ | n ∈ N+ }, ⊇i → hN, |i, nZ 7→ n
aller Ideale nZ ⊆ Z nach hN, |i ist ein Ordnungshomomorphismus auf Verbänden.
Der Zusammenhang wird im der folgenden Abbildung graphisch veranschaulicht. Man beachte,
dass auch 0Z = {0} das bezüglich ⊇ maximale Element darstellt.
..
.
..
.
4·Z
6·Z
2·Z
3·Z
5·Z
4
6
2
3
1·Z
5
1
8.2.4 Integritätsbereiche und Körper
In Ringen sind noch nicht alle Eigenschaften ganzer Zahlen adäquat abgebildet. Insbesondere die
besondere Rolle der 0 für die Multiplikation ist nur teilweise berücksichtigt. Dieser wird durch die
Definition der Integritätsbereiche Rechnung getragen. Hierzu benötigen wir zunächst das Konzept
der Nullteiler.
Definition 8.47 (Nullteiler). Sei hR, ⊕, i ein Ring. Ein Element a ∈ R mit a 6= 0 heißt Nullteiler
in R genau dann, wenn
∃b ∈ R. b 6= 0 ∧ (a b = 0 ∨ b a = 0).
Existieren in einem Ring keine Nullteiler, so heißt er nullteilerfrei.
Beispiel 8.48 (Nullteiler).
• hZ, +, ·i ist nullteilerfrei
• hZ7 , +7 , ·7 i ist nullteilerfrei.
• hZ6 , +6 , ·6 i ist nicht nullteilerfrei. Nullteiler sind 2, 3 und 4, denn 2 ·6 3 = 0 und 3 ·6 4 = 0.
Man definiert dann:
132
Definition 8.49 (Integritätsbereich). Ist hR, ⊕, i ein nullteilerfreier kommutativer Ring mit
Einselement, so heißt hR, ⊕, i Integritätsbereich.
Man erkennt leicht, dass hZn , +n , ·n i genau dann ein Integritätsbereich ist, wenn n eine Primzahl
ist. Da Zn isomorph zu Z/nZ ist, bietet sich hier eine Verallgemeinerung an. Hierfür benötigen wir
zunächst eine Spezialisierung des Idealbegriffs.
Definition 8.50 (Primideal). Ist hR, ⊕, i ein kommutativer Ring und P ⊂ R ein Ideal von R,
so heißt P Primideal genau dann, wenn
∀a, b ∈ R. a b ∈ P
⇒ a ∈ P ∨ b ∈ P.
Die spezielle Eigenschaft der mittels Primidealen gebildeten Faktorringe
Satz 8.51 (Primideal). Ist hR, ⊕, i ein kommutativer Ring und P ⊂ R ein Ideal von R. Dann
gilt:
R/P nullteilerfrei ⇔ P Primideal.
Beweis Wegen Satz 8.44 ist f : R → R/P Ringepimorphismus. Wie man sich leicht überlegt,
gilt dabei insbesondere Kern(f ) = P . Damit genügt es dann allgemein zu zeigen, dass für jeden
Ringepimorphismus ϕ : hR, ⊕R , R i → hS, ⊕S , S i gilt:
S nullteilerfrei ⇔ Kern(ϕ) Primideal
Für die ⇒-Richtung betrachten wir r1 , r2 ∈ R mit r1 R r2 ∈ Kern(ϕ). Dann gilt:
Vor.
ϕ(r1 R r2 ) = 0 ⇒ ϕ(r1 ) S ϕ(r2 ) = 0 ⇒ ϕ(r1 ) = 0 ∨ ϕ(r2 ) = 0
⇒ ϕ(r1 ) ∈ Kern(ϕ) ∨ ϕ(r2 ) ∈ Kern(ϕ)
Für die ⇐-Richtung nehmen wir an, dass Kern(ϕ) Primideal ist. Seien nun s1 , s2 ∈ S mit s1 S
s2 = 0. Wegen der Surjektivität von ϕ existieren r1 , r2 ∈ R mit ϕ(r1 ) = s1 und ϕ(r2 ) = s2 . Dann
gilt:
s1 S s2 = 0 ⇒ ϕ(r1 ) S ϕ(r2 ) = 0 ⇒ ϕ(r1 R r2 ) = 0 ⇒ r1 R r2 ∈ Kern(ϕ)
Vor.
⇒ r1 ∈ Kern(ϕ) ∨ r2 ∈ Kern(ϕ) ⇒ ϕ(r1 ) = 0 ∨ ϕ(r2 ) = 0
⇒ s1 = 0 ∨ s2 = 0
2
Unmittelbare Folge von Satz 8.52 ist:
Korollar 8.52 (Primideal). Ist hR, ⊕, i ein kommutativer Ring mit 1 und P Primideal von R,
so ist R/P Integritätsbereich.
133
Beweis Die Nullteilerfreiheit von R/P gilt nach Satz 8.52. Es bleibt nur zu zeigen, dass 0 6= 1
gilt. Wäre 0 = 1, so würde 1 ∈ Kern(f ) gelten, wobei f : R → R/P der in Satz 8.44 beschriebene
Ringepimorphismus ist. Wegen Kern(f ) = P folgt insbesondere 1 ∈ P . Wie bereits festgestellt,
ist ein Ideal, das die 1 enthält immer schon der ganze Ring. Dieses steht aber im Widerspruch zu
P ⊂ R.
2
In Strukturen wie den rationalen oder reellen Zahlen existieren auch multiplikativ inverse Elemente. Dem wird durch einer weiteren Verfeinerung des Begriffes desb Integritätsbereiches Rechnung
getragen.
Definition 8.53 (Körper). Ein Integritätsbereich hR, ⊕, i heißt Körper genau dann, wenn
hR\{0}, i eine kommutative Gruppe ist.
Liegt mit hR\{0}, i nur eine (nicht notwendig kommutative) Gruppe vor, spricht man von einem
Schiefkörper. Gemäß Definition ist jeder Körper auch ein Integritätsbereich. Der Umkehrschluss
gilt jedoch nicht wie man am Beispiel von hZ, +, ·i erkennen kann (3 besitzt z.B. kein multiplikativ
Inverses).
Beispiel 8.54 (Körper).
• hZ, +, ·i ist kein Körper, denn die multiplikativ Inversen fehlen.
• hZp , +p , ·p i (p Primzahl) ist Körper.a
• hQ, +, ·i ist ein Körper.
• hR, +, ·i ist ein Körper.
a Die
134
Existenz der Inversen folgt aus dem erweiterten Euklidischen Algorithmus.
Index
n-stellige Relation, 33
Äquivalenzklassen, 46
Äquivalenzrelation, 45
Ableitungsrelation, 68
Alphabet, 64
Backus-Naur-Form, 67
Beweisprinzip
Auflösung Quantoren, 39
Kontraposition, 38
Noethersche Induktion, 82
Verallgemeinerte Induktion, 85
Vollständige Induktion, 90
Widerspruchsbeweis, 43
Bitvektor, 32
Charakteristischer Bitvektor, 32
Cantorsches Diagonalverfahren, 41
Fibonacci-Zahlen, 85
Funktion, 36
Bijektivität, 37
Injektivität, 37
Partiell definierte Funktion, 45
Surjektivität, 37
Gruppe, 109
Alternierende Gruppe, 116
Faktorgruppe, 116
Nebenklasse, 114
Linksnebenklasse, 114
Rechtsnebenklasse, 114
Normalteiler, 116
Symmetrische Gruppe, 112
Untergruppe, 111
Halbaddierer, 17
Halbgruppe, 107
Hasse-Diagramm, 79
Homomorphismus
Bild, 121
Kern, 120
Ringhomomorphismus, 130
Induktion
Noethersche, 81
Verallgemeinerte, 85
Vollständige, 89
Infixnotation, 34
Junktoren, 14
Kardinalzahlen, 50
Kartesisches Produkt, 31
Lineare Ordnung, 78
Maximales Element, 80
Menge
Überabzählbarkeit, 42
Mächtigkeit, 27
Mengensystem
Potenzmenge, 24
Minimales Element, 80
Nachbarschaftsordnung, 79
Noethersche Induktion, 81
Noethersche Quasiordnung, 81
Nullteiler, 132
Ordnungshomomorphismus, 104
Partielle Ordnung, 75
Infimum, 94
Obere Schranke, 94
Supremum, 94
Untere Schranke, 94
Partition, 46
135
Peano-Axiome, 54
Permutation, 112
Potenzmenge, 24
Prädikatenlogik, 18, 55
Präferenzordnung, 78
Präordnung, 77
Quasi-Ordnung, 77
Quasiordnung
Kern, 77
Relation
Homogene Relation, 35
Identische Relation, 34
Linkseindeutigkeit, 35
Linkstotalität, 36
Produktrelation, 34
Rechtseindeutigkeit, 35
Rechtstotalität, 36
Teilbarkeitsrelation, 19
Umkehrrelation, 34
Ring, 126
Ideal, 128
Linksideal, 128
Rechtsideal, 128
Russelsche Antinomie, 27
Satz von Lagrange, 113
Semantikschemas, 65
Striktordnung, 78
Syntaktische Substitution, 59
Teilmenge, 23
Totale Ordnung, 78
Totale Quasiordnung, 78
Venn-Diagramm, 23, 25
Verband, 94
Algebraischer Verband, 96
Ideale eines Rings, 129
Boolescher Verband, 100
Distributiver Verband, 100
Funktionenverband, 103
Ordnungsstruktureller Verband, 96
Produktverband, 102
Untergruppenverband, 113
Vollständiger Verband, 98
136
Zeichenreihe, 64
Herunterladen