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