Karlheinz Hug Theoretische Grundlagen Skript Bachelor-Studiengang Medien- und Kommunikationsinformatik Fachbereich Informatik Hochschule Reutlingen © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 ii Warenzeichen BlackBox und Component Pascal sind eingetragene Warenzeichen von Oberon microsystems. Java ist ein eingetragenes Warenzeichen von Sun Microsystems. Ada, BON, C, C++, C#, Eiffel, Modula, Oberon, OCL, Pascal, Prolog, UML sind möglicherweise eingetragene Warenzeichen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Skript berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetze als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Garantieverzichtserklärung Alle in diesem Skript enthaltenen Informationen wie Text, Abbildungen, Programme und Verfahren wurden nach bestem Wissen erstellt und mit größter Sorgfalt geprüft. Da Fehler trotzdem nicht ganz auszuschließen sind, ist der Inhalt des Skripts mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt für eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung für Schäden, die in Zusammenhang mit der Verwendung dieses Skripts, der darin dargestellten Methoden und Programme, oder Teilen davon entstehen. Missbrauchsverbot Die durch dieses Skript vermittelten Informationen wie Prinzipien, Konzepte, Methoden, Verfahren und Techniken dürfen nicht für militärische oder völkerrechtswidrige Zwecke missbraucht werden. Anschrift des Autors Prof. Dr. Karlheinz Hug Hochschule Reutlingen - Reutlingen University Fachbereich Informatik Studiengang Medien- und Kommunikationsinformatik Alteburgstraße 150 72762 Reutlingen Bundesrepublik Deutschland - Germany Gebäude-Raum 4-211 Telefon +49/7121/271-616 E-Mail [email protected] WWW http://www-mki.fh-reutlingen.de Online-Dienst http://userserv.fh-reutlingen.de/~hug © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Inhaltsverzeichnis Inhaltsverzeichnis ....................................................................................................... iii Abbildungsverzeichnis ............................................................................................... ix Aufgabenverzeichnis .................................................................................................. xi Beispielverzeichnis .................................................................................................. xvii Leitlinienverzeichnis ................................................................................................ xix Verzeichnis mathematischer Aussagen .................................................................. xxi Programmverzeichnis ............................................................................................ xxix Tabellenverzeichnis ................................................................................................ xxxi 1 Mengen 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 2 Grundbegriffe .................................................................................................1 1.1.1 Beschreibungen von Mengen .............................................................2 1.1.2 Russellsche Antinomie .......................................................................3 Beispiele für Mengen ......................................................................................4 Beziehungen zwischen Mengen .....................................................................6 Operationen mit Mengen ................................................................................8 1.4.1 Rechenregeln ......................................................................................9 1.4.2 Mengen in Programmiersprachen ....................................................13 Mengensysteme ............................................................................................14 Produktmengen .............................................................................................16 Zweistellige Relationen ................................................................................18 Abbildungen .................................................................................................20 1.8.1 Besondere Abbildungen ...................................................................21 1.8.2 Indizierungen ....................................................................................26 Operationen mit indizierten Mengen ............................................................26 1.9.1 Rekursive Definition von Produktmengen .......................................28 1.9.2 Produktmengen und Datenstrukturen ...............................................30 Strukturen .....................................................................................................31 Darstellungen von Größen ............................................................................33 Literaturhinweise ..........................................................................................35 Übungen ........................................................................................................36 Logik 2.1 Aussagenlogik ................................................................................................1 2.1.1 Einführung ..........................................................................................1 2.1.2 Alphabet der Aussagenlogik ..............................................................3 2.1.3 Syntax der Aussagenlogik ..................................................................5 2.1.4 Semantik der Aussagenlogik ..............................................................7 2.1.4.1 Operationen ............................................................................7 2.1.4.2 Bindung ..................................................................................8 2.1.4.3 Belegungen und Interpretationen ...........................................8 © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 iii iv Inhaltsverzeichnis 2.1.5 2.2 2.3 2.4 3 Methodik 3.1 3.2 3.3 3.4 3.5 4 Erläuterungen ...................................................................................10 2.1.5.1 Aussagenlogische und umgangssprachliche Operationen ....13 2.1.5.2 Klammerung und Vorrangregeln ..........................................17 2.1.6 Aussagefunktionen ...........................................................................17 2.1.7 Eigenschaften von Aussagen ............................................................19 2.1.8 Aussagenlogische Rechenregeln ......................................................22 2.1.9 Aussagen in Programmiersprachen ..................................................29 2.1.10 Aussagenlogische Basen ..................................................................31 2.1.11 Normalformen von Aussagen ...........................................................34 Prädikatenlogik .............................................................................................43 2.2.1 Einführung ........................................................................................43 2.2.2 Prädikate und Quantoren ..................................................................44 2.2.3 Alphabet der Prädikatenlogik ...........................................................47 2.2.4 Syntax der Prädikatenlogik ..............................................................48 2.2.4.1 Klammerung und Vorrangregeln ..........................................50 2.2.4.2 Syntaktische Eigenschaften von Variablen und Formeln .....50 2.2.5 Semantik der Prädikatenlogik ..........................................................52 2.2.5.1 Bindung ................................................................................52 2.2.5.2 Belegungen und Interpretationen .........................................52 2.2.5.3 Erläuterungen .......................................................................55 2.2.6 Prädikatenlogische Formeln in Programmiersprachen ....................55 2.2.7 Eigenschaften prädikatenlogischer Formeln ....................................56 2.2.8 Prädikatenlogische Rechenregeln ....................................................59 2.2.9 Prädikatenlogische Basen .................................................................61 2.2.10 Normalformen prädikatenlogischer Formeln ...................................61 Literaturhinweise ..........................................................................................63 Übungen ........................................................................................................63 Axiomatik und Deduktion ..............................................................................1 Definitionsmethoden ......................................................................................3 3.2.1 Mathematische Definition ..................................................................4 3.2.2 Rekursive und induktive Definition ...................................................4 Beweismethoden .............................................................................................5 3.3.1 Direkter Beweis ..................................................................................6 3.3.1.1 Gegenbeispiel .........................................................................7 3.3.1.2 Äquivalenzbeweis ..................................................................8 3.3.1.3 Ringschlussbeweis .................................................................8 3.3.2 Indirekter Beweis ...............................................................................8 3.3.2.1 Kontrapositionsbeweis ...........................................................8 3.3.2.2 Widerspruchsbeweis ...............................................................9 3.3.3 Induktiver Beweis ............................................................................12 Literaturhinweise ..........................................................................................12 Übungen ........................................................................................................12 Relationale Strukturen 4.1 Allgemeines über Relationen und Abbildungen .............................................1 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Inhaltsverzeichnis v 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 Zahlen 5.1 9.8.04 4.1.1 Zugeordnete Relationen .....................................................................1 4.1.2 Bereiche von Relationen ....................................................................3 4.1.3 Eigenschaften von Relationen ............................................................4 4.1.4 Zugeordnete Abbildungen ..................................................................6 4.1.5 Bilder und Urbilder von Abbildungen ...............................................6 4.1.6 Eigenschaften von Abbildungen ........................................................9 4.1.7 Operationen mit Relationen .............................................................10 4.1.8 Komposition von Relationen ............................................................12 4.1.9 Komposition von Abbildungen ........................................................15 4.1.10 Kartesisches Produkt von Relationen und Abbildungen ..................19 Homogene zweistellige Relationen ..............................................................21 4.2.1 Intervalle ...........................................................................................26 4.2.2 Abbildungen zwischen relationalen Strukturen ...............................27 Äquivalenzrelationen ....................................................................................29 4.3.1 Faktorisierung von Abbildungen ......................................................35 4.3.2 Von Präordnungen zu Halbordnungen .............................................37 Gleichmächtigkeit und Mächtigkeit von Mengen ........................................39 4.4.1 Kardinalzahlen .................................................................................39 4.4.2 Ordinalzahlen ...................................................................................41 4.4.3 Algorithmen zu Mengen ...................................................................44 Ordnungsrelationen ......................................................................................44 4.5.1 Zugeordnete Relationen ...................................................................46 4.5.2 Nachbarrelationen ............................................................................48 4.5.3 Bereiche und Intervalle ....................................................................49 4.5.4 Ketten und Antiketten ......................................................................50 4.5.5 Kleinste und größte Elemente ..........................................................50 4.5.6 Minimale und maximale Elemente ..................................................52 4.5.7 Schranken und Grenzen ...................................................................58 4.5.8 Ordnungsmorphismen und sortierte Familien ..................................60 4.5.9 Wohlordnungen ................................................................................62 Ordnung der natürlichen Zahlen ...................................................................64 4.6.1 Ordnung der Ordinalzahlen ..............................................................64 4.6.2 Ordnung der Kardinalzahlen ............................................................65 Anwendungen von Ordnungen .....................................................................68 4.7.1 Sortierte Folgen ................................................................................68 4.7.2 Ordnungen auf Produktmengen .......................................................70 Hüllen von Relationen ..................................................................................70 Übungen ........................................................................................................75 Natürliche Zahlen ...........................................................................................1 5.1.1 Peanosche Axiome .............................................................................1 5.1.2 Arithmetische Operationen ................................................................1 5.1.3 Ordnungsrelationen ............................................................................1 5.1.4 Rekursionstheoreme ...........................................................................1 5.1.5 Archimedische Eigenschaft ................................................................1 © Karlheinz Hug, Hochschule Reutlingen vi Inhaltsverzeichnis 5.2 5.3 5.4 5.5 5.6 5.7 6 Ganze Zahlen ..................................................................................................1 5.2.1 Standardfunktionen ............................................................................1 5.2.2 Division mit Rest ................................................................................2 5.2.3 Teilbarkeit ...........................................................................................5 5.2.4 Kongruenzrechnung ...........................................................................8 5.2.5 Primzahlen ..........................................................................................8 Rationale Zahlen .............................................................................................9 Reelle Zahlen ..................................................................................................9 5.4.1 Konstruktion .......................................................................................9 5.4.2 Axiome .............................................................................................10 5.4.3 Unterstrukturen .................................................................................12 5.4.4 Mächtigkeit .......................................................................................12 5.4.5 Standardfunktionen ..........................................................................13 5.4.6 Operationen mit reellen Funktionen .................................................14 5.4.7 Größenordnung reeller Funktionen ..................................................15 Komplexe Zahlen .........................................................................................18 5.5.1 Konstruktion .....................................................................................18 5.5.2 Bemerkungen ...................................................................................19 Zahlendarstellungen ......................................................................................19 5.6.1 Stellenwertsysteme ...........................................................................19 5.6.2 Festpunktzahlen ................................................................................19 5.6.3 Gleitpunktzahlen ..............................................................................20 5.6.3.1 Darstellungen von Gleitpunktzahlen ....................................21 5.6.3.2 IEEE Standard 754 ...............................................................22 5.6.3.3 Maschinendarstellung reeller Zahlen ...................................23 5.6.3.4 Fehlerquellen beim Rechnen mit Gleitpunktzahlen .............24 5.6.3.5 Gleitpunktzahlenarithmetik ..................................................25 Übungen ........................................................................................................27 Algebraische Strukturen 6.1 6.2 Strukturen mit einer zweistelligen Operation .................................................1 6.1.1 Vom Gruppoid zum Monoid ..............................................................1 6.1.2 Kürzbarkeit und Lösbarkeit ................................................................3 6.1.3 Mit Invertierbarkeit zur Gruppe .........................................................6 6.1.4 Unterstrukturen und umfassende Strukturen ....................................10 6.1.5 Mengenoperationen und Hüllen .......................................................11 6.1.6 Homomorphismen ............................................................................13 6.1.7 Komplexprodukt und Komplexinverse ............................................14 6.1.8 Potenzen ...........................................................................................15 6.1.9 Verträgliche Relationen ....................................................................18 6.1.10 Produktstrukturen .............................................................................18 6.1.11 Faktorstrukturen ...............................................................................18 6.1.12 Worthalbgruppen und -monoide .......................................................19 6.1.12.1 Zeichen ...............................................................................19 6.1.12.2 Wörter .................................................................................20 Strukturen mit zwei zweistelligen Operationen ............................................23 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Inhaltsverzeichnis vii 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.4 Ringe ................................................................................................23 Körper ...............................................................................................23 Boolesche Algebren .........................................................................23 Verbände ...........................................................................................23 Boolesche Verbände .........................................................................23 6.2.5.1 Boolesche Algebra der Logik ...............................................23 6.2.5.2 Mengenalgebra .....................................................................23 6.2.5.3 Schaltalgebra ........................................................................23 Vektorräume ..................................................................................................23 Übungen ........................................................................................................23 A ISO 8859-1 Zeichencode Latin1 B Literaturverzeichnis 9.8.04 © Karlheinz Hug, Hochschule Reutlingen viii © Karlheinz Hug, Hochschule Reutlingen Inhaltsverzeichnis 9.8.04 Abbildungsverzeichnis 1 Mengen Bild 1.1 Mengenbeziehungen ..................................................................................6 Bild 1.2 Mengenoperationen ...................................................................................8 Bild 1.3 Komplement ...............................................................................................9 Bild 1.4 Disjunkt oder nicht? .................................................................................14 Bild 1.5 Kartesische Ebene ....................................................................................17 Bild 1.6 Relation auf einer kartesischen Ebene .....................................................19 Bild 1.7 Relation als gerichteter Graph .................................................................19 Bild 1.8 Graphen von Abschnitten der Sinusfunktion und einer Fourier-Reihe ...21 Bild 1.9 Konstante Abbildung ...............................................................................22 Bild 1.10 Identische Abbildung .............................................................................22 Bild 1.11 Funktion als technisches Bauelement ....................................................25 Bild 1.12 n-Tupel als Reihung ...............................................................................30 Bild 1.13 n-Tupel als Liste ....................................................................................30 Bild 1.14 Analog dargestellte stetige Größe ..........................................................33 Bild 1.15 Analoge Darstellungen ..........................................................................33 Bild 1.16 Diskretisierte analoge Darstellungen .....................................................34 Bild 1.17 Digitalisierte Darstellungen ...................................................................34 Bild 1.18 Funktionen als digitale Bauelemente .....................................................34 2 Logik Bild 2.1 Wahrheitsfelder ........................................................................................13 Bild 2.2 Beziehungen zwischen Aussagefunktionen, Wahrheitstabellen und Aussagen ................................................................................................................19 Bild 2.3 Klassifikation von Aussagen ...................................................................20 Bild 2.4 Transformation der Formen von Aussagen ..............................................43 Bild 2.5 Transformation der Formen prädikatenlogischer Formeln ......................62 3 Methodik 4 Relationale Strukturen Bild 4.1 Einschränkung und Teilrelation .................................................................2 Bild 4.2 Komplementäre Relation ...........................................................................2 Bild 4.3 Umkehrrelation ..........................................................................................2 Bild 4.4 Nach- und Vorbereich ................................................................................3 Bild 4.5 Bild und Urbild ..........................................................................................7 Bild 4.6 Komposition von Relationen ...................................................................12 Bild 4.7 Assoziativität der Komposition ...............................................................13 Bild 4.8 Umkehrrelation der Komposition ............................................................13 Bild 4.9 Schaltbild oder Datenflussdiagramm .......................................................15 Bild 4.10 Mengendiagramm mit Abbildungen ......................................................16 Bild 4.11 Abbildungsdiagramm .............................................................................16 © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 ix x Abbildungsverzeichnis Bild 4.12 Kommutierendes Abbildungsdiagramm ................................................16 Bild 4.13 Eigenschaften von Relationen ...............................................................21 Bild 4.14 Intervall ..................................................................................................26 Bild 4.15 Äquivalenzklassen .................................................................................31 Bild 4.16 Äquivalenzrelationen in einer kartesischen Ebene ................................32 Bild 4.17 Faktorisierungsdiagramm ......................................................................35 Bild 4.18 Zerlegung eines Homomorphismus .......................................................36 Bild 4.19 Übertragung eines Homomorphismus ...................................................36 Bild 4.20 Klassifikation von Ordnungen ...............................................................45 Bild 4.21 Ordnungsdiagramme ..............................................................................48 Bild 4.22 Beziehungen zwischen ausgezeichneten Elementen .............................60 5 Zahlen 6 Algebraische Strukturen Bild 6.1 Homomorphiediagramm ..........................................................................13 Bild 6.2 Endliche zyklische Halbgruppe ...............................................................18 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Aufgabenverzeichnis 1 2 Mengen Aufgabe 1.1 Namen von Zeichenfolgen ...............................................................36 Aufgabe 1.2 .........................................................................................................36 Aufgabe 1.3 Mengen beschreiben .........................................................................37 Aufgabe 1.4 Semantische Antinomien ..................................................................37 Aufgabe 1.5 .........................................................................................................37 Aufgabe 1.6 Beziehungen zwischen Mengen .......................................................37 Aufgabe 1.7 .........................................................................................................37 Aufgabe 1.8 Potenzmenge .....................................................................................37 Aufgabe 1.9 .........................................................................................................37 Aufgabe 1.10 .......................................................................................................37 Aufgabe 1.11 .......................................................................................................37 Aufgabe 1.12 .......................................................................................................37 Aufgabe 1.13 .......................................................................................................37 Aufgabe 1.14 Dreiecke ..........................................................................................37 Aufgabe 1.15 Schaltjahre [8] ................................................................................37 Aufgabe 1.16 Mengenoperationen [16] ................................................................38 Aufgabe 1.17 Mengenausdrücke vereinfachen .....................................................38 Aufgabe 1.18 Wann sind zwei Mengen gleich? ....................................................38 Aufgabe 1.19 .......................................................................................................38 Aufgabe 1.20 Mengen bestimmen [16] .................................................................38 Aufgabe 1.21 .......................................................................................................38 Aufgabe 1.22 Zerlegungen ....................................................................................38 Aufgabe 1.23 Potenzmengen [16] .........................................................................39 Aufgabe 1.24 .......................................................................................................39 Aufgabe 1.25 Relationen .......................................................................................39 Aufgabe 1.26 Relationen und Funktionen .............................................................39 Aufgabe 1.27 .......................................................................................................39 Aufgabe 1.28 Rekursive Definition ......................................................................39 Logik Aufgabe 2.1 Jüdischer Witz, frei nach S. Landmann ............................................63 Aufgabe 2.2 Wer kann’s? ......................................................................................63 Aufgabe 2.3 Lebensgeheimnis [21] ......................................................................63 Aufgabe 2.4 Aussagen zerlegen ............................................................................63 Aufgabe 2.5 Syntax von Mengentermen und Mengenformeln .............................64 Aufgabe 2.6 Dreiecke ............................................................................................64 Aufgabe 2.7 Interpretationen .................................................................................64 Aufgabe 2.8 Wahrheitstabellen .............................................................................64 Aufgabe 2.9 Bedeutung umgangssprachlicher Operationen .................................64 Aufgabe 2.10 Notwendig und hinreichend ...........................................................64 © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 xi xii Aufgabenverzeichnis Aufgabe 2.11 Aussage finden [21] ........................................................................64 Aufgabe 2.12 Kriminalfall ....................................................................................65 Aufgabe 2.13 Lügengeschichte .............................................................................65 Aufgabe 2.14 .......................................................................................................65 Aufgabe 2.15 .......................................................................................................65 Aufgabe 2.16 .......................................................................................................65 Aufgabe 2.17 .......................................................................................................65 Aufgabe 2.18 .......................................................................................................65 Aufgabe 2.19 .......................................................................................................65 Aufgabe 2.20 .......................................................................................................65 Aufgabe 2.21 Aussagen negieren ..........................................................................65 Aufgabe 2.22 .......................................................................................................65 Aufgabe 2.23 Aussagen vereinfachen ...................................................................65 Aufgabe 2.24 .......................................................................................................65 Aufgabe 2.25 Erfüllbarkeit ....................................................................................65 Aufgabe 2.26 .......................................................................................................65 Aufgabe 2.27 Implikation .....................................................................................65 Aufgabe 2.28 .......................................................................................................66 Aufgabe 2.29 Schlussfolgerung ............................................................................66 Aufgabe 2.30 .......................................................................................................66 Aufgabe 2.31 .......................................................................................................66 Aufgabe 2.32 .......................................................................................................66 Aufgabe 2.33 Logik der sozialen Marktwirtschaft ................................................66 Aufgabe 2.34 Logik der Finanzwirtschaft [33] .....................................................66 Aufgabe 2.35 Eine Logelei von Zweistein [DIE ZEIT Nr. 12, 15. März 2001] ...67 Aufgabe 2.36 Noch eine Logelei von Zweistein [DIE ZEIT Nr. 22, 22. Mai 2003] ..........................................................................67 Aufgabe 2.37 .......................................................................................................67 Aufgabe 2.38 .......................................................................................................67 Aufgabe 2.39 Nand und Nor .................................................................................67 Aufgabe 2.40 Aussagenlogische Basis ..................................................................67 Aufgabe 2.41 .......................................................................................................67 Aufgabe 2.42 Normalformen ................................................................................67 Aufgabe 2.43 Minimale DNF ................................................................................68 Aufgabe 2.44 Normalformen ................................................................................68 Aufgabe 2.45 Paritätsfunktion [6] .........................................................................68 Aufgabe 2.46 Abstimmungsfunktion [16] ............................................................68 Aufgabe 2.47 .......................................................................................................68 Aufgabe 2.48 Prädikate formulieren [33] .............................................................68 Aufgabe 2.49 Formeln verbalisieren .....................................................................68 Aufgabe 2.50 Formeln zerlegen ............................................................................68 Aufgabe 2.51 Freie und gebundene Variablen, quantorenfreie und geschlossene Formeln ..................................................................................................................69 Aufgabe 2.52 Formel verbalisieren .......................................................................69 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Aufgabenverzeichnis xiii 3 4 9.8.04 Aufgabe 2.53 Sprachgebilde formalisieren ...........................................................69 Aufgabe 2.54 Astronomie .....................................................................................69 Aufgabe 2.55 Formel quantifizieren .....................................................................70 Aufgabe 2.56 Formel interpretieren [21] ..............................................................70 Aufgabe 2.57 .......................................................................................................70 Aufgabe 2.58 .......................................................................................................70 Aufgabe 2.59 Negation .........................................................................................70 Aufgabe 2.60 .......................................................................................................70 Aufgabe 2.61 .......................................................................................................70 Aufgabe 2.62 .......................................................................................................70 Aufgabe 2.63 Eigenschaften von Formeln ............................................................70 Aufgabe 2.64 Formeln transformieren ..................................................................70 Aufgabe 2.65 Epimenides .....................................................................................71 Aufgabe 2.66 Ecos foucaltsches Pendel ................................................................71 Aufgabe 2.67 Unabhängige Formeln [21] .............................................................71 Methodik Aufgabe 3.1 Definitionen ......................................................................................12 Aufgabe 3.2 Direkter Beweis ................................................................................13 Aufgabe 3.3 Descartes’ Methode ..........................................................................13 Relationale Strukturen Aufgabe 4.1 .........................................................................................................75 Aufgabe 4.2 .........................................................................................................75 Aufgabe 4.3 Bijektion ...........................................................................................75 Aufgabe 4.4 .........................................................................................................75 Aufgabe 4.5 .........................................................................................................75 Aufgabe 4.6 .........................................................................................................75 Aufgabe 4.7 .........................................................................................................75 Aufgabe 4.8 .........................................................................................................75 Aufgabe 4.9 .........................................................................................................75 Aufgabe 4.10 .......................................................................................................75 Aufgabe 4.11 .......................................................................................................75 Aufgabe 4.12 Alternative Beweise ........................................................................75 Aufgabe 4.13 Reflexive, symmetrische und transitive Relationen [16] ...............75 Aufgabe 4.14 Falsches Argument [28] ..................................................................75 Aufgabe 4.15 Verlorene Eigenschaften .................................................................75 Aufgabe 4.16 Eigenschaften von Relationen ........................................................76 Aufgabe 4.17 Eigenschaften der Komposition von Relationen ............................76 Aufgabe 4.18 .......................................................................................................76 Aufgabe 4.19 Bilder von zugeordneten Relationen und Bereichen ......................76 Aufgabe 4.20 .......................................................................................................76 Aufgabe 4.21 .......................................................................................................76 Aufgabe 4.22 Eigenschaften des kartesischen Produkts von Relationen ..............76 Aufgabe 4.23 Gleicher Durchschnitt [16] .............................................................77 Aufgabe 4.24 .......................................................................................................77 © Karlheinz Hug, Hochschule Reutlingen xiv Aufgabenverzeichnis 5 Aufgabe 4.25 Durchschnitt von Äquivalenzrelationen [28] .................................77 Aufgabe 4.26 Gröbere Äquivalenzrelation [29] ....................................................77 Aufgabe 4.27 Urbild einer Äquivalenzrelation .....................................................77 Aufgabe 4.28 Überdeckung [28] ...........................................................................77 Aufgabe 4.29 .......................................................................................................77 Aufgabe 4.30 .......................................................................................................77 Aufgabe 4.31 Kleinste und größte Elemente ........................................................78 Aufgabe 4.32 Ordnungsdiagramme ......................................................................78 Aufgabe 4.33 Ordnungsdiagramme zu Zerlegungen ............................................78 Aufgabe 4.34 Endliche Ketten ..............................................................................78 Aufgabe 4.35 Satz von Dilworth ...........................................................................78 Aufgabe 4.36 Lexikografische Ordnung ...............................................................78 Aufgabe 4.37 Hüllenoperatoren ............................................................................78 Aufgabe 4.38 .......................................................................................................78 Aufgabe 4.39 .......................................................................................................78 Aufgabe 4.40 .......................................................................................................78 Aufgabe 4.41 Hüllen einer Relation [16] ..............................................................78 Aufgabe 4.42 Eigenschaften von Hüllen ...............................................................78 Aufgabe 4.43 Eigenschaften von Hüllenoperatoren .............................................78 Aufgabe 4.44 .......................................................................................................78 Aufgabe 4.45 Gröbste antisymmetrische Relation [29] ........................................79 Zahlen Aufgabe 5.1 Konvertierung ...................................................................................19 Aufgabe 5.2 Einer- und Zweierkomplement .........................................................19 Aufgabe 5.3 Rundungsfehler .................................................................................20 Aufgabe 5.4 IEEE Standard 754 ...........................................................................23 Aufgabe 5.5 Mächtigkeiten endlicher Mengen .....................................................27 Aufgabe 5.6 .........................................................................................................27 Aufgabe 5.7 .........................................................................................................27 Aufgabe 5.8 Vollständige Induktion ......................................................................27 Aufgabe 5.9 Vollständige Induktion bei Summenformeln ....................................27 Aufgabe 5.10 Vollständige Induktion in der Kombinatorik ..................................28 Aufgabe 5.11 Binomialkoeffizienten ....................................................................29 Aufgabe 5.12 Geburtstag von Studierenden ..........................................................30 Aufgabe 5.13 Von neumannsche natürliche Zahlen ..............................................30 Aufgabe 5.14 Rekursionstheorem .........................................................................31 Aufgabe 5.15 Anzahlen von Relationen ...............................................................31 Aufgabe 5.16 Russische Bauernmultiplikation .....................................................31 Aufgabe 5.17 „Russische Bauernpotenzierung“ ...................................................32 Aufgabe 5.18 Ackermannfunktion ........................................................................32 Aufgabe 5.19 Division mit Rest in Programmiersprachen ...................................32 Aufgabe 5.20 Division mit Rest ............................................................................32 Aufgabe 5.21 Induktive Definition .......................................................................32 Aufgabe 5.22 .......................................................................................................32 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Aufgabenverzeichnis xv 6 9.8.04 Aufgabe 5.23 Teiltrelation .....................................................................................32 Aufgabe 5.24 Teilbarkeit und vollständige Induktion ...........................................32 Aufgabe 5.25 .......................................................................................................32 Aufgabe 5.26 ggT und kgV ...................................................................................32 Aufgabe 5.27 .......................................................................................................33 Aufgabe 5.28 Restklassen .....................................................................................33 Aufgabe 5.29 Zählmengen ....................................................................................33 Aufgabe 5.30 Reelle und rationale Zahlen ............................................................33 Aufgabe 5.31 Verallgemeinerte Dreiecksungleichung ..........................................33 Aufgabe 5.32 Zahlendarstellungen .......................................................................33 Aufgabe 5.33 Gleitpunktzahlen .............................................................................33 Algebraische Strukturen Aufgabe 6.1 Gruppoide .........................................................................................23 Aufgabe 6.2 Untermonoid und Unterhalbgruppe ..................................................23 © Karlheinz Hug, Hochschule Reutlingen xvi © Karlheinz Hug, Hochschule Reutlingen Aufgabenverzeichnis 9.8.04 Beispielverzeichnis 1 2 3 4 5 6 Mengen Logik Beispiel 2.1 Interpretationen einer Aussage mit der Wahrheits-tabellenmethode .10 Beispiel 2.2 Interpretationen einer Aussage mit der Wahrheitsfeldermethode .....13 Beispiel 2.3 Konstruktion von Normalformen mit algebraischen Umformungen 37 Beispiel 2.4 Konstruktion einer KNF mittels einer DNF ......................................39 Beispiel 2.5 Konstruktion kanonischer Normalformen mit der Belegungsmethode .................................................................................................42 Beispiel 2.6 Belegung und Interpretation ..............................................................53 Methodik Beispiel 3.1 Pythagoreische Zahlentripel ................................................................7 Beispiel 3.2 Prim und teilerfremd ............................................................................7 Beispiel 3.3 Gerade und ungerade Zahlen und Quadrate ........................................8 Beispiel 3.4 Unendlichkeit der Primzahlmenge ....................................................10 Beispiel 3.5 Irrationalität von Wurzel aus 2 ..........................................................11 Relationale Strukturen Beispiel 4.1 Diskretisierung ...................................................................................34 Beispiel 4.2 Studierende Aufgaben Punkte ...........................................................37 Beispiel 4.3 Zerlegungen .......................................................................................51 Beispiel 4.4 Teilmengen und charakteristische Funktionen ..................................60 Zahlen Beispiel 5.1 Binäres Suchen in sortierter Reihung ................................................16 Beispiel 5.2 Sortieren einer Liste durch Auswählen .............................................17 Algebraische Strukturen © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 xvii xviii © Karlheinz Hug, Hochschule Reutlingen Beispielverzeichnis 9.8.04 Leitlinienverzeichnis 1 2 3 4 5 6 Mengen Leitlinie 1.1 Mengenbildung ...................................................................................3 Logik Leitlinie 2.1 Binäre Logik .....................................................................................22 Methodik Leitlinie 3.1 Prinzip der Dekomposition und Komposition ....................................6 Leitlinie 3.2 Keine unechten Widerspruchsbeweise .............................................12 Relationale Strukturen Zahlen Algebraische Strukturen © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 xix xx © Karlheinz Hug, Hochschule Reutlingen Leitlinienverzeichnis 9.8.04 Verzeichnis mathematischer Aussagen 1 2 Mengen Definition 1.1 Menge Element Elementrelation .....................................................1 Definition 1.2 Gleichheit von Mengen ....................................................................1 Korollar 1.3 ...........................................................................................................2 Definition 1.4 Endliche Menge ...............................................................................2 Definition 1.5 Gleichheit von Elementen ................................................................3 Definition 1.6 Teilmenge .........................................................................................6 Korollar 1.7 ...........................................................................................................7 Definition 1.8 Potenzmenge ....................................................................................7 Korollar 1.9 ...........................................................................................................7 Definition 1.10 Durchschnitt Vereinigung Differenz symmetrische Differenz ......8 Definition 1.11 Komplement ...................................................................................8 Definition 1.12 Disjunktheit ....................................................................................9 Satz 1.13 Inklusion Durchschnitt Vereinigung ........................................................9 Satz 1.14 Durchschnitt Vereinigung ........................................................................9 Satz 1.15 Differenz ................................................................................................10 Satz 1.16 Komplement ..........................................................................................11 Satz 1.17 Symmetrische Differenz ........................................................................12 Definition 1.18 Durchschnitt Vereinigung ............................................................14 Satz 1.19 Rechenregeln für Mengensysteme .........................................................15 Definition 1.20 Zerlegung Überdeckung ..............................................................16 Korollar 1.21 .......................................................................................................16 Definition 1.22 Kartesisches Produkt ....................................................................16 Satz 1.23 Rechenregeln für zweistellige Produktmengen .....................................18 Definition 1.24 Relation ........................................................................................18 Definition 1.25 Umkehrrelation ............................................................................19 Definition 1.26 Abbildung ....................................................................................20 Definition 1.27 Bijektion Umkehrabbildung ........................................................21 Definition 1.28 Indizierung ...................................................................................26 Definition 1.29 Produktmenge ..............................................................................27 Satz 1.30 Rechenregeln für Produktmengen .........................................................28 Definition 1.31 n-stelliges kartesisches Produkt ...................................................29 Definition 1.32 Relation ........................................................................................31 Definition 1.33 Operation .....................................................................................31 Definition 1.34 Struktur ........................................................................................32 Theorem 1.35 Digitalisierung ...............................................................................35 Logik Definition 2.1 Alphabet der Aussagenlogik ............................................................5 Definition 2.2 Aussagenkalkül, Aussagenlogischer Ausdruck ...............................6 Satz 2.3 Eindeutigkeit der Syntaxdefinition ............................................................7 © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 xxi xxii Verzeichnis mathematischer Aussagen Definition 2.4 Belegung ..........................................................................................8 Definition 2.5 Interpretation ....................................................................................9 Definition 2.6 Allgemeingültigkeit Erfüllbarkeit ..................................................20 Korollar 2.7 .........................................................................................................20 Satz 2.8 Substitution einer Variablen in einer Tautologie durch einen Ausdruck .21 Definition 2.9 Logische Äquivalenz .....................................................................21 Korollar 2.10 .......................................................................................................21 Satz 2.11 Substitution einer Variablen in äquivalenten Aussagen durch einen Ausdruck ................................................................................................................21 Satz 2.12 Substitution eines Teilausdrucks durch einen äquivalenten Ausdruck ..22 Satz 2.13 Negation .................................................................................................22 Satz 2.14 Negation, Konjunktion und Disjunktion ...............................................22 Definition 2.15 Duale Aussage .............................................................................23 Theorem 2.16 Dualitätstheorem der Aussagenlogik .............................................23 Satz 2.17 Konjunktion und Disjunktion ................................................................24 Satz 2.18 Verallgemeinerte Rechenregeln .............................................................25 Satz 2.19 Implikation Grundregeln .......................................................................25 Satz 2.20 Implikation Schlussregeln .....................................................................26 Satz 2.21 Äquivalenz .............................................................................................27 Korollar 2.22 .......................................................................................................27 Satz 2.23 Antivalenz ..............................................................................................28 Satz 2.24 Shannonsche Erweiterung .....................................................................28 Satz 2.25 Nand und Nor ........................................................................................33 Satz 2.26 Anzahl der Aussagefunktionen ..............................................................33 Definition 2.27 Aussagenlogische Basis ...............................................................33 Satz 2.28 Basen .....................................................................................................34 Definition 2.29 Faktor Term Normalform .............................................................35 Satz 2.30 Normalformen zu Aussagen ..................................................................36 Korollar 2.31 .......................................................................................................36 Satz 2.32 Dualität der Normalformen ...................................................................39 Satz 2.33 Eindeutige Belegung zu Min- und Maxterm .........................................40 Satz 2.34 Min- und Maxterme zu Belegung ..........................................................40 Satz 2.35 Anzahl der Min- und Maxterme ............................................................41 Satz 2.36 Eindeutige Belegungen zu KDNFen und KKNFen ...............................41 Satz 2.37 KDNFen und KKNFen zu Belegungen .................................................41 Satz 2.38 Anzahl der KDNFen und KKNFen .......................................................42 Theorem 2.39 Normalformen zu Aussagefunktionen ...........................................42 Korollar 2.40 .......................................................................................................43 Satz 2.41 Allgemeingültige und widersprüchliche Normalformen .......................43 Definition 2.42 Prädikat ........................................................................................44 Definition 2.43 Alphabet der Prädikatenlogik ......................................................47 Definition 2.44 Termkalkül, Prädikatenlogischer Term ........................................48 Definition 2.45 Formelkalkül, Prädikatenlogische Formel ...................................49 Satz 2.46 Eindeutigkeit der Syntaxdefinition ........................................................50 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Verzeichnis mathematischer Aussagen 3 4 9.8.04 xxiii Satz 2.47 Binden freier Variablen ..........................................................................51 Definition 2.48 Belegung ......................................................................................52 Definition 2.49 Interpretation ................................................................................54 Definition 2.50 Modell Allgemeingültigkeit Erfüllbarkeit ...................................57 Satz 2.51 Abschlüsse Allgemeingültigkeit Erfüllbarkeit ......................................58 Definition 2.52 Logische Äquivalenz ...................................................................58 Satz 2.53 Substitutionslemma ...............................................................................58 Satz 2.54 Gebundene Umbenennung ....................................................................58 Satz 2.55 Bereinigte Form .....................................................................................59 Satz 2.56 Negation .................................................................................................59 Definition 2.57 Duale Formel ...............................................................................59 Theorem 2.58 Dualitätstheorem der Prädikatenlogik ...........................................60 Satz 2.59 Quantoren tauschen, entfernen, einführen .............................................60 Satz 2.60 Quantoren vereinen, trennen ..................................................................61 Satz 2.61 Quantoren verschieben ..........................................................................61 Definition 2.62 Prädikatenlogische Basis .............................................................61 Satz 2.63 Basen .....................................................................................................61 Satz 2.64 Normalformen quantorfreier Formeln ...................................................61 Definition 2.65 Pränexform ...................................................................................62 Satz 2.66 Pränexe Normalform zu Formeln ..........................................................62 Methodik Relationale Strukturen Satz 4.1 Umkehrrelation ..........................................................................................3 Definition 4.2 Nach- und Vorbereich ......................................................................3 Satz 4.3 Bereiche und Mengenoperationen .............................................................4 Definition 4.4 Eigenschaften zweistelliger Relationen ...........................................4 Satz 4.5 Eigenschaften und Bereiche ......................................................................6 Definition 4.6 Bild und Urbild ................................................................................7 Satz 4.7 Bilder und Mengenoperationen .................................................................8 Satz 4.8 Urbilder und Mengenoperationen ..............................................................8 Definition 4.9 Eigenschaften von Abbildungen ......................................................9 Satz 4.10 Eigenschaften, Bilder und Urbilder .........................................................9 Satz 4.11 Mengenoperationen und Umkehrrelation ..............................................11 Satz 4.12 Mengenoperationen und Bereiche .........................................................11 Satz 4.13 Mengenoperationen und Eigenschaften .................................................12 Satz 4.14 Zusammensetzen von Abbildungen .......................................................12 Definition 4.15 Komposition zweistelliger Relationen .........................................12 Satz 4.16 Eigenschaften der Komposition .............................................................13 Satz 4.17 Eigenschaften und Kompositionen ........................................................15 Korollar 4.18 .......................................................................................................15 Definition 4.19 Komposition von Abbildungen ....................................................16 Satz 4.20 Eigenschaften der Komposition .............................................................17 Satz 4.21 Eigenschaften von Inversen ...................................................................17 Satz 4.22 Kriterium für Inverse .............................................................................18 © Karlheinz Hug, Hochschule Reutlingen xxiv Verzeichnis mathematischer Aussagen Satz 4.23 Eigenschaften und Kompositionen ........................................................18 Korollar 4.24 .......................................................................................................18 Definition 4.25 Links- und Rechtsinverse .............................................................18 Korollar 4.26 .......................................................................................................19 Definition 4.27 Kartesisches Produkt von Relationen und Abbildungen .............19 Definition 4.28 Eigenschaften zweistelliger homogener Relationen ....................21 Korollar 4.29 Eigenschaften zugeordneter Relationen .........................................23 Satz 4.30 Beziehungen zwischen Eigenschaften ...................................................23 Satz 4.31 Eigenschaften und Bereiche ..................................................................24 Definition 4.32 Kompositionsprodukt homogener zweistelliger Relationen ........25 Satz 4.33 Eigenschaften und Operationen .............................................................25 Satz 4.34 Operationen und Eigenschaften .............................................................26 Definition 4.35 Intervall ........................................................................................26 Satz 4.36 Eigenschaften und Intervalle .................................................................27 Definition 4.37 Bild und Urbild von Relationen ...................................................27 Satz 4.38 Bilder von Relationen ............................................................................27 Satz 4.39 Urbilder von Relationen ........................................................................28 Definition 4.40 Relationale Morphismen Isomorphie ...........................................28 Korollar 4.41 Bilder, Urbilder und Morphismen ..................................................29 Definition 4.42 Äquivalenzklasse Quotientenmenge ............................................30 Satz 4.43 Eigenschaften von Äquivalenzrelationen ..............................................32 Theorem 4.44 Äquivalenzrelationen und Zerlegungen ........................................33 Definition 4.45 Repräsentantensystem ..................................................................34 Satz 4.46 Charakterisierung von Äquivalenzrelationen ........................................34 Satz 4.47 Faktorisierung einer Abbildung .............................................................35 Satz 4.48 Zerlegung eines Homomorphismus .......................................................36 Satz 4.49 Übertragung eines Homomorphismus ...................................................36 Satz 4.50 Homomorphismen von Äquivalenzrelationen .......................................36 Satz 4.51 Äquivalenzrelation und Halbordnung zu einer Präordnung ..................39 Definition 4.52 Cantorsche Gleichmächtigkeits-definition ..................................39 Definition 4.53 Dedekindsche Endlichkeitsdefinition ..........................................40 Satz 4.54 Gleichmächtigkeit als Äquivalenzrelation .............................................40 Satz 4.55 Isomorphie als Äquivalenzrelation ........................................................40 Definition 4.56 Mächtigkeit ..................................................................................41 Definition 4.57 Natürliche Ordinalzahl .................................................................42 Definition 4.58 Natürliche Kardinalzahl ...............................................................42 Satz 4.59 Endlichkeit ist Natürlichkeit ..................................................................42 Korollar 4.60 .......................................................................................................43 Definition 4.61 Abzählbare und überabzählbare Menge ......................................43 Theorem 4.62 Dualitätsprinzip der Ordnungstheorie ...........................................46 Satz 4.63 Rechenregeln für Ordnungen .................................................................47 Definition 4.64 Nachbarrelation ............................................................................48 Korollar 4.65 .......................................................................................................48 Satz 4.66 Ordnungen und Bereiche .......................................................................49 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Verzeichnis mathematischer Aussagen 5 9.8.04 xxv Definition 4.67 Abgeschlossenes und offenes Intervall ........................................49 Definition 4.68 Kette und Antikette ......................................................................50 Definition 4.69 Kleinstes und größtes Element ....................................................50 Satz 4.70 Eindeutigkeit des kleinsten und größten Elements ................................51 Korollar 4.71 .......................................................................................................51 Definition 4.72 Extrema ........................................................................................52 Satz 4.73 Extrema ..................................................................................................53 Satz 4.74 Extrema von Vereinigung ......................................................................54 Definition 4.75 Schranken Grenzen Infimum Supremum ....................................58 Satz 4.76 Beziehungen zwischen ausgezeichneten Elementen .............................59 Definition 4.77 Isotone und antitone Morphismen Isomorphie ............................60 Satz 4.78 Ordnung und Ordnungsdiagramm .........................................................61 Satz 4.79 Ordnungsisomorphie primitiver Vor- und Nachbereiche ......................61 Definition 4.80 Sortierte Familie ..........................................................................62 Satz 4.81 Vollordnung, kleinste und minimale Elemente ......................................62 Definition 4.82 Wohlordnung ................................................................................63 Satz 4.83 Nachfolgerfunktion einer Wohlordnung ................................................63 Theorem 4.84 Wohlordnungssatz Zermelosches Auswahlaxiom Zornsches Lemma Kettenaxiom ............................................................................63 Definition 4.85 Ordnung der Ordinalzahlen .........................................................64 Satz 4.86 Wohlordnung der Ordinalzahlen ............................................................64 Definition 4.87 Mächtigerrelation .........................................................................65 Satz 4.88 Mächtigerrelation als Präordnung .........................................................65 Satz 4.89 Bernsteinscher Äquivalenzsatz ..............................................................66 Theorem 4.90 Wohlordnung der Kardinalzahlen ..................................................66 Korollar 4.91 .......................................................................................................66 Satz 4.92 Ordnungsregeln für Kardinalzahlen ......................................................67 Korollar 4.93 Sortierte Folge ................................................................................68 Definition 4.94 M-Hülle .......................................................................................71 Definition 4.95 Durchschnittsstabilität .................................................................71 Korollar 4.96 Durchschnittsstabilität und M-Hülle ..............................................72 Definition 4.97 Hüllenoperator .............................................................................72 Satz 4.98 M-Hülle und Hüllenoperator .................................................................72 Korollar 4.99 Durchschnittsstabilität und Hüllenoperator ....................................72 Satz 4.100 Hüllenoperator und Durchschnittsstabilität .........................................73 Korollar 4.101 M-Hülle und Durchschnittsstabilität ............................................73 Definition 4.102 Hüllen von Relationen ...............................................................73 Satz 4.103 Hüllen von Relationen .........................................................................74 Satz 4.104 Hüllen azyklischer Relationen .............................................................74 Korollar 4.105 .....................................................................................................75 Zahlen Satz 5.23 Keine maximale natürliche Zahl ..............................................................1 Korollar 5.24 Archimedisches Axiom ....................................................................1 Satz 5.25 Abzählbarkeit der ganzen Zahlen ............................................................1 © Karlheinz Hug, Hochschule Reutlingen xxvi Verzeichnis mathematischer Aussagen 6 Satz 5.26 Division mit Rest .....................................................................................2 Definition 5.27 Teiler Vielfaches Teiltrelation ........................................................5 Satz 5.28 Rechenregeln zur Teiltrelation .................................................................5 Satz 5.29 Ordnungseigenschaften ...........................................................................5 Satz 5.30 Teilt und Kleinergleich ............................................................................5 Satz 5.31 Existenz und Eindeutigkeit von ggT und kgV .........................................7 Definition 5.32 Größter gemeinsamer Teiler Kleinstes gemeinsames Vielfaches ..7 Satz 5.33 Rechenregeln zum ggT ............................................................................7 Satz 5.34 Kongruenz modulo n ...............................................................................8 Definition 5.35 Primzahl .........................................................................................8 Lemma 5.36 Existenz eines Primteilers ..................................................................8 Satz 5.37 Satz von Euklid ........................................................................................8 Satz 5.38 Abzählbarkeit der rationalen Zahlen .......................................................9 Axiom 5.39 Reelle Zahlen .....................................................................................11 Satz 5.40 Eindeutigkeit der reellen Zahlen ............................................................12 Satz 5.41 Überabzählbarkeit der reellen Zahlen ....................................................13 Definition 5.42 Operationen mit reellen Funktionen ............................................14 Definition 5.43 Größenordnung Groß-O-Notation ...............................................15 Satz 5.44 Rechenregeln zu Größenordnungen ......................................................16 Satz 5.45 Markante Größenordnungen ..................................................................16 Algebraische Strukturen Definition 6.1 Gruppoid ..........................................................................................1 Definition 6.2 Assoziativität Kommutativität Halbgruppe .....................................1 Definition 6.3 Verknüpfung mehrerer Elemente .....................................................2 Satz 6.4 Klammerverzicht bei Assoziativität ..........................................................2 Satz 6.5 Umordnung bei Kommutativität ................................................................2 Definition 6.6 Neutrales Element Eins Monoid ......................................................2 Definition 6.7 Null ..................................................................................................3 Definition 6.8 Idempotentes Element ......................................................................3 Definition 6.9 Gleichung Lösung ............................................................................3 Definition 6.10 Teiler Teilbarkeit ............................................................................3 Definition 6.11 Kürzbarkeit .....................................................................................4 Korollar 6.12 Kürzbarkeit .......................................................................................4 Lemma 6.13 Kürzbarkeit ........................................................................................4 Definition 6.14 Lösbarkeit Quasigruppe .................................................................5 Korollar 6.15 Lösbarkeit .........................................................................................5 Korollar 6.16 Endlichkeit, Kürzbarkeit und Lösbarkei ..........................................5 Satz 6.17 Endlichkeit und Lösbarkeit ......................................................................5 Satz 6.18 Kürzbarkeit und Lösbarkeit .....................................................................6 Satz 6.19 Lösbarkeit und Eins .................................................................................6 Definition 6.20 Inverses Element Invertierbarkeit Gruppe .....................................6 Satz 6.21 Inverse Elemente .....................................................................................7 Satz 6.22 Charakterisierung von Gruppen ...............................................................9 Satz 6.23 Charakterisierung endlicher Gruppen ....................................................10 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 Verzeichnis mathematischer Aussagen xxvii Definition 6.24 Abgeschlossenheit Unterstruktur .................................................10 Satz 6.25 Durchschnittsstrukturen .........................................................................11 Definition 6.26 Erzeugte Struktur Erzeugendensystem ........................................12 Definition 6.27 Verbindung ...................................................................................12 Definition 6.28 Morphismen Isomorphie ..............................................................13 Satz 6.29 Bijektive Homomorphismen ..................................................................13 Satz 6.30 Injektion eines Untergruppoids ..............................................................14 Definition 6.31 Komplexprodukt ..........................................................................14 Definition 6.32 Komplexinverse ...........................................................................14 Satz 6.33 Rechenregeln für Komplexprodukt und Komplexinverse .....................15 Satz 6.34 Charakterisierung von Untergruppen ....................................................15 Definition 6.35 Potenz eines Elements .................................................................15 Satz 6.36 Rechenregeln für Potenzen eines Elements ...........................................16 Definition 6.37 Potenz einer Menge .....................................................................16 Korollar 6.38 Charakterisierung von Untergruppoiden ........................................16 Satz 6.39 Rechenregeln für Potenzen einer Menge ...............................................17 Satz 6.40 Hüllen und Potenzen ..............................................................................17 Definition 6.41 Verträgliche Relation Kongruenz Geordnete Struktur .................18 Satz 6.42 Verträglichkeit .......................................................................................18 Satz 6.43 Produktgruppoid ....................................................................................18 Lemma 6.44 Induzierte Kongruenz ......................................................................19 Satz 6.45 Faktorgruppoid ......................................................................................19 9.8.04 © Karlheinz Hug, Hochschule Reutlingen xxviii © Karlheinz Hug, Hochschule Reutlingen Verzeichnis mathematischer Aussagen 9.8.04 Programmverzeichnis 1 2 3 4 5 6 Mengen Logik Methodik Relationale Strukturen Programm 4.1 Gleichmächtigkeit von Mengen ...................................................39 Programm 4.2 Mächtigkeit einer Menge ..............................................................44 Programm 4.3 Element mit Eigenschaft ..............................................................44 Programm 4.4 Struktogramm: Minimum von zwei Elementen ...........................54 Programm 4.5 Minimum von zwei Elementen ....................................................55 Programm 4.6 Struktogramm: Minimum von drei Elementen ............................55 Programm 4.7 Struktogramm: Minimum einer Kette ..........................................56 Programm 4.8 Minimum einer Kette ...................................................................56 Programm 4.9 Minimum einer Kette, verbesserte Variante .................................56 Programm 4.10 Minima einer halbgeordneten Menge .........................................57 Programm 4.11 Struktogramm: Sortiertsein einer Folge .....................................69 Programm 4.12 Sortiertsein einer Folge ..............................................................69 Programm 4.13 Sortiertsein einer Folge verbesserte Version ..............................69 Zahlen Programm 5.1 Binäres Suchen .............................................................................16 Programm 5.2 Sortieren durch Auswählen ..........................................................17 Algebraische Strukturen © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 xxix xxx © Karlheinz Hug, Hochschule Reutlingen Programmverzeichnis 9.8.04 Tabellenverzeichnis 1 2 3 4 5 6 Mengen Tabelle 1.1 Mengen und Datentypen .......................................................................5 Tabelle 1.2 Variablen Vereinbarungen Vergleiche ...................................................5 Tabelle 1.3 Menge und Datentyp SET ..................................................................13 Tabelle 1.4 Relation als Tabellen ...........................................................................19 Tabelle 1.5 Wertetabelle der Zweierpotenzfunktion .............................................21 Tabelle 1.6 Verknüpfungstabelle kleines Einmaleins ............................................23 Tabelle 1.7 Mathematische und programmiersprachliche Funktionen .................25 Tabelle 1.8 Kartesisches Produkt und strukturierte Datentypen ...........................31 Tabelle 1.9 Strukturen ...........................................................................................32 Logik Tabelle 2.1 Aussagen und Befehle ..........................................................................2 Tabelle 2.2 Wahrheitswerte und boolesche Datentypen ..........................................4 Tabelle 2.3 Variablen Vereinbarungen .....................................................................4 Tabelle 2.4 Logische Operationen ...........................................................................5 Tabelle 2.5 Wahrheitstabellen der logischen Operationen ......................................7 Tabelle 2.6 Zusammengefasste Wahrheitstabelle ..................................................10 Tabelle 2.7 Wahrheitstabelle zu einer Aussage .....................................................11 Tabelle 2.8 Kompakte Wahrheitstabelle zu einer Aussage ...................................11 Tabelle 2.9 Allgemeine Wahrheitstabelle ..............................................................12 Tabelle 2.10 Wahrheitstabelle - Beispiel ...............................................................16 Tabelle 2.11 Wahrheitstabelle einer dreistelligen Aussagefunktion ......................19 Tabelle 2.12 Aussagen in Programmiersprachen ..................................................29 Tabelle 2.13 Wahrheitstabelle für lange Auswertung ............................................30 Tabelle 2.14 Wahrheitstabelle für kurze Auswertung ...........................................30 Tabelle 2.15 Einstellige aussagenlogische Operationen ........................................32 Tabelle 2.16 Zweistellige aussagenlogische Operationen .....................................32 Tabelle 2.17 Kanonische Normalformen zweistelliger Aussagefunktionen .........37 Tabelle 2.18 Kompakte Wahrheitstabelle ..............................................................37 Methodik Relationale Strukturen Tabelle 4.1 Spezielle kartesische Produkte von Relationen und Abbildungen .....20 Zahlen Tabelle 5.1 Beispiel für nichtnegativen Rest ...........................................................4 Tabelle 5.2 Beispiel für vorzeichenbehafteten Rest ................................................4 Tabelle 5.3 Exemplarische Näherungswerte markanter Wachstumsfunktionen ...16 Tabelle 5.4 Realtypen in Component Pascal .........................................................20 Tabelle 5.5 Reelle Zahlen und Gleitpunktzahlen ..................................................20 Algebraische Strukturen Tabelle 6.1 Verknüpfungstabelle eines Gruppoids ..................................................1 © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 xxxi xxxii Tabellenverzeichnis Tabelle 6.2 Verknüpfungstabelle der Linksnullhalbgruppe mit drei Elementen .....7 A ISO 8859-1 Zeichencode Latin1 Tabelle A.1 Spaltenform ..........................................................................................1 Tabelle A.2 Matrixform ...........................................................................................3 B Literaturverzeichnis © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1 Mengen AufgabeBeispiel 1 Bild 1 1 (1) MathAussagen Leitlinie Programm 1 1 1 Tabelle 1 Wir starten mit der Mengenlehre (set theory), die zusammen mit der Logik die Grundlage der Mathematik und der theoretischen Informatik bildet. Mengen kennt jeder: eine Menge FreundInnen, eine Menge Glück, eine Menge Äpfel, Mengen von Ameisen, Autos, Büroklammern, Notizzetteln und Handynummern. 1.1 Grundbegriffe Unter einer „Menge“ verstehen wir jede Zusammenfassung M von bestimmten, wohlunterschiedenen Objecten unserer Anschauung oder unseres Denkens (welche die „Elemente“ von M genannt werden) zu einem Ganzen. Georg Cantor1 Es gibt also Objekte, die in einer Teil-Ganzes-Beziehung zueinander stehen können. Definition 1.1 Menge Element Elementrelation Wir schreiben x∈M und nennen das Objekt M eine Menge (set), das Objekt x ein Element von M, und „∈“ die Elementrelation. „x ∈ M“ lesen wir als x ist Element der Menge M, x gehört zu M, x ist in M enthalten oder M enthält x. „x ∈ M“ ist eine Aussage (streng genommen eine Aussageform), die wahr oder falsch sein kann. Das Gegenteil davon ist: x∉M x ist nicht in M enthalten. Die umgekehrten Relationen lauten: M∋x M enthält x. M /∋ x M enthält x nicht.a a Der Schrägstrich „/“ sollte „∋“ durchstreichen, doch leider fehlt dieses Zeichen im Zeichensatz unseres Textsystems. Beispielsweise ist die LeserIn dieses Satzes ein Element der Menge der Studierenden der Hochschule Reutlingen - oder nicht? Eigentlich wäre zunächst zu klären, was Aussagen sind, bevor wir uns mit Beziehungen zwischen und Aussagen über Mengen befassen. Aussagen sind Gegenstand der Aussagenlogik, die wir in Kapitel 2 behandeln - doch nutzen wir dort den Begriff Menge zum Definieren des Begriffs Aussage. In diesem Kapitel verwenden wir die Logik intuitiv. Definition 1.2 Gleichheit von Mengen Die Mengen M und N heißen gleich (identisch, equal), M = N, wenn sie dieselben Elemente enthalten, d.h. wenn für jedes x gilt: x∈M genau dann, wenn x ∈ N; ungleich (unequal), M ≠ N, wenn sie nicht gleich sind, also sich in mindestens einem Element unterscheiden. 1 Georg Cantor (1845 - 1918), deutscher Mathematiker, begründete die Mengenlehre, Zitat aus [30] zitiert nach [6]. © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Kapitel 1 - Seite 1 von 40 1-2 Korollar 1.3 1 Mengen Für beliebige Mengen L, M, N gilt: (1) (2) (3) (4) Definition 1.4 Endliche Menge 1.1.1 M = M. M = N genau dann, wenn N = M. M ≠ N genau dann, wenn N ≠ M. Aus L = M und M = N folgt L = N. Reflexivität Symmetrie Symmetrie Transitivität Eine Menge heißt endlich (finite), wenn sie nur endlich viele Elemente hat, sonst unendlich (infinite). Eine exakte Definition folgt in Kapitel 4. Beschreibungen von Mengen Wie beschreiben wir eine Menge? Auf zwei Arten: l l extensional, wenn die Menge endlich ist, indem wir ihre Elemente aufzählen; z.B. beschreibt M = {1, 2, 3} die Menge der ersten drei natürlichen Zahlen; intensional, indem wir die Elemente der Menge charakterisieren, also eine definierende Eigenschaft, Aussage oder Bedingung angeben; z.B. beschreibt M = {x | x ist eine Primzahl} die Menge der Primzahlen, gelesen als „M ist die Menge aller x mit der Eigenschaft: x ist Primzahl.“. Das Beispiel zeigt, dass man auch unendliche Mengen intensional beschreiben kann. Welche Zeichen benutzen wir dazu und was bedeuten sie? Zwei Arten: Namen l Kombinationszeichen l Namen, wobei wir zwei Arten unterscheiden: ■ In {1, 2} sind 1 und 2 Namen für Elemente; hier handelt es sich um literale Konstanten, d.h. feste Namen für bestimmte Werte. Literal, d.h. buchstäblich bedeutet: 1 bezeichnet den Zahlenwert 1, gesprochen „eins“. ■ In M = N sind M und N Namen für Mengen; hier handelt es sich um Variablen, d.h. frei wählbare Namen für unbestimmte Mengen. In {x | x ist gerade} ist x ein frei wählbarer Name für die Elemente, ein Platzhalter für die Werte 2, 4, 6,.., die zur Menge gehören. Meist verwenden wir für Mengen kursive Großbuchstaben L, M, N,.., für Elemente kursive Kleinbuchstaben x, y, z,... als Variablennamen. Kombinationszeichen wie die geschweiften Klammern „{“ und „}“, die die Elemente einer Menge umfassen, das Komma „ , “, das die Elemente trennt, der senkrechte Strich „|“, den wir als „mit der Eigenschaft“ lesen, das „∈“, das ein Element und eine Menge zu einer Aussage kombiniert, und das Gleichheitszeichen „=“, das zwei Mengen zu einer Aussage kombiniert. Nach Definition 1.2 kann ein Element nur einmal in einer Menge vorkommen (auch wenn es mehrfach hingeschrieben ist). Die Anordnung der Elemente ist belanglos: Abkürzungen 1 ∈ {1, 3, 5} = {1, 3, 1, 3, 5, 3} = {5, 3, 5, 1, 5, 3, 5} ≠ {4, 5, 6} /∋ 1. Beziehungsketten wie diese nutzen eine abkürzende Schreibweise, z.B. ist x∈M=N x ∈ M, y ∈ N x, y ∈ M zu lesen als zu lesen als zu lesen als x ∈ M und M = N, x ∈ M und y ∈ N, x ∈ M, y ∈ M. Einelementige Mengen sind von ihrem Element zu unterscheiden: x ≠ {x} ≠ {{x}}, © Karlheinz Hug, Hochschule Reutlingen aber x ∈ {x} ∈ {{x}}. 9.8.04 1.1 Grundbegriffe 1-3 Nur endliche Mengen lassen sich extensional exakt beschreiben. Aufzählungen mit Punkten sind ungenau, aber hoffentlich intuitiv zu erfassen: {0, 1, 2,.., 9}, {0, 2, 4, 6,...}, {2, 3, 5, 7,...}. Eine abkürzende Schreibweise bei intensional beschriebenen Mengen ist Definierende Gleichheit {x ∈ M | E(x)} := {x | x ∈ M und E(x)}, wobei E(x) für eine informal oder formal angegebene Eigenschaft von x steht. Das Symbol „:=“ liest sich „ist definitionsgemäß gleich“, es bedeutet definierende Gleichheit: Die rechte, bekannte Seite definiert die linke, neue Seite. Die Gleichheit von Elementen lässt sich analog zur Gleichheit von Mengen definieren. Definition 1.5 Gleichheit von Elementen Die Elemente x und y heißen gleich, x = y, wenn sie zu denselben Mengen gehören, d.h. wenn für jede Menge M gilt: x∈M genau dann, wenn y ∈ M; ungleich, x ≠ y, wenn sie nicht gleich sind. Mit intensionaler Mengenbeschreibung ergibt sich: x = y genau dann, wenn x und y jede Eigenschaft gemeinsam haben. Diese auf Leibniz1 zurückgehende Definition der Gleichheit setzt freilich voraus, dass der Begriff „Eigenschaft eines Objekts“ geklärt ist. 1.1.2 M M Russellsche Antinomie Auf Cantors Definition von Mengen basiert die naive Mengenlehre, die durchaus Tükken birgt. Betrachten wir z.B. die Menge aller Mengen, die sich nicht selbst enthalten: R = {M | M ∉ M}. Aus R ∈ R folgt R ∉ R. Aus R ∉ R folgt R ∈ R. Also gilt R ∈ R genau dann, wenn R ∉ R. Das ist offenbar ein Widerspruch! Die Überlegung ist als russellsche Antinomie bekannt.2 Sprachliche Antinomien wie „Dieser Satz ist falsch.“, die schon der Kreter Epimenides um 600 v.u.Z. kannte, treten auf, wenn man Aussagen über Dinge und Aussagen über Aussagen vermischt. Ähnliche Probleme entstehen in der Informatik, wenn sich Datenobjekte auf sich selbst beziehen. Um mengentheoretische Antinomien auszuschließen, entwickelten Mathematiker Anfang des 20. Jahrhunderts die axiomatische Mengenlehre. Wir gehen nicht darauf ein, sondern begnügen uns mit einer Leitlinie. Leitlinie 1.1 Mengenbildung Sei vorsichtig bei Mengenbildungen der Art „Die Menge aller Mengen mit der Eigenschaft...“! 1 Gottfried Wilhelm Leibniz (1646 - 1716), deutscher Philosoph, Mathematiker, Universalgelehrter, begründete die mathematische Logik und die Infinitesimalrechnung, entwickelte eine funktionsfähige Rechenmaschine für die vier Grundrechenarten, entdeckte das Dualsystem. 2 Bertrand (Earl of) Russell (1872 - 1970), britischer Mathematiker, Philosoph, Schriftsteller, Pazifist, Nobelpreisträger. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1-4 1 Mengen 1.2 Beispiele für Mengen Leere Menge Nach Definition 1.2 kann es nur eine Menge geben, die kein Element enthält; sie heißt leere Menge (empty set) und wird mit ∅ oder {} bezeichnet. Alphabete In der Informatik sind Zeichenmengen besonders wichtig. Ein Zeichen (character) ist ein zur Darstellung von Information vereinbartes Objekt. Ein Alphabet oder Zeichensatz (Zeichenvorrat, character set) ist eine endliche Menge von Zeichen. Ein Zeichen, dem wir eine Bedeutung beimessen, nennen wir Symbol. Menge = Alphabet {a, b, c,.., z, A, B, C,.., Z} {α, β, χ,.., ζ, Α, Β, Χ,.., Ζ} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {0,.., 9, A, B, C, D, E, F} {0, 1} {∈, ∉, ∋, /∋, =, ≠, ⊆, ⊂, /⊆, ⊄, ⊇, ⊃} {+, −, ∗, /} Elemente = Zeichen lateinische Buchstaben griechische Buchstaben Dezimalziffern Hexadezimalziffern Binärzeichen, Dualziffern, Wahrheitswerte Relationen der Mengenlehre arithmetische Operationen Ein numerisches (numeric) Zeichen gehört zu einem Alphabet von Ziffern und Sonderzeichen zur Darstellung von Zahlen. Ein alphanumerisches (alphanumeric) Zeichen gehört zu einem Alphabet, das mindestens die Buchstaben und Dezimalziffern enthält. Ein Binärzeichen (binary element) oder Bit (binary digit) ist ein Zeichen aus einem beliebigen Alphabet von zwei Zeichen, Binäralphabet genannt. Zahlenmengen Gängige Zahlenmengen bezeichnen wir in diesem Skript wie üblich mit doppelt gestrichenen Großbuchstaben so: Menge = Zahlenmenge lB = {0, 1} lP = {2, 3, 5, 7, 11, 13, 17, 19,...} lN = {1, 2, 3,...} lN = {0, 1, 2, 3,...} 0 ' 3 ! Namen Elemente = Zahlen boolesche Werte, Wahrheitswerte Primzahlen natürliche Zahlen lN mit 0, nichtnegative ganze Zahlen = {..., −2, −1, 0, 1, 2,...} = {p / q | p ∈ , q ∈ lN} ganze Zahlen rationale Zahlen reelle Zahlen = {x + i ∗ y | x, y ∈ } komplexe Zahlen, i := √−1 Betrachten wir noch einmal die Frage der Namen: ' ! x ∈ {a,.., z} bedeutet: x ist eine literale Konstante, nämlich der Wert x aus der Menge der Kleinbuchstaben. Als Name für eine Buchstabenvariable (d.h. eine Variable, die Werte aus einer Menge von Buchstaben annehmen kann) können wir keinen Buchstaben, sondern müssen ein anderes Zeichen wählen, z.B. einen griechischen Buchstaben: α ∈ {a,.., z}. Allgemein gilt: Der Name einer Variablen, die ein Element einer Menge bezeichnet, darf nicht mit einem Namen eines Werts dieser Menge übereinstimmen. Zudem müssen sich Wertenamen und Variablennamen von Kombinationszeichen unterscheiden. x∈ ! bedeutet: x ist eine reelle (Zahlen-)variable, ihr Wert ist eine beliebige, unbestimmte reelle Zahl. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.2 Beispiele für Mengen 1-5 Kapitel 5 befasst sich ausführlich mit Zahlen. Hier genüge der Hinweis, dass den Zahlenmengen der Mathematik in vielen Programmiersprachen Zahlen-Datentypen entsprechen, die jedoch stets nur endliche Wertebereiche haben. Programmiersprachen bieten auch Datentypen, deren Wertebereiche die Zeichen eines bestimmten Zeichensatzes sind. Meist lösen sie das Problem, literale Zeichenkonstanten von Variablennamen zu unterscheiden, indem sie Zeichenkonstanten mit Hochkommas klammern. Tabelle 1.1 Mengen und Datentypen Mathematik Menge Elemente Operationen Datentyp Werte Operationen Zeichensatz a,.., z, 0,.., 9,... =≠<>≤≥ CHAR, unsigned char ’a’,.., ’z’, ’0’,.., ’9’,... = # < > <= >= 0, 1, 2,... + − ∗ / modulo =≠<>≤≥ NATURAL, unsigned int 0, 1, 2,... INTEGER, int ..., -1, 0, 1,... lN 0 ' 3 ! Pascal* und C* Programmiersprachen 0, ±1, ±2,... 1/2, −3/4,... +−∗/ =≠<>≤≥ 9 5,678∗10 0.5, -0.75,... REAL, float 5.678E9 + - * DIV MOD = # < > <= >= +-*/ = # < > <= >= Wir weisen gelegentlich auf weitere Entsprechungen zwischen mathematischen und programmiersprachlichen Begriffen hin. Dabei beschränken wir uns auf zwei Familien imperativer, d.h. anweisungsorientierter Programmiersprachen: Pascal* steht für Sprachen im Entwicklungsbaum von Pascal1 wie Modula, Oberon2, Component Pascal, Ada3, Eiffel4; C* für Sprachen im Entwicklungsbaum von C wie C++, Java, C#. Sowohl in der Mathematik als auch in Programmen sind alle Objekte zu vereinbaren, bevor man über sie Aussagen treffen oder sie in Ausdrücken oder Anweisungen benutzen darf. Die folgende Tabelle zeigt Entsprechungen; auf die Unterschiede zwischen dem mathematischen und dem programmiersprachlichen Variablenbegriff gehen wir hier nicht ein. Tabelle 1.2 Variablen Vereinbarungen Vergleiche Begriff Variable Programmiersprachen Mathematik n, x Pascal* C* n, x ! Vereinbarung Sei n ∈ lN0, x ∈ . VAR n : NATURAL; x : REAL; unsigned int n; float x; Gleichheit x=y x=y x == y Ungleichheit x≠y x # y, x /= y, x <> y x != y 1 Blaise Pascal (1623 - 1662), französischer Philosoph, Mathematiker, entwickelte als einer der Ersten eine Rechenmaschine für Addition und Subtraktion, begründete die Wahrscheinlichkeitsrechnung. 2 Oberon, Herrscher der Geister, Gatte der Feenkönigin Titania in William Shakespeares „Ein Sommernachtstraum“; ein Mond des Uranus, in den 80er Jahren von einer Voyager-Sonde passiert. 3 Augusta Ada (Countess of) Lovelace, geb. Byron (1815 - 1852), britische Mathematikerin, Mitarbeiterin des Rechnerpioniers Charles Babbage, erste Programmiererin. 4 Gustave Eiffel (1832 - 1923), französischer Ingenieur, konstruierte Bahnhöfe, Brücken und den Eiffelturm. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1-6 1.3 1 Mengen Beziehungen zwischen Mengen Definition 1.6 Teilmenge Wir definieren Teilmengenrelationen für Mengen M, N. „⊆“ heißt Inklusion, „⊂“ strikte Inklusion.a M heißt eine Teilmenge (Untermenge, subset) von N, N heißt eine Obermenge (superset) von M, N umfasst (includes) M, M⊆N genau dann, wenn jedes Element von M auch Element von N ist, d.h. genau dann, wenn für jedes x gilt: aus x ∈ M folgt x ∈ N. M heißt eine echte Teilmenge (proper subset) von N, N heißt eine echte Obermenge (proper superset) von M, M⊂N M ⊆ N und M ≠ N. genau dann, wenn Die negierten Relationen lauten: M /⊆ N M⊄N nicht M ⊆ N.b nicht M ⊂ N. genau dann, wenn genau dann, wenn Die umgekehrten Relationen lauten: M⊇N M⊃N N ⊆ M. N ⊂ M. genau dann, wenn genau dann, wenn a In der Literatur dient „⊂“ auch als Symbol für die nicht strikte Inklusion; für die strikte Inklusion ist dann eine Kombination aus „⊂“ und „≠“ zu verwenden, die es im Zeichensatz unseres Textsystems nicht gibt. b Beispiele Der Schrägstrich „/“ sollte „⊆“ durchstreichen, leider fehlt dieses Zeichen im Zeichensatz. Beispielsweise gilt {1, 2} ⊆ {1, 2}, {1, 2} ⊂ {1, 2, 3}, {1, 2} /⊆ {1, 3}, {1, 2} ⊄ {3}, {1, 2, 3} ⊇ {1, 2}, {1, 2, 3} ⊃ {2}. ∈, ⊆ und ⊂ sind scharf zu unterscheiden. Es ist zwar 1 ∈ {1, 2}, aber weder 1 ⊆ {1, 2} noch 1 ⊂ {1, 2}, wohl aber {1} ⊆ {1, 2} und {1} ⊂ {1, 2}. Euler-Venn-Diagramm Um Mengen zu veranschaulichen, kann man sie grafisch durch Mengen-, Euler- oder Venn-Diagramme1 darstellen: als geschlossene Kurven, die die ggf. durch Punkte dargestellten Elemente umschließen. Man nennt deshalb Elemente auch gern Punkte. Mengen können verschieden zueinander liegen: Bild 1.1 Mengenbeziehungen N M M M M N N N 1 Leonhard Euler (1707 - 1783), schweizer Mathematiker, Physiker, begründete die Graphentheorie und die Variationsrechnung. John Venn (1834 - 1923), britischer Logiker, Philosoph. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.3 Beziehungen zwischen Mengen Korollar 1.7 1-7 Für beliebige Mengen L, M, N gilt: M ⊆ N genau dann, wenn M ⊂ N oder M = N. ∅ ⊆ M. Aus M ≠ ∅ folgt ∅ ⊂ M. M ⊆ M. M ⊄ M. Aus M ⊆ N und N ⊆ M folgt M = N. M ⊆ N und N ⊆ M genau dann, wenn M = N. Aus M ⊂ N folgt N ⊄ M. Aus L ⊆ M und M ⊆ N folgt L ⊆ N. Aus L ⊂ M und M ⊂ N folgt L ⊂ N. (1) (2) (3) (4) (5) (6) (7) (8) (9) Reflexivität Irreflexivität Antisymmetrie, Identitivität Asymmetrie Transitivität Die Antisymmetrie verwendet man oft, um die Gleichheit von Mengen zu zeigen - man zeigt, dass beide Inklusionen gelten. Aufgrund von (7) könnte man die Gleichheit mittels der Inklusion definieren. Beachte, dass aus M /⊆ N nicht folgt N ⊆ M! Für die Zahlenmengen gilt die Inklusionskette: lN ⊂ lN 0 ⊂ ' ⊂ 3 ⊂ ! ⊂ . Auch Mengen lassen sich zu Mengen zusammenfassen, man erhält so Mengensysteme. Definition 1.8 Potenzmenge Die Potenzmenge (power set) einer Menge M ist die Menge aller Teilmengen von M: P(M) := {N | N ⊆ M}. Warnt nicht Leitlinie 1.1 vor der Potenzmengenbildung? Nein, sie ist ungefährlich: Wenn eine Menge widerspruchsfrei ist, so ist es auch die Menge ihrer Teilmengen. Beispiele Korollar 1.9 P(∅) P({1}) P({1, 2}) P({1, 2, 3}) = {∅}. = {∅, {1}}. = {∅, {1}, {2}, {1, 2}}. = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Für Mengen M, N gilt: Aus N ⊆ M folgt P(N) ⊆ P(M). Aus N ⊂ M folgt P(N) ⊂ P(M). Abkürzungen Monotonie Wir schreiben auch P{1, 2, 3} statt P({1, 2, 3}). Allgemein lassen wir äußere runde Klammern dann weg, wenn das durch sie Geklammerte selbst geklammert ist und dadurch keine Mehrdeutigkeiten entstehen: f(...) f[...] f{...} 9.8.04 statt statt statt f((...)), f([...]), f({...}). © Karlheinz Hug, Hochschule Reutlingen 1-8 1.4 1 Mengen Operationen mit Mengen Definition 1.10 Durchschnitt Vereinigung Differenz symmetrische Differenz Seien M, N Mengen. Der Durchschnitt (intersection) von M und N ist die Menge der Elemente, die sowohl in M als auch in N enthalten sind: M ∩ N := {x | x ∈ M und x ∈ N}, M geschnitten N. Die Vereinigung (union) von M und N ist die Menge der Elemente, die in M oder in N (einschließlich in beiden Mengen) enthalten sind: M ∪ N := {x | x ∈ M oder x ∈ N}, M vereinigt N. Die Differenz (difference) von M und N ist die Menge der Elemente, die in M, aber nicht in N enthalten sind: M \ N := {x | x ∈ M und x ∉ N}, M ohne N. Die symmetrische Differenz (symmetric difference) von M und N ist die Menge der Elemente, die in genau einer der beiden Mengen enthalten sind: M ∆ N := (M \ N) ∪ (N \ M), M Delta N. Die runden Klammern „(“ und „)“ steuern die Reihenfolge der Operationen: von innen nach außen. {1, 2, 3} ∩ {3, 4} {1, 2, 3} ∪ {3, 4} {1, 2, 3} \ {3, 4} {3, 4} \ {1, 2, 3} {1, 2, 3} ∆ {3, 4} Beispiele Bild 1.2 Mengenoperationen = {3}. = {1, 2, 3, 4}. = {1, 2}. = {4}. = {1, 2, 4}. M M M∪N M∩N N N M\N M M N Definition 1.11 Komplement M∆N N Sind M, G Mengen mit M ⊆ G, so heißt MG := G \ M das Komplement (complement) von M in G. Ist G als Grundmenge (universal set, universe) festgelegt, so heißt M := M c := MG einfach das Komplement von M.a a Die Notation Mc benötigen wir bei doppeltem Komplement, da das Textsystem nicht doppelt überstreichen kann. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.4 Operationen mit Mengen Bild 1.3 Komplement 1-9 G MG M Definition 1.12 Disjunktheit Die Mengen M und N heißen disjunkt (elementfremd, disjoint), wenn sie keine gemeinsamen Elemente enthalten, also wenn ihr Durchschnitt leer ist: M ∩ N = ∅. Nicht disjunkte Mengen schneiden (überlappen) sich, sie enthalten gemeinsame Elemente: M ∩ N ≠ ∅. 1.4.1 Rechenregeln Der Teil der Mengenlehre, der sich mit den Mengenoperationen befasst, heißt Mengenalgebra. Dass die folgenden Rechenregeln gelten, überlegt man sich leicht anhand von Mengendiagrammen oder schon bewiesener Regeln. Satz 1.13 Inklusion Durchschnitt Vereinigung Für beliebige Mengen L, M, N gilt: (1) (2) (3) (4) (5) M ∩ N ⊆ M. M ⊆ M ∪ N. M ∩ N = M genau dann, wenn M ⊆ N. M ∪ N = N genau dann, wenn M ⊆ N. M ∪ N ⊆ M ∩ N genau dann, wenn M = N. Aus L ⊆ M folgt L ∩ N ⊆ M ∩ N. Aus L ⊆ M folgt L ∪ N ⊆ M ∪ N. L ⊆ M und L ⊆ N genau dann, wenn L ⊆ M ∩ N. L ⊆ N und M ⊆ N genau dann, wenn L ∪ M ⊆ N. Simplifikation Monotonie Infimum Supremum Aufgrund von (2) könnte man die Inklusion mittels der Gleichheit und des Durchschnitts oder der Vereinigung definieren. Satz 1.14 Durchschnitt Vereinigung Für beliebige Mengen L, M, N gilt: (1) (2) (3) (4) (5) (6) (7) 9.8.04 M ∩ M = M. Idempotenz M ∪ M = M. M ∩ ∅ = ∅. Operation mit leerer Menge M ∪ ∅ = M. M ∩ N = N ∩ M. Kommutativität M ∪ N = N ∪ M. (L ∩ M) ∩ N = L ∩ (M ∩ N). Assoziativität (L ∪ M) ∪ N = L ∪ (M ∪ N). L ∩ (M ∪ N) = (L ∩ M) ∪ (L ∩ N). Distributivität L ∪ (M ∩ N) = (L ∪ M) ∩ (L ∪ N). M ∩ (M ∪ N) = M. Absorption, Adjunktivität, M ∪ (M ∩ N) = M. Verschmelzung M ⊆ N und M ∩ N = ∅ genau dann, wenn M = ∅. © Karlheinz Hug, Hochschule Reutlingen 1 - 10 1 Mengen Beweis. Exemplarisch beweisen wir die erste Regel von (5). Für jedes x gilt: x ∈ L ∩ (M ∪ N) x ∈ L und x ∈ M ∪ N x ∈ L und (x ∈ M oder x ∈ N) (x ∈ L und x ∈ M) oder (x ∈ L und x ∈ N) x ∈ L ∩ M oder x ∈ L ∩ N x ∈ (L ∩ M) ∪ (L ∩ N). genau dann, wenn genau dann, wenn genau dann, wenn genau dann, wenn genau dann, wenn Die Distributivregel für Mengen basiert auf der Distributivregel der Aussagenlogik, die p wir in Kapitel 2 kennen lernen. Aufgrund der Assoziativität können wir Klammern sparen und definieren: L ∩ M ∩ N := (L ∩ M) ∩ N. L ∪ M ∪ N := (L ∪ M) ∪ N. Aus der Kommutativität und der linksseitigen Distributivität (5) folgt die rechtsseitige, also beidseitige Distributivität. Satz 1.15 Differenz Für beliebige Mengen L, M, N gilt: (1) (2) (3) (4) (5) (6) (7) (8) (9) M \ N ⊆ M. M \ N = M genau dann, wenn M ∩ N = ∅. M \ N = ∅ genau dann, wenn M ⊆ N. M \ M = ∅. Operation mit sich selbst M \ ∅ = M. Operation mit leerer Menge ∅ \ M = ∅. M = (M ∩ N) ∪ (M \ N). disjunkte Vereinigung M ∪ N = (M \ N) ∪ N = (M \ N) ∪ (M ∩ N) ∪ (N \ M). Aus L ⊆ M folgt L \ N ⊆ M \ N. Monotonie Aus L ⊆ M folgt N \ M ⊆ N \ L. Antitonie (L ∩ M) \ N = (L \ N) ∩ (M \ N) = (L \ N) ∩ M. rechtsseitige Distributivität (L ∪ M) \ N = (L \ N) ∪ (M \ N). (10) L \ (M ∩ N) = (L \ M) ∪ (L \ N). L \ (M ∪ N) = (L \ M) ∩ (L \ N). (11) (L \ M) \ N = L \ (M ∪ N). L \ (M \ N) = (L \ M) ∪ (L ∩ N). (12) (L \ M) ∪ N = (L ∪ N) \ (M \ N). (13) M \ (M \ N) = M ∩ N. Regeln von de Morgana Sind M, N Teilmengen der Grundmenge G, so gilt: (14) M \ N = M ∩ N. a Augustus de Morgan (1806 - 1871), britischer Logiker, Mathematiker. Aufgrund von (13) lässt sich der Durchschnitt mittels Differenz ausdrücken. Aufgrund von (14) lässt sich die Differenz mittels Durchschnitt und Komplement ausdrücken. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.4 Operationen mit Mengen Satz 1.16 Komplement Sind L, M, N Teilmengen der Grundmenge G, so gilt: (1) (2) (3) (4) (5) (6) (7) (8) (9) Dualität 1 - 11 M ∩ G = M. M ∪ G = G. M ∩ M = ∅. M ∪ M = G. M = (M ∩ N) ∪ (M ∩ N). Operation mit Grundmenge Operation mit Komplement disjunkte Vereinigung = M. doppeltes Komplement, Involution G = ∅. ∅ = G. Regeln von de Morgan M ∩ N = M ∪ N. M ∪ N = M ∩ N. Antitonie M ⊆ N genau dann, wenn N ⊆ M. M ⊂ N genau dann, wenn N ⊂ M. M ⊆ N genau dann, wenn M ∩ N = ∅. M ⊆ N genau dann, wenn M ∪ N = G. L ∩ M ⊆ N genau dann, wenn L ⊆ M ∪ N. L ⊆ M ∪ N genau dann, wenn L ∩ M ⊆ N. (Mc)c Aufgrund der Regeln von de Morgan lässt sich der Durchschnitt mittels Komplement und Vereinigung, die Vereinigung mittels Komplement und Durchschnitt ausdrücken. Aufmerksames Studieren der Sätze 1.14, 1.15 und 1.16 offenbart, dass die Regeln dual sind, d.h. die Vertauschungen ⊆ ∩ ∅ ↔ ↔ ↔ ⊇, ∪, G überführen eine gültige mengentheoretische Regel in eine weitere gültige mengentheoretische Regel. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 12 1 Mengen Satz 1.17 Symmetrische Differenz Für beliebige Mengen L, M, N gilt: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) M ∆ N = (M ∪ N) \ (M ∩ N). M ∆ N = N ∆ M. Kommutativität M ∆ M = ∅. Operation mit sich selbst M ∆ ∅ = ∅ ∆ M = M. Operation mit leerer Menge M ∪ N = (M ∩ N) ∪ (M ∆ N). disjunkte Vereinigung M ∪ N = M ∆ N genau dann, wenn M ∩ N = ∅. M = N genau dann, wenn M ∆ N = ∅. M ≠ N genau dann, wenn M ∆ N ≠ ∅. Aus M ⊆ N folgt M ∆ N = N \ M. (L ∆ M) ∆ N = L ∆ (M ∆ N) = Assoziativität (L ∩ M ∩ N) ∪ (L \ (M ∪ N)) ∪ (M \ (L ∪ N)) ∪ (N \ (L ∪ M)). (M ∆ N) ∆ N = M. Es gibt eine Menge O mit M = O ∆ N. L ∆ M = N genau dann, wenn L = M ∆ N. (L ∆ M) ∩ N = (L ∩ N) ∆ (M ∩ N). Distributivität Sind L, M, N Teilmengen der Grundmenge G, so gilt: (14) (15) (16) (17) (18) Operation mit Grundmenge M ∆ G = M. Operation mit Komplement M ∆ M = G. L ∆ M ∆ N = (L ∩ M ∩ N) ∪ (L ∩ M ∩ N) ∪ (L ∩ M ∩ N) ∪ (L ∩ M ∩ N). M ∆ N = M ∆ N. M ∆ N = (M ∪ N) ∩ (M ∪ N) = (M ∩ N) ∪ (M ∩ N). Aufgrund der Assoziativität (9) können wir Klammern sparen und definieren: L ∆ M ∆ N := (L ∆ M) ∆ N. Auf Regel (10) basieren einfache symmetrische Verfahren zur Datenverschlüsselung, wobei M die Rolle des Klartexts, N die des Schlüssels und M ∆ N die des verschlüsselten Texts spielt. Bei zufälligem Schlüssel N heißt das Verfahren Vernam-Chiffrierung (Schlüsselblock, one-time pad). Erfunden haben es Gilbert S. Vernam1 und Major Joseph O. Mauborgne 1917 bei AT&T, wo sie ein erstes dieses Verfahren nutzendes Gerät für telegrafische Zwecke bauten. 1 Gilbert S. Vernam (1890 - 1960), amerikanischer Ingenieur. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.4 Operationen mit Mengen 1.4.2 1 - 13 Mengen in Programmiersprachen Manche Programmiersprachen bieten einen einfachen Datentyp für spezielle Potenzmengen; die Grundmenge ist oft eine Teilmenge von , z.B. {0,.., 2k−1} mit k = 5 oder k = 8. Tabelle 1.3 zeigt die Entsprechung mathematischer und programmiersprachlicher Begriffe an einem Beispiel. ' Tabelle 1.3 Menge und Datentyp SET Begriff Mathematik Component Pascal Grundmenge G = {0,.., 31} {0 .. 31} leere Menge ∅ {} P(G) Sei M ∈ P(G). SET VAR M : SET; Sei x ∈ G. VAR x : INTEGER; Elementrelation x∈M x IN M Gleichheit M=N M=N Ungleichheit M≠N M#N Komplement M -M Durchschnitt M∩N M*N Vereinigung M∪N M+N Differenz M\N M-N symmetrische Differenz M∆N M/N Inklusion M⊆N M=M*N Element hinzufügen Ersetze M durch M ∪ {x}. INCL (M, x); Element entfernen Ersetze M durch M \ {x}. EXCL (M, x); Potenzmenge - Datentyp Vereinbarung einer Menge Vereinbarung eines Elements Darüber hinaus kann man in so genannten objektorientierten Programmiersprachen beliebige Mengen als Klassen definieren, wobei es drei Stufen gibt: l l l Eine einfache Klasse für Mengen mit Elementen eines festen Typs; siehe dazu als Beispiele die Module ContainersSetsOfChar und ContainersSetsOfString in [11] S. 241 und S. 327 und [33]. Eine polymorphe Klasse für Mengen mit Elementen, deren Typen Erweiterungen eines Basistyps sind; siehe dazu als Beispiel das Modul ContainersSetsOfComparable in [11] S. 355 und [33]. Eine generische Klasse für Mengen mit Elementen, deren Typ bei der Vereinbarung eines Mengenobjekts festgelegt ist; dies erlauben nicht alle Sprachen, aber z.B. C++ und Eiffel. Programmiersprachen mit Generizität können auch auf einfache Weise Mengensysteme ausdrücken. Freilich muss der Programmierer solcher Klassen beachten, dass sie alle Rechenregeln der Mengenalgebra erfüllen (d.h. eines zugrunde liegenden Axiomensystems; dazu mehr in folgenden Kapiteln). 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 14 1.5 1 Mengen Mengensysteme Mengen, deren Elemente selbst Mengen sind, nennen wir Mengensysteme und bezeichnen sie i.A. mit Skriptbuchstaben M, N,... Durchschnitt und Vereinigung lassen sich verallgemeinern. Definition 1.18 Durchschnitt Vereinigung Sei M ein Mengensystem. Der Durchschnitt der Mengen von M ist die Menge der Elemente, die zu allen Mengen von M gehören: ∩ M∈ M M := {x | x ∈ M für alle M ∈ M}. Die Vereinigung der Mengen von M ist die Menge der Elemente, die zu wenigstens einer der Mengen von M gehören: ∪ M∈ M M := {x | es gibt ein M ∈ M mit x ∈ M}. Die Mengen von M heißen paarweise disjunkt (pairwise disjoint), wenn aus M, N ∈ M und M ≠ N folgt M ∩ N = ∅. Beispiel Der Durchschnitt paarweise disjunkter Mengen ist leer. Die Umkehrung gilt nicht, wie das Beispiel zeigt: L = {1, 2, 4}, M = {1, 3, 5}, N = {2, 3, 6}, L ∩ M = {1}, L ∩ N = {2}, M ∩ N = {3}, L ∩ M ∩ N = ∅. Bild 1.4 Disjunkt oder nicht? © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.5 Mengensysteme Satz 1.19 Rechenregeln für Mengensysteme 1 - 15 (1) Sind alle vorkommenden Mengen Teilmengen einer Grundmenge G, so gilt ∩ M∈∅ ∪ (2) M∈∅ (3) (4) M = G. M = ∅. Ist M eine Menge und N ein Mengensystem, so gelten die Infimum- und Supremumregeln: M ⊆ N für alle N ∈ N genau dann, wenn N ⊆ M für alle N ∈ N genau dann, wenn æ ∪ N÷ = ∩ N÷ = èN ∈ æ M∪ç èN ∈ N N N, N ⊆ M. ö N ø ö N ø ∪ ( M ∩ N) , ∩ ( M ∪ N) . N∈ N∈ N N Ist M ein System von Teilmengen einer Grundmenge G, so gelten die Regeln von de Morgan: ∩ M÷ ∪ M÷ æ ç èM ∈ æ ç èM ∈ (6) ∪ N∈ ∩ N∈ Ist M eine Menge und N ein Mengensystem, so gelten die Distributivregeln: M∩ç (5) M⊆ öc M ø ∪ M , ∩ M . M∈ öc M = = ø M∈ M M c c Für Mengensysteme M, N mit M ⊆ N gilt ∩ N∈ N N⊆ ∩ M∈ M M und Falls M ≠ ∅ gilt zudem ∩ M∈ M M⊆ ∪ M∈ M ∪ M∈ M M⊆ ∪ N∈ N N. M. Beachte die Voraussetzung M ≠ ∅ im zweiten Teil von (6). Wegen (1) und (2) liegt für M = ∅ eine „Anomalie des leeren Mengensystems“ vor: ∩ M∈∅ 9.8.04 M⊇ ∪ M. M∈∅ © Karlheinz Hug, Hochschule Reutlingen 1 - 16 1 Mengen Definition 1.20 Zerlegung Überdeckung Seien M ein Mengensystem und N eine Menge. M heißt eine Zerlegung (partition) von N, wenn die Mengen von M paarweise disjunkt sind und ∪ M∈ M M = N; eine echte Zerlegung (Klasseneinteilung) von N, wenn M eine Zerlegung ist und alle Mengen von M, die dann Klassen heißen, nicht leer sind: ∅ ∉ M; eine Überdeckung von N, wenn N⊆ ∪ M∈ Beispiele M M. Für M ⊆ G ist {M, M} eine Zerlegung von G. Die echten Zerlegungen von {1, 2, 3} sind {{1}, {2}, {3}}, {{1}, {2, 3}}, {{2}, {1, 3}}, {{3}, {1, 2}}, {{1, 2, 3}}. Eine Überdeckung von {1, 2, 3} ist z.B. {{1, 2}, {2, 3, 4}}. Z ist eine Zerlegung von M genau dann, wenn es zu jedem x ∈ M genau ein Z ∈ Z gibt mit x ∈ Z. Korollar 1.21 Ist Z eine Zerlegung der Menge G und M ⊆ G, so gilt M = ∪ (Z ∩ M ) . Z∈ 1.6 Z Produktmengen Produktmengen kombinieren zwei oder mehr Mengen, indem sie die Elemente dieser Mengen zu Paaren .h. Folgen anordnen. Beispielsweise kann man aus StudentInnen und Lehrveranstaltungen Paare der Art (StudentIn, Lehrveranstaltung) bilden. Produktmengen sind Grundmengen für Relationen und Abbildungen, die zu den fundamentalen Begriffen der Mathematik und der Informatik gehören. Relationen bilden die Basis des Relationenmodells für die weit verbreiteten relationalen Datenbanksysteme. Hier stellen wir Grundlagen vor, die wir in Kapitel 2 brauchen. Kapitel 4 befasst sich ausführlicher mit Relationen und Abbildungen. Zunächst betrachten wir das Produkt von zwei Mengen. Definition 1.22 Kartesisches Produkt Das (kartesischea) Produkt (Kreuzprodukt, Cartesian product, cross product) der Mengen M und N ist die Menge der geordneten Paare (ordered pair) (x, y) mit x ∈ M und y ∈ N: M × N := {(x, y) | x ∈ M und y ∈ N}, M Kreuz N. M, N heißen erste bzw. zweite Komponentenmenge von M × N. x heißt erste, y zweite Komponente (Koordinate) von (x, y). a René Descartes, lat. Cartesius (1596 - 1650), französischer Mathematiker, Philosoph, begründete die analytische Geometrie. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.6 Produktmengen Gleichheit 1 - 17 Die Gleichheit von Paaren ist komponentenweise definiert: (x, y) = (v, w) x = v und y = w. genau dann, wenn Intuitiv ist klar, dass „geordnetes Paar (x, y)“ meint: Für x ≠ y ist (x, y) ≠ (y, x) aus (x, y) = (y, x) folgt x = y. d.h. Es ist also (x, y) ≠ {x, y}, d.h. die Anordnung ist wesentlich. Doch streng genommen müssen wir alles Neue durch Bekanntes definieren, also hier die neue Klammerschreibweise mittels Mengen ausdrücken. Dieser Denkweise der MathematikerIn entspricht die Denkweise der InformatikerIn, der neu spezifizierte Programme mittels bekannter Programme implementieren muss, um sie auf einem Rechner ausführbar zu machen. Dabei werden abstrakte Konzepte höherer Programmiersprachen in die konkrete Maschinensprache des Rechners übersetzt. Die Maschinensprache wiederum ist durch elektronische Schaltungen implementiert. Softwarearchitekturen basieren auf Rechnern, mathematische Gebäude auf der Mengenlehre. Definieren wir ein geordnetes Paar geeignet durch eine Menge, z.B. durch (x, y) := {x, {y}}, so gilt für x ≠ y: (x, y) = {x, {y}} ≠ {y, {x}} = (y, x), d.h. die Gleichheit von Paaren wird nicht definiert, sondern auf die Gleichheit von Mengen zurückgeführt. Beispiel Ein Beispiel für ein kartesisches Produkt ist M × N = {a, b, c} × {1, 2} = {(a, 1), (a, 2), (b, 1), (b, 2), (c, 1), (c, 2)}. Um ein kartesisches Produkt zu veranschaulichen, kann man es grafisch in einer kartesischen Ebene (kartesisches Koordinatensystem) darstellen: Von zwei senkrecht aufeinander stehenden Linien nimmt die waagrechte die Elemente der ersten, die senkrechte die der zweiten Komponente auf. Die Elemente des Produkts erscheinen dann als Gitterpunkte in der Ebene. Bild 1.5 Kartesische Ebene M×N N 2l l (a, 2) l (b, 2) l (c, 2) 1l l (a, 1) l (b, 1) l (c, 1) l l l a b c M Beachte, dass die Produktoperation nicht assoziativ ist: (L × M) × N ≠ L × (M × N), da (x, (y, z)) ≠ ((x, y), z). Treten ×, ∩, ∪, \ und ∆ zusammen auf, so bindet × stärker als die anderen Operationen. Es gelten folgende Rechenregeln. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 18 Satz 1.23 Rechenregeln für zweistellige Produktmengen 1 Mengen Für beliebige Mengen L, M, N, O gilt: (6) (7) (8) M × N = ∅ genau dann, wenn M = ∅ oder N = ∅. L ⊆ M, O ⊆ N genau dann, wenn L × O ⊆ M × N. Isotonie (L ∩ M) × N = L × N ∩ M × N. Distributivität L × (M ∩ N) = L × M ∩ L × N. (L ∪ M) × N = L × N ∪ M × N. Distributivität L × (M ∪ N) = L × M ∪ L × N. (L \ M) × N = L × N \ M × N. Distributivität L × (M \ N) = L × M \ L × N. (L ∩ M) × (N ∩ O) = L × N ∩ M × O = L × O ∩ M × N. Aus L ⊆ M, O ⊆ N folgt L × N ∩ M × O = L × O. L × M \ N × O = (L \ N) × M ∪ L × (M \ O). (9) Aus L ⊆ M, O ⊆ N folgt L × OM×N = LM × N ∪ M × ON. (1) (2) (3) (4) (5) (6) enthält (3) als Spezialfälle. 1.7 Zweistellige Relationen Relationen stellen Beziehungen zwischen Elementen einer oder mehrerer Mengen dar. Wir beschränken uns hier auf zwei Mengen. Beispielsweise kann man in der Produktmenge aus StudentInnen und Lehrveranstaltungen die Relation „besucht“ betrachten: StudentIn besucht Lehrveranstaltung: Lea besucht Englisch. Die zwei Mengen können gleich sein. So gibt es etwa auf einer Menge von Modulen die Relation „importiert“ oder „benutzt“: Modul importiert Modul: Definition 1.24 Relation Würfelspiel benutzt Würfel. Eine Relation ist eine Teilmenge einer Produktmenge. Genauer: Sind M, N Mengen und R ⊆ M × N, so heißt R eine (zweistellige, binäre, binary, dyadic) Relation in M × N (oder zwischen M und N). Ist M = N, so heißt R auch eine Relation auf M. Statt (x, y) ∈ R benutzen wir auch die Infixschreibweise x R y. Gleichheit Beispiele Zur exakten Angabe einer Relation gehören die Komponentenmengen dazu. Zwei Relationen R ⊆ M × N, R´ ⊆ M´ × N´ sind gleich, wenn alle ihre Bestandteile gleich sind, d.h. wenn gilt M = M´ und N = N´ und R = R´. Wir kennen schon einige Relationen. Ist M eine Menge, so ist die (hier neu bezeichnete) Elementrelation ∈ eine Relation in M × P(M): ∈ ⊆ M × P(M). Für x ∈ M und N ∈ P(M) bedeutet (x, N) ∈ ∈ so viel wie x ∈ N. Ist M eine Menge, so sind =, ≠, ⊆, ⊂, /⊆, ⊄, ⊇, ⊃ Relationen in P(M) × P(M) oder kurz auf P(M). Grafisch veranschaulichen lässt sich eine Relation in einer kartesischen Ebene als Teilmenge der Gitterpunkte. Jede Schwarz-Weiß-Grafik entspricht einer Relation. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.7 Zweistellige Relationen Bild 1.6 Relation auf einer kartesischen Ebene 1 - 19 y x Eine Relation mit wenig Paaren kann man mit einem Mengendiagramm veranschaulichen, das mit Pfeilen zwischen Elementen angereichert ist, einem so genannten gerichteten Graph (Pfeildiagramm). Mit der Graphentheorie befasst sich Kapitel 11. Bild 1.7 Relation als gerichteter Graph M := Menge der StudentInnen R := besucht N := Menge der Lehrveranstaltungen Ali TG1 Eva I1 MT1 Ina AK Udo E1 Üblich für übersichtliche Darstellungen von Relationen sind auch Tabellen. Tabelle 1.4 Relation als Tabellen besucht StudentIn Lehrveranstaltung Ali I1 Eva I1, MT1 Ina I1, MT1, AK, E1 besucht StudentIn Udo Lehrveranstaltung TG1 I1 MT1 Ali x Eva x x Ina x x AK E1 x x Udo Die erste Tabelle sieht für jede StudentIn genau eine Zeile vor. Die Zellen in der Spalte Lehrveranstaltung müssen dann Mengen oder Listen von Lehrveranstaltungen aufnehmen können. Die zweite Tabelle - eine Matrix - sieht für jede StudentIn genau eine Zeile, für jede Lehrveranstaltung genau eine Spalte vor. Die Zellen für die Paare müssen nur ein Bit aufnehmen. Hier sind genau die zur Relation gehörenden Paare mit x markiert. Hat eine Relation große Komponentenmengen, aber selbst nur wenige Paare, so ist ihre Matrix dünn besetzt. Definition 1.25 Umkehrrelation Zu jeder Relation R ⊆ M × N heißt die durch R−1 := {(y, x) | (x, y) ∈ R} ⊆ N × M definierte Relation R−1 in N × M die Umkehrrelation (inverse Relation) zu R. Es gilt also y R−1 x 9.8.04 genau dann, wenn x R y. © Karlheinz Hug, Hochschule Reutlingen 1 - 20 Beispiele 1 Mengen Im obigen Beispiel kehrt sich die Relation „besucht“ um zu „wird besucht von“. Im Graph dreht sich die Pfeilrichtung um. In der ersten Tabelle werden die beiden Spalten vertauscht, für jede Lehrveranstaltung wird eine Zeile vorgesehen. In der zweiten Tabelle werden Zeilen und Spalten vertauscht. ∋, ⊇ und ⊃ sind die Umkehrrelationen zu ∈, ⊆ bzw. ⊂. 1.8 Abbildungen Abbildungen sind spezielle, besonders wichtige Relationen. Ist beispielsweise M die Menge der StudentInnen der Hochschule Reutlingen und N die Menge der höchstens sechsstelligen Dezimalzahlen, so ist die Relation „x hat die Matrikelnummer y“ in M × N eine Abbildung, da jede StudentIn genau eine Matrikelnummer hat. Die Relation „StudentIn besucht Lehrveranstaltung“ ist keine Abbildung, da eine StudentIn mehrere Lehrveranstaltungen besuchen kann. Die Umkehrrelation „wird besucht von“ ist auch keine Abbildung, da eine Lehrveranstaltung von mehreren StudentInnen besucht werden kann. Definition 1.26 Abbildung Sind M, N Mengen und f eine Relation in M × N mit der Eigenschaft zu jedem x ∈ M gibt es genau ein y ∈ N mit (x, y) ∈ f, so heißt f eine Abbildung (mapping) von M nach N. M heißt Definitionsbereich (domain), N Wertebereich (range) von f. Statt Abbildung sagt man auch Funktion (function), vor allem, wenn der Wertebereich eine Zahlenmenge ist. Statt (x, y) ∈ f oder x f y benutzen wir hier die Funktionsschreibweise (Präfix mit Klammern) f(x) = y. Statt f ⊆ M × N, (x, y) ∈ f ist bei Abbildungen die prägnante Schreibweise f : M → N, x → f(x) = y | üblich. l l l f ist der Name der Abbildung, M → N drückt die gerichtete Beziehung zwischen den Mengen aus, x → f(x) die Beziehung zwischen den Elementen: | Dem Urbild (Argument) x ∈ M wird das eindeutige Bild (Funktionswert) f(x) ∈ N zugeordnet. Die Abbildungsvorschrift x → f(x) ist oft durch einen Ausdruck darstellbar, z.B. | f(x) = x2 + 2x − 3. Die Funktionsschreibweise f(x) ist die am meisten verwendete, aber nicht die einzige. Es gibt auch Schreibweisen ohne Klammern mit vor- (Präfix), nach- (Postfix), hochoder tiefgestelltem f oder spezielle Notationen wie Klammern, Überstriche usw.: fx, xf, xf, xf, (fx), [x], |x|, x usw. Beachte den Unterschied zwischen f und f(x): f bezeichnet die Abbildung als Ganzes, f(x) das Bild des Arguments x unter der Abbildung f. Man sagt auch: f(x) ist der Wert von f an der Stelle x. Graph Historisch bedingt heißt f als Relation auch Graph der Abbildung: graph(f) = {(x, f(x)) | x ∈ M} ⊆ M × N. Die Sicht einer Abbildung als f = áM, N, graph(f)ñ mit graph(f) ⊆ M × N vereinfachen wir meist zu © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.8 Abbildungen 1 - 21 áM, N, fñ mit f ⊆ M × N in der Schreibweise Gleichheit f : M → N. Zur exakten Angabe einer Abbildung gehören der Definitionsbereich, der Wertebereich und der Graph der Abbildung. Die Gleichheit von Abbildungen ist durch die Gleichheit von Relationen definiert, d.h. zwei Abbildungen f : M → N, f´ : M´ → N´ sind gleich, f = f´, wenn gilt M = M´ und N = N´ und graph(f) = graph(f´), d.h. für alle x ∈ M ist f(x) = f´(x). Eine Abbildung zwischen Zahlenmengen lässt sich grafisch in einem kartesischen Koordinatensystem veranschaulichen. Die waagrechte x-Achse entspricht üblicherweise dem Definitionsbereich, die senkrechte y-Achse dem Wertebereich. Die Funktionseigenschaft bedeutet, dass jede Senkrechte genau einen Funktionswert enthält. Der Graph einer stetigen Funktion ist eine durchgezogene Kurve. Bild 1.8 Graphen von Abschnitten der Sinusfunktion und einer Fourier-Reihe 1 y y x x Eine Abbildung mit endlichem Definitionsbereich lässt sich auch durch eine Wertetabelle darstellen. Tabelle 1.5 Wertetabelle der Zweierpotenzfunktion 1.8.1 n 0 1 2 3 4 5 6 7 8 9 10 f(n) = 2 n 1 2 4 8 16 32 64 128 256 512 1024 Besondere Abbildungen Die Umkehrrelation einer Abbildung ist i.A. keine Abbildung, wie man an f(x) = sin x sieht. Definition 1.27 Bijektion Umkehrabbildung Eine Abbildung f : M → N heißt bijektiv (Bijektion, umkehrbar eindeutig), wenn gilt zu jedem y ∈ N gibt es genau ein x ∈ M mit f(x) = y. Ist f : M → N bijektiv, so ist durch f−1 : N → M, y → f−1(y) := x genau dann, wenn f(x) = y | eine Abbildung definiert; sie heißt die Umkehrabbildung (inverse Abbildung) zu f. f−1 ist bijektiv. f, f−1 heißen invers zueinander. Ist f = f−1, so heißt f invers zu sich selbst. Für die Abbildung mit leerem Definitionsbereich f : ∅ → M gilt graph(f) = {(x, f(x)) | x ∈ ∅} = ∅; daher nennen wir sie leere Abbildung, f = ∅. 1 (Baron) Jean-Baptiste-Joseph de Fourier (1768 - 1830), französischer Mathematiker, Physiker, Präfekt. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 22 1 Mengen f : M → N mit f(x) = f(y) für alle x, y ∈ M heißt konstante Abbildung. In einem kartesischen Koordinatensystem entsprechen den konstanten Abbildungen die Parallelen zur x-Achse. Bild 1.9 Konstante Abbildung y f = konstant x Die Abbildung idM : M → M, x → idM(x) := x, | die jedes x ∈ M auf sich selbst abbildet, heißt identische Abbildung (Identität) auf M. idM ist bijektiv und invers zu sich selbst. In einem kartesischen Koordinatensystem entspricht ihr die Winkelhalbierende zwischen den beiden gleich gerichteten Achsen; bei beschränktem Definitionsbereich M die Diagonale im Quadrat M × M. Bild 1.10 Identische Abbildung y id! idM M x M Ist f : M → N und L ⊆ M, so heißt die durch f|L : L → N, x → f(x), f eingeschränkt auf L | definierte Abbildung die Einschränkung (Restriktion) von f auf L. Es gilt graph(f|L) = graph(f) ∩ L × N. g : L → N heißt Fortsetzung von f : M → N auf L, wenn M ⊆ L und g|M = f. Operation Verknüpfung Operationen ordnen einem Element oder Elementepaar einer Menge M ein Element derselben Menge zu. Eine Abbildung f : M → M (von M nach sich) heißt einstellige (unary) Operation auf M. Eine Abbildung f : M × M → M heißt zweistellige Operation (Verknüpfung) auf M. Operationen bezeichnet man oft mit speziellen Operationssymbolen (Operator). Bei einstelligen Operationen ist Präfix- oder Postfixschreibweise oder Hochstellung l : M → M, x → lx oder | l : M → M, x → xl, | bei zweistelligen Operationen Infixschreibweise l : M × M → M, (x, y) → x l y | üblich. Eine algebraische Struktur ist eine Menge M zusammen mit einer Operation oder mehreren Operationen auf M: áM, l1, l2,...ñ. Mit algebraischen Strukturen befassen sich die Kapitel 6 und 10. Beispiele Beispiele für einstellige Operationen sind das einstellige Minus „−“ auf Zahlenmengen und das Komplement auf Potenzmengen (G sei eine Grundmenge): : P(G) → P(G), M → M, | beide Operationen sind bijektiv und invers zu sich selbst. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.8 Abbildungen 1 - 23 Beispiele für zweistellige Operationen sind +, −, ∗, / auf Zahlenmengen sowie modulo auf lN und . Ist G eine Grundmenge, so sind Durchschnitt, Vereinigung, Differenz und symmetrische Differenz zweistellige Operationen auf P(G), z.B. ' ∩ : P(G) × P(G) → P(G), (M, N) → M ∩ N. | Zweistellige Operationen verknüpfen also je zwei Elemente x, y so miteinander, dass ein weiteres Element derselben Menge erreicht wird. Zweistellige Operationen mit endlichem Definitionsbereich lassen sich mit Verknüpfungstabellen darstellen, wie wir sie aus der Schule kennen. Tabelle 1.6 Verknüpfungstabelle kleines Einmaleins Projektion ∗ 1 2 ... 9 10 1 1 2 ... 9 10 2 2 4 ... 18 20 ... ... ... ... ... ... 9 9 18 ... 81 90 10 10 20 ... 90 100 Ist M × N eine Produktmenge, so heißen die Abbildungen π1 : M × N → M, (x, y) → π1(x, y) := x, | π2 : M × N → N, (x, y) → π2(x, y) := y | die Projektionen auf die erste bzw. zweite Komponente. Ausdruck Durch ein- oder mehrfaches Anwenden einer oder mehrerer Operationen auf einer Menge M entstehen Ausdrücke, z.B. l1 (x l2 y) l3 z. In einem Ausdruck (expression) können l l l konstante und variable Elemente aus M, Operationssymbole, und Klammern vorkommen. Im obigen Beispiel sind x, y, z ∈ M Variablen. l1 ist eine einstellige, l2 und l3 sind zweistellige Operationen. Das Klammernpaar „(“, „)“ steuert die Reihenfolge der Berechnung des Ausdrucks von innen nach außen. Um Klammern zu sparen können Vorrangregeln festgelegt sein, z.B. einstellige vor zweistelligen Operationen. Die Argumente der Operationen heißen Operanden. Ein Operand ist zugleich Teilausdruck (subexpression) des Ausdrucks. Im obigen Beispiel gilt: (1) (2) (3) (4) x und y sind Teilausdrücke und Operanden der Operation l2. (x l2 y) ist Teilausdruck und Operand der Operation l1. l1 (x l2 y) und z sind Teilausdrücke und Operanden der Operation l3. l1 (x l2 y) l3 z ist Teilausdruck und Ausdruck zugleich. Die Reihenfolge der Berechnung ist (1), (2), (3), (4). In allgemeineren Ausdrücken können Elemente mehrerer Mengen und beliebige Abbildungen und Relationen mit beliebigen Schreibweisen vorkommen, z.B. card(M ∩ N) ≤ | sin(2πx) + √3! |y. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 24 1 Mengen Dabei sind diese Aspekte zu beachten: (1) (2) (3) Die Zeichen des Ausdrucks sind nach festgelegten Regeln angeordnet. Die Anwendung jeder Abbildung ist wohldefiniert, indem ihre Argumente zu ihrem Definitionsbereich gehören. Setzt man für die im Ausdruck vorkommenden Variablen Werte ein, so kann man den Wert des Ausdrucks berechnen. Ausdrücke spielen in der Mathematik und der Informatik eine wichtige Rolle. In Programmiersprachen betrachtet man den Aspekt (1) unter dem Begriff Syntax, den Aspekt (2) unter dem Begriff Typbindung als Teil der statischen Semantik, und den Aspekt (3) unter dem Begriff Auswertung als Teil der dynamischen Semantik. Bindung Den auf S. 4 diskutierten Zusammenhang zwischen Variablennamen und Variablen können wir mit einer Abbildung ausdrücken. Ist V eine Menge von Variablennamen, z.B. V = {a, b,.., z, a0, a1,.., z0, z1,...}, und W ein System von Wertemengen, z.B. W = P( ), so ist eine Bindung (binding) der Variablennamen an die Wertemengen eine Abbildung bind : V → W, α → bind(α), | die jedem Variablennamen α ∈ V eine Wertemenge bind(α) ∈ W zuordnet, sodass α eine Variable mit Werten in bind(α) bezeichnet. Ordnet z.B. bind der literalen Konstante a ∈ V die Wertemenge bind(a) = ∈ W zu, so bezeichnet a ∈ eine reelle Variable, d.h. a tauscht unter der Bindung seine Rollen von einer Konstante der Namenmenge zu einer Variablen der Wertemenge. ! Typbindung ! In (typisierten) Programmiersprachen spricht man von Typbindung: Jede Variable ist an einen Typ gebunden. Dieser Typ wird (bei statischer Typbindung) bei der Vereinbarung der Variablen angegeben. Die einfachen Zahlentypen entsprechen nicht nur wie in Tabelle 1.1 dargestellt den Zahlenmengen, sondern den algebraischen Zahlenstrukturen: Zu einem Typ gehört stets ein Wertebereich zusammen mit den darauf definierten Operationen. So ist festgelegt, welche Operationen mit welchen Variablen erlaubt sind. Programmiersprachen bieten auch Konstrukte, die Abbildungen entsprechen; sie heißen meist Funktionen oder Funktionsprozeduren (function procedure). In so genannten funktionalen Programmiersprachen bilden Funktionen das Grundkonzept des gesamten Aufbaus der Sprache, während in den in Tabelle 1.7 betrachteten imperativen Programmiersprachen Funktionen neben anderen, imperativen Sprachkonstrukten stehen. Nicht nur in Implementationssprachen, auch in Spezifikationssprachen, die in Tabelle 1.7 durch Cleo vertreten sind, spielen Funktionen eine wichtige Rolle. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.8 Abbildungen Tabelle 1.7 Mathematische und programmiersprachliche Funktionen 1 - 25 Programmiersprachen Begriff Mathematik Vereinbarung einer Abbildung f : M → N, x → f(x) Pascal* | C* PROCEDURE f (x : M) : N; N f (M x); Beispiel: Reelle Funktion Component Pascal: PROCEDURE f (x : REAL) : REAL; BEGIN RETURN x * x + 1 END f; Definition einer Funktion Eiffel: f: ! → !, x → x | 2 +1 f (x : REAL) : REAL is do Result := x * x + 1 end float f (float x); { return x * x + 1; }; Cleo: QUERIES f (IN x : REAL) : REAL POST result = x * x + 1 END Benutzung/Aufruf der Funktion Beispiel: Reeller Ausdruck f(3x) − 4 f(3 * x) - 4 Funktionen sind auch technisch interpretierbar und realisierbar. Wir nennen den Definitionsbereich einer Funktion f Eingabebereich E, den Wertebereich Ausgabebereich A, und sagen: f berechnet zu jeder Eingabe e ∈ E eine Ausgabe f(e) = a ∈ A. Die Funktion stellen wir als rechteckiges Bauelement dar, das links einen Eingang für die Eingabe und rechts einen Ausgang für die Ausgabe hat: Bild 1.11 Funktion als technisches Bauelement Eingabe f:E→A E Ausgabe A Verarbeitung Berechnung EVA-Modell Black-Box 9.8.04 Dies ist das so genannte EVA-Modell für Eingabe-Verarbeitung-Ausgabe. Die Funktion ist eine so genannte Black-Box: Sie ist durch ihr von außen beobachtbares Ein-/ Ausgabe-Verhalten charakterisiert, während die Art und Weise ihrer Berechnung in ihrem Inneren verborgen ist. © Karlheinz Hug, Hochschule Reutlingen 1 - 26 1.8.2 1 Mengen Indizierungen Indizierte Größen x1, x2,... sind Bilder unter einer Abbildung. Definition 1.28 Indizierung Sind I, M Mengen und x : I → M, i → xi | eine Abbildung, bei der man für die Bilder statt der Klammerschreibweise x(i) die Indexschreibweise xi benutzt und die man als (xi)i∈I oder (xi | i ∈ I) oder kurz (xi), wenn I bekannt ist darstellt, so heißt diese Abbildung Indizierung (indizierende Abbildung), I Indexmenge, i Index (Mehrzahl Indices), (xi)i∈I Familie von Elementen aus M, und xi Familienmitglied oder kurz Glied zum Index i. Verschiedene Glieder xi, xk sind solche mit verschiedenen Indices i, k; dabei können xi, xk als Elemente von M gleich sein. Beachte, dass (xi)i∈I die Darstellung einer Abbildung von I nach M ist und nicht mit der Bildmenge {xi | i ∈ I} ⊆ M zu verwechseln ist, die Teilmenge von M ist. In (xi)i∈I kommt es auf die Anordnung und Anzahl der Werte xi an, in {xi | i ∈ I} nicht. Beispielsweise ist Gleichheit {1, 2} = {1, 2, 2} ≠ (1, 2, 2) ≠ (2, 1, 1) ≠ {2, 1, 1} = {1, 2}. Die Gleichheit von Familien ist durch die Gleichheit von Abbildungen definiert: Zwei Familien sind gleich, wenn alle Glieder mit gleichem Index gleich sind, d.h. (xi)i∈I = (yi)i∈I genau dann, wenn xi = yi für alle i ∈ I. Ist I = lN, so schreibt man auch (xi)i∈ = (xi)i=1, 2,... = (x1, x2,...) mit xi ∈ M für alle i = 1, 2,... lN und nennt dies eine unendliche Folge (infinite sequence). Ist I = {1,.., n}, so schreibt man auch (xi)i∈{1,.., n} = (xi)i=1,.., n = (x1,.., xn) mit xi ∈ M für alle i = 1,.., n und nennt das eine endliche Folge (finite sequence) oder geordnetes n-Tupel (n-tuple, Paar für n = 2, Tripel für n = 3, Quadrupel für n = 4, Quintupel für n = 5). Analog indiziert man Mengen statt Elemente, indem der Wertebereich der Indizierung ein Mengensystem M statt einer Menge M ist. (Mi)i∈I bezeichnet eine Mengenfamilie, {Mi | i ∈ I} das Mengensystem der indizierten Mengen. Die geschweiften Klammern lassen wir meist weg und schreiben einfach Mi, i ∈ I. 1.9 Operationen mit indizierten Mengen Ist I eine beliebige Indexmenge, (Mi)i∈I eine Mengenfamilie und M := {Mi | i ∈ I} das zugehörige Mengensystem, so schreiben wir Durchschnitt und Vereinigung auch so: ∩ M M = ∪ M M = M∈ M∈ ∩ M i = {x | x ∈ Mi für alle i ∈ I}, i∈I © Karlheinz Hug, Hochschule Reutlingen ∪ M i = {x | x ∈ Mi für wenigstens ein i ∈ I}. i∈I 9.8.04 1.9 Operationen mit indizierten Mengen 1 - 27 Ist I = lN, so schreiben wir auch ∩ Mi = ∪ Mi = i∈I ∩ M i = {x | x ∈ Mi für alle i = 1, 2,...}, ∪ M i = {x | x ∈ Mi für wenigstens ein i = 1, 2,...}. i = 1, 2, … i∈I i = 1, 2, … Ist I = {1,.., n}, so schreiben wir auch ∩ Mi = ∪ Mi = i∈I i∈I Definition 1.29 Produktmenge ∩ M i = {x | x ∈ Mi für alle i = 1,.., n}, ∪ M i = {x | x ∈ Mi für wenigstens ein i = 1,.., n}. i = 1, …, n i = 1, …, n Seien I eine Indexmenge und Mi, i ∈ I Mengen. Das (kartesische) Produkt der Mi, i ∈ I ist die Menge aller Indizierungen I→ ∪ M i , i → x i ∈ Mi , | i∈I ∏i ∈ I M i := {(xi)i∈I | xi ∈ Mi für alle i ∈ I}. Mi heißt die i-te Komponentenmenge (Koordinatenmenge) von ∏i ∈ I M i , xi i-te Komponente (Koordinate) von (xi). Projektion Die für jedes k ∈ I definierte Abbildung πk : ∏i ∈ I M i → Mk, (xi) → πk((xi)) := xk, | die jedem (xi) die k-te Komponente xk zuordnet, heißt die Projektion von ∏i ∈ I M i auf Mk. Ist I = lN, so schreiben wir auch ∏i ∈ I M i = ∏i = 1, 2, … M i = {(x1, x2,...) | xi ∈ Mi für alle i = 1, 2,...}. Ist I = {1,.., n}, so schreiben wir auch ∏i ∈ I M i = ∏i = 1, …, n M i = {(x1,.., xn) | xi ∈ Mi für alle i = 1,.., n}. ∏i = 1, …, n M i heißt n-stelliges (kartesisches) Produkt. Beim nullstelligen Produkt existiert als Indizierung nur die leere Abbildung: ∏i ∈ ∅ M i = {(xi)i∈∅ | xi ∈ Mi für alle i ∈ ∅} = {∅}. Sind alle Mi gleich, Mi = M für alle i ∈ I, so schreiben wir MI := ∏i ∈ I M = {(xi)i∈I | xi ∈ M für alle i ∈ I}, d.h. MI ist die Menge aller Abbildungen von I nach M (die I-te Potenz von M). 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 28 1 Mengen Ist I = {1,.., n}, so schreiben wir Mn := M{1,.., n} = ∏i = 1, …, n M = {(x1,.., xn) | x1,.., xn ∈ M}. Mn heißt n-faches (kartesisches) Produkt von M (n-te Potenz von M). Für n = 0 definieren wir M0 := ∏i ∈ ∅ M = {∅} und () := {} = ∅, sodass gilt M0 = {()}, d.h. M0 enthält nur das leere Tupel (). Beispiel Sei G eine Grundmenge. Ist M ⊆ G, so heißt die durch χM : G → {0, 1}, x → χM(x) := | 0 1 falls x ∉ M falls x ∈ M definierte Funktion charakteristische Funktion von M. Umgekehrt lässt sich zu einer Funktion f : G → {0, 1} die Menge Mf := {x ∈ G | f(x) = 1} ⊆ G definieren. Die Abbildungen P(G) → {0, 1}G, M → χM | und {0, 1}G → P(G), f → M f | sind bijektiv und invers zueinander, d.h. für M ⊆ G ist M χ = M und für f : G → {0, 1} M ist χ M = f. Auf endliche Mengen beschränkt bedeutet das: Mengen mit n Elementen f lassen sich durch n-Tupel aus 0en und 1en darstellen. Darauf beruht die Implementation des einfachen Datentyps SET in manchen Programmiersprachen. Manche von Satz 1.23 bekannte Rechenregeln für zweistellige Produktmengen lassen sich auf beliebige Produktmengen verallgemeinern. Satz 1.30 Rechenregeln für Produktmengen Für Mengen I und Mi, Ni für i ∈ I gilt: (1) ∏i ∈ I M i = ∅ genau dann, wenn es ein k ∈ I gibt mit Mk = ∅. (2) Mi ⊆ Ni für alle i ∈ I genau dann, wenn (3) ∏i ∈ I M i ∩ ∏i ∈ I N i = ∏i ∈ I ( M i ∩ N i ) . (4) ∏i ∈ I M i ∪ ∏i ∈ I N i ⊆ ∏i ∈ I ( M i ∪ N i ) . ∏i ∈ I M i ⊆ ∏i ∈ I N i . Isotonie Distributivität 1.9.1 Rekursive Definition von Produktmengen Rekursion Das n-stellige Produkt von M1,.., Mn lässt sich auch rekursiv definieren, indem man es auf das bekannte zweistellige Produkt einer Komponentenmenge mit einem (n−1)-stelligen Produkt zurückführt.1 Rekursion (recursion) ist eine wichtige Methode in der Mathematik und der Informatik. Die Idee ist, ein Problem der Größe n zu lösen, indem l l 1 es auf ein Problem der Größe n − 1 reduziert und zusätzlich das Problem der Größe 1 gelöst wird. Lateinisch recurrare = zurücklaufen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.9 Operationen mit indizierten Mengen 1 - 29 Damit ist das Problem für beliebige n ∈ lN gelöst. Wir nutzen das kartesische Produkt, um die Methode der rekursiven Definition kennen zu lernen; sie ist ein spezieller Fall von intensionaler Mengenbeschreibung (siehe 1.1.1). Definition 1.31 n-stelliges kartesisches Produkt Zu beliebigen, endlich vielen Mengen M1,.., Mn definieren wir das n-stellige (kartesische) Produkt rekursiv so: Für n = 1 definieren wir (x1) := {x1} für x1 ∈ M 1, ∏i = 1 M i := {(x1) | x1 ∈ M1}. Für n > 1 definieren wir (x1,.., xn) := {x1, (x2,.., xn)} für x1 ∈ M1, (x2,.., xn) ∈ ∏i = 1, …, n M i := M1 × ∏i = 2, …, n Mi , ∏i = 2, …, n M i := {(x1,.., xn) | x1 ∈ M 1, (x2,.., xn) ∈ ∏i = 1, …, 0 M i und Mn für n ∈ lN 0 ∏i = 2, …, n M i }. definieren wir wie in Definition 1.29. Wir haben nun drei Definitionen des kartesischen Produkts: l l l ×E für das Produkt von zwei Mengen, ×I mittels Indizierung für das Produkt beliebig vieler Mengen, was ×E voraussetzt, ×R für das Produkt endlich vieler Mengen. In der Informatik gibt es oft zu einer Programmspezifikation PS mehrere Implementationen PI1, PI2,... Diese sind dann auf ihre Vor- und Nachteile bezüglich gewisser Kriterien zu untersuchen, um die für einen gewissen Zweck optimale Implementation zu wählen. Ähnlich untersuchen wir im Folgenden die Gemeinsamkeiten und Unterschiede der Produktdefinitionen. Zunächst ist das indizierte Produkt ×I allgemeiner als das rekursive Produkt ×R, denn ×I gilt für beliebig viele Komponentenmengen. Die Indexmenge I kann auch unendlich sein - allerdings müssen wir dann das mengentheoretische Auswahlaxiom voraussetzen, worauf wir nicht eingehen. ×R gilt dagegen nur für endlich viele Komponentenmengen. Betrachten wir den Fall endlich vieler Komponentenmengen M1,.., Mn mit n ∈ lN0. Dann sind ×I und ×R zwar i.A. nicht identisch, leisten aber dasselbe, wie die Bijektion I R ∏i = 1, …, n M i → ∏i = 1, …, n M i , (x1,.., xn)I → (x1,.., xn)R | zeigt. Nun führen wir die n-Tupel (x1,.., xn)I und (x1,.., xn)R auf ihre Definition als Mengen zurück. Für n = 0 ist ×I = ×R per Definition. Für n = 1 ist (x1)I = {(1, x1)E} = {{1, {x1}}} und (x1)R = {x1}, also (x1)I ≠ (x1)R. Für n = 2 ist (x1, x2)I = {(1, x1)E, (2, x2)E} = {{1, {x1}}, {2, {x2}}} und 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 30 1 Mengen (x1, x2)R = {x1, (x2)R} = {x1, {x2}} = (x1, x2)E, also (x1, x2)I ≠ (x1, x2)R. ×R ist mit ×E verträglich. Für n = 3 ist (x1, x2, x3)I = {(1, x1)E, (2, x2)E, (3, x3)E} = {{1, {x1}}, {2, {x2}}, {3, {x3}}} und (x1, x2, x3)R = {x1, (x2, x3)R} = {x1, {x2, (x3)R}} = {x1, {x2, {x3}}}, also (x1, x2, x3)I ≠ (x1, x2, x3)R. Wir erkennen, dass für n > 3 erst recht (x1,.., xn)I ≠ (x1,.., xn)R ist. Aus den Überlegungen lernen wir Mehreres. Erstens erleichtert uns die Tupelschreibweise, mit der Abstraktion „geordnetes n-Tupel“, „Folge“ oder „Familie“ umzugehen. Dagegen sind die Mengenschreibweise und die konkreten Mengen, auf die sich die Tupelschreibweise bezieht, zu elementar, um die Abstraktion angemessen auszudrücken - schon bei Tripeln wird es komplex. Dies zeigt, wie wichtig es ist, für Abstraktionen geeignete Schreibweisen zu finden. Zweitens entsprechen den beiden Definitionen ×I und ×R unterschiedliche Datenstrukturen in der Informatik. 1.9.2 Produktmengen und Datenstrukturen Die auf Indizierung basierenden Tupel entsprechen programmiersprachlichen Verbunden und Reihungen, mit denen sich Indizierungen und kartesische Produkte gut ausdrücken lassen. Eine Reihung lässt sich ähnlich wie eine Wertetabelle veranschaulichen. Bild 1.12 n-Tupel als Reihung Mathematik Programmiersprachen n-Tupel x = (x1,.., xn)I n-elementige Reihung x Index 1 2 ... n Index 0 1 ... n-1 Glied x1 x2 ... xn Element x[0] x[1] ... x[n-1] Beide Darstellungen entsprechen (x1,.., xn)I = {{1, {x1}},.., {n, {xn}}}; sie unterscheiden sich unwesentlich: l l In der Mathematik wird meist mit 1, in der Informatik oft mit 0 beginnend indiziert. Bei gleicher Anzahl n ist der Indexbereich 1,.., n oder 0,.., n − 1. Programmiersprachen kennen keine Tiefstellung, weshalb sie statt der Index- eine Klammerschreibweise verwenden, oft mit eckigen Klammern „[“, „]“. Die auf Rekursion basierenden Tupel entsprechen programmiersprachlichen Listen, das sind rekursive Datenstrukturen, die sich grafisch so veranschaulichen lassen: Bild 1.13 n-Tupel als Liste ... x1 x2 xn Die Kästchen stehen für Datenobjekte, die Pfeile für Bezüge auf Datenobjekte. In (x1,.., xn)R = {x1, {x2, {...{xn}...}}} enthält jede vorkommende Menge zwei Elemente, von denen das zweite Element wieder eine Menge ist; nur die innerste Menge hat nur das Element xn. Den Mengen in (x1,.., xn)R entsprechen die Datenobjekte, auf die waag© Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.10 Strukturen 1 - 31 rechte Pfeile zeigen, den Elementen x1,.., xn die Datenobjekte, auf die senkrechte Pfeile zeigen. Das erste Datenobjekt ist der Anker der Liste, es bezieht sich auf die Liste, indem es sich auf ihr erstes Element bezieht. Das letzte Datenobjekt enthält neben dem Bezug auf xn einen leeren Bezug. Das Studium mathematischer Strukturen kann also durchaus nützlich für das Studium informatischer Strukturen sein. Viele Programmiersprachen bieten strukturierte Datentypen für kartesische Produkte. In objektorientierten Programmiersprachen umfasst das mächtigere Konstrukt Klasse diese Datentypen. Tabelle 1.8 Kartesisches Produkt und strukturierte Datentypen Programmiersprachen Mathematik Pascal* Produkt verschiedener Mengen Mi Verbund (record, struct) xi ∈ Mi für alle i = 1,.., n. TYPE P = RECORD x1 : M1; ... xn : Mn; END; typedef struct { M1 x1; ... Mn xn; } P; Vereinbarung: Sei x ∈ P. VAR x : P; P x; Benutzung: erste, letzte Komponente x1, xn x.x1 ... x.xn x.x1 ... x.xn Definition: P := ∏i = 1, …, n M i , Produkt gleicher Mengen M 1.10 C, C++ Reihung (array) Definition: P := Mn. TYPE P = ARRAY n OF M; typedef M P [n]; Vereinbarung: Sei x ∈ P. VAR x : P; P x; Benutzung: erste, i-te, letzte Komponente xi x[0] ... x[i] ... x[n-1] x[0] ... x[i] ... x[n-1] Strukturen Mit Produkten beliebig vieler Mengen können wir die Begriffe Relation und Operation verallgemeinern. Damit bereiten wir eine Basis der in Kapitel 2 behandelten Prädikatenlogik vor. Wie in Definition 1.24 ist eine Relation eine Teilmenge einer Produktmenge. Definition 1.32 Relation Sind Mi, i = 1,.., n (n ∈ lN0) Mengen und R⊆ ∏i = 1, …, n M i , so heißt R eine n-stellige Relation in ∏i = 1, …, n M i . Statt (x1,.., xn) ∈ R schreiben wir auch R(x1,.., xn). Sind alle Mi gleich, d.h. M = M i für alle i = 1,.., n, so heißt R ⊆ Mn auch eine n-stellige Relation auf M. Für n = 0 gibt es wegen M0 = {∅} nur die Relationen ∅ und {∅}. Definition 1.33 Operation 9.8.04 Ist M eine Menge und n ∈ Operation auf M. lN 0, so heißt eine Abbildung f : Mn → M eine n-stellige © Karlheinz Hug, Hochschule Reutlingen 1 - 32 1 Mengen Für n = 0 reduziert sich f wegen M0 = {∅} auf die Zuordnung ∅ → f(∅) ∈ M, d.h. f bildet das einzige Argument auf einen einzigen Wert ab. Daher identifizieren wir die Begriffe nullstellige Operation und Konstante. | Definition 1.34 Struktur Eine (mathematische) Struktur M, f1,.., fm, R1,.., Rn ist gegeben durch l l l eine Menge M, Operationen f1,.., fm auf M, m ∈ lN0, Relationen R1,.., Rn auf M, n ∈ lN0. M heißt Trägermenge (Individuenmenge), die Elemente x ∈ M heißen Individuen der Struktur. Ist m = 0, d.h. die Menge der Operationen leer, so handelt es sich um eine (rein) relationale Struktur. Ist n = 0, d.h. die Menge der Relationen leer, so handelt es sich um eine (rein) algebraische Struktur. In einer algebraischen Struktur lassen sich oft mittels der Operationen Relationen definieren, sodass auch eine relationale Struktur entsteht. Beispiele Ist M eine Menge, so ist P(M), M, ∅, , ∩, ∪, =, ⊆ eine Struktur mit der Trägermenge P(M), den nullstelligen Operationen M, ∅, der einstelligen Operation , den zweistelligen Operationen ∩, ∪, und den zweistelligen Relationen =, ⊆. Es genügt, mit der Struktur P(M), M, ∅, , ∩, = zu starten, da sich ∪ mit und ∩ definieren lässt (→ Satz 1.16 (6)), ⊆ mit ∩ und = (→ Satz 1.13 (2)). Auf den natürlichen Zahlen ist lN 0, 0, 1, +, ∗, div, mod, Prim, =, ≤ eine Struktur mit der Trägermenge lN0, den nullstelligen Operationen 0, 1, den zweistelligen Operationen +, ∗, div, mod, der einstelligen Relation Prim ⊆ lN0, die die Teilmenge der Primzahlen darstellt, und den zweistelligen Relationen =, ≤. Mit mathematischen Strukturen lassen sich informatische Strukturen theoretisch fundieren. Betrachten wir etwa abstrakte Datenstrukturen, die in modularen Programmiersprachen im Konstrukt Modul, oder abstrakte Datentypen, die in objektorientierten Programmiersprachen im Konstrukt Klasse erscheinen, und gliedern ihre Schnittstelle die Menge ihrer Dienste - wie in Eiffel oder Cleo in Abfragen und Aktionen, so können wir grob folgende Entsprechungen identifizieren. Tabelle 1.9 Strukturen Mathematische Struktur Abstrakte Datenstruktur / Datentyp Trägermenge Wertebereich Operationen Abfragen Relationen Aktionen Ähnlich wie eine Operation ihre Argumente auf ein Bild abbildet, liefert ein Abfragenaufruf ein von den Parameterwerten abhängiges Ergebnis. Dagegen bewirkt eine Aktion eine Änderung des Zustands der Datenstruktur, die sich durch den Zustand vor und den Zustand nach einem Aktionsaufruf beschreiben lässt. Solche Zustandspaare entsprechen Relationen mathematischer Strukturen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.11 Darstellungen von Größen 1.11 1 - 33 Darstellungen von Größen Zum Schluss des Kapitels blicken wir kurz in die Realität, die Disziplinen wie Physik, Chemie, Ökonomie usw. zu erfassen versuchen. Wir haben es dort mit physikalischen, chemischen, ökonomischen usw. Größen zu tun. Die Unterscheidung zwischen l l zählen und messen lässt sich bis in die Urgeschichte des Rechnens zurückverfolgen. Offenbar gibt es in der Realität Größen, die sich aus Einheiten zusammensetzen, die man zählen kann: 1, 2, 3,... Bei anderen Größen lässt sich jede mögliche Zerlegungseinheit weiter zerlegen, sodass es keine augenscheinliche Einheit für das Zählen gibt - man muss eine künstliche Einheit schaffen und die Größe daran messen. Freilich gibt es auch viele Dinge, die weder zählbar noch messbar sind. Diskret oder stetig? Eine diskrete (discrete) Größe kann nur endlich viele unterscheidbare Werte annehmen. Eine stetige (continuous) Größe kann unendlich viele Werte annehmen, die sich beliebig wenig unterscheiden können. Analog oder digital? Diskrete und stetige Größen lassen sich auf zwei Arten darstellen: l Bild 1.14 Analog dargestellte stetige Größe Eine Darstellung einer Größe heißt analog (analogous), wenn die Größe direkt auf eine andere (geometrische oder physikalische) Größe abgebildet wird, z.B. auf Länge, Winkel, Stromstärke, Spannung, Druck. Eingabe E Ausgabe A E Waage Gewicht l A Winkel Eine Darstellung einer Größe heißt digital, wenn die Größe durch endlich viele Zeichen oder Zahlen dargestellt wird.1 Eine digitale Darstellung ist eine symbolische Beschreibung der dargestellten Größe. Diskrete Größen lassen sich leicht digital darstellen, z.B. {Januar, Februar,.., Dezember} → {1, 2,.., 12}. Bei stetigen Größen liegt oft eine analoge Darstellung nahe. Bild 1.15 Analoge Darstellungen2 y x Unter Diskretisierung oder Rasterung verstehen wir eine Abbildung eines unendlichen Wertebereichs in einen endlichen Wertebereich. Durch Diskretisierung erhält man 1 2 Digital = ziffernhaft; lateinisch digitus = Finger; englisch digit = Ziffer. Quelle des Bärenbilds: http://www.bear.org vom 10. 5. 2003. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 34 1 Mengen aus einer analogen Darstellung einer (stetigen) Größe eine diskretisierte analoge Darstellung. Diskretisierung bewirkt theoretisch immer einen Informationsverlust, der umso größer ist, je gröber die Rasterung ist. Andererseits kann man das Raster so verfeinern, dass das menschliche Auge oder Ohr praktisch keine Informationslücken wahrnimmt. (Die Darstellungen in Bild 1.15 sind tatsächlich auch diskretisiert.) Bild 1.16 Diskretisierte analoge Darstellungen y x Unter Digitalisierung verstehen wir eine Abbildung von einem endlichen Wertebereich nach einem endlichen Zahlenbereich. Durch Digitalisierung erhält man aus einer diskretisierten analogen Darstellung einer (stetigen) Größe eine digitale Darstellung. Je feiner das Raster ist, desto mehr Zahlenwerte benötigt die Darstellung. Praktisch bedeutet das: Je besser die Qualität einer dargestellten Größe (Funktion, Bild, gesprochene Sprache, Musik), desto mehr Speicher-, Übertragungs- und Verarbeitungskapazität benötigt ihre Darstellung und desto teurer ist sie. Qualität hat ihren Preis. Daher ist ein wichtiges Problem informatischer Anwendungen, Größen mit möglichst geringem Informationsverlust und möglichst wenig Werten zu diskretisieren und digitalisieren. Bild 1.17 Digitalisierte Darstellungen x y = f(x) 0 -0.2453740275806637 1 -0.3855877576267575 2 -0.5959083526958984 3 -0.7361220827419918 4 -0.8062289477650386 5 -0.8763358127880855 6 -0.9464426778111323 7 -0.8763358127880855 8 -0.8062289477650386 9 -0.7361220827419918 ... FF FF FF FF FF FF 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF 00 00 ... FF FF FF 00 00 FF FF FF FF FF 00 FF FF 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 FF FF FF FF FF FF FF 00 00 00 00 FF FF FF 00 FF FF FF 00 00 00 00 FF FF FF 00 FF FF FF 00 00 FF 00 FF FF FF 00 FF FF FF 20 40 40 40 40 40 40 00 40 40 80 A0 A0 40 A0 80 40 20 00 40 ... FF 20 40 40 00 40 80 A0 40 20 20 FF 20 80 40 00 40 40 80 60 00 20 FF 40 60 60 40 40 A0 40 40 00 40 00 40 80 60 20 40 80 A0 00 00 20 40 40 80 40 20 40 40 80 00 00 20 20 40 60 40 40 40 C0 40 00 00 40 Die Konstruktion von Rechnern basiert auf der Digitaltechnik. Sie realisiert Funktionen mit elektronischen Schaltkreisen, die mit binären Signalen arbeiten. An jedem Ein- und Ausgang liegt eines der Signale 0 oder 1 an. Ein einfacher Schaltkreis entspricht damit einer Funktion f : {0, 1} → {0, 1}. Komplexere Funktionen realisiert man mittels mehrerer Ein- und Ausgänge. Ein Bauelement für eine Funktion f : {0, 1}m → {0, 1} n hat m Eingänge und n Ausgänge. Bild 1.18 Funktionen als digitale Bauelemente Eingabe Ausgabe f E A Eingabe E e1 e2 ... em−1 em © Karlheinz Hug, Hochschule Reutlingen Ausgabe A f a1 a2 ... an−1 an 9.8.04 1.12 Literaturhinweise 1 - 35 Auf diesen Prinzipien beruht die folgende Aussage, deren Bedeutung wir täglich erfahren, wenn wir telefonieren, CDs hören, DVDs anschauen, im Web surfen oder E-Mails versenden. Theorem 1.35 Digitalisierung Jede zählbare oder messbare Größe lässt sich l l l diskretisieren, digitalisieren und binär codiert darstellen und damit l maschinell verarbeiten. 1.12 Literaturhinweise Mengen Die Grundzüge der Mengenlehre präsentiert fast jedes einführende Mathematik-Lehrbuch, da heute alle Gebiete der Mathematik einheitlich mit den Begriffen der Mengenlehre arbeiten: Moderne Mathematik ist Mengenlehre. Dieses Kapitel nimmt Anregungen aus [6], [8], [13], [16], [19], [23] und [27] auf. Georg Cantor (1845 - 1918) ist der Begründer der Mengenlehre, doch reichen einzelne Ideen weiter zurück. Schon der französische Mathematiker und Astronom Joseph Diaz Gergonne (1771 - 1859) untersuchte Beziehungen zwischen geometrischen Punktmengen. Grundlagen der Mengenalgebra schuf - eng verknüpft mit Grundlagen der algebraischen Logik - der irische Mathematiker und Logiker George Boole (1815 - 1864). Cantor legte ab 1874 die intuitive Basis für erste Theorien der Mengenlehre. Er analysierte Begriffe wie Gleichmächtigkeit, Kardinalzahl, Unendlichkeit, Ordnung, die wir in Kapitel 4 behandeln. Cantor fand selbst um 1895 Widersprüche in gewissen Mengenbildungen. Bertrand Russell (1872 - 1970) beschrieb die nach ihm benannte Antinomie 1902 in einem Brief an den Logiker Gottlob Frege (1848 - 1925), von dem die intensionale Beschreibung von Mengen stammt. Paradoxien und Antinomien der Mengenlehre wurden um 1900 bekannt und diskutiert; sie gaben Anlass, eine solide Basis für die Mengenlehre zu suchen, die Antinomien ausschloss. Cantors Schüler Ernst Zermelo (1871 - 1953) legte 1908 ein erstes brauchbares Axiomensystem für die Mengenlehre vor, auf dem die heute üblichen Axiomensysteme der Mengenlehre basieren. Dabei wird nicht definiert, was eine Menge ist, sondern die Eigenschaften der durch ∈ dargestellten Relation werden durch einige (bei Zermelo sieben) Axiome festgelegt. Der Mathematiker Adolf Fraenkel (1891 - 1965), der sich auch mit dem Problem des Auswahlaxioms befasste, lieferte ein weiteres Axiomensystem. Zu offenen Problemen gehörten die Widerspruchsfreiheit der Axiomensysteme und die Kontinuumshypothese. Der Logiker Kurt Gödel (1906 - 1978) zeigte, dass die entwickelten Standardtheorien der Mengenlehre relativ konsistent sind. Die Unterschiede zwischen den heutigen Axiomensystemen beziehen sich auf unendliche Mengen und sind für praktische Anwendungen kaum relevant. Es gibt z.B. Mengenlehren mit und ohne Auswahlaxiom, mit und ohne Kontinuumshypothese. Einen guten Überblick über die Geschichte der Mengenlehre bietet Meschkowski [15]. Variable 9.8.04 Schon einzelne Mathematiker und Logiker der griechischen Antike benutzten gelegentlich Variablen. Systematisch begann man im 17. Jahrhundert - vor allem durch den französischen Mathematiker François Viète, lat. Vieta (1540 - 1603) beeinflusst Variablen in mathematischen Überlegungen zu verwenden. Seit René Descartes (1596 1650) bezeichnet man unbekannte Größen in Gleichungen mit x, y und z, bekannte mit a, b und c. Auch die Standardnotation xn für die n-te Potenz von x ist Descartes zu verdanken. Die moderne Mathematik ist ohne Variablen undenkbar. © Karlheinz Hug, Hochschule Reutlingen 1 - 36 1 Mengen Relation Erste Theorien der Relationen entwickelten Augustus de Morgan (1806 - 1871) und der amerikanische Logiker Charles Sanders Peirce (1839 - 1914). Der Mathematiker und Logiker Ernst Schröder (1841 - 1902) erweiterte ihr Werk systematisch. Funktion Der Fachbegriff Funktion stammt von Gottfried Wilhelm Leibniz (1646 - 1716); er klärte im Briefwechsel mit dem schweizer Mathematiker Johann I Bernoulli (1667 1748) Begriffe wie Funktion, Konstante, Variable, Koordinate, Parameter, und führte die Indexschreibweise ein. Bernoulli benutzte die Präfixschreibweise fx, sein Schüler Leonhard Euler (1707 - 1783) die Funktionsschreibweise f(x). Vertrat Bernoulli noch die enge Auffassung einer Funktion als einer „Größe, die auf irgendeine Weise aus einer veränderlichen Größe und Konstanten zusammengesetzt ist“, so fand schon Euler zum Verständnis einer Funktion als Zuordnung zweier Zahlenmengen. Die klare Unterscheidung zwischen stetig und analog sowie zwischen diskret und digital empfiehlt Rechenberg [17]. 1.13 Übungen Aufgabe 1.1 Namen von Zeichenfolgen Zeichenfolgen, über die wir etwas aussagen, müssen benannt sein. Eine Möglichkeit sie zu benennen besteht darin, sie in Anführungszeichen zu setzen. Dies gilt auch für Zeichenfolgen, die selbst Namen sind. Geben Sie an, welche der folgenden Zeichenfolgen durch korrektes Verwenden von Anführungszeichen korrekte Sätze sind! (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) Alice ist glücklich. Bob besteht aus drei Buchstaben. „Cleo“ ist ein Name. Cleo ist eine Spezifikationssprache. 0 ist eine Zahl. 0 gleicht einem großen O. „0“ ist eine Zahl. „0“ gleicht „O“. 0∈ . „0“ ∈ . „∈“ ist das Symbol der Elementrelation. x ∈ M ist eine Aussage. 1 + 1 = 2. „1 + 1“ = „2“. „1“ + „1“ = „11“. x + y = y + x. „x + y“ = „y + x“. „He said: \„Don’t worry!\““ ist eine Zeichenfolge, die mit dem Symbol „\“ markierte Anführungszeichen enthält, um diese von den die Zeichenfolge benennenden Anführungszeichen zu unterscheiden. ! ! Suchen Sie Sätze in diesem Skript, in denen die Anführungszeichenregel nicht korrekt angewendet ist! Welche andere Regel wird oft verwendet? Aufgabe 1.2 Beweisen Sie Korollar 1.3 S. 2! © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.13 Übungen Aufgabe 1.3 Mengen beschreiben 1 - 37 Geben Sie möglichst einfache Beschreibungen folgender Mengen an! {(−1)3n | n ∈ lN0} (1) ! | x2 + 3x + 2 = 0} {x ∈ ! | x2 − 2x + 3 = 0} {2m + 3n | m, n ∈ '} {x ∈ (2) (3) (4) Aufgabe 1.4 Semantische Antinomien Untersuchen Sie folgende Situationen! (1) L sei das Literaturverzeichnis, das alle Werke verzeichnet, die sich nicht selbst verzeichnen. Verzeichnet L sich selbst? Proklos (um 450 v.u.Z.) [19]: Protagoras lehrt einen Schüler die Rechte und stundet ihm die Studienkosten, bis der Schüler seinen ersten Prozess gewonnen hat. Da der Schüler nach Abschluss des Studiums keine Prozesse übernimmt, verklagt ihn Protagoras schließlich auf Zahlung der Studienkosten. Muss der Schüler zahlen? Grelling (1908) [19]: Man zerlegt die Menge der deutschen Adjektive in zwei Klassen. Ein Adjektiv ist autologisch, wenn es das ist, was es bedeutet, z.B. das kurze Adjektiv „kurz“, das deutsche Adjektiv „deutsch“, das dreisilbige Adjektiv „dreisilbig“; sonst ist es heterologisch, z.B. das kurze Adjektiv „lang“, das deutsche Adjektiv „englisch“, das dreisilbige Adjektiv „zweisilbig“. Zu welcher Klasse gehört heterologisch? (2) (3) Aufgabe 1.5 Beweisen Sie Korollar 1.7 S. 7! Aufgabe 1.6 Beziehungen zwischen Mengen Geben Sie möglichst viele Beziehungen zwischen folgenden Mengen an! G = {2n | n ∈ lN0}, U = {2n + 1 | n ∈ lN0}, GpG = {g + h | g, h ∈ G}, UpU = {u + v | u, v ∈ U}, GmU = {g ∗ u | g ∈ G, u ∈ U}, GpU = {g + u | g ∈ G, u ∈ U}, GmG = {g ∗ h | g, h ∈ G}, UmU = {u ∗ v | u, v ∈ U}, Gq = {g2 | g ∈ G}, qG = {n ∈ lN0 | n2 ∈ G}. Aufgabe 1.7 Beweisen Sie Korollar 1.9 S. 7! Aufgabe 1.8 Potenzmenge Geben Sie die Potenzmenge von {1, 2, 3, 4} an! Wieviele Elemente hat sie? Aufgabe 1.9 Beweisen Sie Satz 1.13 S. 9! Aufgabe 1.10 Beweisen Sie Satz 1.14 S. 9! Aufgabe 1.11 Beweisen Sie Satz 1.15 S. 10! Aufgabe 1.12 Beweisen Sie Satz 1.16 S. 11! Aufgabe 1.13 Beweisen Sie Satz 1.17 S. 12! Aufgabe 1.14 Dreiecke Es seien D die Menge aller Dreiecke, K die Menge aller gleichschenkligen Dreiecke, S die Menge aller gleichseitigen Dreiecke, W die Menge aller gleichwinkligen Dreiecke, R die Menge aller rechtwinkligen Dreiecke, P die Menge aller spitzwinkligen Dreiecke und T die Menge aller stumpfwinkligen Dreiecke. Zeichnen Sie ein Mengendiagramm und geben Sie alle Beziehungen zwischen diesen Mengen an! Aufgabe 1.15 Schaltjahre [8] Ein Schaltjahr ist ein Jahr, das durch 4, aber nicht durch 100, wohl aber durch 400 teilbar ist. (2000 war ein Schaltjahr, 1900 keins.) Stellen Sie die Menge S der Schaltjahre mit den Mengen L = {n ∈ lN | 4 teilt n}, M = {n ∈ lN | 100 teilt n}, N = {n ∈ lN | 400 teilt n} dar! 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 38 Aufgabe 1.16 Mengenoperationen [16] 1 Mengen Stellen Sie mit den Teilmengen L, M, N der Grundmenge G die Menge der Elemente von G dar, die (1) (2) (3) (4) (5) (6) (7) zu mindestens einer der drei Mengen L, M, N, zu genau einer der drei Mengen, zu mindestens zwei der drei Mengen, zu genau zwei der drei Mengen, zu allen drei Mengen, zu keiner der drei Mengen, nur zu L gehören! Aufgabe 1.17 Mengenausdrücke vereinfachen Aufgabe 1.18 Wann sind zwei Mengen gleich? Vereinfachen Sie folgende Mengenausdrücke! Die Grundmenge sei G. (1) (2) (3) (4) (M ∩ M) ∪ (M ∩ ∅) (∅ ∪ M) ∩ (M ∪ (M ∩ N) ∪ N) (L ∩ M) ∪ (M ∩ O) ∪ (N ∩ L) ∪ (O ∩ N) ((L \ M) ∩ (M \ N) ∩ (M \ ∅)) ∪ ((L \ M) ∩ (L \ N)) (5) (6) ((L ∩ Mc) ∪ N)c ∩ (Lc ∪ (M ∩ Nc)c) (L ∪ N) ∆ ((M \ (N \ M)) ∪ ((L \ M) \ L)) ∆ (L \ N) Zeigen Sie durch Gegenbeispiele, dass (1) (2) aus L ∩ M = L ∩ N nicht M = N folgt; aus L ∪ M = L ∪ N nicht M = N folgt! Beweisen Sie, dass (3) (4) aus L ∩ M = L ∩ N und L ∪ M = L ∪ N folgt M = N; aus L ∪ M = L ∪ N und L ∪ M = L ∪ N folgt M = N! Aufgabe 1.19 Beweisen Sie Satz 1.19 S. 15! Aufgabe 1.20 Mengen bestimmen [16] Für n ∈ lN0 sind die Mengen Mn := {i ∈ lN | i ≤ n}, Nn := {i ∈ lN | i ≥ n} gegeben. Bestimmen Sie für m, n ∈ lN0 die folgenden Mengen! (1) Mm ∆ M n (2) Nm ∆ Nn (3) ∩ Mi ∪ Mi ∩ Ni ∪ Ni i = 1, …, n (4) i = 1, …, n (5) i = 1, …, n (6) i = 1, …, n Aufgabe 1.21 Beweisen Sie Korollar 1.21 S. 16! Aufgabe 1.22 Zerlegungen Geben Sie alle echten Zerlegungen von {1, 2, 3, 4} an! Wieviele gibt es? © Karlheinz Hug, Hochschule Reutlingen 9.8.04 1.13 Übungen Aufgabe 1.23 Potenzmengen [16] 1 - 39 Beweisen Sie, dass für beliebige Mengen M, N die Inklusionskette P(M ∩ N) = P(M) ∩ P(N) ⊆ P(M) ∪ P(N) ⊆ P(M ∪ N) gilt! Aufgabe 1.24 Beweisen Sie Satz 1.23 S. 18! Aufgabe 1.25 Relationen Gegeben sind folgende Relationen: !2 | x ≥ 0}, M2 = {(x, y) ∈ !2 | y ≥ 0}, M3 = {(x, y) ∈ !2 | x ≤ 0}, M4 = {(x, y) ∈ !2 | y ≤ 0}, M1 = {(x, y) ∈ (1) (2) (3) (4) Skizzieren Sie die Relationen in einer kartesischen Ebene! Stellen Sie die Komplemente der Mengen in intensionaler Form dar! Zeichnen Sie folgende Mengen in eine kartesische Ebene und beschreiben Sie sie verbal! M1 ∩ M3 , M1 ∩ M2, M2 \ M3 , N1 ∩ N3, M1 ∩ N1 ∩ N2, M3 ∪ M4 ∪ N3, N1 ∩ N2 ∩ N3 ∩ N4, M 3 ∩ N 1 ∩ N 4. Welche der folgenden Aussagen sind wahr, welche falsch? M2 \ M1 ⊆ M2 ∩ M3 , M4 ⊆ N1 ∆ N4, N1 ∩ N3 = ∅, Aufgabe 1.26 Relationen und Funktionen !2 | x + y ≤ 1}, N2 = {(x, y) ∈ !2 | y − x ≤ 1}, N3 = {(x, y) ∈ !2 | −x − y ≤ 1}, N4 = {(x, y) ∈ !2 | x − y ≤ 1}. N1 = {(x, y) ∈ N1 \ M1 ⊆ N3 ∩ M4. Die folgenden Formeln definieren Relationen R := {(x, y) | x und y erfüllen die Formel} und R−1. Welche dieser Relationen stellen Funktionen mit geeigneten Definitions- und Wertebereichen dar? (1) (2) 2x + 3y = 4. x − 5 < y + 5. (3) (4) (5) (6) 6x − 7y = 8x2 + 9y2. x ist Mutter von y. x ist Tochter von y. x sendet E-Mails an y. Aufgabe 1.27 Beweisen Sie Satz 1.30 S. 28! Aufgabe 1.28 Rekursive Definition Geben Sie eine rekursive Definition des Durchschnitts endlich vieler Mengen an! 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 1 - 40 © Karlheinz Hug, Hochschule Reutlingen 1 Mengen 9.8.04 2 Logik AufgabeBeispiel 2 Bild 2 2 (2) MathAussagen Leitlinie Programm 2 2 2 Tabelle 2 In Kapitel 1 haben wir schon einige mathematische Aussagen (streng genommen Aussageformen) kennen gelernt: x ∈ M, M ≠ N, M ⊆ N. Wir haben die Aussagen miteinander logisch verknüpft - mit „und“, „oder“, „aus ... folgt“ und „genau dann, wenn“, wobei wir Anordnung und Bedeutung dieser Verknüpfungen informal eingeführt haben. Fast unbemerkt haben wir auch Formulierungen wie „für alle x“ und „es gibt ein x“ verwendet. Nun stellen wir die intuitiv benutzte Logik auf eine solidere Basis, indem wir sie formalisieren. 2.1 Aussagenlogik Logik ist die Wissenschaft des schlüssigen, folgerichtigen Denkens. Da unser Denken eng mit unserer Sprache zusammenhängt, betrachten wir zunächst sprachliche Aspekte. 2.1.1 Einführung Satzart Unsere Umgangssprache kennt verschiedene Arten von Sätzen. Dazu gehören: (1) (2) (3) Aussagesätze wie „Informatik macht Spaß.“. Fragesätze wie „Macht Informatik Spaß?“. Befehlssätze wie „Lerne Informatik!“. Man erkennt die Satzart oft am Schlusszeichen: „.“, „?“ oder „!“. Diese Unterscheidung ist auch für die Mathematik und die Informatik wichtig - wir müssen nur bewusst damit umgehen. Aussage und Frage Aussagen beschreiben Sachverhalte. Fragen unterscheiden sich davon nicht so stark wie es scheinen mag, denn jede Aussage lässt sich in eine entsprechende Frage umformulieren. (Umgekehrt gibt es nicht zu jeder Frage eine eindeutige Aussage - nämlich nicht zu Fragen, die mit Fragewörtern wie Wer, Was, Wo, Warum beginnen.) Es ist ein rhetorischer Trick, eine Frage zu stellen, wenn man der Gefahr ausweichen will, Falsches zu behaupten. Sagen wir z.B. „Der Präsident ist ein Dummkopf, ein Verbrecher oder ein Psychopath.“, so droht eine Anzeige wegen Beleidigung eines Staatsoberhaupts. Fragen wir dagegen „Ist der Präsident ein Dummkopf, ein Verbrecher oder ein Psychopath?“, so kann nichts passieren, denn schließlich darf man wohl noch fragen, oder? Bewertung und Antwort Entscheidend an Aussagen ist, dass man sie bewerten, an Fragen, dass man sie beantworten kann. Eine Bewertung von Aussage (1) kann sein: „Das ist wahr.“, eine Antwort auf Frage (2): „Ja“. Freilich sind diese Kommentare subjektiv. Ein Anderer kann „Das ist falsch.“ bzw. „Nein“ äußern. Mögliche Bewertungen beschränken sich aber nicht auf „wahr“ oder „falsch“, Antworten nicht auf „ja“ oder „nein“. Wir können differenziert kommentieren: „Naja, mir macht Informatik meist Spaß, aber für manche ist es manchmal hartes Brot.“ Oder: „Spaß? Nee! Vielleicht früher mal ein bisschen Freude.“ Alltagslogik Die Umgangssprache bietet viele Möglichkeiten, Aussagen differenziert zu bewerten, Fragen differenziert zu beantworten. Subjektive Empfindung („für mich“), intersubjektive Einschätzung („für wenige“, „für viele“), Wissensstand („vielleicht“), Intensität („wenig“, „viel“), Häufigkeit („selten“, „oft“) und Zeitpunkt des Auftretens („heute“, „am 9.8.04“) usw. sind Teil der vielwertigen Alltagslogik. © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Kapitel 2 - Seite 1 von 72 2-2 2 Logik Aussagenlogik Dagegen befassen sich Mathematik und Informatik vor allem mit Aussagen, die nur mit „wahr“ oder „falsch“ zu bewerten sind, d.h. sie verwenden eine zweiwertige, binäre Logik. Die Aussagenlogik (propositional logic) ist der Zweig der mathematischen, formalen Logik, der diese zweiwertige Logik begründet. Sie geht aus von einer Menge von Aussagen (proposition), die sich mit Operationen zu weiteren Aussagen verknüpfen lassen, der Menge der Wahrheitswerte (truth value) {falsch, wahr} und Bewertungsfunktionen (evaluation function) oder Interpretationen I, die den Aussagen A Wahrheitswerte I(A) ∈ {falsch, wahr} zuordnen. Dabei kann I(A) unbekannt oder nicht berechenbar sein. Durch diese Einschränkung (gegenüber der Alltagslogik) auf die binäre Logik gewinnen wir ein mächtiges Werkzeug, das wir in der Informatik an vielen Stellen brauchen, z.B. in der Softwareentwicklung beim Analysieren von Anforderungen, Spezifizieren von Schnittstellen, Implementieren von Algorithmen und Suchen von Fehlern. Andere Logiken Weitere Zweige der formalen Logik formalisieren andere Aspekte der Alltagslogik. Beispielsweise liegen der unscharfen Logik (fuzzy logic) Bewertungsfunktionen in das reelle Intervall [0, 1] zugrunde. Die temporale Logik befasst sich mit dem Aspekt des zeitlichen Auftretens. Diese Logiken bauen auf der Aussagenlogik auf und setzen deren Kenntnis voraus. Befehl Zurück zum Start, Satzart (3): Welche Rolle spielen Befehlssätze? Die Mathematik befasst sich nur mit Problemen (Fragen) und ihren Lösungen (Aussagen), sie kennt keine Befehle. Dagegen spielen Befehle, Kommandos, Anweisungen, Instruktionen in der Informatik eine wesentliche Rolle: Man setzt Rechner und Programme ein, um Probleme zu lösen. Dazu erteilt man Rechnern Befehle, d.h. schreibt sie in Programme. Effekt Was charakterisiert Befehle? Befehle kann man nicht wie Aussagen bewerten oder wie Fragen beantworten. Jeder Befehl richtet sich an einen Akteur (ein Lebewesen oder eine Maschine). Jeder Akteur ist zu Aktionen fähig, die Situationen verändern. Ein Befehl ist eine Aufforderung an den Akteur, aus einer Situation heraus eine andere Situation zu schaffen. Der Akteur kann einen erhaltenen Befehl akzeptieren und ausführen oder ablehnen und nichts tun. Ein Befehl soll einen Effekt bewirken. Vor- und Nachbedingung Wie verhalten sich Aussagen und Befehle zueinander? Situationen lassen sich durch Aussagen beschreiben. Der Effekt eines Befehls lässt sich durch ein Paar von Aussagen beschreiben: Die Vorbedingung beschreibt die Situation vor der Befehlsausführung, die Nachbedingung die Situation danach. Tabelle 2.1 Aussagen und Befehle Zeitgeschichte CP-Programm Vorbedingung Aussage, beschreibt Situation Es ist Krieg. Befehl gerichtet an Akteur, beschreibt Aktion Herr Präsident, beenden Sie den Krieg! INCL (M, 1); Nachbedingung Aussage, beschreibt Situation Der Krieg ist beendet. M = {} M = {1} Um ein gutes Verständnis von Befehlen und ihren Effekten zu erhalten ist es also sinnvoll, sich zuerst intensiv mit der Logik von Aussagen zu befassen. Formale Sprache Dazu abstrahieren wir völlig vom Inhalt möglicher Aussagen und konstruieren die Aussagenlogik als eine formale Sprache. Mit formalen Sprachen befassen wir uns in folgenden Kapiteln - die Aussagenlogik dient hier dazu, an dieses Gebiet heran zu führen. Eine formale Sprache (formal language) wird beschrieben durch © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2-3 (1) (2) Zahlenrechnen ein Alphabet, aus dessen Zeichen Wörter, d.h. Zeichenfolgen gebildet werden; die Syntax, die festlegt, welche mit den Zeichen des Alphabets gebildeten Wörter zur Sprache gehören; (3) die Semantik, die den Wörtern der Sprache eine Bedeutung zuordnet. Wir gehen ähnlich vor wie beim Lernen des Zahlenrechnens - nur formaler. Bei Zahlen starten wir mit literalen Konstanten 1, 2, 3,.., verknüpfen sie zu einfachen konstanten Ausdrücken 1 + 2, 3 ∗ 4,.., lernen diese zu berechnen 2 + 2 = 4, 5 ∗ 6 = 30,.., führen Variablen x, y, z,... ein, bilden damit komplexere Ausdrücke (x + 7) ∗ y, ((a − 1) ∗ (2b + 3)) / ((4c − 5) ∗ (6d + 7)),.., aber nicht etwa ) ) a + ∗ j d d 22 111 v ( − ( / / x v 345 g r ∗ m n + ∗ 987, üben das „Buchstabenrechnen“ 8x − 16y = 8 ∗ (x − 2y),.., setzen für Variablen Werte ein x = 12 und y = 10 und berechnen damit Ausdrücke 5x / y = (5 ∗ 12) / 10 = 60 / 10 = 6. Beim Zahlenrechnen ist es egal, in welchem Kontext der Ausdruck 7 + 8 ∗ 9 steht und ob 7 und 9 Äpfel oder Autos zählen, das Ergebnis ist unabhängig davon stets 79. Für das Aussagenrechnen, die Aussagenlogik ergeben sich die Unterschiede: Aussagenrechnen l l l Statt unendlich vieler Zahlen kommen nur zwei Wahrheitswerte vor. Dadurch ist das logische kleine Einmaleins viel kleiner als das arithmetische. An die Stelle der arithmetischen Operationen +, −, ∗, / treten logische Operationen. 2.1.2 Alphabet der Aussagenlogik Konstante Die zwei Wahrheitswerte sind die logischen Konstanten der Aussagenlogik. Je nach Anwendungsbereich sind verschiedene Symbole üblich. Die Literatur zur Logik bietet eine Vielfalt an Symbolen, wobei die in der Algebra verbreiteten Symbole 0 und 1 für neutrale Elemente beliebt sind, ohne dass hier Verwechslungen mit den natürlichen Zahlen 0 und 1 zu befürchten sind. In der Digitaltechnik, in Maschinensprachen und maschinennahen Programmiersprachen herrschen 0 und 1 vor. Höhere Programmiersprachen, die Wert auf Typsicherheit legen, bevorzugen false und true, um Konflikte mit Zahlen zu vermeiden. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2-4 2 Logik Tabelle 2.2 Wahrheitswerte und boolesche1 Datentypen Wahrheitswerte Datentyp falsum, verum ⊥ (bottom), T (top) Aussagenlogik falsch, wahr f/F, w/W f/F, t/T O, L Aussagenlogik, boolesche Algebra, Schaltalgebra 0, 1 C 0, 1 Pascal* Programmiersprachen char FALSE, TRUE BOOLEAN Eiffel false, true C* bool Unsere Menge der Konstanten ist lB := {0, 1} mit 0 für falsch und 1 für wahr. Analog zu den Variablen auf S. 1-2ff führen wir logische Variablen ein: Variable a ∈ lB bedeutet: a ist eine logische Variable, deren Wert 0 oder 1 sein kann. In der Digitaltechnik und in Programmiersprachen spricht man auch von booleschen Konstanten und booleschen Variablen. Tabelle 2.3 Variablen Vereinbarungen Begriff Logik Variable Vereinbarung Programmiersprachen Pascal* a Sei a ∈ lB. C* a VAR a : BOOLEAN; bool a; Unsere Menge der Variablennamen ist die Menge der kursiven Kleinbuchstaben, die auch indiziert sein können, damit die Anzahl der Variablen nicht beschränkt bleibt: Va := {a, b, c,.., z, a0, a1, a2,.., z0, z1, z2,...}. Die Bindung (→ S. 1-24) bind : Va → { lB}, α → bind(α) := lB | der Variablennamen α ∈ Va an lB, sodass sie logische Variablen α ∈ lB bezeichnen, ist Teil der Semantik (→ 2.1.4.2). Gelegentlich sprechen wir einfach von Variablen α ∈ Va statt von Variablennamen. Konkrete Aussage Man darf sich vorstellen, dass Variablen konkrete Aussagen bezeichnen, die mehr oder weniger formalisiert sind, z.B. a := „Heute ist Vollmond.“ b := „Einmal ist keinmal.“ c := „1 + 1 = 3.“ d := „3 ist eine Primzahl.“ e := „5 ∈ {x | x ist Primzahl}.“ 1 George Boole (1815 - 1864), irischer Mathematiker, Logiker, begründete die algebraische Logik. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2-5 Im Folgenden abstrahieren wir jedoch vom Inhalt der Aussagen und betrachten nur ihre Bezeichnungen. Tabelle 2.4 Logische Operationen Auch für die logischen oder booleschen Operationen (Verknüpfung, Operator, Funktor, Junktor) sind verschiedene Symbole üblich. Wir nutzen die Gelegenheit, um die Namen der Operationen einzuführen. A, B stehen für logische Ausdrücke, die wir unten definieren. Logik Schaltalgebra ¬A ∼A Konjunktion A und B Disjunktion Adjunktion Begriff Gesprochen Pascal* Eiffel C* A NOT A ~A not A !A A∧B A∗B AB A AND B A&B A and B A && B A oder B A∨B A+B A OR B A or B A || B Implikation Subjunktion aus A folgt B wenn A dann B A impliziert B AB A→B Äquivalenz Bijunktion A genau dann, wenn B A äquivalent zu B A⇔B A↔B Antivalenz entweder A oder B A antivalent zu B A <≠> B Negation nicht A exklusives Oder a Programmiersprachen a NOT A OR B A implies B ~A OR B A XOR B !A || B A=B A=B A == B A#B A /= B A != B Das korrekte Symbol, der durchgestrichene Äquivalenzdoppelpfeil, fehlt im Zeichensatz. Unsere Menge der Operationssymbole oder kurz Operationen ist Klammer Op := {¬, ∧, ∨, , ⇔, <≠>}. Außerdem brauchen wir ein Paar Klammern (parenthesis): Kl := {(, )}. Definition 2.1 Alphabet der Aussagenlogik Das Alphabet der Aussagenlogik ist die Vereinigung der vier paarweise disjunkten Mengen: Al := lB ∪ Va ∪ Op ∪ Kl. 2.1.3 Syntax der Aussagenlogik Die Sprache A der Aussagenlogik ist eine Menge von Wörtern aus Zeichen des Alphabets Al. Die Wörter bezeichnen wir mit kursiven Großbuchstaben: A, B,... Wir müssen nun die Syntax dieser Sprache, d.h. die Anordnung der Zeichen in den Wörtern, definieren - und zwar so genau, dass wir bei jedem Wort A aus Zeichen von Al entscheiden können, ob Induktion oder A∉A A∈A gilt. Dazu wenden wir die Methode der induktiven Definition an, die mit Rekursion (→ 1.9.1) verwandt und genauso wichtig ist, aber umgekehrt vorgeht. Die Idee bei der Induktion ist, ein Problem zu lösen, indem man l l 9.8.04 einfache, nicht weiter zerlegbare Teilprobleme löst; die Lösungen von aus Teilproblemen zusammengesetzten Problemen konstruiert, indem man sie aus Lösungen der schon gelösten Teilprobleme zusammensetzt. © Karlheinz Hug, Hochschule Reutlingen 2-6 Syntaxregel Definition 2.2 Aussagenkalkül, Aussagenlogischer Ausdruck 2 Logik Eine induktive Definition der Syntax einer Sprache ist eine Anleitung zum Konstruieren der Wörter der Sprache, ein so genannter Kalkül, der aus einer Reihe von Syntaxregeln besteht. Viele Konstrukte von Programmiersprachen wie Ausdrücke, Anweisungen, Datentypen und Klassen sind induktiv definiert. Die Syntax von A ist durch folgende induktive Regeln bestimmt, d.h. genau die Wörter gehören zu A, die durch endlichmaliges Anwenden der Regeln (1) bis (3) bildbar sind: (1) (2) (3) Die Konstanten sind Wörter von A: lB ⊆ A. Die Variablen sind Wörter von A: Va ⊆ A. Aus schon in A enthaltenen Wörtern A, B werden mit den Operationen und Klammern neue Wörter von A gebildet: Sind A, B ∈ A, dann sind auch ¬A, (A ∧ B), (A ∨ B), (A B), (A ⇔ B), (A <≠> B) ∈ A. A, B heißen Operanden. Ein Wort A ∈ A heißt Aussage oder aussagenlogischer Ausdruck (aussagenlogische Formel, boolescher Ausdruck, propositional expression, formula). Konstanten und Variablen heißen auch atomare Aussagen (Atom), die nach Regel (3) gebildeten Aussagen heißen zusammengesetzt. Die Operanden zusammengesetzter Aussagen heißen auch Teilausdrücke (subexpression). Regel (3) entnehmen wir, dass die Negation eine einstellige Operation ist, die anderen Operationen sind zweistellig. A, B,... sind Variablen der Menge A, daher ist {A, B,...} /⊆ A. „A“, „B“,... sind Namen für Aussagen. a, b,... sind Konstanten von A, die Variablen(namen) heißen, d.h. {a, b,...} ⊆ A. „a“, „b“,... sind Namen für so genannte Aussagevariablen. Beispiele Nach den Syntaxregeln können wir Aussagen konstruieren - man sagt: aus dem Aussagenkalkül ableiten -, z.B.: 0, 1, a, b, c,.., ¬a, ¬b, ¬c,.., (a ∧ b), (a ∨ b), (a b), (a ⇔ b), (a <≠> b), (¬a ∧ b), (a ∨ ¬b), (¬a ¬b),.., (a ⇔ 0), (b <≠> ¬c),.., (¬a ⇔ (b ¬c)),.., ((a b) ∧ (a ⇔ b)), ((a ∧ b) (a ∨ b)), ((a ∨ ¬b) ⇔ (¬c ¬1)), ((a ¬b) ∨ (¬c ∧ d)), ((a ⇔ c) <≠> (b <≠> ¬¬1)), ¬(¬(a <≠> 0) ¬(¬a ∧ b)). Jede Aussage kann Teilausdruck anderer, zusammengesetzter Aussagen sein. Das ist eine bemerkenswerte Eigenschaft, deren Analogon uns von arithmetischen und Mengenausdrücken bekannt ist: Ersetzt man in einem Ausdruck einen Teilausdruck durch einen anderen Ausdruck, so erhält man wieder einen Ausdruck. Die Großbuchstaben A, B,... sind Namen für so gebildete Ausdrücke, z.B. A = 0, B = (a ∧ b), C = ((a ¬b) ∨ (¬c ∧ d)), D = ((A ∨ B) ∧ C) = ((0 ∨ (a ∧ b)) ∧ ((a ¬b) ∨ (¬c ∧ d))). Diese Aussagen sind freilich inhaltsleer. Wir können sie mit Inhalt füllen, indem wir die Variablen wie auf S. 4 skizziert durch mathematische, z.B. mengentheoretische Aussagen (streng genommen Aussageformen) wie x ∈ M, M ≠ N, M ⊆ N oder arithmetische Aussagen wie y ≤ x2 + 1 ersetzen. So erhalten wir Aussagen wie © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2-7 (((x ∈ M ∧ M ≠ N) ∨ (M ⊆ N)) y ≤ x2 + 1). Legen wir nun noch die Bedeutung der logischen Operationen fest, sind wir am Ziel. Zuvor müssen wir sicherstellen, dass wir Aussagen eindeutig in die Operanden und Operationen zerlegen können, aus denen sie gebildet wurden. Das ist weniger trivial als es scheint! Beispielsweise lässt sich aus dem Alphabet {|, ||} das Wort ||| bilden und auf die drei Arten | + | + |, | + ||, || + | zerlegen. Satz 2.3 Eindeutigkeit der Syntaxdefinition Jede Aussage ist entweder eine Konstante oder eine Variable oder von genau einer der Formen ¬A, (A ∧ B), (A ∨ B), (A B), (A ⇔ B), (A <≠> B) ∈ A. Der Satz beruht darauf, dass sich kein Zeichen von Al aus anderen Zeichen von Al zusammensetzt und zusammengesetzte Aussagen ordentlich geklammert sind. Ohne Klammern wäre z.B. die Aussage ¬a ∧ b nicht eindeutig zerlegbar: sie könnte sowohl von der Form ¬A als auch von der Form A ∧ B sein. 2.1.4 Semantik der Aussagenlogik Die Semantik der Aussagenlogik ordnet den Wörtern der Sprache, also den Aussagen A ∈ A, eine Bedeutung zu. Hier kommen l l l die Bedeutungen der Operationen l ∈ Op, die Bindungen der Variablen α ∈ Va, und die möglichen Interpretationen I : A → lB, A → I(A) der Aussagen | ins Spiel. Eine Bedeutung oder Interpretation einer Aussage ist ihr Wahrheitswert. Wie aber sollen wir für jede der unendlich vielen Aussagen A ∈ A einen Wahrheitswert festlegen? Satz 2.3 erlaubt uns, die Operationen und die Interpretationen jeweils induktiv über den Aufbau der Aussagen - also entlang der Syntaxregeln - zu definieren. Wir üben also induktives Definieren. 2.1.4.1 Operationen Wir definieren zunächst die logischen Operationen auf der Menge der Konstanten. Dann erweitern wir die Definition auf Variablen und zusammengesetzte Aussagen. (1) Tabelle 2.5 Wahrheitstabellen der logischen Operationen Konstanten lB = {0, 1} wird zu einer algebraischen Struktur lB, ¬, ∧, ∨, , ⇔, <≠>, indem wir die einstellige Operation ¬ und die zweistelligen Operationen ∧, ∨, , ⇔, <≠> durch Verknüpfungstabellen, hier Wahrheitstabellen genannt, definieren. A 0 1 ¬A 1 0 A B A J 9.8.04 B ∧ 0 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 A A B ⇔ 0 1 0 1 0 1 0 1 B ∨ 0 1 0 0 1 1 1 1 B <≠> A 0 1 0 0 1 1 1 0 Mit den Wahrheitstabellen ist das Wesentliche geleistet - sie sind das kleine Einmaleins der Aussagenlogik, der Rest ist Formalisieren der folgenden Idee. © Karlheinz Hug, Hochschule Reutlingen 2-8 2 Logik (2) und (3) Variablen und zusammengesetzte Aussagen Die Wahrheitstabellen zeigen nicht nur, wie die Operationen auf die Konstanten 0 und 1, sondern auch auf Variablen A = α, B = β ∈ Va und andere Aussagen A, B ∈ A anzuwenden sind. Wegen Va ⊆ A ist jede Variable auch eine Aussage, sodass es genügt, beliebige Aussagen zu betrachten. Jede Aussage kann einen der Werte 0, 1 annehmen. Bei einer Aussage gibt es 2 mögliche Werte, bei zwei Aussagen 2 ∗ 2 = 4 mögliche Wertepaare (so genannte Belegungen oder Interpretationen). Die Anwendung einer Operation auf Operanden ist durch ihre Anwendung auf alle möglichen Belegungen der Operanden definiert. Das Ergebnis einer Operation ist wieder einer der Werte 0, 1. Abstrahieren wir von den Werten, so erscheinen Aussagen als Gebilde mit möglichen, unbestimmten Werten in lB. Die eilige, an Formalismen weniger interessierte LeserIn überspringt die folgenden Ausführungen bis 2.1.5. 2.1.4.2 Bindung Auf S. 1-24 und S. 4 haben wir Bindungen von Variablennamen an Wertebereiche erklärt. Hier definieren wir die Bindung von Aussagen: bind(A) := lB für jedes A ∈ A. Unter der Bindung tauscht eine Aussage ihre Rollen. Während A ∈ A ein Wort aus Zeichen von Al ist, ist A ∈ lB ein Gebilde, das einen Wert aus lB annimmt. Für die Konstanten 0 und 1 ist das trivial, für Variablen a, b, c,... stimmt es mit dem auf S. 4 Gesagten überein. Typbindung In (typisierten) Programmiersprachen spricht man von der Typbindung von Ausdrükken: Jeder Ausdruck ist an einen Typ gebunden, der bestimmt ist durch die Typen der Variablen und die Operationen, die in dem Ausdruck vorkommen. Aussagenlogische Ausdrücke bilden einen Spezialfall, in dem nur der Typ lB vorkommt. Den allgemeinen Fall erhalten wir, wenn wir die logischen Variablen durch mathematische Aussagen ersetzen, d.h. durch Ausdrücke, in denen z.B. Zahlenvariablen vorkommen. 2.1.4.3 Belegungen und Interpretationen Definition 2.4 Belegung Eine Belegung zu einer Variablenmenge V ⊆ Va ist eine Abbildung beleg : V → lB, die jedem Variablennamen α ∈ V einen Wahrheitswert beleg(α) ∈ lB zuordnet. Nun interessieren nicht die Werte beliebiger Variablen, sondern nur derjenigen, die in der gerade vorliegenden Aussage vorkommen. Die Abbildung Variablen einer Aussage A → P(Va), A → VA, | die jeder Aussage A ∈ A die Menge VA der in A vorkommenden Variablen zuordnet, ist induktiv so definiert: (1) Konstanten V0 := V1 := ∅. (2) Variablen Für α ∈ Va ist Vα := {α}. (3) zusammengesetzte Aussagen Für A, B ∈ A und l ∈ {∧, ∨, , ⇔, <≠>} ist und VAlB := VA ∪ VB. V¬A := VA © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2-9 Wegen der induktiven Konstruktion von A ist VA stets endlich. Sei B ⊆ A eine Teilmenge von Aussagen. Die Menge der in allen A ∈ B vorkommenden Variablen ist VB := ∪ VA . A∈B Eine Belegung belegB : VB → lB heißt passend zu B. Für B = {A} heißt belegA := beleg B passend zu A. Für A ∈ A ordnet beleg A jeder in A vorkommenden Variablen einen Wahrheitswert zu. Untersuchen wir belegA: (1) Konstanten Ist A = 0 oder A = 1, so ist VA = ∅ und es gibt nur die leere Belegung beleg0 := beleg1 := ∅. (2) Variablen Ist A = α ∈ Va, so gibt es zwei Belegungen und belegα1(α) := 1. belegα0(α) := 0 (3) zusammengesetzte Aussagen Mit n in A vorkommenden Variablen gibt es 2n verschiedene Belegungen zu A. Für B ⊆ A sei AB := {B ∈ A | VB ⊆ VB} die Menge aller Aussagen, die mit den Variablen, die in wenigstens einem A ∈ kommen, konstruierbar sind. Definition 2.5 Interpretation B vor- Ist beleg = beleg B eine zu B ⊆ A passende Belegung, so ist die Interpretation (Bewertungsfunktion) I = Ibeleg von B zu beleg die Abbildung I : AB → lB, die induktiv so definiert ist: (1) Konstanten I|lB := id , lB (2) d.h. I(0) := 0 und I(1) := 1. Variablen I|VB := beleg, d.h. für α ∈ VB ist I(α) := beleg(α). (3) zusammengesetzte Aussagen Für A, B ∈ AB und l ∈ {∧, ∨, I(¬A) := ¬I(A) Klammern 9.8.04 und , ⇔, <≠>} ist I((A l B)) := (I(A) l I(B)). Untersuchen wir die Rolle der Klammern in dieser Definition: Wie aus der Arithmetik gewohnt steuern die Klammern die Reihenfolge der Interpretation. Die Aussagen werden von innen nach außen interpretiert. Außerdem gilt die Vorrangregel einstellige Operationen vor zweistelligen, d.h. z.B. in (¬A ∧ B) wird erst A interpretiert, dann negiert und B interpretiert, dann ¬A und B konjunktiv verknüpft. © Karlheinz Hug, Hochschule Reutlingen 2 - 10 2 Logik Eine Interpretation ordnet also Aussagen Wahrheitswerte zu. Eine Konstante wird durch sich selbst interpretiert, eine Variable durch ihre Belegung. Eine zusammengesetzte Aussage wird interpretiert, indem alle in ihr vorkommenden Variablen belegt werden und der Ausdruck der Klammerung folgend von innen nach außen mittels der Wahrheitstabellen berechnet wird. Auswertung In Programmiersprachen spricht man von der Auswertung (evaluation) von Ausdrükken: Jeder Ausdruck hat (zur Laufzeit des Programms) einen Wert aus dem Wertebereich seines Typs (der durch die Typbindung bestimmt ist). Dieser Wert wird durch die Ausführung des Programms ermittelt, indem die vorkommenden Operationen auf die Werte der Operanden (Konstanten, Variablen, Teilausdrücke) angewendet werden. 2.1.5 Erläuterungen Das Interpretieren von Aussagen lässt sich so auffassen: Die Interpretation atomarer Aussagen in A ist klar. Für schon in A enthaltene Aussagen A, B sei die Interpretation schon festgelegt, d.h. I(A) und I(B) sind definiert. Nun ist die Interpretation der neuen, mit den Operationen und Klammern gebildeten Aussagen von A zu definieren, also I(¬A), I((A ∧ B)), I((A ∨ B)), I((A B)), I((A ⇔ B)), I((A <≠> B)). Alle Interpretationen stehen in der zusammengefassten Wahrheitstabelle. In der Kopfzeile stehen die Argumente eines I, in den Zeilen darunter die möglichen Belegungsund Interpretationswerte. Links stehen die Operanden (Eingangsgrößen) A, B mit ihren Belegungen, rechts davon die zusammengesetzten Aussagen (Ausgangsgrößen) mit ihren Interpretationen. Tabelle 2.6 Zusammengefasste Wahrheitstabelle B) (A ⇔ B) (A <≠> B) 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 A ¬A A B (A ∧ B) (A ∨ B) 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 (A Die Definitionen der logischen Operationen sind so wichtig, dass wir sie auch verbal beschreiben: l l l l l l Beispiel 2.1 Interpretationen einer Aussage mit der Wahrheitstabellenmethode Negation: ¬A (nicht A) ist genau dann wahr, wenn A falsch ist. Konjunktion: (A ∧ B) (A und B) ist genau dann wahr, wenn sowohl A als auch B wahr sind. Disjunktion: (A ∨ B) (A oder B) ist genau dann falsch, wenn sowohl A als auch B falsch sind. Implikation: (A B) (aus A folgt B, wenn A dann B, A impliziert B) ist genau dann falsch, wenn A wahr und B falsch ist. Äquivalenz: (A ⇔ B) (A genau dann, wenn B; A äquivalent B) ist genau dann wahr, wenn A und B denselben Wahrheitswert haben. Antivalenz: (A <≠> B) (entweder A oder B, A antivalent B) ist genau dann wahr, wenn A und B verschiedene Wahrheitswerte haben. Wir zeigen eine allgemeine Vorgehensweise anhand eines Beispiels. Um die Aussage (((a ∧ b) (¬b ∨ c)) ⇔ 0) zu interpretieren, (1) (2) zerlegen wir sie in ihre Variablen und Operanden, stellen eine Tabelle auf, in der jeder Variablen und jedem Operanden sowie der Aussage selbst eine Spalte entspricht, © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 11 (3) belegen darin die Variablen mit allen möglichen Wertekombinationen, wobei jeder Belegung eine Zeile entspricht und wir systematisch vorgehen, um keine Kombination zu vergessen (z.B. von rechts nach links erst 0, dann 1 ergibt die Belegungen in lexikografischer Ordnung oder als Dualzahlen aufsteigend geordnet), und berechnen mittels Tabelle 2.5 oder Tabelle 2.6 sukzessive die Interpretationen der Operanden und tragen sie ein - (4) fertig ist die Wahrheitstabelle, in deren letzter Spalte die Interpretationswerte der Aussage stehen. Kommen in der Aussage n Variablen vor, so hat die Wahrheitstabelle 2n Zeilen (unter der Kopfzeile). Tabelle 2.7 Wahrheitstabelle zu einer Aussage a b c ¬b (a ∧ b) (¬b ∨ c) ((a ∧ b) (¬b ∨ c)) (((a ∧ b) (¬b ∨ c)) ⇔ 0) 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 Für umfangreiche Aussagen empfiehlt sich eine platzsparende Tabellenvariante, bei der man auf die Zerlegung der Aussage verzichtet und die Werte direkt unter die Operanden und Operationen der Aussage schreibt. Tabelle 2.8 Kompakte Wahrheitstabelle zu einer Aussage (((a ∧ b) (¬b ∨ c)) ⇔ 0) 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 2 1 4 2 3 1 5 1 Die Fußzeile nummeriert die Schritte, in denen die Spalten nacheinander auszufüllen sind. Die Spalten mit den Eingangsvariablen erhalten die Schrittnummer 1; sie sind zuerst so zu füllen, dass die Zeilen alle Belegungen erfassen. Bei Spalten mit gleicher Nummer ist die Reihenfolge des Ausfüllens beliebig. Die größte Schrittnummer kommt nur einmal vor, und zwar in der Spalte der zuletzt auszuführenden Operation. Diese Spalte enthält die Werte der Ausgangsgröße, der Aussage. p Verallgemeinern wir das Beispiel: Ist A ∈ A eine Aussage, in der die Variablen a1,.., an vorkommen, so hat ihre Wahrheitstabelle folgende Gestalt. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 12 2 Logik Tabelle 2.9 Allgemeine Wahrheitstabelle a1 a2 ... an−1 an A beleg1 0 0 ... 0 0 I1(A) beleg2 0 0 ... 0 1 ... ... ... ... ... ... 1 1 ... 1 0 1 1 ... 1 1 beleg n 2 –1 beleg 2 n Spalten für Teilausdrücke von A I2(A) ... I n 2 –1 I 2 (A) n (A) Im linken Teil stehen die Belegungen der Variablen, ganz rechts die Interpretationswerte der Aussage. Dazwischen können Spalten für Teilausdrücke stehen. Wahrheitstabellenmethode Die Wahrheitstabellenmethode lässt sich zu einem Algorithmus verfeinern, der Interpretationswerte von Aussagen berechnet. Da die Funktion n → 2n aber sehr schnell exponentiell - wächst, wächst der Rechenaufwand mit n so extrem, dass er Höchstleistungsrechner überfordert. | Wahrheitsfeldermethode Eine grafische Methode zum Bestimmen der Interpretationswerte von Aussagen ist die Wahrheitsfeldermethode. Jeder Aussage A lässt sich nämlich die Menge MA := {x | x ist eine Situation, in der A zutrifft} zuordnen und durch ein Mengendiagramm darstellen, das Wahrheitsfeld heißt. Wir ordnen den Variablen a1,.., an Wahrheitsfelder M a ,.., M a zu, die sich nach allen 1 n Möglichkeiten schneiden. Für n = 3 gibt es 8, für n = 4 16 Möglichkeiten; daher ist die Methode nur für n ≤ 3 handhabbar. Die Mengen MA sind induktiv über den Aufbau von Aussagen definiert: M0 := ∅, M1 := G (Grundmenge), M¬A := M A, M(A∧B) := M A ∩ MB, M(A∨B) := M A ∪ MB, M(AÞB) := M A ∪ MB, M(A⇔B) := (MA ∩ MB) ∪ (MA ∩ MB), M(A<≠>B) := M A ∆ MB. Wir markieren sie im Wahrheitsfeld durch einen Punkt l. Hat die Aussage mehr als drei Variablen oder ist sie komplex, so gibt es zwei Wege: (1) (2) Falls möglich, zerlegen wir die Aussage in Teilausdrücke, die konjunktiv verknüpft die Aussage ergeben. Jedem Teilausdruck sowie der Aussage ordnen wir ein Wahrheitsfeld zu. Wir markieren die Wahrheitsfelder der Teilausdrücke. Im Wahrheitsfeld der Aussage markieren wir diejenigen Mengen, die in allen Wahrheitsfeldern der Teilausdrücke markiert sind. Wir ordnen der Aussage einen Mengenausdruck zu, den wir nach seiner induktiven Definition und den Regeln der Mengenalgebra vereinfachen, bis Weg (1) gangbar ist oder die Lösung vorliegt. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik Beispiel 2.2 Interpretationen einer Aussage mit der Wahrheitsfeldermethode 2 - 13 Wir zeigen die Wahrheitsfeldermethode an der Aussage (((a ∧ b) (¬b ∨ c)) ⇔ 0) von Beispiel 2.1. Da die Aussage komplex ist, wählen wir Weg (2), ordnen ihr den Mengenausdruck M(((a ∧ b) Þ (¬b ∨ c)) ⇔ 0) zu und formen diesen um: M(((a ∧ b) Þ (¬b ∨ c)) ⇔ 0) = (M((a ∧ b) Þ (¬b ∨ c)) ∩ M0) ∪ (M((a ∧ b) Þ (¬b ∨ c)) ∩ M0) = (M((a ∧ b) Þ (¬b ∨ c)) ∩ ∅) ∪ (M((a ∧ b) Þ (¬b ∨ c)) ∩ ∅) = ∅ ∪ (M((a ∧ b) Þ (¬b ∨ c)) ∩ G) = M((a ∧ b) Þ (¬b ∨ c)) = (M(a ∧ b) ∪ M(¬b ∨ c))c = M(a ∧ b) ∩ M(¬b ∨ c), bis ein Durchschnitt von Mengen einfacher Teilausdrücke vorliegt. Nun konstruieren wir die Wahrheitsfelder: Bild 2.1 Wahrheitsfelder M(a ∧ b) M(¬b ∨ c) l a l l b c b l lll l c M(¬b ∨ c) M (((a ∧ b) Þ (¬b ∨ c)) ⇔ 0) a a a l b l l c b c Dem Wahrheitsfeld der Aussage entnehmen wir, dass das markierte Feld der Menge M(a ∧ b ∧ ¬c) entspricht, also der Aussage (a ∧ b ∧ ¬c). Der kontrollierende Blick in die Wahrheits-Tabelle 2.7 zeigt, dass die Aussage (((a ∧ b) (¬b ∨ c)) ⇔ 0) nur für die Belegung a = b = 1, c = 0 als wahr interpretiert wird. p 2.1.5.1 Aussagenlogische und umgangssprachliche Operationen Extensionalitätsprinzip In der Aussagenlogik gilt das Prinzip, dass der Wahrheitswert einer zusammengesetzten Aussage durch die Wahrheitswerte ihrer Bestandteile und die Operationen festgelegt ist. Das entspricht der Arithmetik, wo der Wert eines Ausdrucks durch seine Zusammensetzung aus Operationen und Operanden und deren Werte bestimmt ist unabhängig davon, wo der Ausdruck steht (z.B. links oder rechts in einer Gleichung), wie man die Operationen interpretiert (z.B. Addition als horizontale oder vertikale Verschiebung), und was die Operanden bedeuten (z.B. €, $ oder km/h). Der Wert von arithmetischen und aussagenlogischen Ausdrücken ist neutral gegenüber Inhalten und Anwendungen. Operationen, für die der Wahrheitswert zusammengesetzter Aussagen nur von den Wahrheitswerten der Teilaussagen abhängt, nennt man extensional. Die aussagenlogischen Operationen sind also extensional definiert. Dagegen werden umgangssprachliche Operationen - vor allem „und“ und „oder“, aber auch „wenn ... dann ...“ - oft nicht extensional benutzt. Zu welchen Missverständnissen das führen kann, zeigen folgende Beispiele. Und 9.8.04 Der König stirbt und es ist Krieg. Es ist Krieg und der König stirbt. © Karlheinz Hug, Hochschule Reutlingen 2 - 14 2 Logik In der Aussagenlogik bedeuten beide Aussagen dasselbe, sie haben denselben Wahrheitswert, da man bei der Konjunktion die Operanden vertauschen darf. In der Alltagslogik könnte man die erste Aussage so verstehen: Der König hat zu seinen Lebzeiten Frieden bewahrt, doch nach seinem Tod brechen gewaltsame Konflikte auf. Dagegen könnte man aus der zweiten Aussage herauslesen: Der König hat in einer Schlacht heldenhaft gekämpft und fällt. Die Bedeutung solcher umgangssprachlicher Aussagen hängt von der Reihenfolge und der Bedeutung der Teilaussagen ab. Das umgangssprachliche Und wird inhaltsbezogen - intensional - benutzt, um einen Ursache-Wirkungs-Zusammenhang zu suggerieren. Oder Gold brennt gut oder Reutlingen liegt im Schwabenland. Diese aussagenlogisch wahre Aussage erscheint im Alltag kaum sinnvoll, da die erste Teilaussage sicher falsch ist und kein inhaltlicher Bezug zur zweiten Teilaussage erkennbar ist. Das umgangssprachliche Oder verknüpft oft nur inhaltlich zusammenhängende Aussagen, die zudem sicher nicht falsch sind. Psychologische Aspekte wie der Grad des Wissens können mitspielen: Ich weiß nicht, ob ich ins Kino gehe oder im Bett bleibe. Sagt er „Ich muss arbeiten oder gehe mit dir aus.“ wohl wissend, dass er nicht arbeiten muss, so schwindelt er sogar, um einer verbindlichen Verabredung auszuweichen. Im Gegensatz dazu sind aussagenlogische Operationen frei von subjektiven Einschätzungen und psychologischen Momenten. Ich gehe ins Kino oder ich bleibe im Bett. Hier wird das umgangssprachliche Oder als exklusives Oder für zukünftige Alternativen verwendet: Ich kann ja nicht gleichzeitig ins Kino gehen und im Bett bleiben, beide Fälle schließen sich physisch gegenseitig aus. Genauso gut könnte ich sagen: Ich gehe genau dann nicht ins Kino, wenn ich im Bett bleibe. Dagegen ist das aussagenlogische Oder nicht exklusiv, es schließt stets den Fall, dass beide Operanden logisch wahr sind, ein: x ≥ 0 oder x ≤ 0, d.h. (x ≥ 0 ∨ x ≤ 0) bedeutet so viel wie x ist beliebig, während nicht x ≥ 0 genau dann, wenn x ≤ 0, d.h. (¬x ≥ 0 ⇔ x ≤ 0) so viel wie x≠0 bedeutet, also etwas Anderes! Exklusives Oder Für das ausschließende Entweder-Oder hat die Aussagenlogik als eigene Operation die Antivalenz oder das exklusive Oder. Die umgangssprachliche Aussage entweder x ≥ 0 oder x < 0 schreibt sich aussagenlogisch als (x ≥ 0 <≠> x < 0); sie bedeutet in beiden Logiken, dass x beliebig ist. Und oder Oder? Weitere Missverständnisse ergeben sich daraus, dass das umgangssprachliche Und auch im Sinne der Addition (1 und 1 ist 2), im Sinne des logischen Oder (Rauchen, Lärmen und Schwarzfahren verboten), oder im Sinne der Vereinigung benutzt wird. Wir sagen z.B. StudentInnen sind Studenten und Studentinnen, © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 15 da wir bei StudentInnen sind Studenten oder Studentinnen das exklusive Oder unterstellen; ohne jedoch Jede StudentIn ist ein Student und eine Studentin zu meinen, wohl aber Jede StudentIn ist ein Student oder eine Studentin. Drücken wir die Aussagen als Mengen aus: Studenten ⊆ StudentInnen Studentinnen ⊆ StudentInnen und oder StudentInnen = Studenten ∪ Studentinnen = {x | x ∈ Studenten oder x ∈ Studentinnen}, so erkennen wir darin das logische Oder. Um das umgangssprachliche Und vom logischen Und und vom exklusiven Oder zu unterscheiden, verwendet man gelegentlich „und/oder“: Wenn... dann... Sie sollten in Mathe, Deutsch und/oder Englisch eine gute Note haben. Das umgangssprachliche „Wenn... dann...“ meint oft eine zeitliche Reihenfolge: Wenn sie kommt, dann gehen wir ins Kino. Dagegen kennen aussagenlogische Ausdrücke keine Zeit, kein vorher oder nachher; sie beschreiben zeitlose Situationen, in denen zeitlose Beziehungen gelten. Dies gilt insbesondere für die Implikation, die mancher StudentIn Kopfzerbrechen bereitet. Implikation Wenn heute Montag ist, dann ist morgen Sonntag. In der Alltagslogik mögen wir diese Aussage mit falsch bewerten, wenn wir nur an die Reihenfolge der Wochentage denken, das „heute“ dabei vergessen und herauslesen: Auf Montag folgt Sonntag. Diese Aussage ist sicher falsch - aber nicht gleich der vorigen Aussage! Zur aussagenlogischen Analyse der Aussage digitalisieren wir die konstanten Wochentage: {Montag, Dienstag,.., Sonntag} → {1, 2,.., 7}, wodurch wir die Reihenfolge der Wochentage festlegen, binden die Variablen heute und morgen an die Wochentage: heute, morgen ∈ {1, 2,.., 7}, definieren morgen := heute modulo 7 + 1 (7 modulo 7 = 0, also folgt auf Sonntag Montag), ersetzen „wenn... dann...“ durch den Implikationspfeil und erhalten heute = 1 heute = 1 heute = 1 9.8.04 morgen = 7 heute + 1 = 7 heute = 6. d.h. d.h. © Karlheinz Hug, Hochschule Reutlingen 2 - 16 Tabelle 2.10 Wahrheitstabelle Beispiel 2 Logik heute heute = 1 heute = 6 heute = 1 heute = 6 1 1 0 0 2 0 0 1 3 0 0 1 4 0 0 1 5 0 0 1 6 0 1 1 7 0 0 1 Die Wahrheitstabelle zeigt, dass die Aussage meistens wahr ist, nur wenn heute Montag ist, ist sie falsch! Die Implikation erlaubt, dass aus Falschem Falsches folgt - nur aus Wahrem darf nicht Falsches folgen. Betrachten wir die wundersame Brotvermehrung: Wenn 0 = 1 ist, mache ich aus einem Brot tausend Brote: 0=1 1 = 1000. Beweis. Aus 0 = 1 folgt 0 + 1 = 1 + 1, also 1 = 2 = 2 + 0 = 2 + 1 = 3 = 3 + 0 = 3 + 1 = ... p = 1000 = ... = 1000000 = ..., d.h. alle Zahlen sind gleich, es gibt nur eine Zahl. Voraussetzung und Schlussfolgerung Bei der Implikation A B heißt A Voraussetzung (Prämisse), B Schlussfolgerung (Konklusion). Aus einer falschen Voraussetzung lässt sich Beliebiges schlussfolgern. Hinreichend und notwendig In A B heißt A auch eine hinreichende Bedingung oder kurz hinreichend für B und B eine notwendige Bedingung oder kurz notwendig für A. Eine durch 4 teilbare Zahl ist notwendigerweise auch durch 2 teilbar: Für beliebige n ∈ lN gilt: 2 teilt n. 4 teilt n Die Teilbarkeit durch 2 ist aber nicht hinreichend für die Teilbarkeit durch 4, sie reicht nicht aus: Nicht für beliebige n ∈ lN, sondern nur für manche gilt: 4 teilt n. 2 teilt n L Fehlende Klammerung B nicht auch die umgekehrte (konverse) Aussage B Dass mit A unterschlägt mancher Demagoge: A gelten muss, Wer gesund ist, ist auch arbeitsfähig. Deshalb sollen zwecks Verbesserung der Volksgesundheit alle arbeiten. Mehrere Verknüpfungen führen besonders leicht zu Mehrdeutigkeiten: Es ist nicht groß und stark. Bedeutet das (Es ist nicht groß) und (es ist stark), oder Es gilt nicht: (es ist groß und es ist stark)? Also Es ist nicht groß, aber stark, oder Es ist nicht sowohl groß als auch stark, oder vielleicht sogar Es ist weder groß noch stark? © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 17 In exakten Wissenschaften wie Mathematik und Informatik sind solche Mehrdeutigkeiten fehl am Platz. Hier hilft die Aussagenlogik mit ihren eindeutigen logischen Operationen. 2.1.5.2 Klammerung und Vorrangregeln Nach der in 2.1.3 gegebenen Syntaxdefinition sind Aussagen fast vollständig geklammert. Das vereinfacht die Syntaxdefinition, erschwert aber das Lesen von Aussagen, wie Beispiel 2.1 zeigt. Um Aussagen lesbarer zu machen, liberalisieren wir im Folgenden die formal definierte Schreibweise von Aussagen etwas hinsichtlich der Klammern. l Vorrangregel Außenklammern lassen wir weg (wie oben schon geschehen), da sie für uns nicht wesentlich sind (wohl aber bei maschineller Verarbeitung, da sie Anfang und Ende einer zusammengesetzten Aussage eindeutig markieren). l Wie wir bald sehen sind die Konjunktion und die Disjunktion assoziativ, sodass wir z.B. für (A ∧ B) ∧ C kurz A ∧ B ∧ C schreiben können. Um weitere Klammern zu sparen kann man Vorrangregeln für die zweistelligen Operationen vereinbaren (wie Punkt-vor-Strich in der Arithmetik), z.B. die Reihenfolge ¬, ∧, ∨, , ⇔, <≠> von starker zu schwacher Bindung. Andererseits - wer kann sich sechs Prioritätsstufen merken? Falls es sie gibt, sollte man im Zweifel lieber zu viel als zu wenig klammern. Wir beschränken uns deshalb auf die drei Stufen ¬, Priorität {∧, ∨, }, {⇔, <≠>}. Damit hat ¬ die höchste Priorität (Bindungsstärke) und wird zuerst angewendet. ∧, ∨, haben gleiche Priorität und wir müssen klammern, wenn sie gemischt vorkommen. ⇔, <≠> haben die niedrigste Priorität und werden zuletzt angewendet. Falls - was meist zutrifft - nur eine Operation davon einmal vorkommt, brauchen wir ihre Operanden nicht zu klammern. Beispielsweise schreiben wir für die Aussage von Beispiel 2.1 statt (((a ∧ b) (¬b ∨ c)) ⇔ 0) kurz (a ∧ b) (¬b ∨ c) ⇔ 0. Diese Regeln sind pragmatisch und mit vielen Programmiersprachen verträglich, obwohl diese sehr verschiedene Vorrangregeln von vier bis über 15 Stufen kennen. Wir könnten die Vorrangregeln in die induktive Syntaxdefinition einbauen, doch würden die Syntaxregeln dadurch komplizierter, was wir hier vermeiden wollen. Mit solchen Syntaxfragen befassen wir uns ausführlich in Kapitel 7. 2.1.6 Aussagefunktionen In 2.1.3 haben wir Aussagen A ∈ A syntaktisch als Ausdrücke aus Konstanten, Variablen, Operationen und Klammern eingeführt. Von einem anderen Standpunkt, der den semantischen Aspekt einschließt, betrachten wir die Operationen als Abbildungen ¬ : lB → lB, a → ¬a, ∧ : lB → lB, (a, b) → a ∧ b, ∨ : lB → lB, (a, b) → a ∨ b, | 2 | 2 | : lB2 → lB, (a, b) → a ⇔ : lB2 → lB, (a, b) → a ⇔ b, | b, | <≠> : lB → lB, (a, b) → a <≠> b, 2 | also als Operationen auf lB im Sinne der Definition auf S. 1-22 und Definition 1.33 S. 1-31. Mehrfaches Anwenden von Operationen führt zu zusammengesetzten Ausdrükken, z.B. (a ∧ ¬b) 9.8.04 c. © Karlheinz Hug, Hochschule Reutlingen 2 - 18 2 Logik Schreiben wir dafür A := A(a, b, c) := (a ∧ ¬b) c, so erscheint die Aussage A als Aussagefunktion A : lB3 → lB, (a, b, c) → A(a, b, c) := (a ∧ ¬b) | c mit den Argumenten a, b, c ∈ lB. Dies auf n ∈ lN0 Argumente verallgemeinernd erhalten wir n-stellige Aussagefunktionen oder boolesche Funktionen A : lBn → lB, (a1,.., an) → A(a1,.., an). Aussagefunktion | A = A(a1,.., an) beschreibt eine Aussage als Aussagefunktion der an lB gebundenen Variablen a1,.., an. {a1,.., an} enthält alle in A = A(a1,.., an) vorkommenden Variablen, doch müssen nicht alle a1,.., an in A vorkommen. Erlaubt ist z.B. Belegung Interpretation (¬a ∨ e). A(a, b, c, d, e) := (a ∧ c) Setzt man für a1,.., an Werte aus lB = {0, 1} ein (d.h. belegt man die Variablen), so erhält man den Wert A(beleg(a1),.., beleg(an)) von A für die Argumente beleg(a1),.., beleg(an) (d.h. eine Interpretation I(A) von A). Mit obigem Beispiel ist etwa A(1, 1, 0, 1, 0) = (1 ∧ 0) (¬1 ∨ 0) = 0 (0 ∨ 0) = 0 0 = 1. Unter einer Belegung der Variablen a1,.., an ∈ lB verstehen wir also einen Wert (x1,.., xn) ∈ lBn und unter der Interpretation der n-stelligen Aussagefunktion A = A(a1,.., an) zur Belegung (x1,.., xn) den Funktionswert A(x1,.., xn). Damit sind die Begriffe Belegung und Interpretation konsistent zu ihrer Bedeutung bei Aussagen A ∈ A definiert. Jede Aussage A ∈ A lässt sich als n-stellige Aussagefunktion auffassen. Es bezeichne n AFn := B ( B ) mit n ∈ lN 0 die Menge der n-stelligen Aussagefunktionen, AF := ∪ AF n n ∈ N0 = ∪ n B (B ) n ∈ N0 die Menge aller Aussagefunktionen. Die Relation ρ := {(A, F) ∈ A × AF | A lässt sich als F auffassen} ist in keiner Richtung eindeutig, da es l l l zu einer Aussage A ∈ A mit m Variablen beliebig viele „passende“ Aussagefunktionen F ∈ AF mit n ≥ m Variablen gibt (bei denen es auf n − m zusätzliche Variablen „nicht ankommt“); zu einer Aussagefunktion F ∈ AF beliebig viele „passende“, nämlich „logisch äquivalente“ Aussagen gibt, wie wir in 2.1.8 und 2.1.11 sehen; bei den Aussagefunktionen F ∈ AF nicht auf die Namen der Variablen ankommt, z.B. F(a, b, c) und F(x, y, z) nicht unterscheidbar sind. Der Vorbereich von AF zu ρ ist - wie wir gesehen haben - gleich A: ρAF := {A ∈ A | es gibt ein F ∈ AF mit A ρ F} = A. Der Nachbereich von A zu ρ ist zunächst eine Teilmenge von AF: Aρ := {F ∈ AF | es gibt ein A ∈ A mit A ρ F} ⊆ AF. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 19 Dass auch die umgekehrte Inklusion und damit Gleichheit gilt, also beide Auffassungen von Aussagen „im Wesentlichen“ übereinstimmen, zeigt sich in Korollar 2.40. Schaltfunktion Tabelle 2.11 Wahrheitstabelle einer dreistelligen Aussagefunktion Spezifikation und Implementation Bild 2.2 Beziehungen zwischen Aussagefunktionen, Wahrheitstabellen und Aussagen Aussagefunktionen sind diskrete Funktionen, d.h. sie haben einen endlichen Definitionsbereich (mit 2n Elementen) und einen endlichen Wertebereich (mit 2 Elementen). Daher lässt sich jede Aussagefunktion durch eine Wertetabelle, d.h. Wahrheitstabelle darstellen oder definieren (→ Tabelle 1.5 S. 1-21) und als digitales Schaltnetz realisieren (→ Bild 1.11 S. 1-25, Bild 1.18 S. 1-34). In der Digitaltechnik heißen Aussagefunktionen daher auch Schaltfunktionen. a b c A = A(a, b, c) 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 Die Darstellung einer Aussagefunktion durch eine Wahrheitstabelle liegt eine Abstraktionsebene höher als die Darstellung durch einen aussagenlogischen Ausdruck, da die Wahrheitstabelle nur festlegt, was die Funktion berechnet, während der Ausdruck auch festlegt, wie das Was zu berechnen ist. Die Wahrheitstabelle entspricht einer Spezifikation oder einer Black-Box, die das Ein-/Ausgabe-Verhalten bestimmt. Der Ausdruck entspricht einer Implementation oder einem digitalen Schaltnetz, das sich in der BlackBox verbirgt. Aussagefunktion definiert Wahrheitstabelle Spezifikation spezifiziert/interpretiert implementiert Aussage Implementation Prinzip der funktionalen Abstraktion Man kann Aussagefunktionen abstrakt betrachten, ohne über konkrete Details von Ausdrücken oder Schaltnetzen nachdenken zu müssen. Durch funktionale Abstraktion lösen sich wesentliche semantische Ideen von syntaktischen oder technischen Formen. 2.1.7 Eigenschaften von Aussagen Wir definieren jetzt Eigenschaften von Aussagen. Indem wir Aussagen über Aussagen formulieren, betreten wir eine Metaebene. Da gilt es aufzupassen, um die Ebene der Aussagen nicht mit der Metaebene der Aussagen über Aussagen zu verwechseln. Die folgenden Eigenschaften lassen sich nicht nur für Aussagen A ∈ A, sondern gleichermaßen für Aussagefunktionen F ∈ AF formulieren. Der Einfachheit halber verzichten wir darauf. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 20 Definition 2.6 Allgemeingültigkeit Erfüllbarkeit 2 Logik Eine Aussage A ∈ A heißt allgemeingültig oder Tautologie (gültig, tautologisch), wenn sie für jede Interpretation (d.h. im Fall einer nicht konstanten Aussage: für jede Belegung ihrer Variablen) wahr ist; erfüllbar, wenn sie für mindestens eine Interpretation wahr ist; widersprüchlich oder Widerspruch (widerspruchsvoll, unerfüllbar, kontradiktorisch, Kontradiktion), wenn sie für keine Interpretation wahr ist. Eine Aussage ist genau dann allgemeingültig, wenn in ihrer Spalte in der Wahrheitstabelle nur 1en vorkommen. Eine Aussage ist genau dann erfüllbar, wenn in ihrer Spalte in der Wahrheitstabelle wenigstens eine 1 vorkommt. Jede allgemeingültige Aussage ist erfüllbar. Eine Aussage ist genau dann widersprüchlich, wenn in ihrer Spalte in der Wahrheitstabelle nur 0en vorkommen. Bild 2.3 Klassifikation von Aussagen Aussage widersprüchlich erfüllbar allgemeingültig Mengendiagramm erfüllbare Aussage widersprüchliche Aussage allgemeingültige Aussage Klassendiagramm Jede der drei Eigenschaften lässt sich mittels jeder anderen ausdrücken. Korollar 2.7 Für Aussagen A ∈ A gilt: (1) (2) (3) (4) (5) (6) A ist allgemeingültig genau dann, wenn ¬A widersprüchlich ist. A ist allgemeingültig genau dann, wenn ¬A nicht erfüllbar ist. A ist erfüllbar genau dann, wenn ¬A nicht allgemeingültig ist. A ist erfüllbar genau dann, wenn A nicht widersprüchlich ist. A ist widersprüchlich genau dann, wenn A nicht erfüllbar ist. A ist widersprüchlich genau dann, wenn ¬A allgemeingültig ist. Allgemeingültige Aussagen heißen auch Sätze. Mathematische Sätze sind allgemeingültig. Die Erfüllbarkeit von Aussagen findet ein Analogon in der Lösbarkeit arithmetischer Gleichungen. Beispielsweise ist die Gleichung 2x + 3 = 0 lösbar, da sie für die Lösung x = −3/2 wahr ist. Unlösbare Gleichungen entsprechen widersprüchlichen Aussagen. Freilich sind diese nicht allgemein interessant. Ersetzungsregel Durch Anwenden von Ersetzungsregeln lassen sich Aussagen umformen, ohne dass sie ihre Eigenschaften verlieren. Aus einer allgemeingültigen Aussage A erhält man eine weitere allgemeingültige Aussage As, indem man jedes Vorkommen der Variablen a in A durch eine beliebige Aussage B ersetzt. Um diese und weitere wichtige Ersetzungsregeln zu formalisieren, schreiben wir Aussagen als Aussagefunktionen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik Satz 2.8 Substitution einer Variablen in einer Tautologie durch einen Ausdruck 2 - 21 Ist A = A(a1,.., an) mit n ∈ lN eine allgemeingültige, B eine beliebige Aussage, und i ∈ {1,.., n}, so ist As = A(a1,.., ai−1, B, ai+1,.., an) eine allgemeingültige Aussage. Beispiel Definition 2.9 Logische Äquivalenz c) ∨ ¬(b c) . Nach Satz Mit A = a ∨ ¬a, B = b c ergibt sich As = B ∨ ¬B = (b 2.14 (1) ist A allgemeingültig, also nach Satz 2.8 auch As. Zwei Aussagen A, B ∈ A heißen logisch (semantisch) äquivalent, wenn die Äquivalenz A ⇔ B allgemeingültig ist: A≡B :⇔ A ⇔ B ist allgemeingültig. „≡“ ist ein Symbol der Metaebene. A ≡ B gilt genau dann, wenn A ⇔ B für jede Interpretation wahr ist, also genau dann, wenn A und B für jede Interpretation denselben Wert haben. Mit anderen Worten: A und B sind genau dann logisch äquivalent, wenn ihre Spalten in der Wahrheitstabelle übereinstimmen, sie also dieselbe Aussagefunktion definieren. Dagegen können A und B in A ⇔ B auch verschiedene Werte haben, d.h. A ⇔ B kann falsch sein. Wenn in mathematischen Sätzen trotzdem oft „⇔“ anstelle von „≡“ steht, dann ist damit gemeint, dass diese Äquivalenz allgemeingültig ist. So schreiben wir z.B. (→ Korollar 1.3 S. 1-2): Definierende Äquivalenz Für beliebige Mengen M, N gilt: M = N ⇔ N = M. Das Symbol „:⇔“ liest sich „gilt definitionsgemäß genau dann wenn“, es bedeutet definierende Äquivalenz: In A :⇔ B definiert die rechte, bekannte Seite B die linke, neue Seite A. „:⇔“ ist auch ein Symbol der Metaebene, und da hier A, B stets beide wahr oder beide falsch sind, könnte (sollte?) man im Einklang mit Definition 2.9 A :≡ B schreiben. Korollar 2.10 Für Aussagen A, B ∈ A gilt: (1) (2) (3) A ist allgemeingültig genau dann, wenn A ≡ 1. A ist widersprüchlich genau dann, wenn A ≡ 0. A ≡ B genau dann, wenn ¬A ≡ ¬B. Die zweite Ersetzungsregel dient dazu, aus logisch äquivalenten Aussagen weitere logisch äquivalente Aussagen zu gewinnen. Satz 2.11 Substitution einer Variablen in äquivalenten Aussagen durch einen Ausdruck Beispiel 9.8.04 Sind A = A(a1,.., an) und B = B(a1,.., an) mit n ∈ lN logisch äquivalente Aussagen, C eine beliebige Aussage, und i ∈ {1,.., n}, so sind A(a1,.., ai−1, C, ai+1,.., an) und B(a1,.., ai−1, C, ai+1,.., an) logisch äquivalent, d.h. aus A ≡ B folgt A(a1,.., ai−1, C, ai+1,.., an) ≡ B(a1,.., ai−1, C, ai+1,.., an). Aus A = a ∧ b ≡ b ∧ a = B (→ Satz 2.17 (5)) und C = c ∨ d folgt a ∧ (c ∨ d) ≡ (c ∨ d) ∧ a. © Karlheinz Hug, Hochschule Reutlingen 2 - 22 2 Logik Die dritte Ersetzungsregel ermöglicht es, aus einer Aussage durch Ersetzen von Teilausdrücken durch äquivalente Ausdrücke äquivalente Aussagen zu erhalten. Dabei bedeute A = A(.., B,..), dass B ein in A (möglicherweise mehrfach) vorkommender Teilausdruck ist und A(.., B → C,..) die Aussage, die aus A durch Ersetzen von beliebig vielen Vorkommen von B durch C entsteht. | Satz 2.12 Substitution eines Teilausdrucks durch einen äquivalenten Ausdruck Sind A, B, C Aussagen, B ein Teilausdruck von A, B logisch äquivalent zu C, und As die Aussage, die aus A durch Ersetzen von beliebig vielen Vorkommen von B durch C entsteht, so ist A logisch äquivalent zu As, d.h. aus B ≡ C folgt A(.., B,..) ≡ A(.., B → C,..). | Beispiel Aus A = (a ∧ (b ∨ c)) ((b ∨ c) ∧ d) und B = b ∨ c ≡ c ∨ b = C (→ Satz 2.17 (5)) folgt A ≡ (a ∧ (c ∨ b)) ((c ∨ b) ∧ d). Die drei Ersetzungsregeln sowie die in Korollar 2.22 (1), (2), (3) gezeigte Reflexivität, Symmetrie und Transitivität der logischen Äquivalenz sind beim Beweisen der folgenden Rechenregeln nützlich. 2.1.8 Aussagenlogische Rechenregeln Die Algebra der Aussagenlogik befasst sich mit Rechenregeln aussagenlogischer Operationen. Die folgenden Rechenregeln sind allgemeingültig und enthalten logisch äquivalente Aussagen. Logische Äquivalenzen A ≡ B sind wichtig, da A nach Satz 2.12 überall, wo es vorkommt, durch B ersetzbar ist. Die Darstellung vereinfachen wir verglichen mit einem streng formalen Aufbau der Aussagenlogik: Während man dort z.B. zwischen Subjunktion, Implikation, syntaktischer und semantischer Folgerungsbeziehung und Konklusion unterscheidet, fassen wir all dies in der Implikation zusammen. Man kann die Regeln auf zwei Arten beweisen: l l Satz 2.13 Negation Satz 2.14 Negation, Konjunktion und Disjunktion direkt durch Aufstellen von Wahrheitstabellen, was immer funktioniert, aber in Fleißarbeit ausarten kann; algebraisch durch Anwenden schon bewiesener Regeln, was von recht einfach bis ziemlich schwierig sein kann. Für eine beliebige Aussage A gilt: ¬¬A ≡ A. doppelte Negation, Involution Für beliebige Aussagen A, B gilt: (1) (2) (3) A ∨ ¬A. ¬(A ∧ ¬A). ¬(A ∧ B) ≡ ¬A ∨ ¬B. ¬(A ∨ B) ≡ ¬A ∧ ¬B. ausgeschlossenes Drittes, tertium non datur ausgeschlossener Widerspruch Regeln von de Morgan Exkurs. Der Satz vom ausgeschlossenen Dritten ist wesentlich für die zweiwertige Logik, die in Mathematik, Informatik, Naturwissenschaft und Technik sehr nützlich ist. Dennoch ist ihr Anwendungsbereich begrenzt, etwa in Alltag, Psychologie, Politik ist sie unangemessen. Es ist z.B. unvernünftig, die Menschheit in „Gute“ und „Böse“, „Willige“ und „Unwillige“, „Gottesfürchtige“ und „Schurken“ einzuteilen. Leitlinie 2.1 Binäre Logik Verwende die binäre Logik nur in angemessenen Situationen sinnvoll zu humanen Zwecken! © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 23 Aufgrund der Sätze von de Morgan lässt sich die Konjunktion mittels Negation und Disjunktion, die Disjunktion mittels Negation und Konjunktion ausdrücken. Definition 2.15 Duale Aussage Ist A eine Aussage, in der nur die Operationen ¬, ∧ und ∨ vorkommen, dann entsteht die zu A strikt duale Aussage A durch Negieren aller Atome und gegenseitiges Austauschen von ∧ und ∨; die zu A duale Aussage A∗ durch gegenseitiges Austauschen von 0 und 1 und von ∧ und ∨. A∗ entsteht aus A durch Negieren jeder Variablen, und umgekehrt. Beispiel Beispielsweise sind (A ∧ ¬B) ∨ (C ∧ 0), (¬A ∨ B) ∧ (¬C ∨ 1) strikt dual zueinander, (A ∧ ¬B) ∨ (C ∧ 0), (A ∨ ¬B) ∧ (C ∨ 1) sind dual zueinander. Aus Satz 2.19 (1) bzw. (7), Satz 2.21 (7) bzw. (8) und Satz 2.23 (8) bzw. (9) folgt, dass es zu jeder Aussage eine logisch äquivalente Aussage gibt, in der nur ¬, ∧ und ∨ vorkommen. Die Voraussetzung von Definition 2.15 und des folgenden Dualitätstheorems schränkt daher nicht echt ein. Theorem 2.16 Dualitätstheorem der Aussagenlogik Für Aussagen A, B, in denen nur die Operationen ¬, ∧ und ∨ vorkommen, gilt (2) A ≡ ¬A. ¬A ≡ A. A≡B genau dann, wenn A ≡ B. (3) A≡B A ∗ ≡ B ∗. (1) genau dann, wenn Beweis. (1) Sei A wie vorausgesetzt. Mit Satz 2.13 und der Symmetrie von ≡ gilt A ≡ ¬¬A. Durch wiederholtes Anwenden der Regeln von de Morgan Satz 2.14 (3) und der Ersetzungsregel Satz 2.12 wandert ¬ nach innen vor die Atome und ∧ und ∨ tauschen sich aus. (Ein ausführlicher Beweis verfährt induktiv über die Syntaxregeln von A.) Damit gilt ¬¬A ≡ ¬A. Mit der Transitivität von ≡ folgt die Behauptung. (2) Seien A, B wie vorausgesetzt mit A ≡ B. Nach Korollar 2.10 (3) gilt ¬A ≡ ¬B. Nach (1) gilt ¬A ≡ A und ¬B ≡ B. Zweimaliges Ersetzen nach Satz 2.12 liefert A ≡ ¬B und A ≡ B. Die Umkehrung folgt aus (A) ≡ A, (B) ≡ B.1 (3) Seien A, B wie vorausgesetzt mit A ≡ B. Nach (2) gilt A ≡ B. Negieren jeder Variablen in A und B bedeutet wiederholtes Anwenden von Satz 2.11. Daher gilt A∗ ≡ B∗. p Die Umkehrung folgt aus (A∗)∗ ≡ A, (B∗)∗ ≡ B. (1) bedeutet, dass striktes Dualisieren einer Aussage dasselbe bewirkt wie Negieren. 1 Gemeint ist zweimaliges striktes Dualisieren. Das Textsystem kann nicht doppelt überstreichen. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 24 Beispiel 2 Logik Wir schreiben den Satz vom ausgeschlossenen Dritten als logische Äquivalenz: A ∨ ¬A ≡ 1. Dualisieren ergibt A ∧ ¬A ≡ 0, woraus mit Korollar 2.10 (3) ¬(A ∧ ¬A) ≡ 1, also der Satz vom ausgeschlossenen Widerspruch folgt. Das Dualitätstheorem reduziert den Aufwand zum Beweisen der folgenden Sätze auf die Hälfte, da es genügt, von jedem Paar dualer Aussagen nur eine zu beweisen. Satz 2.17 Konjunktion und Disjunktion Für beliebige Aussagen A, B, C gilt: A ∧ 0 ≡ 0. A ∨ 0 ≡ A. A ∧ 1 ≡ A. A ∨ 1 ≡ 1. A ∧ A ≡ A. A ∨ A ≡ A. (A ∧ B) ∧ C ≡ A ∧ (B ∧ C). (A ∨ B) ∨ C ≡ A ∨ (B ∨ C). A ∧ B ≡ B ∧ A. A ∨ B ≡ B ∨ A. A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C). A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C). A ∧ (A ∨ B) ≡ A. A ∨ (A ∧ B) ≡ A. A ≡ (A ∧ B) ∨ (A ∧ ¬B) ≡ (A ∨ B) ∧ (A ∨ ¬B). (1) (2) (3) (4) (5) (6) (7) (8) Operation mit 0, Widerspruchsregeln Operation mit 1, Tautologieregeln Idempotenz Assoziativität Kommutativität Distributivität Absorption, Adjunktivität Aufgrund der Assoziativität können wir weitere Klammern sparen und definieren: A ∧ B ∧ C :⇔ (A ∧ B) ∧ C. A ∨ B ∨ C :⇔ (A ∨ B) ∨ C. Werden n ∈ lN0 Aussagen konjunktiv oder disjunktiv verknüpft, so schreiben wir n ∧ A ≡ A1 ∧ ... ∧ An i=1 i n ∧ Ai ≡ n ∨ A i ≡ A1 für n = 1, ∨ Ai ≡ 0 für n = 0. i=1 n i=1 n i=1 i=1 ∧ A i ≡ 1, bzw. n ∨ A ≡ A1 ∨ ... ∨ An, i=1 i Die leere Konjunktion ist allgemeingültig. Die leere Disjunktion ist widersprüchlich. Aus der Kommutativität und der linksseitigen Distributivität (6) folgt die rechtsseitige, also beidseitige Distributivität. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik Satz 2.18 Verallgemeinerte Rechenregeln 2 - 25 Für m, n ∈ lN0 und Aussagen A1,.., Am, B1,.., Bn gilt: m ¬( ∧ Ai) ≡ (1) m ∨ ¬Ai. i=1 m i=1 m i=1 i=1 ¬( ∨ Ai) ≡ ∧ ¬Ai. m n i=1 m k=1 n i=1 k=1 m n i=1 k=1 i=1 k=1 ( ∧ Ai) ∨ ( ∧ Bk) ≡ (2) Regeln von de Morgan ( ∨ A i ) ∧ ( ∨ B k) ≡ m n ∧ ∧ (Ai ∨ Bk). ∨ ∨ (Ai ∧ Bk). Distributivität Aus Regeln mit der Implikation erhält man Schlussregeln, mit denen man von wahren Aussagen auf andere wahre Aussagen schließen kann. Logische Kalküle bestehen aus Schlussregeln. Der Aussagenkalkül ist wichtig, da man mit ihm mathematische Sätze beweisen kann. Satz 2.19 Implikation Grundregeln Für beliebige Aussagen A, B, C gilt: B ≡ ¬A ∨ B. A A. Entfernen des Falsum 0 Aus Falschem lässt sich Beliebiges folgern (ex falso sequitur quodlibet). 1. Einführen des Verum (3) A Wahres folgt aus Beliebigem (verum sequitur ex quodlibet). A. Reflexivität (4) A B) ∧ (B C)) (A C). Transitivität, Kettenschluss, (5) ((A Syllogismus, modus barbara B) ∧ (B A) ≡ A ⇔ B. Antisymmetrie (6) (A B ≡ ¬(A ∧ ¬B). indirekter Schluss (7) A B ≡ ¬B ¬A. Kontraposition (8) A A ¬B ≡ B ¬A. ¬B) ≡ ¬(B ¬A). (9) A ∧ B ≡ ¬(A B ≡ ¬B A ≡ (A B) B ≡ (B A) A. (10) A ∨ B ≡ ¬A (B ∧ C) ≡ (A B) ∧ (A C). linksseitige Distributivität (11) A (B ∨ C) ≡ (A B) ∨ (A C). A A (B C) ≡ (A B) (A C). A (B ⇔ C) ≡ (A B) ⇔ (A C). (1) (2) Beweis. Exemplarisch beweisen wir die Transitivität (5). ((A B) ∧ (B C)) (A C) ≡ ¬((¬A ∨ B) ∧ (¬B ∨ C)) ∨ (¬A ∨ C) ≡ ¬(¬A ∨ B) ∨ ¬(¬B ∨ C) ∨ ¬A ∨ C ≡ (¬¬A ∧ ¬B) ∨ (¬¬B ∧ ¬C) ∨ ¬A ∨ C ≡ (A ∧ ¬B) ∨ (B ∧ ¬C) ∨ ¬A ∨ C ≡ (A ∧ ¬B) ∨ ¬A ∨ (B ∧ ¬C) ∨ C ≡ ((A ∨ ¬A) ∧ (¬B ∨ ¬A)) ∨ ((B ∨ C) ∧ (¬C ∨ C)) ≡ (1 ∧ (¬B ∨ ¬A)) ∨ ((B ∨ C) ∧ 1) ≡ (¬B ∨ ¬A) ∨ (B ∨ C) ≡ B ∨ ¬B ∨ ¬A ∨ C ≡ 1 ∨ ¬A ∨ C ≡ 1. (1) Satz 2.14 (3), Satz 2.17 (4) Satz 2.14 (3) Satz 2.13 Satz 2.17 (5) Satz 2.17 (4), Satz 2.17 (6) Satz 2.14 (1), Satz 2.17 (5) Satz 2.17 (2), Satz 2.17 (5) Satz 2.17 (4), Satz 2.17 (5) Satz 2.14 (1) Satz 2.17 (2) p Aufgrund von (1) könnte man die Implikation mittels der Negation und der Disjunktion definieren. Die Antisymmetrie (6) verwendet man oft, um die Äquivalenz von Aussa9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 26 2 Logik gen zu zeigen - man zeigt, dass beide Implikationen gelten. Aufgrund von (6) könnte man die Äquivalenz mittels der Implikation und der Konjunktion definieren; aufgrund von (9) und (10) die Konjunktion und die Disjunktion mittels der Negation und der Implikation. Zu (11): Die linksseitige Distributivität von bzgl. <≠> gilt nicht. Die rechtsseitigen Distributivitäten von bzgl. ∧, ∨, , ⇔, <≠> gelten nicht. Satz 2.20 Implikation Schlussregeln Für beliebige Aussagen A, B, C gilt: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) B) ∧ (¬A ¬B). A ≡ (¬A A ≡ (B A) ∧ (¬B A). Alternativschluss, Dilemma A. Entfernen der Konjunktion (A ∧ B) (A ∨ B). Einführen der Disjunktion A B)) B. Entfernen der Implikation, Abtrennung, modus ponens (A ∧ (A B) ∧ ¬B) ¬A. Widerlegung, modus tollens ((A 0. Entfernen der Negation (A ∧ ¬A) 0) ¬A. Einführen der Negation: Die Negation einer Aussage ist (A gerechtfertigt, wenn ihre Annahme zu einem Widerspruch führt. 0) A. Widerspruchsbeweis, reductio ad absurdum (¬A ¬A) ¬A. (A A) A. claviussches Gesetza (¬A A (B A). Wahres folgt aus Beliebigem. (A B). Aus Falschem folgt Beliebiges. ¬A B) ∨ (B C). (A ¬(A B) (B C). B) ∨ (B A). Mindestens eine von zwei (A ¬(A B) (B A). Aussagen impliziert die andere. B) ((A ∧ C) (B ∧ C)). Monotonie (A (A B) ((A ∨ C) (B ∨ C)). C≡A (¬B ∨ C) ≡ (A ∧ ¬C) ¬B. Kontraposition (A ∧ B) (B ∨ C) ≡ (A ∧ ¬B) C. A (B C) ≡ (A ∧ B) C. Prämissenverbindung, Im-/Exportation A (B C) ≡ B (A C). Prämissenvertauschung A (A B) ≡ A B. Prämissenverschmelzung A C ≡ (A C) ∨ (B C). Prämissenaufspaltung (A ∧ B) (A ∨ B) C ≡ (A C) ∧ (B C). C) ∧ (B C)) C. Fallunterscheidung ((A ∨ B) ∧ (A ((A B) A) A. (A (A B)) (A B). (A B) ((B C) (A C)). (A B) ((B A) (A ⇔ B)). A ((A B) ((A B) B)). A ((A B) B). Wahrheitskriterium von Peirceb a Christoph Clavius (1537 - 1612), fand einen dieser Regel entsprechenden Schluss in Euklids Elementen. b Charles Sanders Peirce (sprich „pöhrß“, nicht „pierß“!) (1839 - 1914), amerikanischer Logiker, Mathematiker, Philosoph. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 27 Logikkalkül Satz 2.19 und Satz 2.20 enthalten u.a. Regeln für natürliches Schließen. Gebräuchliche Schlussregeln des Aussagenkalküls sind z.B. Satz 2.19 (5) bis (8), Satz 2.20 (1) bis (5) und (21). Um Logikkalküle axiomatisch zu fundieren, wählt man die Syntaxregeln der Aussagen als Axiome, gewisse Schlussregeln formuliert man als Ableitungsregeln. Aus einer Aussage A eine Aussage B ableiten heißt dann, in A durch endlichmaliges Anwenden von Ableitungsregeln Teilaussagen so zu ersetzen, dass sich schließlich B ergibt. Ableiten ist also rein syntaktisches Umformen, ohne Bezug auf die Semantik der Aussagen, Wahrheitstabellen oder Interpretationen. Daher eignen sich Logikkalküle für logische Programmierung; logische Programmiersprachen wie Prolog basieren auf Logikkalkülen, die sie algorithmisch implementieren. Klassische und intuitionistische Logik Die Regeln Satz 2.19 (2), (3), Satz 2.20 (2), (3), (4), (6), (7), (10) und (21) sind so genannte intuitionistische Schlussregeln. Sie bleiben oft korrekt, wenn man Interpretationen mit mehr als zwei Wahrheitswerten, also eine mehrwertige Logik, zugrunde legt. Sind nur diese Regeln zugelassen, so spricht man von intuitionistischer Logik. Sind neben den intuitionistischen Schlussregeln auch Satz 2.13, Satz 2.14 (1) und Satz 2.20 (8) zugelassen, so spricht man von zweiwertiger oder klassischer Logik. Das Wahrheitskriterium von Peirce Satz 2.20 (22) spielt in Axiomatisierungen der Aussagenlogik eine Rolle. Die Schlussregeln Satz 2.20 (23), (24) und (25) verwendete Frege1 in einem Axiomensystem der Aussagenlogik. Satz 2.21 Äquivalenz Für beliebige Aussagen A, B, C gilt: A ⇔ 0 ≡ ¬A. Operation mit 0 und 1 A ⇔ 1 ≡ A. (2) A ⇔ A. Reflexivität (3) A ⇔ B ≡ B ⇔ A. Symmetrie (A ⇔ C). Transitivität (4) ((A ⇔ B) ∧ (B ⇔ C)) (5) (A ⇔ B) ⇔ C ≡ A ⇔ (B ⇔ C). Assoziativität (6) A ⇔ B ≡ ¬A ⇔ ¬B. B) ∧ (¬A ¬B). (7) A ⇔ B ≡ (A ∨ ¬B) ∧ (¬A ∨ B) ≡ (A (8) A ⇔ B ≡ (A ∧ B) ∨ (¬A ∧ ¬B) ≡ (A ∨ B) (A ∧ B). B⇔A≡B A ⇔ B ≡ (A ⇔ B) ∧ A ≡ (A ⇔ B) ∧ B. (9) A ∧ B ≡ A B⇔B≡B A ⇔ A. (10) A ∨ B ≡ A B ≡ A ∧ B ⇔ A ≡ A ∨ B ⇔ B ≡ (A ⇔ B) ∨ B. (11) A (1) Aufgrund von (11) könnte man die Implikation mittels der Äquivalenz und der Konjunktion oder der Disjunktion definieren. Korollar 2.22 Für beliebige Aussagen A, B, C gilt: (1) (2) (3) A ≡ A. A ≡ B genau dann, wenn B ≡ A. Aus A ≡ B und B ≡ C folgt A ≡ C. Beweis folgt aus Satz 2.21 (2), (3), (4). Reflexivität Symmetrie Transitivität p 1 Gottlob Frege (1848 - 1925), deutscher Mathematiker, Logiker, Philosoph, lieferte das erste Axiomensystem der formalen Logik. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 28 2 Logik Satz 2.23 Antivalenz Für beliebige Aussagen A, B, C gilt: A <≠> B ≡ ¬(A ⇔ B). A <≠> 0 ≡ A. Operation mit 0 und 1 A <≠> 1 ≡ ¬A. (3) A <≠> ¬A. (4) ¬(A <≠> A). Irreflexivität (5) A <≠> B ≡ B <≠> A. Symmetrie (6) (A <≠> B) <≠> C ≡ A <≠> (B <≠> C). Assoziativität (7) A <≠> B ≡ ¬A <≠> ¬B. (8) A <≠> B ≡ (A ∧ ¬B) ∨ (¬A ∧ B) ≡ ¬A ⇔ B ≡ A ⇔ ¬B. (9) A <≠> B ≡ (A ∨ B) ∧ (¬A ∨ ¬B). (10) (A <≠> B) <≠> B ≡ A. (11) (A <≠> B) ∧ C ≡ (A ∧ C) <≠> (B ∧ C). Distributivität (1) (2) Aussagenlogische Ausdrücke sollen nicht unnötig kompliziert, sondern möglichst kompakt formuliert sein. Zum Vereinfachen einer Aussage kann man sie mittels obiger Rechenregeln wiederholt solange äquivalent umformen, bis keine Regel mehr anwendbar ist. Die wichtigsten Regeln seien hier noch einmal zusammengestellt: Regeln zum Vereinfachen von Aussagen l Berechnen eines einfach zusammengesetzten Ausdrucks mit wenigstens einem konstanten Operanden mittels Tabelle 2.6 oder nach Satz 2.17 (1), (2), Satz 2.19 (2), (3), Satz 2.21 (1), Satz 2.23 (2). Dadurch verschwindet die Konstante oder das Ergebnis ist eine Konstante: ¬0 ≡ 1. ¬1 ≡ 0. A ∧ 0 ≡ 0. A ∧ 1 ≡ A. A ∨ 0 ≡ A. A ∨ 1 ≡ 1. 0 ≡ ¬A. A 1 ≡ 1. A A ≡ 1. 1 A ≡ A. 0 A ⇔ 0 ≡ ¬A. A ⇔ 1 ≡ A. A <≠> 0 ≡ A. A <≠> 1 ≡ ¬A. l Entfernen doppelter Negationen nach Satz 2.13. l Einführen von Konstanten nach Satz 2.14 (1), (2): A ∨ ¬A ≡ 1. A ∧ ¬A ≡ 0. l Anwenden der de morganschen, Idempotenz-, Assoziativ-, Kommutativ-, Distributiv- und Absorptions-Regeln nach Satz 2.14 und Satz 2.17. Die genannten Rechenregeln lassen sich auf beliebige Aussagefunktionen verallgemeinern. Als Beispiel geben wir eine Verallgemeinerung von Satz 2.17 (8) an, die nach Shannon1 benannt ist, obwohl schon Boole sie kannte. Regeln zum Vereinfachen von Aussagefunktionen Satz 2.24 Shannonsche Erweiterung Ist A = A(a1,.., an) mit n ∈ lN eine Aussagefunktion und i ∈ {1,.., n}, so gilt: A(a1,.., an) ≡ (A(a1,.., ai−1, 1, ai+1,.., an) ∧ ai) ∨ (A(a1,.., ai−1, 0, ai+1,.., an) ∧ ¬ai). Durch Abspalten einer Variablen verringert sich die Anzahl der Variablen der Aussagefunktion, sodass sie leichter zu berechnen ist. 1 Claude Elwood Shannon (1916 - 2001), amerikanischer Mathematiker, begründete die Informationstheorie. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2.1.9 2 - 29 Aussagen in Programmiersprachen In Programmiersprachen heißen Aussagen oder aussagenlogische Ausdrücke oft boolesche Ausdrücke (boolean expression). Sie kommen in mehreren Konstrukten vor; beispielsweise dienen sie der Spezifikation von Klassen, Diensten und Algorithmen, der strukturierten Implementation von Algorithmen sowie der Formulierung von Synchronisationsbedingungen. Tabelle 2.12 Aussagen in Programmiersprachen Aussage als... allgemeine Zusicherung A Component Pascal ASSERT (A) Eiffel check A end Vorbedingung A require A Nachbedingung A ensure A Klasseninvariante A invariant A Auswahlbedingungen A, B in ein-, zwei- und mehrseitigen Auswahlanweisungen Schleifeninvariante I, Fortsetzungsbedingung A oder Abbruchbedingung B in Wiederholungsanweisungen Warte- und Fortsetzungsbedingungen in Synchronisationskonstrukten C* assert(A); if A then ... if (A) { ... } elseif B then ... else if (B) { ... } else ... else { ... } end IF A THEN ... ELSIF B THEN ... ELSE ... END WHILE A DO ... END REPEAT ... UNTIL B - from ... invariant I until B loop ... end - while (A) { ... } do { ... } while (A) for (..., A,...) { ... } - Dreiwertige Logik Allerdings mutiert das theoretische Ideal der zweiwertigen Logik in der programmierpraktischen Realität zu einer dreiwertigen Logik: Als dritter Wahrheitswert ergänzt „undefiniert“ die Wahrheitswerte „falsch“ und „wahr“. Mathematik Wo kommt der Wert „undefiniert“ vor? Beispielsweise ist der arithmetische Ausdruck 1/0 wegen der Division durch 0 undefiniert. Steht 1/0 in einem mathematischen Text, so ist dem Autor ein schwerer Fehler unterlaufen. Die LeserIn kann entweder den Text als unbrauchbar verwerfen oder den Fehler korrigieren; in beiden Fällen verschwindet das „undefiniert“. Kommt die Funktion f(x) = 1/x in einem mathematischen Text vor, so ist sie - auch ohne dass ihr Definitionsbereich explizit angegeben ist - für x = 0 undefiniert, d.h. gemeint ist die Funktion ! \ {0} → !, x → 1/x. Auch hier verschwindet das „undefiniert“. Allgemein erscheint „undefiniert“ in mathematischen Texten nur als Fehler, nicht als Gegenstand des Texts. | Programme Wie verhält es sich damit in Quellprogrammtexten? Den Ausdruck 1/0 kann ein Übersetzer als undefiniert, also fehlerhaft erkennen; damit enthält das Quellprogramm einen Übersetzungszeitfehler, ist nicht übersetzbar und daher nicht ausführbar. Für den Ausdruck 1/x gilt das nicht: Ob die Variable x stets einen von 0 verschiedenen Wert hat, ist durch keinen Übersetzer, sondern erst zur Laufzeit feststellbar, da x erst dann Werte zugewiesen werden. Es kann also vorkommen, dass x = 0 und 1/x auszuwerten ist. Vernünftigerweise stellt der Programmablauf dann einen Laufzeitfehler fest und bricht entwder mit der Fehlermeldung „Division durch 0 bei 1/x“ ab, oder übergibt die Kontrolle an eine Ausnahmebehandlung, denn ein Weiterrechnen mit falschen Zahlenwerten würde das Problem sinnlos vergrößern. Programmiersprachen liefern weitere Beispiele für undefinierte Ausdrücke. Neben arithmetischen Fehlern kommen Fehler bei indizierten Variablen und Zeigervariablen vor. Undefinierte Ausdrücke können Teilausdrücke von Aussagen sein, die dann auch undefiniert sind. Programmiersprachen müssen daher die Semantik von Aussagen für 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 30 2 Logik die drei Wahrheitswerte falsch (0), wahr (1) und undefiniert (M) festlegen. Prinzipiell gibt es zwei Ansätze, Aussagen zu interpretieren: die lange und die kurze Auswertung. (1) Tabelle 2.13 Wahrheitstabelle für lange Auswertung Die lange Auswertung übernimmt von der Aussagenlogik die Semantik der Operatoren von Tabelle 2.6. Als zusätzliche Regel ist ein Ausdruck undefiniert, wenn wenigstens ein Teilausdruck undefiniert ist. A ¬A A B (A ∧ B) (A ∨ B) 0 1 0 0 0 0 1 0 0 1 0 M M 0 M 1 (A <≠> B) 1 1 0 1 1 0 1 M M M M M 0 0 1 0 0 1 1 1 1 1 1 1 0 1 M M M M M M M M M M M M M M M M M M M M M M 0 M 1 M M (2) Tabelle 2.14 Wahrheitstabelle für kurze Auswertung B) (A ⇔ B) (A Lange oder vollständige Auswertung bedeutet, jeden Operanden bei einer Operation vollständig auszuwerten und dann (falls kein Operand undefiniert ist) das Ergebnis gemäß Tabelle 2.13 zu bestimmen. Nach diesem Ansatz sind Konjunktion, Disjunktion, Äquivalenz und Antivalenz wie gewohnt kommutativ, d.h. die Operanden sind vertauschbar, ohne dass sich der Wert der Aussage ändert. Die Reihenfolge der Auswertung der Operanden einer Operation ist nicht durch die Programmiersprache festgelegt, sondern bleibt der Implementation des Übersetzers überlassen. Die kurze Auswertung definiert für die Konjunktion, die Disjunktion und die Implikation eine andere Semantik: A ¬A A B (A ∧ B) (A ∨ B) 0 1 0 0 0 0 1 0 0 1 0 M M 0 M 1 B) (A ⇔ B) (A <≠> B) 1 1 0 1 1 0 1 0 M 1 M M 0 0 1 0 0 1 1 1 1 1 1 1 0 1 M M M M M M M M M M M M M M M M M M 0 M 1 M M 1 M M M (A Bei kurzer oder bedingter Auswertung werden die Operanden von links nach rechts ausgewertet, wobei die Auswertung abgebrochen wird, sobald das Ergebnis nach Tabelle 2.14 feststeht, d.h. der rechte Operand wird ggf. nicht ausgewertet. Der rechte Operand muss also nicht unbedingt definiert sein: Der Ausdruck kann definiert sein, obwohl sein rechter Operand undefiniert ist. Mit diesem Ansatz sind die Konjunktion und die Disjunktion nicht kommutativ, bei der Implikation ist Kontrapositionsregel verletzt, d.h. die textuelle Reihenfolge der Operanden spielt eine Rolle. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik Interaktive Lernhilfen Kurze Auswertung in Cleo und Component Pascal 2 - 31 Nur die Reihenfolge der Auswertung der Operanden bei der Konjunktion, der Disjunktion und der Implikation ist durch die Sprache festgelegt; über die Auswertungsreihenfolge bei anderen Operatoren entscheidet trotzdem der Übersetzerbauer! Die unter [33] bereit gestellten interaktiven Lernhilfen zeigen, wie unterschiedlich sich lange und kurze Auswertung auf die Rechenregeln der dreiwertigen Aussagenlogik auswirken. Die in der begleitenden Lehrveranstaltung Informatik 1 vorgestellte Spezifikationssprache Cleo und die Implementationssprache Component Pascal werten Aussagen generell kurz aus. Kurze Auswertung nützt nicht nur dabei, Vor- und Nachbedingungen und Invarianten kompakt zu formulieren, sondern auch bei Prüfungen, die sonst mit geschachtelten IF-Anweisungen zu lösen wären: IF x > 0 THEN IF y / x < 1 THEN z := x + y END END Beispiel ist reduzierbar auf IF (x > 0) & (y / x < 1) THEN z := x + y END Im Fall x = 0 ist y/x undefiniert und führt zu einem Laufzeitfehler. Die zweite Formulierung der Anweisung ist also bei langer Auswertung fehlerhaft und kann zum Abbruch des Programmablaufs führen, während sie bei kurzer Auswertung immer korrekt funktioniert. Die erste Formulierung ist in beiden Fällen korrekt, aber aufwändiger. Sicherheit und Effizienz Kurze Auswertung führt zu kürzeren und trotzdem sicheren Programmen. Bei Programmiersprachen, die die Art der Auswertung nicht festlegen, hängt die Semantik eines Programms hingegen vom Übersetzer ab und die ProgrammiererIn muss zwischen Sicherheit mit Aufwand und Effizienz mit Portierbarkeitsproblemen wählen. 2.1.10 Aussagenlogische Basen Nachdem wir Beziehungen zwischen den Operationen ¬, ∧, ∨, betrachtet haben, stellen sich die Fragen: l l l l , ⇔, <≠> genauer Welche weiteren aussagenlogischen Operationen und Aussagefunktionen gibt es? Wieviele sind es? Welche Operationen sind für welche Zwecke besonders geeignet? Gibt es kleine Mengen von Operationen, mit denen sich alle Aussagefunktionen darstellen lassen? Nullstellige Operationen A : {∅} → lB, ∅ → A(∅) gibt es zwei, nämlich die Konstanten 0, 1 ∈ lB. | Einstellige Operationen A : lB → lB, a → A(a) gibt es vier, denn zu den zwei möglichen Belegungen von a gibt es je zwei mögliche Ergebnisse. Von diesen ist die Negation am interessantesten. | 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 32 2 Logik Tabelle 2.15 Einstellige aussagenlogische Operationen a 0 1 Schreibweisen Bezeichnung A1(a) 0 0 0(a) = 0 Konstante, Widerspruch A2(a) 0 1 id (a) = a Identität A3(a) 1 0 ¬a Negation, NOT A4(a) 1 1 1(a) = 1 Konstante, Tautologie lB Zweistellige Operationen A : lB2 → lB, (a, b) → A(a, b) gibt es 16, denn zu den 2 ∗ 2 = 4 möglichen Belegungen von a und b gibt es je zwei, also insgesamt 24 = 16 mögliche Ergebnisse. | Tabelle 2.16 Zweistellige aussagenlogische Operationen a 0 0 1 1 b 0 1 0 1 A1(a, b) 0 0 0 0 0(a) = 0 Konstante, Widerspruch A2(a, b) 0 0 0 1 a∧b Konjunktion, AND A3(a, b) 0 0 1 0 ¬(a Negation der Implikation, Inhibition A4(a, b) 0 0 1 1 π1(a, b) = a Projektion auf 1. Komponente A5(a, b) 0 1 0 0 ¬(b Negation der Implikation A6(a, b) 0 1 0 1 π2(a, b) = b A7(a, b) 0 1 1 0 A8(a, b) 0 1 1 1 a∨b Disjunktion, OR A9(a, b) 1 0 0 0 a ↓ b := ¬(a ∨ b) Nicht-Oder, NOR, Weder-Noch A10(a, b) 1 0 0 1 A11(a, b) 1 0 1 0 ¬b Negation der 2. Komponente A12(a, b) 1 0 1 1 b Implikation, Konversion A13(a, b) 1 1 0 0 ¬a Negation der 1. Komponente A14(a, b) 1 1 0 1 a Implikation A15(a, b) 1 1 1 0 A16(a, b) 1 1 1 1 1(a) = 1 Schreibweisen b) ≡ a ∧ ¬b a) ≡ ¬a ∧ b Bezeichnung Projektion auf 2. Komponente a <≠> b ≡ Antivalenz, XOR (a ∧ ¬b) ∨ (¬a ∧ b) a⇔b≡ Äquivalenz (a ∨ ¬b) ∧ (¬a ∨ b) a ≡ a ∨ ¬b b ≡ ¬a ∨ b a ↑ b := ¬(a ∧ b) Nicht-Und, NAND Konstante, Tautologie Den Tabellen entnehmen wir mit Satz 2.19 (1), Satz 2.21 (7) und Satz 2.23 (8), dass sich alle ein- und zweistelligen Operationen mittels Negation, Konjunktion und Disjunktion darstellen lassen. Mit ¬, ∧, ∨, , ⇔, <≠> haben wir die für die Mathematik und die Softwaretechnik interessanten Operationen kennen gelernt. Zwei weitere Operationen sind: l 1 Nand-Operation, Antikonjunktion, Sheffer-Funktion 1: A ↑ B (A nicht-und B, weder A noch B) ist genau dann falsch, wenn sowohl A als auch B wahr sind. Als Operationssymbole dienen auch der Sheffer-Strich | und das überstrichene Und-Symbol ∧. Henry Maurice Sheffer (1883 - 1972), amerikanischer Mathematiker, Logiker. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 33 l Satz 2.25 Nand und Nor Nor-Operation, Antidisjunktion, Peirce-Funktion, Nicod-Funktion1: A ↓ B (A nicht-oder B) ist genau dann wahr, wenn sowohl A als auch B falsch sind. Als Operationssymbol dient neben dem Peirce-Pfeil ↓ auch das überstrichene OderSymbol ∨. Für beliebige Aussagen A, B gilt: (1) (2) (3) (4) (5) (6) ¬A A∧B A∨B B A A⇔B A <≠> B ≡A↑A ≡ (A ↑ B) ↑ (A ↑ B) ≡ (A ↑ A) ↑ (B ↑ B) ≡ A ↑ (A ↑ B) ≡ (A ↑ B) ↑ ((A ↑ A) ↑ (B ↑ B)) ≡ (A ↑ (B ↑ B)) ↑ ((A ↑ A) ↑ B) ≡ A ↓ A. ≡ (A ↓ A) ↓ (B ↓ B). ≡ (A ↓ B) ↓ (A ↓ B). ≡ (B ↓ (A ↓ B)) ↓ (B ↓ (A ↓ B)). ≡ (A ↓ (B ↓ B)) ↓ ((A ↓ A) ↓ B). ≡ (A ↓ B) ↓ ((A ↓ A) ↓ (B ↓ B)). Der leicht mit Wahrheitstabellen zu beweisende Satz zeigt, dass sich die bekannten Operationen nur mit Nand und nur mit Nor ausdrücken lassen. Allerdings werden Nand- und Nor-Ausdrücke recht komplex und es ist schwer, mit ihnen zu rechnen. Die Bedeutung von Nand und Nor liegt vor allem in der Digitaltechnik, da sich beliebige Schaltfunktionen nur mit Nand- oder Nor-Gattern realisieren lassen und die Massenproduktion von nur einer Gatterart ökonomisch interessant ist. Satz 2.26 Anzahl der Aussagefunktionen Zu n ∈ lN0 gibt es 2 n (2 ) verschiedene n-stellige Aussagefunktionen A : lBn → lB, (a1,.., an) → A(a1,.., an), | n d.h. AFn = lB ( lB ) n hat 2 (2 ) Elemente. Beweis. lBn hat 2n Elemente. Das entspricht der Anzahl der Zeilen in einer Wahrheitsn (2 ) tabelle zu einer Aussage mit n Variablen. Dazu gibt es 2 verschiedene Möglichkeiten, die Spalte dieser Aussage mit 0en und 1en auszufüllen. Verschiedene Spalten entp sprechen verschiedenen Aussagefunktionen. Es gibt also 28 = 256 dreistellige und 216 = 65536 vierstellige Aussagefunktionen. Die n (2 ) wächst extrem. Wie lassen sich die vielen n-stelligen AussageFunktion n → 2 funktionen darstellen? Wir beantworten die Frage zunächst für Aussagen A ∈ A. | Definition 2.27 Aussagenlogische Basis Eine Menge OB logischer Operationen heißt (aussagenlogische) Basis (vollständig), wenn es zu jeder Aussage A eine logisch äquivalente Aussage B gibt, die nur Operationen aus OB enthält. Eine Basis heißt minimal, wenn keine ihrer echten Teilmengen eine Basis ist. 1 9.8.04 Jean Nicod (1893 - 1924), französischer Philosoph, Mathematiker, Logiker. © Karlheinz Hug, Hochschule Reutlingen 2 - 34 Satz 2.28 Basen 2 Logik Die folgenden Mengen logischer Operationen bilden aussagenlogische Basen: (1) (2) (3) (4) (5) (6) {¬, ∧, ∨}. {¬, ∧}. {¬, ∨}. {¬, }. {↑}. {↓}. Boole-Basis de Morgan-Basis de Morgan-Basis Frege-Basis Sheffer-Basis, Nand-Basis Peirce-Basis, Nor-Basis Die Basen (2) bis (6) sind minimal. Beweis. (1) ergibt sich aus Tabelle 2.16. (2) und (3) folgen aus (1) und den de morganschen Regeln in der Form A ∨ B ≡ ¬(¬A ∧ ¬B), A ∧ B ≡ ¬(¬A ∨ ¬B). (4) folgt aus (3) und Satz 2.19 (1). (5) und (6) ergeben sich aus (1) und Satz 2.25. A p Damit wissen wir, dass sich alle Aussagen A ∈ mittels der Basen logisch äquivalent darstellen lassen - aber noch nicht, ob sich auch alle Aussagefunktionen A : lBn → lB mittels der Basen darstellen lassen. 2.1.11 Normalformen von Aussagen Aus der Analysis ist bekannt, dass sich Polynome oder ganze rationale Funktionen als Summe von Produkten und als Produkt von Summen darstellen lassen, z.B. f(x) = x2 − x + 2 = (x + 1) ∗ (x − 2). Ähnlich „normal“ lassen sich logische Funktionen als Disjunktion von Konjunktionen und als Konjunktion von Disjunktionen darstellen. Solche Normalformen sind nützlich zur Analyse und Synthese von Aussagen: J J J J J J Eine einheitliche Darstellungsform für Aussagen dient der Lesbarkeit und Verständlichkeit. Eine normal dargestellte Aussage lässt ihre Wahrheitswerte erkennen, ohne dass man ihre Wahrheitstabelle aufstellen muss. Normal dargestellte Aussagen werden in nur zwei Stufen berechnet. Dies ist ein wichtiges Kriterium in der Digitaltechnik: Da die Signale höchstens zwei Gatter durchlaufen, ergeben sich kurze Schaltzeiten. Normal dargestellte Aussagen sind leichter vergleichbar. Eigenschaften von Aussagen lassen sich oft leichter anhand ihrer Normaldarstellungen zeigen. Zu einer durch eine Wahrheitstabelle gegebenen Aussagefunktion kann man leicht normal dargestellte Aussagen konstruieren. Zur Vorbereitung der Normalformen benötigen wir einige Definitionen, die wir wie die folgenden Sätze in den dualen Formen angeben. Bei den Beweisen können wir uns aufgrund des Dualitätstheorems auf eine Form beschränken. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik Definition 2.29 Faktor Term Normalform 2 - 35 Eine Aussage A = A(a1,.., an) ∈ A mit n ∈ lN 0 heißt ein Faktor (Literal), wenn A ein Atom oder negiertes Atom ist, also von einer der Formen 0, 1, ai, ¬ai mit i = 1,.., n; ein K-Term (Konjunktionsterm), wenn A eine Konjunktion von Faktoren ist, also von der Form A = F1 ∧ ... ∧ Fm mit Faktoren F1,.., Fm, m ∈ lN0; ein D-Term (Disjunktionsterm), wenn A eine Disjunktion von Faktoren ist, also von der Form A = F1 ∨ ... ∨ Fm mit Faktoren F1,.., Fm, m ∈ lN0; ein Term, wenn A ein K-Term oder D-Term ist; ein Minterm (Elementarkonjunktion), wenn A ein K-Term ist, in dem keine Konstante und jede Variable a1,.., an genau einmal vorkommt; ein Maxterm (Elementardisjunktion), wenn A ein D-Term ist, in dem keine Konstante und jede Variable a1,.., an genau einmal vorkommt; eine disjunktive Normalform, DNF, wenn A eine Disjunktion von K-Termen ist, also von der Form A = K1 ∨ ... ∨ Kl mit K-Termen K1,.., Kl, l ∈ lN0; eine konjunktive Normalform, KNF, wenn A eine Konjunktion von D-Termen ist, also von der Form A = D1 ∧ ... ∧ Dl mit D-Termen D1,.., Dl, l ∈ lN0; eine Normalform, wenn A eine DNF oder KNF ist; eine kanonische (vollständige) disjunktive Normalform, KDNF, wenn A eine Disjunktion von paarweise nicht logisch äquivalenten Mintermen ist; eine kanonische (vollständige) konjunktive Normalform, KKNF, wenn A eine Konjunktion von paarweise nicht logisch äquivalenten Maxtermen ist; eine kanonische Normalform, wenn A eine KDNF oder KKNF ist. Bemerkungen Beispiele In den folgenden Beispielen sei n = 3, die Variablen seien a, b, c. K- und D-Terme, die keine Min- bzw. Maxterme sind, können 0en, 1en und Variablen mehrfach als Faktoren enthalten: a ∧ b ∧ ¬a ∧ 0 a ∨ ¬b ∨ ¬a ∨ 0 ∨ c ∨ a K-Term, kein Minterm D-Term, kein Maxterm Gemäß den Vereinfachungsregeln von S. 28 gilt im Sinne logischer Äquivalenz: Ein KTerm mit einem Faktor 0 ist 0. Ein D-Term mit einem Faktor 1 ist 1. In K-Termen kann man 1en, in D-Termen 0en als Faktoren weglassen (oder hinzufügen). In Termen kann man jeden Faktor nur einmal vorkommen lassen; Faktoren kann man vertauschen, umordnen. Damit vereinfachen sich obige Terme zu: 0 a ∨ ¬b ∨ ¬a ∨ c K-Term, kein Minterm D-Term, kein Maxterm Der D-Term vereinfacht sich mit der Regel des ausgeschlossenen Dritten weiter zu 1. Für m = 0 ist ein K-Term 1, ein D-Term 0. Für n = 0 ist ein Minterm 1, ein Maxterm 0. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 36 2 Logik Eine DNF ist eine Disjunktion von Konjunktionen. Eine KNF ist eine Konjunktion von Disjunktionen. DNFen und KNFen können 0en und 1en als Terme und logisch äquivalente Terme enthalten: (a ∧ b) ∨ (b ∧ ¬c) ∨ (b ∧ a) (a ∨ ¬b) ∧ (a ∨ ¬b ∨ c) ∧ 1 DNF, keine KDNF KNF, keine KKNF In DNFen kann man 0en, in KNFen 1en als Terme weglassen. Eine DNF mit einem Term 1 ist 1. Eine KNF mit einem Term 0 ist 0. In Normalformen kann man von logisch äquivalenten Termen nur einen vorkommen lassen; Terme kann man umordnen. Damit vereinfachen sich obige Normalformen zu: (a ∧ b) ∨ (b ∧ ¬c) (a ∨ ¬b) ∧ (a ∨ ¬b ∨ c) DNF, keine KDNF KNF, keine KKNF Die KNF vereinfacht sich mit der Absorptionsregel weiter zu a ∨ ¬b. Für l = 0 ist eine DNF 0, eine KNF 1. Die Reihenfolge der Variablen in Min- und Maxtermen ist nicht festgelegt, daher gibt es logisch äquivalente Min- bzw. Maxterme: a ∧ b ∧ ¬c ¬c ∧ a ∧ b ¬c ∨ b ∨ a Minterm logisch äquivalenter Minterm Maxterm Die Reihenfolge der Min- und Maxterme in KDNFen bzw. KKNFen ist nicht festgelegt, auch deshalb gibt es logisch äquivalente KDNFen bzw. KKNFen: (a ∧ b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ c) (¬a ∧ c ∧ ¬b) ∨ (b ∧ ¬c ∧ a) (¬c ∨ b ∨ a) ∧ (¬b ∨ c ∨ ¬a) KDNF logisch äquivalente KDNF KKNF Der Lesbarkeit halber empfiehlt sich, in allen Termen dieselbe Reihenfolge der Variablen einzuhalten. Satz 2.30 Normalformen zu Aussagen Zu jeder Aussage A ∈ KKNFen. A gibt es logisch äquivalente DNFen, KNFen, KDNFen und A A Beweis. Nach Satz 2.28 gibt es zu A ∈ ein logisch äquivalentes B ∈ , in dem nur ¬, ∧ und ∨ vorkommen. Aus B erhält man die gewünschte Normalform durch geeignetes Umformen, indem man die Regeln zum Vereinfachen von Aussagen, S. 28 ggf. wiederholt anwendet und dabei insbesondere Negationen vor Klammern mittels der de morganschen Regeln nach innen treibt. (Ein ausführlicher Beweis verfährt induktiv über den Aufbau der Aussagen.) p Korollar 2.31 Zwei Aussagen sind genau dann logisch äquivalent, wenn sie dieselbe KDNF oder KKNF (bis auf Umordnungen der Faktoren und Terme) besitzen. Für Aussagen mit nur zwei Variablen, also zweistellige Aussagefunktionen, ist Satz 2.30 unmittelbar einzusehen. Wir stellen alle 16 zweistelligen KDNFen und KKNFen zusammen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 37 Tabelle 2.17 Kanonische Normalformen zweistelliger Aussagefunktionen a 0 0 1 1 b 0 1 0 1 Kurzform KDNF KKNF A1(a, b) 0 0 0 0 0 0 (a ∨ b) ∧ (a ∨ ¬b) ∧ (¬a ∨ b) ∧ (¬a ∨ ¬b) A2(a, b) 0 0 0 1 a∧b a∧b (a ∨ b) ∧ (a ∨ ¬b) ∧ (¬a ∨ b) A3(a, b) 0 0 1 0 ¬(a a ∧ ¬b (a ∨ b) ∧ (a ∨ ¬b) ∧ (¬a ∨ ¬b) A4(a, b) 0 0 1 1 a (a ∧ b) ∨ (a ∧ ¬b) (a ∨ b) ∧ (a ∨ ¬b) A5(a, b) 0 1 0 0 ¬(b ¬a ∧ b (a ∨ b) ∧ (¬a ∨ b) ∧ (¬a ∨ ¬b) A6(a, b) 0 1 0 1 b (a ∧ b) ∨ (¬a ∧ b) (a ∨ b) ∧ (¬a ∨ b) A7(a, b) 0 1 1 0 a <≠> b (a ∧ ¬b) ∨ (¬a ∧ b) (a ∨ b) ∧ (¬a ∨ ¬b) A8(a, b) 0 1 1 1 a∨b (a ∧ b) ∨ (a ∧ ¬b) ∨ (¬a ∧ b) a∨b A9(a, b) 1 0 0 0 a↓b ¬a ∧ ¬b (a ∨ ¬b) ∧ (¬a ∨ b) ∧ (¬a ∨ ¬b) A10(a, b) 1 0 0 1 a ⇔ b (a ∧ b) ∨ (¬a ∧ ¬b) (a ∨ ¬b) ∧ (¬a ∨ b) A11(a, b) 1 0 1 0 ¬b (a ∧ ¬b) ∨ (¬a ∧ ¬b) (a ∨ ¬b) ∧ (¬a ∨ ¬b) A12(a, b) 1 0 1 1 b (a ∧ b) ∨ (a ∧ ¬b) ∨ (¬a ∧ ¬b) a ∨ ¬b A13(a, b) 1 1 0 0 ¬a (¬a ∧ b) ∨ (¬a ∧ ¬b) (¬a ∨ b) ∧ (¬a ∨ ¬b) A14(a, b) 1 1 0 1 a (a ∧ b) ∨ (¬a ∧ b) ∨ (¬a ∧ ¬b) ¬a ∨ b A15(a, b) 1 1 1 0 b) a) a b a↑b (a ∧ ¬b) ∨ (¬a ∧ b) ∨ (¬a ∧ ¬b) ¬a ∨ ¬b (a ∧ b) ∨ (a ∧ ¬b) ∨ (¬a ∧ b) ∨ 1 (¬a ∧ ¬b) A16(a, b) 1 1 1 1 1 Beispiel 2.3 Konstruktion von Normalformen mit algebraischen Umformungen Konstantenfreie Form Wir zeigen die im Beweis zu Satz 2.30 skizzierte Methode anhand der Aussage (a ∧ b ∧ 1) (¬b ∨ c) ⇔ b ∨ ¬c ∨ 0. Gesucht ist zunächst eine logisch äquivalente Aussage auf Boole-Basis. Schon vor Ersetzen der Implikation und der Äquivalenz vereinfachen wir möglichst weit gehend: (¬b ∨ c) ⇔ b ∨ ¬c ∨ 0 ≡ (a ∧ b ∧ 1) (a ∧ b) (¬b ∨ c) ⇔ b ∨ ¬c. Satz 2.17 Zur konstantenfreien Form stellen wir die Wahrheitstabelle auf (nicht um sie hier, sondern auf S. 42 zu benutzen): Tabelle 2.18 Kompakte Wahrheitstabelle 9.8.04 (a ∧ b) (¬b ∨ c) ⇔ b ∨ ¬c 0 0 0 1 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 © Karlheinz Hug, Hochschule Reutlingen 2 - 38 2 Logik Nun ersetzen wir in der konstantenfreien Form (¬b ∨ c) ⇔ b ∨ ¬c ≡ (a ∧ b) ¬(a ∧ b) ∨ (¬b ∨ c) ⇔ b ∨ ¬c ≡ (¬a ∨ ¬b) ∨ (¬b ∨ c) ⇔ b ∨ ¬c ≡ ¬a ∨ ¬b ∨ c ⇔ b ∨ ¬c ≡ ((¬a ∨ ¬b ∨ c) (b ∨ ¬c)) ∧ ((b ∨ ¬c) (¬a ∨ ¬b ∨ c)) ≡ (¬(¬a ∨ ¬b ∨ c) ∨ (b ∨ ¬c)) ∧ (¬(b ∨ ¬c) ∨ (¬a ∨ ¬b ∨ c)). Boole-basierte Form und ⇔: Satz 2.19 Satz 2.14 Satz 2.17 Satz 2.19 Satz 2.19 Gesucht ist nun eine logisch äquivalente DNF; dazu vereinfachen wir weiter: KNF (¬(¬a ∨ ¬b ∨ c) ∨ (b ∨ ¬c)) ∧ (¬(b ∨ ¬c) ∨ (¬a ∨ ¬b ∨ c)) ≡ ((¬¬a ∧ ¬¬b ∧ ¬c) ∨ b ∨ ¬c) ∧ ((¬b ∧ ¬¬c) ∨ ¬a ∨ ¬b ∨ c) ≡ ((a ∧ b ∧ ¬c) ∨ b ∨ ¬c) ∧ ((¬b ∧ c) ∨ ¬a ∨ ¬b ∨ c) ≡ (b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c). Satz 2.14 Satz 2.13 Satz 2.17 Wir haben eine Konjunktion von zwei Disjunktionen, also eine KNF gefunden - das ist zwar nicht das Gesuchte, aber auch nicht schlecht. Durch Anwenden einer Distributivregel („Ausmultiplizieren“) erhalten wir: DNF (b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c) ≡ (b ∧ ¬a) ∨ (b ∧ ¬b) ∨ (b ∧ c) ∨ (¬c ∧ ¬a) ∨ (¬c ∧ ¬b) ∨ (¬c ∧ c) ≡ (b ∧ ¬a) ∨ 0 ∨ (b ∧ c) ∨ (¬c ∧ ¬a) ∨ (¬c ∧ ¬b) ∨ 0 ≡ (b ∧ ¬a) ∨ (b ∧ c) ∨ (¬c ∧ ¬a) ∨ (¬c ∧ ¬b) ≡ (¬a ∧ b) ∨ (¬a ∧ ¬c) ∨ (b ∧ c) ∨ (¬b ∧ ¬c). Satz 2.17 Satz 2.14 Satz 2.17 Satz 2.17 Dies ist eine gesuchte DNF aus vier K-Termen. Von dieser ausgehend konstruieren wir eine KDNF: KDNF (¬a ∧ b) ∨ (¬a ∧ ¬c) ∨ (b ∧ c) ∨ (¬b ∧ ¬c) ≡ Satz 2.17 (¬a ∧ b ∧ 1) ∨ (¬a ∧ 1 ∧ ¬c) ∨ (1 ∧ b ∧ c) ∨ (1 ∧ ¬b ∧ ¬c) ≡ Satz 2.14 (¬a ∧ b ∧ (c ∨ ¬c)) ∨ (¬a ∧ (b ∨ ¬b) ∧ ¬c) ∨ ((a ∨ ¬a) ∧ b ∧ c) ∨ ((a ∨ ¬a) ∧ ¬b ∧ ¬c) ≡ Satz 2.17 (¬a ∧ b ∧ c) ∨ (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ ¬c) ∨ (a ∧ b ∧ c) ∨ (¬a ∧ b ∧ c) ∨ (a ∧ ¬b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ ¬c) ≡ Satz 2.17 (¬a ∧ b ∧ c) ∨ (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ ¬c) ∨ (a ∧ b ∧ c) ∨ (a ∧ ¬b ∧ ¬c) ≡ (a ∧ b ∧ c) ∨ (a ∧ ¬b ∧ ¬c) ∨ (¬a ∧ b ∧ c) ∨ (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ ¬c). Die KDNF hat fünf Minterme. Die jetzt noch gesuchte logisch äquivalente KKNF entwickeln wir entsprechend aus der KNF: KKNF (b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c) ≡ (0 ∨ b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c) ≡ ((a ∧ ¬a) ∨ b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c) ≡ (a ∨ b ∨ ¬c) ∧ (¬a ∨ b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c). Satz 2.17 Satz 2.14 Satz 2.17 Die KKNF hat drei Maxterme. Soll die Aussage mittels einer kanonischen Normalform berechnet werden, so ist offenbar die KKNF, die fünf einstellige und acht zweistellige Operationen benötigt, günstiger als die KDNF mit acht einstelligen und 14 zweistelligen. Auch bei den Normalformen ist die KNF günstiger als die obige DNF. Diese DNF ist allerdings nicht die einfachste. Die DNFen Minimale DNF (¬a ∧ b) ∨ (b ∧ c) ∨ (¬b ∧ ¬c), (¬a ∧ ¬c) ∨ (b ∧ c) ∨ (¬b ∧ ¬c) sind äquivalent, aber einfacher, kürzer. Minimale Aussage p Eine Aussage oder Normalform heißt minimal bzgl. einer Operationenmenge OM, wenn es keine logisch äquivalente Aussage bzw. Normalform mit weniger Operationen aus OM gibt. Minimale Aussagen und Normalformen bieten minimalen Aufwand zu © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 39 ihrer Implementation und Interpretation. Der Implementationsaufwand entspricht in der Digitaltechnik der Anzahl der Gatter, also den Kosten der Bauelemente, in der Programmierung dem Umfang des Programmcodes, also dem Speicherplatzbedarf. Der Aufwand zur Interpretation oder Berechnung entspricht in der Digitaltechnik der Schaltzeit des Schaltkreises, in der Programmierung der Auswertungszeit des Ausdrucks. Wie findet man minimale Aussagen? Es gibt theoretisch fundierte Minimierungsverfahren, mit denen man z.B. aus kanonischen Normalformen minimale Normalformen gewinnt, siehe z.B. [6], [25]. Solche Verfahren sind in der Digitaltechnik wichtig, da hier komplexe Schaltfunktionen möglichst effizient zu realisieren sind. Dagegen braucht man sie beim Programmieren selten, da die hier vorkommenden booleschen Ausdrücke meist überschaubar bleiben, sodass sie sich intuitiv minimieren lassen. Für A ∈ A bezeichne dnf(A) knf(A) Satz 2.32 Dualität der Normalformen eine zu A logisch äquivalente DNF, eine zu A logisch äquivalente KNF. Für jede Aussage A ∈ (1) (2) A gilt: dnf(A) ≡ ¬knf(¬A) ≡ knf(¬A). knf(A) ≡ ¬dnf(¬A) ≡ dnf(¬A). Beweis folgt direkt aus Theorem 2.16, Dualitätstheorem der Aussagenlogik. Ausführlich: (1) Negiert man dnf(A) doppelt und wendet die de morganschen Regeln auf die innere Negation an, so erhält man ¬knf(¬A). (2) ist eine Umformulierung von (1). p Man kann also eine KNF konstruieren, indem man eine DNF der negierten Aussage konstruiert und diese dann negiert, d.h. strikt dualisiert. Beispiel 2.4 Konstruktion einer KNF mittels einer DNF Wir zeigen diese Methode anhand der in Beispiel 2.3 verwendeten Aussage A := (¬a ∧ b) ∨ (b ∧ c) ∨ (¬b ∧ ¬c). Die negierte Aussage ist ¬A = ¬((¬a ∧ b) ∨ (b ∧ c) ∨ (¬b ∧ ¬c)). Gesucht ist zunächst eine dazu logisch äquivalente DNF: knf(¬A) dnf(¬A) ¬((¬a ∧ b) ∨ (b ∧ c) ∨ (¬b ∧ ¬c)) ≡ ¬(¬a ∧ b) ∧ ¬(b ∧ c) ∧ ¬(¬b ∧ ¬c) ≡ (¬¬a ∨ ¬b) ∧ (¬b ∨ ¬c) ∧ (¬¬b ∨ ¬¬c) ≡ (a ∨ ¬b) ∧ (¬b ∨ ¬c) ∧ (b ∨ c) ≡ (a ∧ ¬b ∧ b) ∨ (a ∧ ¬b ∧ c) ∨ (a ∧ ¬c ∧ b) ∨ (a ∧ ¬c ∧ c) ∨ (¬b ∧ ¬b ∧ b) ∨ (¬b ∧ ¬b ∧ c) ∨ (¬b ∧ ¬c ∧ b) ∨ (¬b ∧ ¬c ∧ c) ≡ (a ∧ 0) ∨ (a ∧ ¬b ∧ c) ∨ (a ∧ ¬c ∧ b) ∨ (a ∧ 0) ∨ 0 ∨ (¬b ∧ c) ∨ (¬b ∧ b ∧ ¬c) ∨ (¬b ∧ 0) ≡ 0 ∨ (a ∧ ¬b ∧ c) ∨ (a ∧ ¬c ∧ b) ∨ 0 ∨ 0 ∨ (¬b ∧ c) ∨ (0 ∧ ¬c) ∨ 0 ≡ (a ∧ ¬b ∧ c) ∨ (a ∧ b ∧ ¬c) ∨ (¬b ∧ c) ≡ (a ∧ b ∧ ¬c) ∨ (¬b ∧ c). Satz 2.14 Satz 2.14 Satz 2.13 Satz 2.17 Satz 2.17 Satz 2.17 Satz 2.17 Satz 2.14 Nochmal Negieren ergibt ¬dnf(¬A) knf(A) 9.8.04 ¬((a ∧ b ∧ ¬c) ∨ (¬b ∧ c)) ≡ ¬(a ∧ b ∧ ¬c) ∧ ¬(¬b ∧ c) ≡ (¬a ∨ ¬b ∨ ¬¬c) ∧ (¬¬b ∨ ¬c) ≡ (¬a ∨ ¬b ∨ c) ∧ (b ∨ ¬c). Satz 2.14 Satz 2.14 Satz 2.14 © Karlheinz Hug, Hochschule Reutlingen 2 - 40 2 Logik Diese KNF ist logisch äquivalent zur KNF in Beispiel 2.3. Wir haben das Umformen von ¬dnf(¬A) zu knf(A) ausführlich gezeigt. Offenbar erhält man knf(A) schneller durch striktes Dualisieren von dnf(¬A). p Die im Beweis zu Satz 2.30 skizzierte Methode des algebraischen Umformens kann mühsam sein (wie in Beispiel 2.3). Deshalb demonstrieren wir eine Methode, die auf Belegungen und Wahrheitstabellen basiert. Sie ist sowohl einfacher als auch allgemeiner, da sie auf beliebige Aussagefunktionen anwendbar ist. Die folgenden Beispiele verwenden wieder die Variablen a, b, c. Belegungen stellen wir als Tripel (beleg(a), beleg(b), beleg(c)) dar, z.B. (1, 0, 1). Satz 2.33 Eindeutige Belegung zu Min- und Maxterm Ist K = K(a1,.., an) = F1 ∧ ... ∧ Fn mit n ∈ lN ein Minterm, so gibt es genau eine Belegung belegK der Variablen a1,.., an, für die K wahr ist, nämlich 0 belegK(ai) := 1 falls F i = ¬a i falls F i = a i für i = 1,.., n. Ist D = D(a1,.., an) = F1 ∨ ... ∨ Fn mit n ∈ lN ein Maxterm, so gibt es genau eine Belegung belegD der Variablen a1,.., an, für die D falsch ist, nämlich 0 belegD(ai) := 1 falls F i = a i falls F i = ¬a i für i = 1,.., n. p Beweis direkt durch Nachdenken. Beispiele Der Minterm a ∧ ¬b ∧ c ist genau für die Belegung (1, 0, 1) wahr. Der Maxterm ¬a ∨ ¬b ∨ c ist genau für die Belegung (1, 1, 0) falsch. Satz 2.34 Min- und Maxterme zu Belegung Ist die Aussagefunktion A = A(a1,.., an) mit n ∈ lN für genau eine Belegung beleg der Variablen a1,.., an wahr, so ist A logisch äquivalent zu dem Minterm ai Kbeleg := F1 ∧ ... ∧ Fn mit Fi := ¬a i falls beleg ( ai ) = 1 falls beleg ( ai ) = 0 für i = 1,.., n. Ist A = A(a1,.., an) mit n ∈ lN für genau eine Belegung beleg der Variablen a1,.., an falsch, so ist A logisch äquivalent zu dem Maxterm ai Dbeleg := F1 ∨ ... ∨ Fn mit Fi := ¬a i falls beleg ( a i ) = 0 falls beleg ( a i ) = 1 für i = 1,.., n. Beweis. Der Minterm Kbeleg ist offenbar für die Belegung beleg wahr. Nach Satz 2.33 p ist er nur für beleg wahr. Daher ist er logisch äquivalent zu A. Beispiele Ist die Aussagefunktion A : lB3 → lB durch 1 A(a, b, c) := 0 falls a = b = 1, c = 0 sonst gegeben, so ist A ≡ a ∧ b ∧ ¬c. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.1 Aussagenlogik 2 - 41 Ist die Aussagefunktion A : lB3 → lB durch 0 A(a, b, c) := 1 falls a = c = 1, b = 0 sonst gegeben, so ist A ≡ ¬a ∨ b ∨ ¬c. Nach Satz 2.33 und Satz 2.34 gibt es bijektive Beziehungen zwischen l l Mintermen und so genannten Wahr-Belegungen und Maxtermen und so genannten Falsch-Belegungen der Wahrheitstabellen. Minterme entsprechen n-Tupeln aus 0en und 1en mit ai ↔ 1, ¬ai ↔ 0. Maxterme entsprechen n-Tupeln aus 0en und 1en mit ai ↔ 0, ¬ai ↔ 1. Satz 2.35 Anzahl der Min- und Maxterme Zu den Variablen a1,.., an mit n ∈ lN0 gibt es 2n paarweise nicht logisch äquivalente Minterme und 2n paarweise nicht logisch äquivalente Maxterme. Beweis. Kurz: Es gibt genau so viele Minterme wie n-Tupel aus 0en und 1en. Ausführlich: Jede der Variablen a1,.., an hat zwei Möglichkeiten, in einem Minterm vorzukommen: negiert oder nicht negiert. Damit ergeben sich 2n Möglichkeiten für Minterme, ohne die Anordnung der Variablen zu berücksichtigen. Jeder Minterm ist für genau eine Belegung wahr. Diese Belegungen sind paarweise verschieden. Also sind die Minterme paarweise nicht logisch äquivalent. p Satz 2.36 Eindeutige Belegungen zu KDNFen und KKNFen Ist A = A(a1,.., an) = K1 ∨ ... ∨ Kl mit n ∈ lN eine KDNF mit den Mintermen K1,.., Kl, so gibt es genau l Belegungen der Variablen a1,.., an, für die A wahr ist, nämlich die Belegungen belegKj zu den Mintermen Kj gemäß Satz 2.33. Ist A = A(a1,.., an) = D1 ∧ ... ∧ Dl mit n ∈ lN eine KKNF mit den Maxtermen D1,.., Dl, so gibt es genau l Belegungen der Variablen a1,.., an, für die A falsch ist, nämlich die Belegungen belegDj zu den Maxtermen Dj gemäß Satz 2.33. Beweis. Für j = 1,.., l gilt: Für belegKj ist Kj wahr, also auch A. Für alle anderen Belegungen sind alle K1,.., Kl falsch, also auch A. p Beispiele Die KDNF aus Beispiel 2.3 (a ∧ b ∧ c) ∨ (a ∧ ¬b ∧ ¬c) ∨ (¬a ∧ b ∧ c)) ∨ (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ ¬c) ist genau für die Belegungen (1, 1, 1), (1, 0, 0), (0, 1, 1), (0, 1, 0), (0, 0, 0) wahr. Die KKNF aus Beispiel 2.3 (a ∨ b ∨ ¬c) ∧ (¬a ∨ b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ c). ist genau für die Belegungen (0, 0, 1), (1, 0, 1), (1, 1, 0) falsch. Satz 2.37 KDNFen und KKNFen zu Belegungen Ist die Aussagefunktion A = A(a1,.., an) mit n ∈ lN für genau die Belegungen beleg1,.., belegl der Variablen a1,.., an wahr und sind Kj := Kbelegj für j = 1,.., l die Minterme zu diesen Belegungen gemäß Satz 2.34, so ist A logisch äquivalent zu der KDNF K1 ∨ ... ∨ Kl. Ist die Aussagefunktion A = A(a1,.., an) mit n ∈ lN für genau die Belegungen beleg1,.., belegl der Variablen a1,.., an falsch und sind Dj := Dbelegj für j = 1,.., l die Maxterme zu diesen Belegungen gemäß Satz 2.34, so ist A logisch äquivalent zu der KKNF D1 ∧ ... ∧ Dl. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 42 2 Logik Beweis. A und K1 ∨ ... ∨ Kl sind für genau dieselben Belegungen belegKj, j = 1,.., l, p wahr. Beispiel 2.5 Konstruktion kanonischer Normalformen mit der Belegungsmethode Ist die Aussagefunktion A : lB3 → lB durch 1 A(a, b, c) := 0 falls a = b = 1, c beliebig sonst gegeben, so ist A ≡ (a ∧ b ∧ c) ∨ (a ∧ b ∧ ¬c). Ist die Aussagefunktion A : lB3 → lB durch falls a = c = 1, b beliebig 0 A(a, b, c) := 1 sonst p gegeben, so ist A ≡ (¬a ∨ b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ ¬c). KDNF oder KKNF? Ist eine Aussagefunktion für höchstens die Hälfte aller Belegungen wahr, so ist ihre Darstellung als KDNF günstiger: Bilde zu allen Wahr-Belegungen die Minterme und verknüpfe diese disjunktiv. Ist eine Aussagefunktion für höchstens die Hälfte aller Belegungen falsch, so ist ihre Darstellung als KKNF günstiger: Bilde zu allen Falsch-Belegungen die Maxterme und verknüpfe diese konjunktiv. Wenden wir diese Methode auf die Wahrheits-Tabelle 2.18 der in Beispiel 2.3 gegebenen Aussage an, so erhalten wir dieselbe KDNF und dieselbe KKNF wie mit der algebraischen Methode - aber schneller. Daher ist die Belegungsmethode in der Digitaltechnik für die Logiksynthese wichtig, um zu einer Schaltfunktion schnell ein implementierendes Schaltnetz zu konstruieren. Satz 2.38 Anzahl der KDNFen und KKNFen Zu den Variablen a1,.., an mit n ∈ n 0 gibt es 2 lN (2 ) paarweise nicht logisch äquiva- n lente KDNFen und 2 (2 ) paarweise nicht logisch äquivalente KKNFen. n Beweis. Da es nach Satz 2.26 2 (2 ) verschiedene Aussagefunktionen gibt und nach n Satz 2.37 zu jeder Aussagefunktion eine logisch äquivalente KDNF, muss es 2 paarweise nicht logisch äquivalente KDNFen geben. (2 ) p Die Ergebnisse fassen wir in einem Theorem zusammen. Theorem 2.39 Normalformen zu Aussagefunktionen Zu jeder Aussagefunktion A : lBn → lB mit n ∈ lN0 gibt es eine logisch äquivalente (1) (2) (3) (4) DNF; KNF; KDNF, die bis auf die Reihenfolge der Minterme und der Faktoren in den Mintermen eindeutig bestimmt ist; KKNF, die bis auf die Reihenfolge der Maxterme und der Faktoren in den Maxtermen eindeutig bestimmt ist. Damit ist gezeigt - wie in 2.1.6 angedacht -, dass sich jede Aussagefunktion durch einen induktiv definierten aussagenlogischen Ausdruck darstellen und durch ein digitales Schaltnetz implementieren lässt. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik 2 - 43 Korollar 2.40 Zu jeder Aussagefunktion A : Aussage B ∈ . A lB n → lB mit n ∈ lN 0 gibt es eine logisch äquivalente Der folgende Satz stellt Spezialfälle zusammen. Satz 2.41 Allgemeingültige und widersprüchliche Normalformen (1) (2) (3) (4) (5) (6) Eine DNF ist widersprüchlich genau dann, wenn in jedem K-Term wenigstens eine Variable negiert und unnegiert, oder 0 vorkommt. Eine KNF ist allgemeingültig genau dann, wenn in jedem D-Term wenigstens eine Variable negiert und unnegiert, oder 1 vorkommt. Eine KDNF ist allgemeingültig genau dann, wenn alle 2n Minterme in ihr vorkommen. Eine KDNF ist widersprüchlich genau dann, wenn sie eine leere Disjunktion von Mintermen ist. Eine KKNF ist allgemeingültig genau dann, wenn sie eine leere Konjunktion von Maxtermen ist. Eine KKNF ist widersprüchlich genau dann, wenn alle 2n Maxterme in ihr vorkommen. Nutzt man Normalformen zur Analyse von Aussagen, so gilt: Wegen Satz 2.41 (1) und (4) eignen sich DNFen gut, um Widersprüche zu erkennen. Wegen Satz 2.41 (2) und (5) eignen sich KNFen gut, um Tautologien zu erkennen. Zum Abschluss des Abschnitts über die Aussagenlogik stellen wir die diskutierten Beziehungen und Methoden der Transformation zwischen den verschiedenen Formen von Aussagen zusammen. Bild 2.4 Transformation der Formen von Aussagen Min-/Maxterme bilden Wahrheitstabelle kanonische Normalform Belegungsmethode W-/F-Belegungen bilden interpretieren Aussage mit beliebigen Operationen 2.2 interpretieren algebraisch erweitern umformen vereinfachen algebraisch umformen Normalform Prädikatenlogik Die Prädikatenlogik ist eine Erweiterung der Aussagenlogik. Während die Aussagenlogik Aussagen als Ganzes betrachtet, zerlegt die Prädikatenlogik Aussagen in Bestandteile: Subjekte, Prädikate und quantifizierende Teile. Dadurch ist die Prädikatenlogik beschreibungsmächtiger als die Aussagenlogik. In der Mathematik und der Informatik ist die Prädikatenlogik unentbehrlich. 2.2.1 Einführung Den Begriff „Aussage“ haben wir bisher lasch an Stellen benutzt, wo korrekterweise „Aussageform“ stehen müsste. Worin unterscheiden sich Aussagen und Aussageformen? 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 44 2 Logik 1 ∈ {1, 2} Aussage ist eine Aussage, der wir eindeutig den Wahrheitswert wahr zuordnen können, da darin als Operanden nur ein konstantes Element und eine konstante Menge vorkommen. Dagegen ist x∈Μ Aussageform keine Aussage, da wir weder über den Wert der Elementvariablen x noch die Elemente der Mengenvariablen M etwas wissen. Es handelt sich um eine Aussageform; die darin vorkommenden Variablen heißen freie Variablen. Dem Gebilde Für x = 1 und M = {1, 2} gilt: x ∈ Μ können wir den Wahrheitswert wahr zuordnen. Es handelt sich um eine Aussage; die darin vorkommenden Variablen sind durch die Gleichungen x = 1 und M = {1, 2} gebunden. Fortan unterscheiden wir freie und gebundene Variablen. Wir stellen fest: l l l Eine Aussageform entspricht einer Eigenschaft gewisser Objekte. Eine Aussageform enthält mindestens eine freie Variable. Aus einer Aussageform erhält man eine Aussage, indem man z.B. alle frei in ihr vorkommenden Variablen mit einem Wert belegt. Damit entspricht die Unterscheidung zwischen Aussageform und Aussage der zwischen einer Relation R und einem Element x ∈ R oder auch der zwischen einer Abbildung f und einem Bild f(x). Als Beispiel formalisieren wir die Aussageform x ist eine Primzahl, indem wir prim(x) oder prim(.) schreiben. Bezeichnen wir die Menge der Primzahlen mit Prim, so gilt Prim = {x | x ist Primzahl} = {x | prim(x)} sowie Für alle x gilt: (x ∈ Prim ⇔ prim(x)). Das Beispiel zeigt, dass sich Aussageformen mit genau einer freien Variablen und einstellige Relationen, also Teilmengen, bijektiv einander zuordnen lassen. Ähnlich gehen wir bei Aussageformen mit mehreren freien Variablen vor, z.B. Teilt := {(x, y) | teilt(x, y)} := {(x, y) | x teilt y}; Für alle x, y gilt: ((x, y) ∈ Teilt ⇔ teilt(x, y)). Wir nutzen hier Groß-/Kleinschreibung, um zwischen der Relation und der Aussageform zu unterscheiden. Die Relation ist eine Menge, die Aussageform entspricht der charakteristischen Funktion dieser Menge (→ Beispiel S. 1-28). Zur Vereinfachung verzichten wir auf diese Unterscheidung: Wir identifizieren Relationen mit den ihnen zugeordneten Aussageformen, also den charakteristischen Funktionen der Relationen, und nennen sie Prädikate. 2.2.2 Definition 2.42 Prädikat Belegung Prädikate und Quantoren Ein Prädikat (Aussageform, predicate) P ist eine n-stellige Relation auf einer Individuenmenge M. Statt (x1,.., xn) ∈ P schreiben wir bevorzugt P(x1,.., xn) (→ Definition 1.32 S. 1-31). Ein einstelliges Prädikat heißt auch Eigenschaft. Aus Prädikaten entstehen Aussagen, indem wir alle Variablen mit Werten belegen, z.B. prim(2), teilt(3, 4), © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik Quantifizierung 2 - 45 oder indem wir sie quantifizieren. Die Umgangssprache bietet dazu viele Möglichkeiten. Auf die Frage Für wieviele x gilt prim(x)? sind mögliche Antworten: Quantor Für kein x, ein x, mindestens ein x, höchstens ein x, zwei x, tausend x, wenige x, gewisse x, ein paar x, manche x, einige x, viele x, fast alle x, alle x bis auf..., alle x, beliebige x, jedes x, usw. Diese sprachlichen Gebilde sind Quantoren. Der klassischen Logik genügen zwei Quantoren: l l der Allquantor (Generalisator) „für alle“, „für jedes“, als Symbol ∀ oder der Existenzquantor (Partikularisator) „es existiert ein“, „es gibt ein“, „für mindestens ein“, als Symbol ∃ oder Schreibweisen ∧; ∨. Jeder Quantor bindet eine Individuenvariable. Die Symbole für die Quantoren erlauben es, Ausdrücke kompakt zu notieren. Drei gleich bedeutende Schreibweisen sind z.B.: (1) Für alle x gilt: teilt(x, y). ∀x : teilt(x, y). ∧x teilt(x, y). (2) Es gibt ein x, sodass für alle y gilt: teilt(x, y). ∃x ∀y : teilt(x, y). ∨x ∧y teilt(x, y). Freie und gebundene Variable Der Unterschied zwischen freien und gebundenen Variablen sei hier verdeutlicht. In teilt(x, y) sind x und y frei, in {(x, y) | teilt(x, y)} durch den Mengenkonstruktor „die Menge aller (x, y) mit der Eigenschaft“ gebunden. In (1) ist x durch den Allquantor gebunden, y ist frei. In (2) ist x durch den Existenzquantor, y durch den Allquantor gebunden. Klassifikation von Aussagen Die Rolle der Quantoren wird klar, wenn wir Aussagen klassifizieren. 1+1=2 ist eine singuläre Aussage. x=x ist eine generelle, allgemeingültige Aussageform, da sie für alle x gilt; ausgedrückt durch ∀x : x = x. Dagegen ist y=x+1 eine existenzielle, erfüllbare Aussageform, da sie nur für gewisse x, y gilt; ausgedrückt durch die Aussageformen ∃x : y = x + 1, ∃y : y = x + 1 oder Aussagen wie 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 46 2 Logik ∃x ∃y : y = x + 1, ∀x ∃y : y = x + 1. Schließlich ist x=x+1 eine widersprüchliche, unerfüllbare Aussageform, da sie für kein x gilt; ausgedrückt durch ihr generelles Gegenteil ¬∃x : x = x + 1, ∀x : ¬x = x + 1, oder ∀x : x ≠ x + 1. Aussageformen, die Variablen enthalten, werden also nur zusammen mit Quantoren zu Aussagen. Anders formuliert: Mathematische Sätze ohne Quantoren können keine Variablen enthalten, sie bleiben auf singuläre Aussagen beschränkt. Quantorsymbole Die Symbole ∀ und ∃, ein vertikal gespiegeltes A für den Allquantor und ein horizontal gespiegeltes E für den Existenzquantor, ermöglichen die lineare Notation auf einer ∧ ∨ Zeile. Die Symbole und , die den aussagenlogischen Operationssymbolen ∧ und ∨ gleichen, verdeutlichen wie eng der Allquantor „für alle“ mit der Konjunktion „und...und...und...“, der Existenzquantor „für mindestens ein“ mit der Disjunktion ∧ ∨ „oder...oder...oder...“ zusammenhängt. Gewissermassen sind und Abkürzungen für Konjunktionen bzw. Disjunktionen mit ggf. unendlich vielen Faktoren, ähnlich wie das Symbol eine Abkürzung für Summen mit vielen Summanden darstellt: å n i=1 x i = x1 + ... + xn, ∧ Ai = A1 ∧ ... ∧ An, ∨ Ai = A1 ∨ ... ∨ An, i ∈ { 1, …, n } i ∈ { 1, …, n } å i∈I xi . ∧ P(x), ∀x ∈ M : P(x). ∨ P(x), ∃x ∈ M : P(x). x∈M x∈M ∧, ∨ sind zwar suggestiver als ∀, ∃, aber nur in zweidimensionaler Notation gut lesbar. Da diese mit unserem Textsystem relativ aufwändig zu schreiben ist, bevorzugen wir in diesem Skript rein pragmatisch die lineare Notation mit ∀, ∃. Abkürzungen Oft nutzen wir abkürzende Schreibweisen, die quantifizierten Variablen gleichzeitig eine Individuenmenge zuordnen. So ist ∀x ∈ M : P(x) ∃x ∈ M : P(x) ∀x ∈ M, y ∈ N ∃x ∈ M, y ∈ N ∀x, y ∈ M ∃x, y ∈ M zu lesen als zu lesen als zu lesen als zu lesen als zu lesen als zu lesen als ∀x : (x ∈ M P(x)), ∃x : (x ∈ M ∧ P(x)), ∀x ∈ M ∀y ∈ N, ∃x ∈ M ∃y ∈ N, ∀x ∈ M, y ∈ M, ∃x ∈ M, y ∈ M. Damit formalisieren wir einige bekannte Definitionen: Definition 1.2 Definition 1.10 M = N :⇔ ∀x : (x ∈ M ⇔ x ∈ N). ∩ M∈ Definition 1.26 M M := {x | ∧M x ∈ M} = {x | ∀M ∈ M : x ∈ M}. M∈ f heißt Abbildung von M in N :⇔ ∀x ∈ M : (∃y ∈ N : (x, y) ∈ f ∧ ∀y, z ∈ N : ((x, y), (x, z) ∈ f y = z)). Eine Abbildung ordnet jedem Urbild genau ein Bild zu. Der Existenzquantor drückt nur „es gibt mindestens ein“ aus. Wie bei der Abbildung ist oft „es gibt genau ein“ aus- © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik 2 - 47 zudrücken. „Genau ein“ ist äquivalent zu „mindestens ein“ und „höchstens ein“. Den Sachverhalt „es gibt höchstens ein x mit der Eigenschaft P(x)“ beschreibt ∀x, y : ((P(x) ∧ P(y)) x = y) Höchstens ein relativ komplex. Deshalb verwendet man gern die Abkürzung ∃1x : P(x) Genau ein für ∃x : P(x) ∧ ∀x, y : ((P(x) ∧ P(y)) x = y). Die Definition einer Abbildung lautet damit: f heißt Abbildung von M in N :⇔ ∀x ∈ M ∃1y ∈ N : (x, y) ∈ f. Definition 1.26 Nach dieser informalen Einführung konstruieren wir die Prädikatenlogik als formale Sprache. Wie in 2.1 bei der Aussagenlogik legen wir das Alphabet, die Syntax und die Semantik der Prädikatenlogik fest. 2.2.3 Alphabet der Prädikatenlogik Wir betrachten die Variante der Prädikatenlogik erster Stufe mit Gleichheit und Funktionsnamen. l l l l Definition 2.43 Alphabet der Prädikatenlogik Prädikatenlogik bedeutet, Formeln aus Quantoren und Prädikaten zu bilden. Erster Stufe bedeutet, nur Prädikate von Individuen zuzulassen. (Höhere Stufen betrachten auch Prädikate von Prädikaten.) Mit Gleichheit bedeutet, die durch das Gleichheitszeichen „=“ dargestellte Relation als logische Grundrelation auf beliebigen Mengen aufzufassen und dazuzunehmen. (Die Definition 1.5 S. 1-3 setzt den Begriff „für alle Eigenschaften“ und damit die Prädikatenlogik zweiter Stufe voraus!) Mit Funktionsnamen bedeutet, zusätzlich zu Prädikaten auch Funktionen einzuführen. Da Funktionen spezielle Relationen sind, gewinnt man keine Substanz, reduziert aber den Schreibaufwand und verbessert die Notation und Verständlichkeit der Formeln. „=“ erlaubt es, aus Funktionsnamen gebildete Terme zu vergleichen. Gleichungen reichern die Formelmenge an. Das Alphabet der Prädikatenlogik besteht aus l l l l l l l l l Namen für Individuenkonstanten, für die wir ggf. indizierte Kleinbuchstaben vom Alphabetanfang verwenden: a, b, c, a1, a2,...; Namen für Individuenvariablen, für die wir ggf. indizierte Kleinbuchstaben vom Alphabetende verwenden: x, y, z, x1, x2,...; Namen für n-stellige Funktionen mit n ∈ buchstaben ab f verwenden: f, g, h, f1, f2,...; lN , für die wir ggf. indizierte Klein- Namen für n-stellige Prädikate mit n ∈ lN0, für die wir ggf. indizierte Großbuchstaben ab P verwenden: P, Q, R, P1, P2,...; dem Gleichheitszeichen =; den Konstanten 0, 1 der Aussagenlogik; den Operationssymbolen ¬, ∧, ∨, , ⇔, <≠> der Aussagenlogik; den Quantorsymbolen ∀ (Allquantor, „für alle“) und ∃ (Existenzquantor, „es gibt ein“); den Klammern „(“ und „)“ und dem Doppelpunkt „:“. Gelegentlich sagen wir kurz Individuenvariable statt Individuenvariablenname oder noch kürzer Variable. An die Stelle der Individuenkonstantennamen könnten nullstellige Funktionsnamen treten. Das wäre formal einfacher, aber Formeln wären schwerer lesbar. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 48 2 Logik Die Namen a, b, c,... für Konstanten und x, y, z,... für Variablen führte Descartes ein. 2.2.4 Syntax der Prädikatenlogik Die Sprache der Prädikatenlogik ist eine Menge von Wörtern über dem Alphabet der Prädikatenlogik. Wie bei der Aussagenlogik konstruieren wir die Syntax dieser Sprache induktiv. Definition 2.44 Termkalkül, Prädikatenlogischer Term Die Menge der prädikatenlogischen Terme ist genau durch endlichmaliges Anwenden folgender Regeln gegeben: (1) atomare Terme Jeder Individuenkonstantenname a, b, c, a1, a2,... und jeder Individuenvariablenname x, y, z, x1, x2,... ist ein prädikatenlogischer Term. (2) Funktionsterme Ist f ein n-stelliger Funktionsname und sind t1,.., tn prädikatenlogische Terme, so ist auch f(t1,.., tn) ein prädikatenlogischer Term. Ein prädikatenlogischer Term t, der Teil eines prädikatenlogischen Terms s ist, heißt Teilterm von s. Beispiele Nach den Syntaxregeln können wir prädikatenlogische Terme bilden, d.h. aus dem Termkalkül ableiten, z.B. a, x, f(a), f(x), f(a, b), f(a, x), f(x, y), f(x, g(y, z)), f(g(a, x), h(b, y), z), f(f(f(x))), f(g(h(x), y), i(z)). konstanter atomarer Term variabler atomarer Term Funktionsterme Die Teilterme des letzten Terms sind f(g(h(x), y), i(z)), g(h(x), y), h(x), x, y, i(z), z. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik Definition 2.45 Formelkalkül, Prädikatenlogische Formel 2 - 49 Die Menge der prädikatenlogischen Formeln ist genau durch endlichmaliges Anwenden folgender Regeln gegeben: atomare Formeln (1) (2) Gleichungen Sind t und t´ prädikatenlogische Terme, so ist t = t´ eine prädikatenlogische Formel. Prädikatformeln Sind P ein n-stelliger Prädikatname und t1,.., tn prädikatenlogische Terme, so ist P(t1,.., tn) eine prädikatenlogische Formel. aussagenlogische Formeln (3) (4) atomare aussagenlogische Formeln 0 und 1 sind prädikatenlogische Formeln. zusammengesetzte aussagenlogische Formeln Sind ϕ und η prädikatenlogische Formeln, so sind auch η), (ϕ ⇔ η), (ϕ <≠> η) ¬ϕ, (ϕ ∧ η), (ϕ ∨ η), (ϕ prädikatenlogische Formeln. quantifizierte Formeln (5) Sind x ein Individuenvariablenname und ϕ eine prädikatenlogische Formel, so sind ∀x : ϕ und ∃x : ϕ prädikatenlogische Formeln. Eine prädikatenlogische Formel ϕ, die Teil einer prädikatenlogischen Formel η ist, heißt Teilformel von η. Beispiele Nach den Syntaxregeln können wir prädikatenlogische Formeln bilden, d.h. aus dem Formelkalkül ableiten, z.B. die atomaren Formeln x = a, f(x, y) = g(z), P(a), P(a, x), P(x, f(y, z)), 0 Gleichungen Prädikatformeln atomare aussagenlogische Formel und die zusammengesetzten Formeln ¬x = a, (f(a, x) = g(y) ∧ P(b, z)), (∀x : f(x) = a ∨ ¬P(y, g(y))), ∃z : P(x, z)). ∃x : (∀y : f(x) = y zusammengesetzte aussagenlogische Formeln quantifizierte Formeln Die echten Teilformeln der letzten Formel sind ∀y : f(x) = y ∀y : f(x) = y, f(x) = y, ∃z : P(x, z), P(x, z). 9.8.04 ∃z : P(x, z), © Karlheinz Hug, Hochschule Reutlingen 2 - 50 2 Logik Diese Formeln sind inhaltsleer. Sie füllen sich mit Inhalt durch Festlegungen ihrer Semantik, indem ihnen Individuenmengen und konkrete Funktionen und Prädikate zugeordnet werden (→ 2.2.5). Wie bei der Aussagenlogik ist sicherzustellen, dass Formeln eindeutig zerlegbar sind. Satz 2.46 Eindeutigkeit der Syntaxdefinition Jede prädikatenlogische Formel lässt sich auf genau eine Weise aus atomaren Bestandteilen konstruieren. Der Satz beruht auf der Klammerung von Teilformeln. Die Syntax ist redundant. Der Doppelpunkt „:“ ist für die Eindeutigkeit nicht notwendig, er soll als syntaktischer Zucker die Lesbarkeit verbessern; er liest sich als „gilt“. 2.2.4.1 Klammerung und Vorrangregeln Die Syntax definiert die Prioritätsstufen =, {∀, ∃, ¬}, {∧, ∨, , ⇔, <≠>}. von hoch nach niedrig. Wir ergänzen sie (konsistent mit 2.1.5.2) zu =, Vorrangregeln {∀, ∃, ¬}, {∧, ∨, }, {⇔, <≠>}. von hoch nach niedrig, um Klammern zu sparen. Außerdem lassen wir l l l Außenklammern, überflüssige Klammern bei assoziativen Operationen, und Doppelpunkte vor Quantoren weg. Aus Beispiele (∀x : (∃y : ((ϕ ∧ η) ∧ κ) ∀z : λ) ∨ µ) ergibt sich durch Entfernen der Außen- und Assoziativklammern ∀x : (∃y : (ϕ ∧ η ∧ κ) ∀z : λ) ∨ µ. Man erkennt, dass die „:“ redundant sind. Aus ∃x : ∀y : ϕ ergibt sich ∃x ∀y : ϕ. 2.2.4.2 Syntaktische Eigenschaften von Variablen und Formeln Wirkungsbereich In einer quantifizierten Formel ∀x : ϕ oder ∃x : ϕ heißt ϕ der Wirkungsbereich des Quantors ∀ bzw. ∃. Freie und gebundene Variable Der Zustand einer Variablen ist induktiv über den Aufbau der Formeln definiert: In atomaren Formeln sind alle darin vorkommenden Variablen frei, keine ist gebunden. Aussagenlogische Operationen belassen den Zustand der Variablen. Ist q ∈ {∀, ∃}, so ist x (durch q) gebunden (quantifiziert) und nicht frei in qx : ϕ. Quantorenfreie und geschlossene Formel Eine Formel heißt quantorenfrei (offen), wenn sie keine Quantoren; geschlossen, wenn sie keine freien Variablen enthält. Beispiele (a = b) ∧ 0 P(x, y) ∀x ∃y : P(x, y) ∀x : P(y) © Karlheinz Hug, Hochschule Reutlingen quantorenfrei, geschlossen x, y frei, quantorenfrei, nicht geschlossen x, y gebunden, nicht quantorenfrei, geschlossen x gebunden, y frei, nicht quantorenfrei, nicht geschlossen 9.8.04 2.2 Prädikatenlogik 2 - 51 Geschlossene Formeln entsprechen Aussagen, sie können falsch oder wahr sein. Nicht geschlossene Formeln entsprechen Prädikaten ihrer freien Variablen. Allgemein gilt: Satz 2.47 Binden freier Variablen Sind ϕ = ϕ(x1,.., xn) eine prädikatenlogische Formel und x1,.., xn mit n ∈ lN die freien Variablen in ϕ, so sind für i = 1,.., n ∀x : ϕ(x1,.., xi−1, x, xi+1,.., xn) und ∃x : ϕ(x1,.., xi−1, x, xi+1,.., xn) prädikatenlogische Formeln mit den freien Variablen x1,.., xi−1, xi+1,.., xn und der gebundenen Variablen x. Beispiel Die Eigenschaft natürlicher Zahlen, Primzahl zu sein, lässt sich so definieren: prim(x) := x ∈ lN ∧ x ≠ 1 ∧ ∀y ∈ lN : (teilt(y, x) (y = 1 ∨ y = x)). Die Formel ist nicht geschlossen, da x frei vorkommt. Abschlüsse einer Formel Sind ϕ eine prädikatenlogische Formel und x1,.., xn die freien Variablen in ϕ, so heißen ∀x1 ... ∀xn : ϕ universeller Abschluss und ∃x1 ... ∃xn : ϕ existenzieller Abschluss von ϕ. Bereinigte Formel Beispiele Eine Variable kann in einer Formel sowohl frei als auch gebunden - ja sogar mehrfach gebunden - vorkommen. Solche Formeln sind weniger verständlich als bereinigte Formeln. Dabei heißt eine prädikatenlogische Formel ϕ bereinigt, wenn jede Variable in ϕ entweder frei oder einfach gebunden vorkommt, d.h. alle gebundenen Variablen von den freien Variablen verschieden sind und keine Variable durch mehrere Quantoren gebunden ist. ∃x ∀y : (P(x, y) ∧ ∃z : Q(y, z)) bereinigt P(x, y) ∧ ∀x : (Q(x) ∧ ∃y ∀z : (R(y, z) ∧ ∃x : S(x, z))) nicht bereinigt Die letzte Formel wirft das Problem auf, welches der drei x in S(x, z) und welches der zwei y in R(y, z) gemeint ist. Die vernünftige Regel lautet: Bindungsregel Kommt eine Variable x in einer Formel in mehreren Zuständen vor, so ist an jeder Stelle der Zustand wirksam, der durch den nächsten Quantor bewirkt ist, falls x gebunden ist, sonst ist x frei. Damit ist in S(x, z) das an ∃x gebundene x, in R(y, z) das an ∃y gebundene y wirksam. Um eine Formel verständlicher zu machen - zu bereinigen -, kann man gebundene Variablen geeignet umbenennen. Dabei darf sich die Bedeutung einer Formel nicht ändern. Deshalb ist zuvor die Semantik von Formeln zu klären. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 52 2.2.5 2 Logik Semantik der Prädikatenlogik Die Semantik der Prädikatenlogik definieren wir analog zur Semantik der Aussagenlogik über Bindungen und Belegungen der Namen und Interpretationen der Formeln, die wir induktiv über den Aufbau der Formeln konstruieren. Individuenmenge Zuerst ist eine nicht leere Individuenmenge (Universum) M zu wählen. 2.2.5.1 Bindung Die Bindung zu M ordnet allen Namen, Termen und Formeln Mengen zu. l l l Alle Individuenkonstantennamen werden an M gebunden: a, b, c, a1, a2,... ∈ M. Alle Individuenvariablennamen werden an M gebunden: x, y, z, x1, x2,... ∈ M. n Alle n-stelligen Funktionsnamen werden an M (M ) gebunden, d.h. f, g, h, f1, f2,... stellen Funktionen Mn → M dar. l Alle n-stelligen Prädikatnamen werden an P(M n) gebunden, d.h. P, Q, R, P1, P2,... stellen Prädikate auf M dar. Als Folge davon gilt: l l 2.2.5.2 Definition 2.48 Belegung Alle Funktionsterme werden an M gebunden, z.B. f(t1,.., tn) ∈ M. Alle prädikatenlogischen Formeln ϕ werden an lB = {0, 1} gebunden, d.h. ϕ ∈ lB. Belegungen und Interpretationen Eine Belegung beleg = beleg M = (strukt, wert)M ordnet Namen Werte zu; sie setzt sich aus zwei Teilen zusammen: Die Strukturierung strukt = struktM ordnet l l l dem Individuenkonstantennamen a einen Wert strukt(a) ∈ M, dem n-stelligen Funktionsnamen f eine konkrete Funktion strukt(f) : Mn → M, dem n-stelligen Prädikatnamen P ein konkretes Prädikat strukt(P) ⊆ Mn zu, die Variablenbelegung wert = wertM l Passende Belegung dem freien Individuenvariablennamen x einen Wert wert(x) ∈ M. Interessant sind nur Belegungen, die zu einer gegebenen Menge F von prädikatenlogischen Formeln passen. Eine Belegung beleg heißt passend zu F, wenn gilt: für alle ϕ ∈ F und alle in ϕ vorkommenden Namen ist beleg definiert. Es ist belanglos, wie beleg für nicht in F vorkommende Namen definiert ist. Belegung und Struktur Die Wahl einer Individuenmenge M und einer passenden Strukturierung bestimmt eine mathematische Struktur M, a1,.., ak, f1,.., fm, R1,.., Rn (→ Definition 1.34 S. 1-32). Die Anwendung einer Strukturierung auf die Individuenkonstanten-, Funktions- und Prädikatnamen einer prädikatenlogischen Formel liefert eine Strukturformel. Die Syntax der Prädikatenlogik prägt die Syntax der Strukturformeln, doch gelten für Strukturen oft auch andere Syntaxregeln, z.B. Infix- oder Postfix© Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik 2 - 53 statt Funktionsschreibweise. Bei der Interpretation prädikatenlogischer Formeln wandelt man diese in entsprechende Formeln der Struktur. Beispiel 2.6 Belegung und Interpretation Als Individuenmenge wählen wir P(lN). Die Strukturierung strukt(f) = ∩ (Durchschnittsoperation, zweistellig), strukt(P) = ⊆ (Teilmengenrelation, zweistellig) bestimmt die Struktur P(lN), ∩, ⊆. Damit wandelt sich die prädikatenlogische Formel P(f(x, y), y) zur Strukturformel in Funktionsschreibweise ⊆(∩(x, y), y) und in der üblichen Infixschreibweise zu x ∩ y ⊆ y. Die Variablenbelegung wert(x) = {1, 2}, wert(y) = {2, 3, 4} liefert die Aussage {1, 2} ∩ {2, 3, 4} ⊆ {2, 3, 4}, die wir als wahr interpretieren. Aus der prädikatenlogischen Formel ∀x ∀y : P(f(x, y), y) ergibt sich die Strukturformel ∀x ∀y : x ∩ y ⊆ y, mit der Bindung der Variablen an die Individuenmenge ∀x ∈ P(lN) ∀y ∈ P(lN) : x ∩ y ⊆ y, vereinfacht ∀x, y ∈ P(lN) : x ∩ y ⊆ y, ∀x, y ⊆ lN : x ∩ y ⊆ y, mit an die bei Mengen üblichen Großbuchstaben angepassten Namen ∀M, N ⊆ lN : M ∩ N ⊆ N, also die auf Teilmengen von lN spezialisierte Formel von Satz 1.13 (1) S. 1-9. Belegen wir M, N mit beliebigen Mengen, so ist die Inklusion M ∩ N ⊆ N stets wahr. Die Formel ist also wahr und damit ein Satz. Wählen wir statt lN eine beliebige Menge G, so ergibt sich mit der Individuenmenge P(G) der allgemeine Satz. p Wie in der Aussagenlogik beschränken wir uns auf Interpretationen, die zu einer gegebenen Formelmenge F passen. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 54 Definition 2.49 Interpretation 2 Logik Sind F eine Menge prädikatenlogischer Formeln und beleg = belegM eine zu F passende Belegung, so ist die Interpretation I = IM, beleg von F zu M und beleg induktiv für die Formeln definiert, die mit den in allen ϕ ∈ F vorkommenden Namen konstruierbar sind: (1) (2) (3) atomare Terme I(a) := beleg(a) für Individuenkonstantennamen a, I(x) := beleg(x) für Individuenvariablennamen x. Funktionsterme I(f(t1,.., tn)) := beleg(f)(I(t1),.., I(tn)) für n-stellige Funktionsnamen f und prädikatenlogische Terme t1,.., tn. Gleichungen I(t = t´) := (4) 1 0 falls I(t) = I(t′) sonst für prädikatenlogische Terme t, t´. Prädikatformeln I(P(t1,.., tn)) := 1 0 falls ( I ( t 1 ), …, I ( tn ) ) ∈ beleg ( P ) sonst für n-stellige Prädikatnamen P und prädikatenlogische Terme t1,.., tn. (5) (6) aussagenlogische Formeln werden wie in der Aussagenlogik interpretiert (→ Definition 2.5). quantifizierte Formeln Es sei x ein Individuenvariablenname und ϕ eine prädikatenlogische Formel. Zu w ∈ M sei beleg[x→w] die Belegung, die mit beleg an allen Stellen bis auf höchstens x übereinstimmt, aber an der Stelle x den Wert w annimmt: beleg[x→w](y) := w beleg ( y ) falls y = x sonst für Individuenvariablennamen y. I[x→w] sei die Interpretation zu beleg[x→w]. Damit definieren wir: I(∀x : ϕ) := 1 0 I(∃x : ϕ) := 1 0 falls für alle w ∈ M gilt: I [ x → w ] ( ϕ ) = 1 sonst , falls es ein w ∈ M gibt, sodass I [ x → w ] ( ϕ ) = 1 sonst . Eine Interpretation ordnet also prädikatenlogischen Termen Werte der Individuenmenge und prädikatenlogischen Formeln Wahrheitswerte zu. Die Klammern sorgen wieder dafür, dass Formeln von innen nach außen interpretiert werden. Alle in einer Formel vorkommenden Konstanten und Variablen werden belegt, Teilterme und -formeln werden der Klammerung folgend berechnet. Aussagenlogik und Prädikatenlogik Aus syntaktischer Sicht erweitert die Prädikatenlogik die Aussagenlogik. Schränkt man die Prädikatenlogik ein, indem man keine l l l Individuenkonstanten, Individuenvariablen, Funktionen, © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik 2 - 55 l l n-stelligen Prädikate mit n > 0, und Quantoren zulässt, so erhält man die Aussagenlogik. Die nullstelligen Prädikate entsprechen dann den Aussagevariablen; die Belegung ∅ entspricht 0, die Belegung {∅} entspricht 1 (→ S. 1-31). Aus semantischer Sicht spezialisiert die Prädikatenlogik die Aussagenlogik, denn zu Interpretationen gehören nicht nur Abbildungen in {0, 1}, sondern auch Zuordnungen von Strukturen aus Individuenmengen, Funktionen und Relationen. Die Prädikatenlogik spezialisiert sich auf Strukturen und formalisiert für diese tiefer gehende Aussagen als es die Aussagenlogik vermag. 2.2.5.3 Erläuterungen Wozu befassen wir uns mit der Prädikatenlogik? Sie dient uns dazu, mathematische und informatische Strukturen zu analysieren und zu konstruieren. InformatikerInnen stoßen in Literatur, Sprachen und Systemen immer wieder auf prädikatenlogische Elemente, die sie lesen und verstehen können müssen. InformatikerInnen müssen Sachverhalte prägnant und exakt beschreiben können, z.B. dass eine Liste von Dateinamen sortiert ist. Die Prädikatenlogik ist dabei ein nützliches, ja unverzichtbares Mittel. Es geht also um praktisches Anwenden der Prädikatenlogik, nicht um das Formalisieren der Logik als Selbstzweck. Da auf einem Rechner laufende Programme stets mathematische, formale Konstrukte sind, muss die InformatikerIn zwei Fähigkeiten besitzen: l l informal beschriebene Sachverhalte formalisieren und daraus Programme konstruieren, in Programmen formalisierte Sachverhalte verbalisieren, um sie sich und anderen verständlich zu machen. Das Formalisieren mittels der Prädikatenlogik ist eine gute Denkschule. In den folgenden Kapiteln dieses Skripts nutzen wir prädikatenlogische Formeln, um andere Gebiete der Mathematik und theoretischen Informatik formalisiert darzustellen. Dabei sind wir, was den Formalismus betrifft, nicht allzu streng und kombinieren formale und informale Elemente. Andererseits erweitern wir unsere formal definierte Prädikatenlogik pragmatisch: l l l Wir benutzen direkt Namen und Notationen des jeweiligen Gebiets in Strukturformeln, sodass wir keine Belegungen angeben müssen. Statt mit einer Individuenmenge M haben wir es oft mit mehreren Individuenmengen M 1,.., Mn zu tun. Daher sind die betrachteten Strukturen nicht homogen, sondern heterogen. Funktionen und Relationen sind nicht auf n-fachen Produkten von M, sondern auf gemischten Produkten von M1,.., Mn definiert. Die Eigenschaften und Rechenregeln prädikatenlogischer Formeln lassen sich pragmatisch leicht auf diese Erweiterungen übertragen; der Aufwand, dies zu formalisieren, wäre eher technischer Art und unangemessen. 2.2.6 Prädikatenlogische Formeln in Programmiersprachen Prädikatenlogische Konstrukte finden sich in logikbasierten Programmiersprachen wie Prolog, aber auch Spezifikationssprachen wie Z. Beispielsweise bietet Prolog Möglichkeiten, die bis zur Prädikatenlogik zweiter Stufe reichen. Beispiel Im Folgenden betrachten wir drei Sprachen. Ihre Ausdrucksmächtigkeit zeigen wir beispielhaft anhand der geschlossenen Formel sorted :⇔ ∀i, k ∈ {1,.., count} ⊆ lN : (i ≤ k item(i) ≤ item(k)) 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 56 2 Logik mit der Konstanten count ∈ lN und der Funktion item : {1,.., count} → M für eine endliche Folge (Reihung, Liste). Die Formel drückt aus, dass die Folge sortiert ist. Literaturhinweise zu den Sprachen gibt [32]. Eiffel Eiffel ist eine objektorientierte Spezifikations- und Implementationssprache, die auf der Methode der Spezifikation durch Vertrag basiert. Die Aussagenlogik, um spezielle Konstrukte erweitert, erscheint in Klasseninvarianten, Vor- und Nachbedingungen, Schleifeninvarianten, allgemeinen Zusicherungen und algorithmischen Steuerkonstrukten. Prädikatenlogische Formeln ermöglicht das mächtige Konstrukt Agenten, das u.a. Quantoren modellieren kann. Ausdrücke mit einem Quantor sind gut lesbar; unser Beispiel, bei dem zwei Inline-Agenten die beiden Allquantoren implementieren, liest sich wegen seiner Länge weniger leicht: sorted : BOOLEAN is -- Are the elements in the list totally ordered? ensure Result = (1 |..| count).for_all (i : INTEGER | (1 |..| count).for_all (k : INTEGER | i <= k implies item (i) <= item (k))) BON Die Business Object Notation (BON) kombiniert eine objektorientierte Analyse- und Entwurfsmethode mit einer Modellierungssprache. BON konzentriert sich darauf, Klassenarchitekturen zu modellieren und das Verhalten der Klassen zu spezifizieren. Dabei ist die Vertragsmethode zentral, BON erweitert sie zu einer Analysemethode. In Kooperation mit Eiffel ermöglicht BON einen nahtlosen, reversiblen, werkzeuggestützten Entwicklungsprozess von der Analyse über die Implementierung bis zum Betrieb. Die textuelle Vertragssprache ähnelt der Eiffel-Vertragssprache. Darüber hinaus integriert BON Elemente der Mengenlehre und der Prädikatenlogik erster Stufe in einer Form, die der üblichen mathematischen Notation nahe kommt und ihrer Semantik entspricht. Unser Beispiel ist in grafischer BON-Vertragssprache elegant formuliert: sorted : BOOLEAN |!| Result = ∀i, k ∈ {1 .. count} l (i ≤ k → item (i) ≤ item (k)) BON kann mittels der Prädikatenlogik alle Arten von Beziehungen zwischen Klassen Assoziation, Komposition, Aggregation - einschließlich Kardinalitäten ausdrücken, ohne dazu weitere Modellierungskonstrukte zu benötigen. OCL Die Object Constraint Language (OCL) ist die Vertragssprache der Unified Modeling Language (UML) in der von der Object Management Group (OMG) 1997 standardisierten Version 1.1. OCL soll eine formale Sprache sein, die für Menschen ohne mathematischen Hintergrund verständlich und benutzbar ist. Deshalb ähnelt die Syntax von OCL mehr der einer Programmiersprache als der mathematischen Notation. Formulieren wir unser Beispiel mit OCL: SortableList::sorted () : Boolean post: result = Integer.allInstances->forAll (i, k | 1 <= i and i <= k and k <= count implies item (i) <= item (k)) Die eher schwerfällig wirkende Form lässt offen, was leichter lernbar ist: die Prädikatenlogik oder OCL? 2.2.7 Eigenschaften prädikatenlogischer Formeln Die in 2.1.7 eingeführten Eigenschaften von Aussagen lassen sich analog für prädikatenlogische Formeln definieren. Bild 2.3 und Korollar 2.7 gelten analog. Differenzierte Eigenschaften ermöglicht der Modellbegriff. Wir geben die Definitionen in verschiedenen Formulierungen an. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik Definition 2.50 Modell Allgemeingültigkeit Erfüllbarkeit 2 - 57 F sei eine Menge prädikatenlogischer Formeln. Ist I = IM, strukt, wert eine Interpretation von F zu M und belegM = (strukt, wert)M mit I(ϕ) = 1 für alle ϕ ∈ F, so heißt I ein M, strukt-Modell oder kurz Modell für F, und F gilt in I. F heißt gültig in der Struktur M, strukt, wenn für jede passende Variablenbelegung wert die Interpretation IM, strukt, wert ein M, strukt-Modell für F ist, d.h. wenn für jede passende Variablenbelegung wert und jedes ϕ ∈ F gilt: IM, strukt, wert(ϕ) = 1. F heißt erfüllbar in der Struktur M, strukt, wenn es ein M, strukt-Modell für F gibt, d.h. wenn für wenigstens eine passende Variablenbelegung wert und jedes ϕ ∈ F gilt: IM, strukt, wert(ϕ) = 1. F heißt allgemeingültig, wenn F in jeder Interpretation gilt, d.h. wenn F in jeder Struktur M, strukt gültig ist, d.h. wenn jede Interpretation von F ein Modell für F ist, d.h. wenn für jede Interpretation I = IM, strukt, wert und jedes ϕ ∈ F gilt: I(ϕ) = 1. F heißt erfüllbar, wenn es eine Interpretation gibt, in der F gilt, d.h. wenn es eine Struktur M, strukt gibt, in der F erfüllbar ist, d.h. wenn es ein Modell für F gibt, d.h. wenn für wenigstens eine Interpretation I = IM, strukt, wert und jedes ϕ ∈ I(ϕ) = 1. F gilt: F heißt widersprüchlich, wenn F in keiner Interpretation gilt. Falls F = {ϕ}, so hat ϕ die Eigenschaften von F. Beispiel Seien ϕ = ∃y : x = f(y, y) strukt(f) = + (Addition). und Mit M = lN ergibt der Interpretationsteil I lN ,+ die lN, +-Strukturformel ∃y ∈ lN : x = y + y. Da es (zu x = 1) kein y ∈ lN gibt mit 1 = y + y, ist ϕ nicht gültig in lN, +. Da es zu jedem geraden x ∈ lN (also x = 2z mit z ∈ lN) ein y ∈ lN gibt mit x = y + y, ist ϕ erfüllbar in lN, +. Es gibt also Variablenbelegungen wert, für die die Interpretationen I , +, wert lN , + -Modelle für ϕ sind. lN Mit M = ! ergibt der Interpretationsteil I!, + die !, +-Strukturformel ∃y ∈ ! : x = y + y. Da es zu jedem x ∈ ! ein y ∈ ! gibt mit x = y + y (nämlich y = x/2), ist ϕ gültig in !, + . Für alle Variablenbelegungen wert sind die Interpretationen I! , +, wert !, + Modelle für ϕ. Damit ist ϕ ist erfüllbar, aber nicht allgemeingültig. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 58 Satz 2.51 Abschlüsse Allgemeingültigkeit Erfüllbarkeit Definition 2.52 Logische Äquivalenz 2 Logik Sind ϕ eine prädikatenlogische Formel und x1,.., xn die freien Variablen in ϕ, so gilt: (1) ϕ ist allgemeingültig genau dann, wenn ihr universeller Abschluss ∀x1 ... ∀xn : ϕ allgemeingültig ist. (2) ϕ ist erfüllbar genau dann, wenn ihr existenzieller Abschluss ∃x1 ... ∃xn : ϕ erfüllbar ist. Zwei prädikatenlogische Formeln ϕ, η heißen logisch äquivalent, wenn die Äquivalenz ϕ ⇔ η allgemeingültig ist: ϕ≡η :⇔ ϕ ⇔ η ist allgemeingültig. Ersetzungsregeln Korollar 2.10 gilt ebenso analog wie die Ersetzungsregeln Satz 2.8, Satz 2.11 und Satz 2.12. Durch den Allquantor gebundene Variablen darf man durch Werte ersetzen und den Allquantor weglassen (→ Satz 2.59 (4)). Beispiel Aus ∀x ∈ ! ∃y ∈ ! : x + y = 0 ergibt sich z.B. ∃y ∈ ! : 1 + y = 0. Zusätzlich darf man freie Variablen durch geeignete Terme ersetzen, muss aber dabei auf gebundene Variablen achten. Wir führen eine Notation für die Ersetzung (Substitution) ein: ϕ[x → t] | bezeichnet die Formel, die aus der Formel ϕ entsteht, indem jedes freie Vorkommen der Variablen x durch den Term t ersetzt wird. Satz 2.53 Substitutionslemma Für jede prädikatenlogische Formel ϕ, jede in ϕ freie Variable x und jeden Term t, der keine in ϕ gebundene Variable enthält, sagt ϕ dasselbe über x aus wie ϕ[x → t] über t. | Durch Ersetzen einer freien Variablen durch einen Term wird eine Formel spezieller, da beim Belegen der Variablen an der Ersetzungsstelle nur noch spezielle Werte auftreten. Beispiel In ∃x ∈ ! : x + y = 0 darf man y durch z2 + 1 ersetzen: ∃x ∈ ! : x + (z2 + 1) = 0, L L aber nicht durch x2 + 1: ∃x ∈ ! : x + (x2 + 1) = 0, da x gebunden ist und dadurch eine falsche Formel entsteht. Ebenso wenig darf man das gebundene x durch z2 + 1 ersetzen: ∃x ∈ ! : z2 + 1 + y = 0. Man darf jedoch gebundene Variablen umbenennen, falls dadurch keine freie Variable entfällt. Satz 2.54 Gebundene Umbenennung Für jede prädikatenlogische Formel ϕ, in der die Variable y nicht vorkommt, gilt: (1) (2) ∀x : ϕ ∃x : ϕ © Karlheinz Hug, Hochschule Reutlingen ≡ ≡ ∀y : ϕ[x → y] ∃y : ϕ[x → y] | | 9.8.04 2.2 Prädikatenlogik 2 - 59 F Beweis mittels Substitutionslemma Satz 2.53. Durch systematisches gebundenes Umbenennen mit noch nicht vorkommenden Variablen kann man Formeln bereinigen. Satz 2.55 Bereinigte Form Beispiele Zu jeder prädikatenlogischen Formel gibt es eine logisch äquivalente bereinigte Formel. ∀x : P(x, y) ist in ∀z : P(z, y) L umbenennbar, aber nicht in ∀y : P(y, y), da das zuvor freie y jetzt gebunden ist. In ∀x : P(x, y) ∧ Q(x) kommt x in P(x, y) durch ∀ gebunden und in Q(x) frei vor. Durch Umbenennen wird die Formel bereinigt und verständlicher: Programmiersprachen 2.2.8 ∀z : P(z, y) ∧ Q(x). Zwischen freien und gebundenen Variablen in Formeln und globalen Variablen und formalen Parametern von Prozeduren und Funktionen in Programmiersprachen bestehen Ähnlichkeiten. Formale Parameter kann man ohne Auswirkung auf die Umgebung der Prozedur umbenennen, während sich das Umbenennen einer globalen Variablen weit reichend auswirken kann. Prädikatenlogische Rechenregeln Die in 2.1.8 betrachteten aussagenlogischen Rechenregeln bleiben in der Prädikatenlogik gültig, sodass wir uns auf Regeln mit quantifizierten Formeln beschränken können. Die folgenden Rechenregeln für prädikatenlogische Formeln sind allgemeingültig und enthalten logisch äquivalente Formeln. Satz 2.56 Negation Für beliebige Variablen x und prädikatenlogische Formeln ϕ gilt: (1) (2) (3) (4) ¬∀x : ϕ ¬∀x : ¬ϕ ¬∃x : ϕ ¬∃x : ¬ϕ ≡ ≡ ≡ ≡ ∃x : ¬ϕ. ∃x : ϕ. ∀x : ¬ϕ. ∀x : ϕ. Regeln von de Morgan Aufgrund dieser Negierungssätze lässt sich der Allquantor mittels Negation und Existenzquantor, der Existenzquantor mittels Negation und Allquantor ausdrücken. Beispiel Alle MKI-StudentInnen haben eine eigene Webseite. Negiert: Es gibt eine MKI-StudentIn, die keine eigene Webseite hat. Analog zur Aussagenlogik gilt auch in der Prädikatenlogik ein Dualitätsprinzip. Definition 2.57 Duale Formel Ist ϕ eine prädikatenlogische Formel, in der nur die Operationen ¬, ∧, ∨ und Quantoren vorkommen, dann entsteht die zu ϕ strikt duale Formel ϕ durch Negieren aller atomaren Teilformeln und gegenseitiges Austauschen von 0 und 1, von ∧ und ∨, sowie von ∀ und ∃; die zu ϕ duale Formel ϕ∗ durch gegenseitiges Austauschen von 0 und 1, von ∧ und ∨, sowie von ∀ und ∃. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 60 2 Logik ϕ∗ entsteht aus ϕ durch Negieren jeder atomaren Teilformel, und umgekehrt. Beispiel ∀x ∃y : (f(x) = g(y) ∧ P(x, y)) ∨ 0, ∃x ∀y : (¬f(x) = g(y) ∨ ¬P(x, y)) ∧ 1 sind strikt dual zueinander, ∀x ∃y : (f(x) = g(y) ∧ P(x, y)) ∨ 0, ∃x ∀y : (f(x) = g(y) ∨ P(x, y)) ∧ 1 sind dual zueinander. Wegen Satz 2.28 (1) schränkt die Voraussetzung von Definition 2.57 und des folgenden Dualitätstheorems nicht echt ein. Theorem 2.58 Dualitätstheorem der Prädikatenlogik Für prädikatenlogische Formeln ϕ, η, in denen nur die Operationen ¬, ∧, ∨ und Quantoren vorkommen, gilt: (1) (2) ϕ ≡ ¬ϕ. ϕ≡η genau dann, wenn ϕ ≡ η. (3) ϕ≡η ϕ∗ ≡ η∗. genau dann, wenn Beweis. (1) Sei ϕ wie vorausgesetzt. Durch wiederholtes Anwenden der Regeln von de Morgan Satz 2.14 (3) und Satz 2.56 wandert ¬ vor zusammengesetzten Teilformeln nach innen und ∧ und ∨ tauschen sich aus, vor Quantoren wandert ¬ nach innen und ∀ und ∃ tauschen sich aus. (Ein ausführlicher Beweis verfährt induktiv über den Aufbau von Formeln.) (2) und (3) analog zu Theorem 2.16 (2) und (3). F (1) bedeutet, dass striktes Dualisieren einer Formel dasselbe bewirkt wie Negieren. Das Dualitätstheorem reduziert den Aufwand zum Beweisen der folgenden Sätze. Satz 2.59 Quantoren tauschen, entfernen, einführen L Beispiel Für beliebige Variablen x, y, prädikatenlogische Formeln ϕ und Prädikate P gilt: (1) (2) (3) (4) (5) (6) (7) (8) ∀x ∀y : ϕ ≡ ∃x ∃y : ϕ ≡ ∃x ∀y : ϕ ∀x : P(x) P(x) ∀x ∀y : P(x, y) ∃x ∀y : P(x, y) ∃x : P(x, x) ∀y ∀x : ϕ. ∃y ∃x : ϕ. ∀y ∃x : ϕ. P(y). ∃y : P(y). ∀x : P(x, x). ∃x : P(x, x). ∃x ∃y : P(x, y). Aufgrund der Vertauschbarkeit gleichartiger Quantoren sind die auf S. 46 eingeführten Abkürzungen gerechtfertigt. Man beachte, dass die Umkehrung von (3), ∀x ∃y : ϕ ∃y ∀x : ϕ, nicht gilt! Jeder Mensch hat einen Vater (von gentechnischen Experimenten sehen wir ab). Es gibt aber keinen Vater aller Menschen (von religiösen Vorstellungen sehen wir ab). © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.2 Prädikatenlogik Satz 2.60 Quantoren vereinen, trennen L Beispiel Satz 2.61 Quantoren verschieben 2 - 61 Für beliebige Variablen x und prädikatenlogische Formeln ϕ, η gilt: (1) (2) (3) (4) (5) (6) ≡ ≡ ≡ ∀x : (ϕ ∧ η). (∃x : ϕ ∧ ∃x : η). ∃x : (ϕ ∨ η). (∀x : (ϕ ∨ η)). ∃x : (ϕ η). (∀x : (ϕ η)). Man beachte, dass die Umkehrungen von (2), (4) und (6) nicht gelten! Angenommen, Alice besitzt einen Apple und Bob einen PC. Daraus folgt nicht, dass jemand sowohl einen Apple als auch einen PC besitzt. Für beliebige Variablen x und prädikatenlogische Formeln ϕ, η gilt, falls x in η nicht frei vorkommt: (1) (2) (3) (4) (5) (6) (7) (8) 2.2.9 ∀x : ϕ ∧ ∀x : η (∃x : (ϕ ∧ η)) ∃x : ϕ ∨ ∃x : η (∀x : ϕ ∨ ∀x : η) ∀x : ϕ ∃x : η (∃x : ϕ ∀x : η) ∀x : ϕ ∧ η ∃x : ϕ ∧ η ∀x : ϕ ∨ η ∃x : ϕ ∨ η ∀x : ϕ η ∃x : ϕ η η ∀x : ϕ η ∃x : ϕ ≡ ≡ ≡ ≡ ≡ ≡ ≡ ≡ ∀x : (ϕ ∧ η). ∃x : (ϕ ∧ η). ∀x : (ϕ ∨ η). ∃x : (ϕ ∨ η). ∃x : (ϕ η). ∀x : (ϕ η). ∀x : (η ϕ). ∃x : (η ϕ). Prädikatenlogische Basen Auch den Begriff der Basis können wir analog zur Aussagenlogik definieren. Definition 2.62 Prädikatenlogische Basis Satz 2.63 Basen Eine Menge QOB logischer Quantoren und Operationen heißt (prädikatenlogische) Basis, wenn es zu jeder prädikatenlogischen Formel eine logisch äquivalente Formel gibt, die nur Quantoren und Operationen aus QOB enthält. Eine Basis heißt minimal, wenn keine ihrer echten Teilmengen eine Basis ist. Minimale prädikatenlogische Basen sind: (1) (2) (3) (4) {∀, ¬, ∧}. {∃, ¬, ∨}. {∀, ¬, ∨}. {∃, ¬, ∧}. Beweis folgt aus Satz 2.28 und Satz 2.56. 2.2.10 F Normalformen prädikatenlogischer Formeln Analog zur Aussagenlogik suchen wir Normalformen für prädikatenlogische Formeln. Satz 2.64 Normalformen quantorfreier Formeln 9.8.04 Zu jeder quantorfreien prädikatenlogischen Formel gibt es logisch äquivalente DNFen und KNFen, deren Faktoren atomare Teilformeln sind. © Karlheinz Hug, Hochschule Reutlingen 2 - 62 2 Logik Definition 2.65 Pränexform Sind q1,.., qn ∈ {∀, ∃} Quantoren, x1,.., xn mit n ∈ lN0 Variablen und ϕ, η prädikatenlogische Formeln mit ϕ = q1x1 ... qnxn : η, so heißt q1x1 ... qnxn Präfix von ϕ. Ist zudem η quantorenfrei, so heißt η Matrix von ϕ und ϕ befindet sich in Pränexform. Pränexformen können für Menschen schwer verständlich sein, eignen sich aber gut für automatische Beweisverfahren. Satz 2.66 Pränexe Normalform zu Formeln Zu jeder prädikatenlogischen Formel gibt es eine logisch äquivalente Formel in bereinigter Pränexform. Die Matrix der Pränexform kann eine DNF oder KNF sein. Beweis. Sei ϕ eine prädikatenlogische Formel. Nach Satz 2.55 gibt es eine logisch äquivalente bereinigte Formel η. Nach Satz 2.63 gibt es eine logisch äquivalente Formel κ, in der nur die Operationen ¬, ∧, ∨ vorkommen. In κ treibt man durch wiederholtes Anwenden der de morganschen Regeln Satz 2.56 sowie Satz 2.61 die Quantoren nach außen, bis die Pränexform λ vorliegt. Die Matrix von λ lässt sich nach Satz 2.64 in eine DNF oder KNF umformen. F P(x, y) ∨ ∀x : (Q(x) ∧ ∃y ∀z : (R(y, z) ∃x : S(x, z))) ≡ bereinigen Operatoren ersetzen P(x, y) ∨ ∀u : (Q(u) ∧ ∃v ∀z : (R(v, z) ∃w : S(w, z))) ≡ P(x, y) ∨ ∀u : (Q(u) ∧ ∃v ∀z : (¬R(v, z) ∨ ∃w : S(w, z))) ≡ Satz 2.61 P(x, y) ∨ ∀u : (Q(u) ∧ ∃v ∀z ∃w : (¬R(v, z) ∨ S(w, z))) ≡ 3mal Satz 2.61 P(x, y) ∨ ∀u ∃v ∀z ∃w : (Q(u) ∧ (¬R(v, z) ∨ S(w, z))) ≡ 4mal Satz 2.61 ∀u ∃v ∀z ∃w : (P(x, y) ∨ (Q(u) ∧ (¬R(v, z) ∨ S(w, z)))) ≡ ∀u ∃v ∀z ∃w : (P(x, y) ∨ (Q(u) ∧ ¬R(v, z)) ∨ (Q(u) ∧ S(w, z))). Beispiel η κ λ λ mit DNF Den Abschluss des Abschnitts über die Prädikatenlogik bildet eine Übersicht über syntaktische Eigenschaften und logisch äquivalente Umformungen prädikatenlogischer Formeln. Bild 2.5 Transformation der Formen prädikatenlogischer Formeln nicht bereinigt beliebige Operationen bereinigen Operationen tauschen nicht bereinigt Operationen ¬, ∧, ∨ bereinigt Pränexform beliebige Operationen bereinigt beliebige Operationen Operationen tauschen bereinigen bereinigt Operationen ¬, ∧, ∨ Operationen tauschen Quantoren verschieben bereinigt Pränexform Operationen ¬, ∧, ∨ Matrix denormalisieren Matrix normalisieren bereinigt Pränexform Matrix in [D|K]NF © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.3 Literaturhinweise 2.3 2 - 63 Literaturhinweise Grundzüge der Logik findet man in vielen „Mathematik-für-Informatiker“-Lehrbüchern. Dieses Kapitel plündert Ideen aus [3], [5], [6], [8], [9], [12], [13], [16], [18], [19], [21], [23], [25] und [27]. Anfänge der Logik reichen in die griechische Antike zurück. Erste Formen der Aussagenlogik finden sich in Schriften der Stoiker. Bedeutende Grundlagen schuf der griechische Philosoph Aristoteles (384 - 322 v.u.Z.) mit seinem logischen Werk. Gottfried Wilhelm Leibniz (1646 - 1716) begründete die mathematische Logik, ohne die weitere Entwicklung stark zu beeinflussen. Erst George Boole (1815 - 1864) lieferte mit seinem Hauptwerk An Investigation of the Laws of Thought (London 1854) die erste Algebra der Aussagenlogik. Die Methode des Interpretierens von Aussagen mittels Wahrheitstabellen führte Charles Sanders Peirce (1839 - 1914) ein. Peirce trug auch wesentlich dazu bei, die Rolle der Quantoren und Variablen in mathematischen Sätzen zu erkennen. Gottlob Frege (1848 - 1925) stellte in seiner Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens (Halle 1879) den ersten leistungsfähigen Kalkül der Prädikatenlogik vor, die erste umfassende formale Sprache der Logik. Die heutigen formalen Logiksprachen gehen wesentlich auf den italienischen Mathematiker und Logiker Guiseppe Peano (1858 1932) zurück. Die englischen Logiker Bertrand Russell (1872 - 1970) und Alfred North Whitehead (1861 - 1947) stellten die neue Logik in ihrem epochalen Werk Principia Mathematica (Cambridge 1910 - 1913) umfassend dar. Der polnische Logiker Jan Lukasiewicz (1878 - 1956) gab dem Aussagenkalkül eine besonders einfache und präzise Form. 2.4 Übungen Aufgabe 2.1 Jüdischer Witz, frei nach S. Landmann Talmudschüler: Ist Gott allmächtig? Rabbi: Gott ist allmächtig! Talmudschüler: Ist Gott wirklich allmächtig?? Rabbi: Gott ist allmächtig!! Talmudschüler: Wenn Gott ist allmächtig, kann er auch machen a Stein so groß, dass er ihn nicht aufheben kann? Aufgabe 2.2 Wer kann’s? (a) (b) (c) (d) Wer einen PC anschalten kann, kann programmieren. Keiner ist ein echter Programmierer, wenn er keine eigene Webseite hat. Keiner, der keinen PC anschalten kann, hat eine eigene Webseite. Nur echte Programmierer können 10000-Zeilen-Programme schreiben. Welche Eigenschaften muss jemand besitzen, der ein 10000-Zeilen-Programm geschrieben hat? Aufgabe 2.3 Lebensgeheimnis [21] Befragt „Was ist das Geheimnis ihres langen Lebens?“ antwortet der Hundertjährige: „Ich befolge strikt meine Diätregeln: Wenn ich zu einer Mahlzeit keinen Wein trinke, dann esse ich immer Spätzle. Immer wenn ich sowohl Spätzle als auch Wein habe, verzichte ich auf Pudding. Falls ich Pudding esse oder Wein meide, rühre ich keine Spätzle an.“ Können Sie seine verwirrende Altersweisheit vereinfachen? Aufgabe 2.4 Aussagen zerlegen Geben Sie zu folgenden Aussagen alle Teilausdrücke an! Welche sind Atome? 9.8.04 (1) (2) (3) (a ∧ b) (¬b ∨ c) c)) ¬(¬a ∨ ¬(¬b (b ⇔ (c <≠> a)) a © Karlheinz Hug, Hochschule Reutlingen 2 - 64 Aufgabe 2.5 Syntax von Mengentermen und Mengenformeln 2 Logik Stellen Sie Syntaxregeln auf für mengentheoretische (1) (2) Ausdrücke (Terme), die mit der Konstanten ∅, geeigneten Variablen und den Operationen , ∩, ∪, \, ∆; Prädikate (Formeln), die mit geeigneten Elementvariablen, mengentheoretischen Ausdrücken gemäß (1) und den Relationen ∈, ∉, =, ≠, ⊆, ⊂, /⊆, ⊄ gebildet werden! Aufgabe 2.6 Dreiecke Geben Sie Beziehungen zwischen den Eigenschaften gleichschenklig, gleichseitig, gleichwinklig, rechtwinklig, spitzwinklig und stumpfwinklig von Dreiecken in Form (1) (2) einer Reihe von Implikationen, eines Klassendiagramms an (→ Aufgabe 1.14)! Aufgabe 2.7 Interpretationen Aufgabe 2.8 Wahrheitstabellen Berechnen Sie die Wahrheitswerte der Aussagen (1) (2) (3) (a) (b) (a ∧ b) (¬b ∨ c) c)) ¬(¬a ∨ ¬(¬b (b ⇔ (c <≠> a)) a für die Belegung a = c = 0, b = 1; für folgende Zuordnung konkreter Aussagen: a := „2 ∗ 3 ∗ 5 ∗ 7 ∗ 11 + 1 ist eine Primzahl.“ b := „123456789 ist durch 3 teilbar.“ c := „Heute habe ich Geburtstag.“ Stellen Sie die Wahrheitstabellen zu folgenden Aussagen auf! (1) (2) (3) (a ∧ b) (¬b ∨ c) c)) ¬(¬a ∨ ¬(¬b (b ⇔ (c <≠> a)) a Aufgabe 2.9 Bedeutung umgangssprachlicher Operationen Was bedeuten Und, Oder, Wenn... Dann in folgenden Sätzen? Aufgabe 2.10 Notwendig und hinreichend Formulieren Sie folgende Aussagen als normale Bedingungssätze! (1) (2) (3) (4) (1) (2) (3) Mir tut der Zahn weh und der Zahnarzt bohrt rein. Der Zahnarzt bohrt in meinen Zahn und er tut mir weh. Jetzt oder nie schaffe ich die Logik-Prüfung. Wenn ich den Bachelor-Abschluss habe, dann verdiene ich viel Geld. Zum Bestehen der Prüfung ist es notwendig, während der Prüfung persönlich am Prüfungsort anwesend zu sein. Vorausgesetzt, Sie erscheinen zur Prüfung, so ist es eine hinreichende Bedingung zum Bestehen der Prüfung, dass Sie wenigstens 60 Punkte erreichen. Weniger als 60 Punkte reichen nicht hin, um die Prüfung zu bestehen, aber falls Sie bestehen, so haben Sie notwendigerweise mindestens 60 Punkte erzielt. Sind 30 Punkte notwendig oder hinreichend zum Bestehen der Prüfung? Aufgabe 2.11 Aussage finden [21] Finden Sie eine Aussage A = A(a, b, c) mit der Eigenschaft: Für je zwei Belegungen der Variablen a, b, c, die sich an genau einer Stelle unterscheiden, hat A verschiedene Werte! Beispiel: A(0, 0, 0) ≠ A(0, 0, 1), während A(0, 0, 0) = A(0, 1, 1) erlaubt ist. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.4 Übungen Aufgabe 2.12 Kriminalfall 2 - 65 Der Kommissar weiß über drei Tatverdächtige A, B, C: (a) (b) (c) Wenn sich B oder C als Täter herausstellen, dann ist A unschuldig. Ist A oder C unschuldig, dann muss B der Täter sein. Ist C schuldig, dann ist A Mittäter. Wer ist der Täter? Aufgabe 2.13 Lügengeschichte Die Personen A, B, C behaupten über sich: (a) (b) (c) A: „Wenn B lügt, dann sagt C die Wahrheit.“ B: „C lügt.“ C: „A lügt.“ Wer lügt, wer sagt die Wahrheit? Aufgabe 2.14 Begründen Sie Korollar 2.7 S. 20! Aufgabe 2.15 Geben Sie eine plausible Erklärung für Satz 2.8 S. 21! Aufgabe 2.16 Beweisen Sie Korollar 2.10 S. 21! Aufgabe 2.17 Geben Sie eine plausible Erklärung für Satz 2.11 S. 21! Aufgabe 2.18 Geben Sie eine plausible Erklärung für Satz 2.12 S. 22! Aufgabe 2.19 Beweisen Sie Satz 2.13 S. 22! Aufgabe 2.20 Beweisen Sie Satz 2.14 S. 22! Aufgabe 2.21 Aussagen negieren Negieren Sie folgende Aussagen durch Anwenden von Dualitäts-Theorem 2.16 S. 23! (1) (2) (a ∨ ¬(b ∧ a)) ∧ (c ∨ (d ∧ c)) (a ∧ (b ∨ c) ∧ (b ∨ ¬c)) ∨ (a ∧ b ∧ (a ∨ c)) Aufgabe 2.22 Beweisen Sie Satz 2.17 S. 24! Aufgabe 2.23 Aussagen vereinfachen Vereinfachen Sie folgende Aussagen mittels algebraischer Umformungen! (1) (2) (3) (4) (a ∨ ¬(b ∧ a)) ∧ (c ∨ (d ∧ c)) Wenn ich Zeit habe, dann rufe ich dich an, falls mein Handy funktioniert, und, sofern mein Handy funktioniert, rufe ich dich an, wenn die Sonne scheint. (a ∧ (b ∨ c) ∧ (b ∨ ¬c)) ∨ (a ∧ b ∧ (a ∨ c)) c)) ∨ (b ⇔ ¬c)) <≠> ((¬a ∧ b) (a ∨ c)) ((a ∧ (b Aufgabe 2.24 Beweisen Sie Satz 2.18 S. 25 für m = 2 und n = 3! Aufgabe 2.25 Erfüllbarkeit Ist die Aussage (a1 ∨ a2) ∧ (¬a2 ∨ ¬a3) ∧ (a3 ∨ a4) ∧ ... ∧ (a2n−1 ∨ a2n) ∧ (¬a2n ∨ ¬a2n+1) für n ∈ lN, n > 1 erfüllbar? Aufgabe 2.26 Beweisen Sie Satz 2.19 S. 25! Aufgabe 2.27 Implikation In welcher Beziehung stehen folgende Varianten der Implikation zueinander? 9.8.04 (1) (2) (3) (4) (5) (6) (7) (8) b ¬a a ¬b ¬b ¬a b a a ¬b b ¬a a b ¬a ¬b kontraponierte Aussage konverse Aussage konträre Aussage © Karlheinz Hug, Hochschule Reutlingen 2 - 66 2 Logik Aufgabe 2.28 Beweisen Sie Satz 2.20 S. 26! Aufgabe 2.29 Schlussfolgerung Folgt aus den Aussagen „Wenn ich MKI studiere, dann studiere ich auch Logik und Webdesign.“ „Logik studiere ich nicht.“ „Ich studiere MKI oder Logik oder Webdesign.“ die Aussage „Ich studiere Webdesign.“? Aufgabe 2.30 Beweisen Sie Satz 2.21 S. 27! Aufgabe 2.31 Beweisen Sie Korollar 2.22 S. 27! Aufgabe 2.32 Beweisen Sie Satz 2.23 S. 28! Aufgabe 2.33 Logik der sozialen Marktwirtschaft (a) (b) (c) (d) (e) (f) Wenn die Löhne hoch sind, dann gibt es viele Arbeitslose oder die Unternehmer zocken ab. Die Unternehmer zocken ab oder die Löhne sind nicht hoch oder es gibt viele Arbeitslose. Wenn es wenig Arbeitslose gibt, dann zocken die Unternehmer ab oder die Löhne sind nicht hoch. Wenn die Unternehmer nicht abzocken, dann gibt es viele Arbeitslose oder die Löhne sind nicht hoch. Wenn es viele Arbeitslose gibt, dann sind die Löhne hoch und die Unternehmer zocken ab. Die Löhne sind hoch und die Unternehmer zocken ab und es gibt viele Arbeitslose. Wenn Aussage (a) wahr ist, was gilt dann für die anderen Aussagen? Was ist, wenn alle Aussagen zutreffen? Aufgabe 2.34 Logik der Finanzwirtschaft [33] Wirtschaftsexperte A behauptet: (a) (b) (c) (d) Wenn die Kredite steigen oder die Zinsen sinken, dann fallen die Aktien oder es werden keine Steuern erhöht. Die Aktien gehen genau dann in den Keller, wenn sowohl die Kredite als auch die Steuern wachsen. Gehen die Zinsen runter, so passiert mit den Aktienwerten nicht dasselbe. Deshalb werden die Steuern hinaufgeschraubt, oder die Aktien fallen und die Zinsen schrumpfen. Wirtschaftsexperte B verfeinert die Theorie von A zu dieser: (e) (f) (g) (h) Wenn die Kredite steigen oder die Zinsen sinken, dann fallen entweder die Aktien oder es werden keine Steuern erhöht. Die Aktien gehen genau dann in den Keller, wenn sowohl die Kredite als auch die Steuern wachsen. Gehen die Zinsen runter, so passiert mit den Aktienwerten nicht dasselbe, oder aber die Kredite steigen. Deshalb werden entweder die Steuern hinaufgeschraubt, oder die Aktien fallen und die Zinsen schrumpfen. Was meinen die beiden Experten eigentlich kurz und bündig? (Lösung: [33].) © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.4 Übungen Aufgabe 2.35 Eine Logelei von Zweistein [DIE ZEIT Nr. 12, 15. März 2001] 2 - 67 Wenn der Knull nicht gepramelt hat, dann hat entweder das Fipi oder die Gluka geurzt. Wenn der Knull nicht gedixt hat, dann hat, falls das Dapi nicht gelüllt hat, die Gluka gepramelt. Wenn der Akru nicht geurzt hat, dann hat das Fipi entweder gepramelt oder gewatzelt. Wenn weder der Knull noch das Dapi gedixt haben, dann hat die Gluka geurzt. Wenn das Dapi nicht gewatzelt hat, dann hat, falls der Knull nicht geurzt hat, das Fipi gelüllt. Jeder hat etwas getan, keine zwei taten dasselbe, wer hat was getan? (Lösung: [33].) Aufgabe 2.36 Noch eine Logelei von Zweistein [DIE ZEIT Nr. 22, 22. Mai 2003] Der Ethnologe schreibt aus dem fernen Knusiland: „Bekanntlich leben hier drei Stämme, die Abianer, die immer die Wahrheit sagen, die Bebianer, die stets lügen, und die Cebianer, deren Aussagen abwechselnd wahr und falsch sind. Freilich weiß man am Anfang eines Gesprächs mit einem Cebianer nicht, in welcher Phase er gerade ist, ob er mit einer Lüge oder einer Wahrheit beginnt. Neulich stellte mir Herr Akenknus, ein Abianer, vier Freundinnen vor, eine Abianerin, eine Bebianerin und zwei Cebianerinnen. Eine hieß mit Vornamen Knusine, eine Knusetta, eine Knuselotte und eine Knusmarie. Akenknus erklärte: ,Drei der Damen sind verheiratet. Die Ehemänner heißen mit Nachnamen Knalk, Knilp und Knolz.’ Jede der Damen gab drei Erklärungen ab, die ich notierte. Knusine: ,Das Alter einer von uns ist eine Primzahl. Eine der beiden Cebianerinnen ist ein Jahr älter als die andere. Eine der Cebianerinnen ist mit Knolz verheiratet.’ Knusetta: ,Frau Knolzens Alter ist eine gerade Zahl. Ich bin eine Cebianerin. Frau Knalk ist die Älteste von uns.’ Knuselotte: ,Die Bebianerin unter uns ist um 20 Prozent älter als eine der Cebianerinnen. Der Altersunterschied zwischen mir und Knusetta beträgt zehn Jahre. Knusines Alter ist durch vier teilbar.’ Knusmarie: ,Das Alter einer der beiden Cebianerinnen ist um ein Drittel höher als das der Abianerin. Die Abianerin ist unverheiratet. Knusetta ist jünger als ich.’ Akenknus raunte mir zu: ,Keine der vier Frauen ist jünger als 15 oder älter als 30 Jahre. Keine zwei von ihnen sind gleich alt. Die Altersangaben sind wie üblich in vollen Jahren. Je jünger die Dame, desto mehr von ihren drei Erklärungen sind wahr.’ Nun wüsste ich gern, welche Dame von welchem Stamm, wie alt, und gegebenenfalls mit welchem Herrn verheiratet ist.“ Helfen Sie dem Ethnologen? Aufgabe 2.37 Beweisen Sie Satz 2.24 S. 28! Aufgabe 2.38 Beweisen Sie Satz 2.25 S. 33! Aufgabe 2.39 Nand und Nor Zeigen Sie, dass die Nand- und die Nor-Operation kommutativ, aber nicht assoziativ sind! Aufgabe 2.40 Aussagenlogische Basis Ist {¬, ⇔} eine aussagenlogische Basis? Aufgabe 2.41 Beweisen Sie Korollar 2.31 S. 36! Aufgabe 2.42 Normalformen Geben Sie zu folgenden Aussagen äquivalente DNFen, KNFen, KDNFen und KKNFen an! (1) (2) (3) 9.8.04 (a ∨ ¬(b ∧ a)) ∧ (c ∨ (d ∧ c)) (a ∧ (b ∨ c) ∧ (b ∨ ¬c)) ∨ (a ∧ b ∧ (a ∨ c)) c)) ∨ (b ⇔ ¬c)) <≠> ((¬a ∧ b) ((a ∧ (b (a ∨ c)) © Karlheinz Hug, Hochschule Reutlingen 2 - 68 Aufgabe 2.43 Minimale DNF 2 Logik Geben Sie zur KDNF (a ∧ b ∧ c) ∨ (a ∧ ¬b ∧ c) ∨ (¬a ∧ b ∧ c) ∨ (¬a ∧ b ∧ ¬c) eine logisch äquivalente minimale DNF an! Aufgabe 2.44 Normalformen Geben Sie zur Aussage (a ∧ b) ∨ (a <≠> c) die Wahrheitstabelle, die kanonischen Normalformen, eine minimale KNF und zwei minimale DNFen an! Aufgabe 2.45 Paritätsfunktion [6] Die Paritätsfunktion (parity function) Par ist eine n-stellige Aussagefunktion mit n ∈ lN, die einer Belegung genau dann 1 zuordnet, wenn sie eine ungerade Anzahl von 1en enthält. (1) (2) Stellen Sie Wahrheitstabelle zu Par für n = 3 auf und konstruieren Sie die kanonischen Normalformen! Geben Sie eine rekursive Definition von Par für beliebige n an! Die Paritätsfunktion dient der Fehlererkennung bei Codes zur Datenübertragung. Aufgabe 2.46 Abstimmungsfunktion [16] Die Abstimmungsfunktion (majority function) Maj ist eine n-stellige Aussagefunktion mit ungeradem n = 2k − 1, k ∈ lN, die einer Belegung genau dann 1 zuordnet, wenn sie mehr 1en als 0en enthält. (1) (2) Stellen Sie Wahrheitstabelle zu Maj für n = 3 auf und konstruieren Sie die kanonischen Normalformen! Geben Sie eine rekursive Definition der Anzahl der 1en in den Variablen a1,.., an an und definieren Sie damit Maj! Die Abstimmungsfunktion wird in fehlertoleranten Systemen mit redundanten, mehrfach vorhandenen Komponenten eingesetzt. Aufgabe 2.47 Beweisen Sie Satz 2.41 S. 43! Aufgabe 2.48 Prädikate formulieren [33] (1) (2) Der griechische Mathematiker und Ordensführer Pythagoras von Samos (um 580 v.u.Z. - um 500 v.u.Z.) ist durch einen Satz über rechtwinklige Dreiecke bekannt, der schon in der mesopotamischen Mathematik nachgewiesen ist. Ein pythagoreisches Zahlentripel besteht aus drei aufsteigend geordneten natürlichen Zahlen, sodass die Summe der Quadrate der ersten beiden Zahlen das Quadrat der dritten Zahl ergibt (→ Beispiel 3.1 S. 7). Zusätzlich verlangen wir hier, dass die Zahlen teilerfremd sind. (ggT(p, q) ist der größte gemeinsame Teiler der ganzen Zahlen p und q.) Der Sollwert einer physikalischen Größe ist s > 0, der Istwert x weicht höchstens ein Promille davon ab. Formulieren Sie diese Sachverhalte als Prädikate! (Lösung: [33].) Aufgabe 2.49 Formeln verbalisieren Aufgabe 2.50 Formeln zerlegen Lesen Sie die folgenden prädikatenlogischen Formeln in Umgangssprache laut vor! (1) (2) (3) (4) (Q(f(x), x) ∧ ∃y : (R(y) ∧ S(y, x)))) ∀x : (P(x) (Q(f(y), x) ∧ ∃y : (R(y) ∧ S(y, x))) ∀x : P(x) Q(f(y), x)) ∧ R(y) ∧ ∃z : S(y, z) ∀x : (P(x) Q(f(y), x)) ∧ R(y) ∧ ∃x : S(y, x) ∀x ∃y : (P(x) Geben Sie zu folgenden prädikatenlogischen Formeln alle Teilformeln und -terme sowie die syntaktischen Eigenschaften der Variablen (frei, gebunden) und Formeln (quantorenfrei, geschlossen, bereinigt) an! (1) (2) (Q(f(x), x) ∧ ∃y : (R(y) ∧ S(y, x)))) (Q(f(y), x) ∧ ∃y : (R(y) ∧ S(y, x))) ∀x : (P(x) ∀x : P(x) © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.4 Übungen 2 - 69 ∀x : (P(x) Q(f(y), x)) ∧ R(y) ∧ ∃z : S(y, z) Q(f(y), x)) ∧ R(y) ∧ ∃x : S(y, x) ∀x ∃y : (P(x) (3) (4) Aufgabe 2.51 Freie und gebundene Variablen, quantorenfreie und geschlossene Formeln Zu einem prädikatenlogischen Term t und einer prädikatenlogischen Formel ϕ seien (1) Vt die Menge aller in t vorkommenden Variablen; (2) (3) (4) (5) Frei(ϕ) die Menge aller freien Variablen in ϕ; Gebunden(ϕ) die Menge aller gebundenen Variablen in ϕ; offen(ϕ) die Eigenschaft von ϕ, quantorenfrei zu sein; geschlossen(ϕ) die Eigenschaft von ϕ, geschlossen zu sein. Definieren Sie die Mengen Vt, Frei(ϕ) und Gebunden(ϕ) induktiv über den Aufbau der Formeln! Welche Definitionen bieten sich für die Prädikate offen(ϕ) und geschlossen(ϕ) an? Aufgabe 2.52 Formel verbalisieren Welche Teile der prädikatenlogischen Formel ∀x : (ist_Vorlesung(x) (liest(Dozent(x), x) ∧ ∃y : (studiert(y) ∧ hört(y, x)))) sind Variablen, Funktionen und Prädikate? Was bedeuten sie wohl? Beschreiben Sie verbal den möglichen Sinn der Formel! Aufgabe 2.53 Sprachgebilde formalisieren Welche der folgenden sprachlichen Gebilde entsprechen Aussagen, prädikatenlogischen Termen und Formeln? (1) (2) (3) Orangen und Äpfel. Birnen sind süß. x ist größer als y. (4) a2 + b2. (5) (6) (7) (8) (9) (10) (11) (12) a2 + b2 = c2. Alle Menschen sind gleichberechtigt. Es gibt ein Leben vor dem Tod. Du hast keine Chance, aber nutze sie! Jede Gitarre hat sechs Saiten. Manche Gitarren sind verstimmt. Katzen fangen Mäuse. Jeder ist seines Glückes Schmied. Formalisieren Sie die prädikatenlogischen Formeln, indem Sie geeignete Funktionen und Prädikate definieren! Aufgabe 2.54 Astronomie Beschreiben Sie folgende Sätze mit jeweils passenden Ausdrucksmitteln der Mengenlehre wie Mengen und Relationen, der Logik wie Aussagen und prädikatenlogischen Formeln, sowie Klassendiagrammen! (1) (2) (3) (4) (5) (6) (7) (8) (9) 9.8.04 Die Erde ist der blaue Planet. Steht der Mond zwischen Erde und Sonne, dann gibt es eine Sonnenfinsternis. Die Erde ist ein Planet der Sonne. Die Sonne scheint auf die Erde. Die Erde dreht sich um die Sonne. Erde, Mars und Venus sind Planeten. Sonnen, Planeten und Monde sind Himmelskörper. Ein Sonnensystem besteht aus einer Sonne und ihren Planeten. Zu jedem Planeten gehört eine Sonne, um die er sich dreht. © Karlheinz Hug, Hochschule Reutlingen 2 - 70 2 Logik (10) (11) (12) (13) (14) (15) Zu jedem Mond gehört ein Planet, um den er sich dreht. Es gibt einen Planeten, der belebt ist. Alle Sonnen sind unbelebt. Alle Monde sind unbelebt. Alle Himmelskörper, die Sonnen oder Monde sind, sind unbelebt. Ist ein Himmelskörper belebt, so ist es ein Planet. Aufgabe 2.55 Formel quantifizieren (1) (2) Formulieren Sie alle zehn Möglichkeiten, das Prädikat P(x, y) zu quantifizieren! Die Individuenmenge M sei die Menge aller Menschen, die jemals gelebt haben. Interpretieren Sie das Prädikat P(x, y) als x ist Mutter von y und untersuchen Sie für alle Formeln aus (1), ob sie in dieser Struktur gültig, erfüllbar oder nicht erfüllbar sind! Handelt es sich um Aussagen? Aufgabe 2.56 Formel interpretieren [21] Nennen Sie zur prädikatenlogischen Formel ϕ = ∀x ∃y : P(x, y, f(z)) (1) eine Struktur M g, struktg, in der ϕ gültig, und (2) eine Struktur M e, strukte, in der ϕ erfüllbar, aber nicht gültig ist! Aufgabe 2.57 Beweisen Sie Satz 2.51 S. 58! Aufgabe 2.58 Beweisen Sie Satz 2.56 S. 59! Aufgabe 2.59 Negation Welche der folgenden Aussagen sind logisch äquivalent, welche sind Negationen welcher anderen? Wieviele wesentlich verschiedene Aussagen sind darunter? (a) (b) (c) (d) (e) (f) (g) (h) Alle deutschen Autos sind schlecht gebaut. Alle deutschen Autos sind nicht schlecht gebaut. Alle nicht deutschen Autos sind schlecht gebaut. Alle nicht deutschen Autos sind nicht schlecht gebaut. Einige deutsche Autos sind schlecht gebaut. Einige deutsche Autos sind nicht schlecht gebaut. Einige nicht deutsche Autos sind schlecht gebaut. Einige nicht deutsche Autos sind nicht schlecht gebaut. Aufgabe 2.60 Beweisen Sie Satz 2.59 S. 60! Aufgabe 2.61 Beweisen Sie Satz 2.60 S. 61! Aufgabe 2.62 Beweisen Sie Satz 2.61 S. 61! Aufgabe 2.63 Eigenschaften von Formeln Welche der folgenden Formeln sind allgemeingültig, gültig (in welcher Struktur?), erfüllbar (für welche Interpretation?), widersprüchlich? Aufgabe 2.64 Formeln transformieren (1) (2) (3) (4) ∀x ∀y : (P(x, y) ∧ ¬P(y, x)) ∀x : P(x) ∨ ∃x : ¬P(x) ∀x ∀y : (P(x) ∨ Q(y)) ∧ ∃x ∃y : (¬P(x) ∧ ¬Q(y)) ∀x : (¬P(x, x) ∧ ∃y : (P(x, y) ∧ ¬P(y, x))) Transformieren Sie die folgenden prädikatenlogischen Formeln in jede der in Bild 2.5 S. 62 zusammengestellten Formen! (1) (2) (3) (4) ∀x : (P(x) (Q(f(x), x) ∧ ∃y : (R(y) ∨ S(y, x)))) ∀x : P(x) (Q(f(y), x) ∨ ∃y : (R(y) ⇔ S(y, x))) (∀x : (P(x) Q(f(y), x)) ∧ R(y)) ∨ ∃z : S(y, z) ∀x ∃y : (P(x) ⇔ Q(f(y), x)) ∨ R(y) <≠> ∃x : S(y, x) © Karlheinz Hug, Hochschule Reutlingen 9.8.04 2.4 Übungen 2 - 71 Aufgabe 2.65 Epimenides Der Kreter Epimenides sagt: „Alle Kreter lügen.“ Aufgabe 2.66 Ecos foucaltsches Pendel Formalisieren Sie die Aussagen der folgenden Zitate aus Umberto Ecos Roman Das Foucaultsche Pendel (München/Wien 1989)! Folgern Sie daraus Aussagen über das Lügen von Epimenides und anderer Kreter! (1) (2) (3) Aufgabe 2.67 Unabhängige Formeln [21] „[Der Dumme] ist der Typ, der sagt, alle Hunde sind Haustiere, und alle Hunde bellen, aber auch Katzen sind Haustiere, und folglich bellen sie.“ „Alle großen Menschenaffen stammen von niederen Formen des Lebens ab, die Menschen stammen von niederen Formen des Lebens ab, also sind die Menschen große Affen.“ „Einige von denen, die nicht glauben, dass Gott die Welt in sieben Tagen geschaffen hat, sind keine Fundamentalisten, aber einige Fundamentalisten glauben, dass Gott die Welt in sieben Tagen geschaffen hat - also ist keiner, der nicht glaubt, dass Gott die Welt in sieben Tagen geschaffen hat, ein Fundamentalist. Ist das jetzt dumm oder nicht?“ Die Formeln (a) (b) (c) ∀x : P(x, x) ∀x ∀y : (P(x, y) P(y, x)) ∀x ∀y ∀z : ((P(x, y) ∧ P(y, z)) P(x, z)) drücken die Reflexivität, Symmetrie und Transitivität des Prädikats P aus. Zeigen Sie, dass keine dieser Formeln aus den anderen beiden folgt, indem Sie für jedes Formelpaar ein Modell angeben, das kein Modell für die jeweils dritte Formel ist! 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 2 - 72 © Karlheinz Hug, Hochschule Reutlingen 2 Logik 9.8.04 3 Methodik AufgabeBeispiel 3 Bild 3 3 (3) MathAussagen Leitlinie Programm 3 3 3 Tabelle 3 Dieses Kapitel gibt einen Überblick über die Methoden der Mathematik, die auch für die Informatik wichig sind. 3.1 Axiomatik und Deduktion Abstraktion Vergleichen wir die algebraischen Strukturen der Mengenlehre in Kapitel 1 und der Aussagenlogik in Kapitel 2, so erkennen wir ähnliche Regeln, z.B. Idempotenz, Assoziativität, Kommutativität, Distributivität, de Morgan. Eine wichtige Fähigkeit von MathematikerInnen und InformatikerInnen ist das Abstrahieren: das Erkennen wesentlicher Merkmale unter vielen unwesentlichen Details. Die MathematikerIn abstrahiert Gemeinsamkeiten aus mathematischen Strukturen und extrahiert daraus z.B. Axiome, die InformatikerIn abstrahiert Gemeinsamkeiten aus informatischen Strukturen und extrahiert daraus z.B. abstrakte Klassen. Bevor wir in Kapitel 4 die Methode der Axiomatisierung am Beispiel der booleschen Algebren anwenden, sind ein paar allgemeine Worte dazu angebracht und zur damit eng verknüpften Methode der Deduktion, die auf logischen Schlussfolgerungen basiert. Axiomatik und Deduktion finden sich schon im Werk Elemente des antiken griechischen Mathematikers Euklid1, das die Geometrie darstellt. In neuerer Zeit legten Peano2 und Hilbert3 wesentliche Grundlagen. Deduktion Wissenschaftliche Theorien sind Systeme von Vermutungen und Behauptungen. Begründete Vermutungen nennt man Hypothesen, als wahr geltende Behauptungen Sätze (Lehrsatz). Manche Wissenschaften finden ihre Sätze auf empirischem Weg, indem sie einen Ausschnitt einer Realität untersuchen. Manche Wissenschaften nutzen die deduktive Methode, um von anerkannten Sätzen - so genannten Voraussetzungen - ausgehend durch Anwenden logischer Schlussregeln zu neuen Sätzen - so genannten Folgerungen - zu kommen. In der Mathematik und der Informatik sind Abstraktion und Deduktion unentbehrliche Methoden. Axiomatik Was bedeutet axiomatische Methode? In einer einzelnen mathematischen Theorie sind Axiome ausgezeichnete, als wahr vorausgesetzte Behauptungen, die grundlegende Beziehungen zwischen Grundbegriffen einführen. Die Menge der Axiome nennt man Axiomensystem. Axiome werden nicht bewiesen, sondern „fallen als gültige Sätze vom Himmel“. Alle anderen Sätze der Theorie lassen sich deduktiv aus den Axiomen ableiten. Diese Sätze formuliert man prägnant und allgemein und ergänzt sie i.A. mit Überlegungen, die ihre Gültigkeit zeigen sollen und die Beweise heißen. Beweise werden mehr oder weniger formal mittels logischer Beweismethoden und -verfahren geführt. Die in einer Theorie formulierbaren Behauptungen sind - wie exemplarisch anhand der Aussagenlogik und der Prädikatenlogik dargestellt - Wörter über einem gewissen Alphabet, die gewisse syntaktische Regeln erfüllen. Die Sätze der Theorie sind die allgemeingültigen Behauptungen, d.h. sie unterliegen der Semantik, stets wahr zu sein. Beweise setzen ein System logischer Schlussregeln voraus. 1 Euklid von Alexandria (um 365 - 300 v.u.Z.), griechischer Mathematiker, Physiker, schuf Grundlegendes zu Geometrie, Zahlentheorie, Aufbau und Beweismethodik der Mathematik. 2 Guiseppe Peano (1858 - 1932), italienischer Mathematiker, Logiker, schuf ein Axiomensystem der natürlichen Zahlen. 3 David Hilbert (1862 - 1943), deutscher Mathematiker. © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Kapitel 3 - Seite 1 von 14 3-2 3 Methodik Bei Sätzen unterscheidet man pragmatisch folgende Arten: Satzarten l l l l Ein Lemma (Mehrzahl Lemmata) ist ein Hilfssatz, dessen Bedeutung vor allem darin liegt, einen wichtigen Satz vorzubereiten oder dessen Beweis zu erleichtern. Ein „normaler“ Satz hat eine gewisse Bedeutung, die sich daran misst, wie oft und wie gut man den Satz in Theorien und Praxis anwenden kann. Der Beweis eines Satzes erfordert oft einen gewissen Aufwand, der in Lemmata ausgelagert sein kann. Ein Theorem ist wörtlich auch ein Satz; in diesem Skript sind Theoreme besonders wichtige (und seltene) Sätze. Ein Korollar ist eine Folgerung aus einer Definition, einem Satz oder Beweis, deren Beweis offensichtlich oder leicht ist. Definitionen sind keine Sätze, sondern führen neue, prägnante Bezeichnungen und Schreibweisen ein für wichtige, oft vorkommende Sachverhalte, die durch komplexe Ausdrücke beschrieben sein können. Theorie und Modell Eine mathematische Theorie besteht somit aus Axiomen, Definitionen, und Sätzen, die sich aus den Axiomen ableiten lassen. Ähnlich, wie wir in Definition 2.50 S. 2-57 Modelle für Mengen prädikatenlogischer Formeln betrachten, können wir zu einem Axiomensystem Modelle angeben, in denen die Axiome gelten. In jedem Modell gelten dann auch alle aus den Axiomen ableitbaren Sätze. Jedes Modell eines Axiomensystems ist damit ein Modell der gesamten Theorie. Umgekehrt genügt es, die Sätze der Theorie zu beweisen, ohne Modelle zu betrachten. Die Sätze der Theorie gelten „automatisch“ in allen Modellen des Axiomensystems. Aufbau der Mathematik Die Mathematik lässt sich u.a. auf folgende Arten darstellen: (1) (2) Als Ansammlung einzelner mathematischer Theorien, von denen jede ihr eigenes Axiomensystem hat, aus dem sich ihre Sätze ableiten. Als System miteinander verwobener mathematischer Theorien, deren gemeinsames Fundament die Mengenlehre bildet. Die Sätze aller Theorien lassen sich letztlich aus den Axiomen der Mengenlehre ableiten. Die in einer Theorie untersuchte mathematische Struktur wird nicht durch Axiome eingeführt, sondern durch eine Definition im Rahmen der Mengenlehre. Art (1) entspricht der historischen Entwicklung der Theorien, Art (2) der modernen Mathematik, die versucht, isolierte Theorien in das mengentheoretische Gebäude zu integrieren. Als Beispiel betrachten wir in Kapitel 4 die Theorie der booleschen Algebren. Nach Art (1) führt man boolesche Algebren mit Axiomen ohne Rückgriff auf die Mengenlehre ein. Nach Art (2) definiert man boolesche Algebren einfach als Mengen mit einer speziellen algebraischen Struktur. Wir gehen in diesem Skript beim Einführen mathematischer Strukturen nach Art (2) vor und sprechen gelegentlich trotzdem von „den Axiomen“ der mathematischen Struktur, obwohl es sich nur um mengentheoretische Eigenschaften handelt. Eigenschaften von Axiomensystemen Von einem „guten“ Axiomensystem AS zu einer Theorie und dem verwendeten „guten“ Logikkalkül LK sind folgende Eigenschaften wünschenswert: l l l Korrektheit: LK heißt korrekt, wenn jede aus AS ableitbare Behauptung allgemeingültig, also ein Satz der Theorie ist. Vollständigkeit: LK heißt vollständig, wenn jeder Satz der Theorie aus AS ableitbar ist. Widerspruchsfreiheit: AS heißt widerspruchsfrei (konsistent), wenn kein Widerspruch aus AS ableitbar ist. Anders formuliert: Es gibt keine in der Theorie formulierbare Behauptung B, sodass sowohl B als auch ¬B aus AS ableitbar ist. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 3.2 Definitionsmethoden l l 3-3 Unabhängigkeit: AS heißt unabhängig, wenn kein Axiom aus den anderen ableitbar ist. Entfernt man eines der Axiome, so gibt es einen Satz, der aus AS , aber nicht aus dem reduzierten Axiomensystem ableitbar ist. Entscheidbarkeit: Es gibt einen Algorithmus (Verfahren), der zu jeder in der Theorie formulierbaren Behauptung B nach endlich vielen Schritten die Entscheidung liefert, ob B ableitbar ist oder nicht. Diese Eigenschaften sind nicht alle gleich wichtig. Korrektheit und Widerspruchsfreiheit sind kaum verzichtbar, wenn man nicht falsche Behauptungen oder Widersprüche schlussfolgern will. Allerdings ist jeder Beweis der Widerspruchsfreiheit eines Axiomensystems relativ, denn um ihn zu führen, braucht man eine widerspruchsfreie Theorie, deren Widerspruchsfreiheit zuvor mit einer anderen widerspruchsfreien Theorie zu beweisen wäre usw. Da absolute Widerspruchsfreiheit nicht beweisbar ist, steht die Mathematik auf tönernen theoretischen Füßen, die dennoch bisher praktisch gut getragen haben. Vollständigkeit und Entscheidbarkeit bleiben oft Wunschträume. Dazu lieferten vor allem Gödel1 und Church2 bedeutende Resultate. Gödels Vollständigkeitssatz besagt, dass der Sequenzenkalkül für die Prädikatenlogik erster Stufe vollständig ist. Sein Unvollständigkeitssatz besagt, dass jede axiomatisierte Theorie, die wenigstens die Arithmetik der natürlichen Zahlen umfasst, unvollständig ist. Gödel zeigte auch, dass die Prädikatenlogik zweiter Stufe unvollständig ist, und er wies die relative Widerspruchsfreiheit von Auswahlaxiom und Kontinuumshypothese zu den übrigen Axiomen der Mengenlehre nach. Church zeigte 1936, dass die Prädikatenlogik erster Stufe nicht entscheidbar ist, d.h. es gibt keinen Algorithmus, der zu jeder prädikatenlogischen Formel entscheidet, ob sie allgemeingültig ist oder nicht. Sehr viele Behauptungen sind nicht entscheidbar. Unentscheidbare Probleme eignen sich nicht zur Bearbeitung auf einem Rechner. Weniger wichtig ist dagegen die Unabhängigkeit: Oft verzichtet man bewusst darauf und ergänzt ein Axiomensystem aus ästhetischen und praktischen Gründen um abhängige Axiome. 3.2 Definitionsmethoden Eine Definition eines Begriffs beschreibt den Sinn, die Bedeutung des Begriffs genau innerhalb eines begrifflichen Zusammenhangs und grenzt ihn von anderen Begriffen ab. Zum Definieren eines Begriffs müssen wir andere Begriffe verwenden. Dazu gibt es zwei alternative Ansätze: Beispiel (1) Lexika definieren Begriffe oft gegenseitig durch zirkulare Beschreibungen. Wald: mit Bäumen bewachsenes Gebiet. Baum: Holzgewächs, oft einen Wald bildend. Holz: wesentlicher Stoff, aus dem Bäume sind. Bei solchen Definitionen gibt es keinen Anfang und kein Ende: Suchen wir eine Erklärung für einen Begriff A und folgen Begriffen B, C,.., die A erklären sollen, so finden wir zu A zurück. Dieses Problem der Zirkel in Definitionen löst der zweite Ansatz: (2) Wissenschaftliches Definieren setzt eine Menge von Grundbegriffen als gegeben voraus. Alle anderen Begriffe werden mittels der Grundbegriffe oder schon definierter Begriffe definiert. 1 Kurt Gödel (1906 - 1978), österreichisch-amerikanischer Mathematiker, Logiker, lieferte bedeutende Beiträge zu logischen Grundlagenproblemen. 2 Alonzo Church (1903 - 1995), amerikanischer Mathematiker, Logiker, schuf den LambdaKalkül; nach der churchschen These sind verschiedene Berechenbarkeitsbegriffe gleichwertig. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 3-4 3.2.1 3 Methodik Mathematische Definition Die Mathematik verbindet den Ansatz (2) mit ihrer axiomatischen Methode. Sie definiert Grundbegriffe implizit in Axiomen, indem sie grundlegende Beziehungen zwischen den Grundbegriffen festlegt. Alle anderen Begriffe werden explizit definiert. Bei einer expliziten Definition heißt der zu definierende Begriff Definiendum, die ihn erklärende Beschreibung eines Dings oder Sachverhalts Definiens. Wir schreiben Definiendum := Definiens falls das Definiens ein Term ist, Definiendum :⇔ Definiens falls es eine Aussage (aussagenlogischer Ausdruck, prädikatenlogische Formel) ist. Der Doppelpunkt macht die Gleichung bzw. Äquivalenz asymmetrisch. Die LeserIn erkennt sofort, dass links etwas Neues, rechts etwas Bekanntes steht. Eine explizite Definition ist damit - formal gesehen - ein neuer Name, eine abkürzende Schreibweise für einen altbekannten Sachverhalt. Man kann das Definiendum überall, wo es vorkommt, durch das Definiens ersetzen. Ersetzt man in einem Term oder einer Aussage schrittweise alle Begriffe durch ihr Definiens, so erhält man schließlich einen Term bzw. eine Aussage, in dem bzw. der nur Grundbegriffe vorkommen. Beispielsweise sind die Grundbegriffe in diesem Skript die Elementrelation x ∈ M, die Mengengleichheit M = N, und das Mengenkonstrukt M = {x | E(x)}. Alle Terme und Aussagen lassen sich mit nur diesen Grundbegriffen formulieren. Erforderlich ist das Ersetzen eines definierten Begriffs durch seine definierende Beschreibung dann, wenn ein Vorkommen des Begriffs bewiesen werden soll. Beispielsweise beweist man eine Teilmengenbeziehung M ⊆ N, indem man „auf die Definition zurückgeht“, ein beliebiges Element x aus M herausgreift und zeigt, dass es auch zu N gehört. Inhaltlich betrachtet ist Definieren ein kreativer Akt. Die Kunst besteht darin, unter unzähligen Dingen und Sachverhalten besonders interessante, wesentliche zu erkennen und diese in Definitionen zu benennen. Wichtigem gibt man einen Namen, Unwichtiges bleibt anonym. Passende Namen erleichtern uns, Begriffe zu begreifen. Keine Zirkel in Definitionen Die Definitionsmethode (2) kann uns nicht helfen, zu definierende Begriffe auszuwählen. Sie lehrt uns nur, wie korrekte Definitionen zu konstruieren sind. Insbesondere darf im Definiens nicht das Definiendum vorkommen, und zwar weder direkt noch indirekt durch einen Begriff, der mittels des Definiendum definiert ist. Diese Regel, die zirkulare Beschreibungen vermeidet, scheint bei rekursiver oder induktiver Definition verletzt (ist es aber nicht). 3.2.2 Rekursive und induktive Definition Die Methode der rekursiven Definition haben wir am Beispiel des n-stelligen Produkts von Mengen gezeigt (→ 1.9.1 S. 1-28), die Methode der induktiven Definition exemplarisch bei der Syntax und der Semantik der Sprachen der Aussagenlogik und der Prädikatenlogik kennen gelernt (→ Definitionen 2.2 S. 6, 2.5 S. 9, 2.44 S. 48, 2.45 S. 49, 2.49 S. 54). Beide Methoden sind miteinander verwandt, vielleicht sogar identisch. Wir haben die zugrunde liegenden Prinzipien so charakterisiert: Rekursion Das Prinzip der Rekursion ist, ein Problem der Größe n ∈ lN zu lösen, indem man l l es auf ein Problem der Größe n − 1 reduziert, und zusätzlich das Problem der Größe 1 löst. Damit ist das Problem für alle n ∈ lN gelöst. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 3.3 Beweismethoden Induktion 3-5 Das Prinzip der Induktion ist, ein Problem zu lösen, indem man l l atomare Teilprobleme löst; die Lösungen von aus Teilproblemen zusammengesetzten Problemen konstruiert, indem man sie aus Lösungen schon gelöster Teilprobleme zusammensetzt. Damit ist das Problem für alle Teilprobleme, also allgemein, gelöst. So gesehen ist Rekursion ein Spezialfall von Induktion, bei dem sich die Teilprobleme mit natürlichen Zahlen nummerieren lassen und es nur ein atomares Problem mit der Nummer 1 gibt, sodass eine Kette von Teilproblemen und Lösungen entsteht. Bei der Induktion liegen dagegen oft mehrere atomare Teilprobleme vor, deren Lösungen man auf viele verschiedene Arten kombinieren kann. Andererseits verwenden viele Autoren die Begriffe Rekursion und Induktion synonym. Formelsprache Induktive Definition eignet sich allgemein zur Definition der Syntax so genannter kontextfreier Sprachen. Zu solchen Sprachen gehören insbesondere aus Mathematik und Programmiersprachen bekannte Ausdrücke, Formeln und Konstrukte: arithmetische und relationale Ausdrücke, Mengenausdrücke und -formeln, boolesche Ausdrücke, prädikatenlogische Formeln, Anweisungen, Datentypen und Klassen. Bei einer induktiven Definition der Syntax einer solchen Formelsprache l l definiert man zunächst die einfachsten - atomaren - Formeln, und erklärt dann, wie sich komplexere - zusammengesetzte - Formeln aus einfacheren Formeln aufbauen. Damit ist die Syntax für alle Formeln definiert. Die induktive Definition besteht damit aus einer Reihe von Syntaxregeln, die zusammen einen Kalkül, eine Anleitung zum Konstruieren von Formeln bilden. Rekursive Funktion Induktive oder rekursive Definition eignet sich auch zur Definition bestimmter Funktionen. Das meist zitierte Beispiel ist wohl die Fakultätsfunktion: ! : lN0 → lN, n → n! := | 1 n(n falls n ∈ { 0, 1 } – 1 )! sonst . Verglichen damit benutzt die vielleicht anschaulichere Definition n! := 1 ∗ 2 ∗ 3 ∗ ... ∗ n für n ∈ lN0 die ungenauen Punkte „...“. 3.3 Beweismethoden InformatikerInnen entwickeln informatische Systeme. Anwender nutzen diese Systeme als Werkzeuge oder Medien zum Lösen ihrer Probleme. Um festzustellen, ob ein System tut, was es soll, d.h. ob es gestellte Anforderungen erfüllt, gibt es zwei sich ergänzende Ansätze: (1) (2) Die Anwender fragen, ob sich das System im praktischen Betrieb wie gefordert verhält. Zeigen, dass die Implementation der Spezifikation des Systems entspricht. Ansatz (2) reicht von „Veranschaulichen“ über logisch hieb- und stichfestes „Nachweisen“ zu formalem „Beweisen“. Implementationen und formale Spezifikationen sind mathematische Konstrukte, von denen zu zeigen ist, dass sie inhaltlich und formal zueinander passen. MathematikerInnen beweisen die Allgemeingültigkeit von Aussagen. InformatikerInnen beweisen die Korrektheit von Implementationen bezüglich ihrer Spezifikationen. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 3-6 3 Methodik Die spezifizierte und implementierte Einheit - hier System genannt - muss dabei nicht etwas Großes sein; es kann sich um ein Programmpaket, ein Modul, eine Prozedur, einen Algorithmus, eine Menge von Testfällen, einen Anwendungsfall oder Ähnliches handeln. Daher bedeutet Mathematik für InformatikerInnen weniger, angesammelte Formeln und Kochrezepte mechanisch anzuwenden, als vielmehr mathematische Methoden, insbesondere Beweismethoden, zu beherrschen und kreativ zu nutzen. In der Mathematik und der Informatik gleich wichtig ist ein allgemeines, oft Teile-undHerrsche (divide-and-conquer) genanntes Prinzip zum Lösen von Problemen. Leitlinie 3.1 Prinzip der Dekomposition und Komposition Reduziere die Komplexität eines Problems und seiner Lösung durch l l Dekomposition des Problems in Teilprobleme und Komposition der Teillösungen zu einer Lösung des Problems. Zerlege also ein komplexes Problem in einfachere, überschaubare, lösbare Teilprobleme. Konstruiere eine Lösung des Problems, indem du die Lösungen der Teilprobleme zusammenfügst. In den folgenden Beweismethoden erscheint dieses Prinzip zu verschiedenen Problemlösungskonzepten konkretisiert, z.B.: l l l 3.3.1 Fallunterscheidung, Zerlegung einer Implikation in eine Kette von Implikationen, Zerlegung einer Äquivalenz in zwei Implikationen. Direkter Beweis Allgemein hat der zu beweisende Satz die Form einer allgemeingültigen Aussage A. Oft nutzt man zu seinem Beweis einen anderen Satz B, der aus dem Axiomensystem ableitbar ist, und die Schlussregel modus ponens, Satz 2.20 (4) S. 2-26: (B ∧ (B A)) A. Ist B schon bewiesen und folgt A aus B, so ist A bewiesen. Keine Zirkel in Beweisen Analog wie in Definitionen Zirkel zu vermeiden sind, dürfen auch in Beweisen keine Zirkel vorkommen. Das heißt, der Beweis eines Satzes darf nur die Axiome, Definitionen vorkommender Begriffe und schon bewiesene Sätze nutzen. Insbesondere darf im Beweis eines Satzes nicht der Satz selbst verwendet werden, und zwar weder direkt noch indirekt durch einen anderen Satz, der mittels des zu beweisenden Satzes „bewiesen“ scheint. (Diese Regel scheint bei induktiven Beweisen (→ 3.3.3) verletzt, ist es aber nicht.) Oft hat der zu beweisende Satz die Form einer allgemeingültigen Implikation A B, unter der Voraussetzung A gilt die Folgerung B. Betrachten wir die vier möglichen Belegungen von A und B: Ist A falsch, so ist A B unabhängig von B wahr. Ist A wahr und B falsch, so ist A B falsch - dieser Fall scheidet aus, da sonst A B nicht allgemeingültig wäre. Im Fall A, B wahr ist auch A B wahr. Um die Argumentation zu verdeutlichen, nutzen wir die logische Äquivalenz A B ≡ ¬A ∨ (A ∧ B). Wir transformieren den Satz also in © Karlheinz Hug, Hochschule Reutlingen 9.8.04 3.3 Beweismethoden 3-7 ¬A ∨ (A ∧ B) und betrachten zwei Fälle: (1) (2) Ist A falsch, so ist der Satz unabhängig von B wahr. In diesem Fall bleibt nichts zu zeigen. Ist A wahr, so muss auch B wahr sein, damit der Satz wahr ist. Setzen wir also A als wahr voraus und folgern daraus, dass auch B wahr ist, so ist der Satz A B bewiesen. Können wir B nicht in einem Schritt aus A folgern, so zeigen wir für geeignete Aussagen C1,.., Cn, dass die Implikationen A C1, C1 C2,.., Cn−1 Cn, Cn B allgemeingültig sind, also kurz die Kette der Implikationen A C1 C2 ... Cn−1 Cn B. Aus der Transitivität der Implikation, Satz 2.19 (5) S. 2-25 folgt dann A B. Beispiel 3.1 Pythagoreische 1 Zahlentripel Satz: Bilden drei Zahlen ein pythagoreisches Zahlentripel, so bilden auch ihre Vielfachen pythagoreische Zahlentripel. Formalisierter Satz: ∀a, b, c ∈ lN : (a2 + b2 = c2 ∀k ∈ lN : (ka)2 + (kb)2 = (kc)2). Beweis: Voraussetzung: Seien a, b, c ∈ lN beliebig mit a2 + b2 = c2. Behauptung (zu zeigen): ∀k ∈ lN : (ka)2 + (kb)2 = (kc)2. Beweis der Behauptung: Sei k ∈ lN beliebig. Dann gilt: (ka)2 + (kb)2 = k2 ∗ a2 + k2 ∗ b2 = k2 ∗ (a2 + b2) = k2 ∗ c2 = (kc)2, p also (ka)2 + (kb)2 = (kc)2, was zu beweisen war. 3.3.1.1 Voraussetzung Gegenbeispiel Es ist zu zeigen, dass die Umkehrung eines Satzes der Form AB nicht allgemeingültig ist, also dass ¬(B A), oder äquivalent dazu ¬A ∧ B erfüllbar ist. Dazu genügt es, einen speziellen Sachverhalt anzugeben, in dem A nicht gilt, aber B. Dieser Sachverhalt heißt ein Gegenbeispiel (counterexample) zu B A. Beispiel 3.2 Prim und teilerfremd Satz: Je zwei verschiedene Primzahlen sind teilerfremd (relativ prim). Umgekehrt müssen zwei teilerfremde Zahlen nicht prim sein. Formalisierter Satz: ∀m, n ∈ lN : (m ≠ n ∧ prim(m) ∧ prim(n)) ggT(m, n) = 1). 1 Pythagoras von Samos (um 580 - um 500 v.u.Z.), griechischer Philosoph, Mathematiker, gründete einen religiös-wissenschaftlichen Geheimbund. Der nach ihm benannte Satz war schon viel früher in der babylonischen Mathematik bekannt (→ Aufgabe 2.48 S. 68). 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 3-8 3 Methodik Anders formuliert: ∀m, n ∈ lN : ((prim(m) ∧ prim(n)) (m = n ∨ ggT(m, n) = 1)). Gegenbeispiel: 15 und 16 sind teilerfremd, da 15 = 3 ∗ 5 und 16 = 2 ∗ 2 ∗ 2 ∗ 2, also ggT(15, 16) = 1, p aber 15 und 16 sind keine Primzahlen. 3.3.1.2 Äquivalenzbeweis Der zu beweisende Satz hat die Form einer allgemeingültigen (logischen) Äquivalenz A ⇔ B. Um ihn zu beweisen, spalten wir ihn mit Satz 2.19 (6) S. 2-25 in zwei Implikationen auf: (A B) ∧ (B A), die wir einzeln direkt beweisen. 3.3.1.3 Ringschlussbeweis Der zu beweisende Satz behauptet die logische Äquivalenz einer Folge von Aussagen A1,.., An, d.h. er hat die Form (A1 ⇔ A2) ∧ (A2 ⇔ A3) ∧ ... ∧ (An−1 ⇔ An). Um ihn zu beweisen genügt es, die Implikationskette A1 A3 ... An−1 An A1 zu zeigen. Statt n − 1 Äquivalenzen, also 2 ∗ (n − 1) Implikationen, sind nur n Implikationen zu beweisen, der Rest folgt aus der Transitivität der Implikation. 3.3.2 Indirekter Beweis Indirekte Beweise teilen sich in Kontrapositions- und Widerspruchsbeweise. 3.3.2.1 Kontrapositionsbeweis Der zu beweisende Satz hat wieder die Form einer allgemeingültigen Implikation A B. Um ihn zu beweisen, nutzen wir die Kontrapositionsregel, Satz 2.19 (8) S. 2-25: A B ≡ ¬B ¬A. Wir transformieren den Satz also in ¬B ¬A und beweisen ihn so direkt: Voraussetzung: ¬B; Behauptung (zu zeigen): ¬A. Bringt das überhaupt etwas? Oft sind beide Formen gleich schwierig oder einfach zu beweisen. Aber manchmal ist eben die kontraponierte Form leichter zu zeigen. Im folgenden Beispiel ist es leichter, zu quadrieren, als eine Wurzel zu ziehen. Beispiel 3.3 Gerade und ungerade Zahlen und Quadrate Satz: Das Quadrat einer natürlichen Zahl ist genau dann gerade (ungerade), wenn sie selbst gerade (ungerade) ist. Teilweise formalisierter Satz: (1) ∀n ∈ lN0 : (n2 gerade n gerade). (2) ∀n ∈ lN0 : (n gerade n2 gerade). © Karlheinz Hug, Hochschule Reutlingen 9.8.04 3.3 Beweismethoden 3-9 (3) ∀n ∈ lN0 : (n2 ungerade n ungerade). (4) ∀n ∈ lN0 : (n ungerade n2 ungerade). Da eine natürliche Zahl entweder gerade oder ungerade ist, sind die Aussagen (1) und (4) äquivalent; (4) ist die Kontraposition von (1). Analog ist (3) die Kontraposition von (2). (2) ist unmittelbar einzusehen. Damit ist auch (3) gezeigt. Um (1) zu zeigen, beweisen wir die Kontraposition (4). Beweis: Voraussetzung: Sei n ∈ lN0 beliebig, aber ungerade. Behauptung (zu zeigen): n2 ist ungerade. Beweis der Behauptung: Da n ungerade ist, gibt es ein k ∈ lN0 mit n = 2k + 1. Damit ist n2 = (2k + 1)2 = 4k2 + 4k + 1 = 2 ∗ (2k2 + 2k) + 1. Also ist auch n2 ungerade, was zu p beweisen war. Kontraposition ist auch einsetzbar, wenn der zu beweisende Satz die Form einer allgemeingültigen Aussage A hat. Wir nutzen einen aus dem Axiomensystem ableitbaren Satz B und die Schlussregel modus tollens, Satz 2.20 (5) S. 2-26: ((¬A ¬B) ∧ B) A. B ist schon bewiesen. Wir zeigen, dass ¬B aus ¬A folgt. Damit ist A bewiesen. 3.3.2.2 Widerspruchsbeweis Allgemein hat der zu beweisende Satz die Form einer allgemeingültigen Aussage A. Um ihn zu beweisen, nutzen wir die Regel reductio ad absurdum, Satz 2.20 (8) S. 2-26: (¬A 0) A. Aus der Annahme, dass A nicht gilt, also ¬A, leiten wir einen Widerspruch 0 ab. Da dies nicht sein darf, muss A statt ¬A gelten. Der Widerspruchsbeweis von A ist also ein direkter Beweis von ¬A 0. Varianten dieser Art von Widerspruchsbeweisen basieren auf folgenden Äquivalenzen: A ≡ ¬A 0. A ≡ ¬A A. A ≡ ¬A (C ∧ ¬C). Oft hat der zu beweisende Satz die Form einer allgemeingültigen Implikation A B. Die Beweisregel lautet dann (¬(A B) 0) (A B), oder äquivalent dazu ((A ∧ ¬B) 0) (A B). Aus der Annahme, dass A gilt, aber B nicht, also A ∧ ¬B, leiten wir einen Widerspruch 0 ab. Da dies nicht sein darf, muss A B gelten. Der Widerspruchsbeweis von A B ist also ein direkter Beweis von (A ∧ ¬B) 0. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 3 - 10 3 Methodik Varianten dieser Art von Widerspruchsbeweisen basieren auf folgenden Äquivalenzen: A B ≡ ¬(A ∧ ¬B). A B ≡ (A ∧ ¬B) 0. A B ≡ (A ∧ ¬B) ¬A. A B ≡ (A ∧ ¬B) B. A B ≡ (A ∧ ¬B) (C ∧ ¬C). Satz 2.19 (7) S. 2-25 Wozu brauchen wir diese Beweismethode? Sie ist nützlich, wenn weder A noch ¬B allein sich eignen, um daraus die Behauptung B bzw. ¬A zu folgern. Mit A ∧ ¬B setzen wir mehr voraus und müssen weniger folgern, nämlich nur 0, ¬A oder B. Wir zeigen die Methode des Widerspruchsbeweises an zwei klassischen Beispielen, dem Satz von Euklid über die Unendlichkeit der Primzahlmenge und dem Satz von Hippasos über die Irrationalität der Wurzel aus 2. Beispiel 3.4 Unendlichkeit der Primzahlmenge Lemma 1 zum Satz von Euklid: Jede natürliche Zahl n > 1 hat eine Primzahl als Teiler. Beweis: Da n Teiler von n ist, hat n einen von 1 verschiedenen Teiler. Sei p der kleinste von 1 verschiedene Teiler von n. Behauptung (Aussage A): p ist eine Primzahl. Annahme: ¬A, d.h. p ist keine Primzahl. Konstruktion eines Widerspruchs: Da p keine Primzahl ist, hat p einen von 1 und p verschiedenen Teiler q. Da q Teiler von p und p Teiler von n ist, ist q auch Teiler von n. Wegen 1 < q < p ≤ n ist p nicht der kleinste Teiler von n. Die Annahme, dass p keine Primzahl ist, führt zum Widerspruch, dass p zugleich der kleinste und nicht der kleinste von 1 verschiedene Teiler von n ist. p Also muss die Annahme falsch sein, d.h. p ist doch eine Primzahl. Lemma 2 zum Satz von Euklid: Zu jeder endlichen Menge P von Primzahlen gibt es eine Primzahl, die nicht in P enthlaten ist. Beweis: Seien P = {p1,.., pn} eine endliche Menge von Primzahlen und p := p1 ∗ ... ∗ pn + 1. Behauptungen: (1) Keine der Primzahlen p1,.., pn ist Teiler von p. (2) p hat eine Primzahl q als Teiler. Beweis der Behauptungen: (1) ist klar nach Konstruktion von p, denn beim Teilen von p durch ein pi bleibt der Rest 1. Detailbeweis durch Widerspruch. Annahme: Ein pi ist Teiler von p. Dann gibt es natürliche Zahlen a, b, sodass pi ∗ a = p = p1 ∗ ... ∗ pi ∗ ... ∗ pn + 1 = pi ∗ b + 1, also pi ∗ (a − b) = 1. (2) Daraus folgt pi = 1 und a − b = 1. Dies widerspricht der Annahme, dass pi eine Primzahl ist. Nach Konstruktion ist p > 1. Nach Lemma 1 hat p eine Primzahl q als Teiler. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 3.3 Beweismethoden 3 - 11 Da q nach (2) Teiler von p und Primzahl ist, kann q nicht unter den p1,.., pn vorkommen, denn diese sind nach (1) keine Teiler von p. Damit ist q eine Primzahl, die nicht in p P enthalten ist. Satz von Euklid (Aussage A): Es gibt unendlich viele Primzahlen. Beweis: Annahme: ¬A, d.h. die Menge lP aller Primzahlen ist endlich. Konstruktion eines Widerspruchs: Nach Lemma 2 gibt es eine Primzahl, die nicht in lP enthalten ist. Dies widerspricht der Voraussetzung, dass lP alle Primzahlen umfasst. p Korollar zum Satz von Euklid (Aussage A): Es gibt keine größte Primzahl. Beweis: Annahme: ¬A, d.h. es gibt eine größte Primzahl p. Konstruktion eines Widerspruchs: Für die Menge aller Primzahlen gilt: lP = {n ∈ lN | n ist Primzahl und n ≤ p}. Da es nur endlich viele natürliche Zahlen gibt, die kleiner als p sind, ist Nach dem Satz von Euklid ist lP aber unendlich. Widerspruch! lP endlich. p Das Produkt der ersten n Primzahlen p1,.., pn plus 1 muss keine Primzahl sein, wie das Gegenbeispiel der ersten sechs Primzahlen zeigt: 2 ∗ 3 ∗ 5 ∗ 7 ∗ 11 ∗ 13 + 1 = 30031 = 59 ∗ 509.1 Beispiel 3.5 Irrationalität von Wurzel aus 2 Satz von Hippasos2 (Aussage A): Die Wurzel aus 2 ist keine rationale Zahl, √2 ∉ 3. Beweis: Annahme: ¬A, d.h. die Wurzel aus 2 ist rational, √2 ∈ 3. Konstruktion eines Widerspruchs: Informalere Variante: Dann gibt es teilerfremde Zahlen p ∈ 0, lN q∈ lN mit √2 = p/q. Quadrieren der Glei- 2/q2. Multiplizieren der Gleichung mit q2 ergibt 2 ∗ q2 = p2. Also chung ergibt 2 = p muss p2 gerade sein. Nach Beispiel 3.3 muss dann auch p gerade sein. Damit gibt es ein r ∈ lN mit p = 2 ∗ r. Somit ist 2 ∗ q2 = p2 = 2 2 ∗ r2, also q2 = 2 ∗ r2. Also muss auch q2 und damit q gerade sein. Damit haben p und q den gemeinsamen Teiler 2, im Widerspruch zur Annahme, dass sie teilerfremd sind. Formalere Variante: √2 ∈ 3 ∃p ∈ lN0, q ∈ lN : (ggT(p, q) = 1 ∧ √2 = p/q). √2 = p/q 2 = p2/q2 2 ∗ q2 = p2 p2 gerade. (Beispiel 3.3 ∧ p2 gerade) p gerade ∃r ∈ lN : p = 2 ∗ r. p = 2 ∗ r p2 = 2 2 ∗ r2. 1 Ich danke Herbert Bauer für diese Bemerkung. 2 Hippasos von Metapont (um 500 v.u.Z.), griechischer Mathematiker, Schüler des Pythagoras, entdeckte inkommensurable Strecken und wurde dafür angeblich ertränkt (da die Pythagoräer die natürlichen Zahlen mit ihren mythisch-religiösen Ideen verknüpft hatten). 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 3 - 12 3 Methodik (2 ∗ q2 = p2 ∧ p2 = 22 ∗ r2) 2 ∗ q2 = 22 ∗ r2 q2 = 2 ∗ r2 q2 gerade. (Beispiel 3.3 ∧ q2 gerade) q gerade ∃s ∈ lN : q = 2 ∗ s. (p = 2 ∗ r ∧ q = 2 ∗ s) (2 teilt p ∧ 2 teilt q) ggT(p, q) ≥ 2 > 1. (ggT(p, q) = 1 ∧ ggT(p, q) > 1) 0, Widerspruch! p Manche Beweise erscheinen als Widerspruchsbeweise, obwohl sie keine sind. Leitlinie 3.2 Keine unechten Widerspruchsbeweise Vermeide scheinbare Widerspruchsbeweise für A B, die aus A und ¬B - ohne ¬B zu verwenden - den „Widerspruch“ B folgern, oder - ohne A zu verwenden - den „Widerspruch“ ¬A folgern! Solche Beweise sind umständliche, getarnte direkte Beweise oder Kontrapositionsbeweise. Verwende Widerspruchsbeweise nur dort, wo sie unverzichtbar erscheinen! 3.3.3 Induktiver Beweis Die Methode des induktiven Beweises basiert auf dem Prinzip der Induktion und eignet sich zum Beweisen von Eigenschaften induktiv definierter Konstrukte. Beispielsweise ist die Vorgehensweise bei einer induktiv definierten Formelsprache F wie folgt (→ 3.2.2). Um zu beweisen, dass eine Behauptung B(F) für alle Formeln F ∈ F gilt, genügt es, die folgenden Schritte „induktiv über den Aufbau der Formeln“ durchzuführen: l l Induktionsanfang (Induktionsanker): Zeige, dass B(A) für alle atomaren Formeln A ∈ F gilt. Induktionsschritt: ■ Unter der Induktionsvoraussetzung (Induktionsannahme), dass B(E) für alle einfacheren Formeln E ∈ F gilt, ■ zeige im Induktionsschluss die Induktionsbehauptung, dass B(F) für komplexere Formeln F ∈ F gilt, die sich aus einfacheren Formeln E ∈ F zusammensetzen. Damit ist die Behauptung B(F) für alle Formeln F ∈ F bewiesen. Die Beweismethode der vollständigen Induktion lernen wir zusammen mit den natürlichen Zahlen in Kapitel 5 kennen. 3.4 Literaturhinweise Dieses Kapitel nutzt Ideen aus [8], [6], [13], [16], [18], [19], [23] und [27]. 3.5 Übungen Aufgabe 3.1 Definitionen Stellen Sie fest, ob folgende Sätze methodisch korrekte Definitionen sind und identifiezieren Sie das Definiendum und das Definiens! (1) (2) Wir sagen, dass ein Maß Bier voll ist, wenn das Glas wenigstens so viel Bier enthält, dass der Pegel nicht mehr als 1 cm unterhalb der 1-Liter-Marke liegt und der Schaum mindestens 1 cm über die Marke hinausreicht. Sei B ein Maß Bier. B wird als voll bezeichnet dann und nur dann, wenn der Inhalt von B aus einer Flüssigkeit besteht, die sich in staatlich geprüften Laboratorien zweifelsfrei als das landläufig als Bier bezeichnete Getränk entsprechend dem deutschen Reinheitsgebot und der Nahrungsmittelgesetze der EU identifizieren lässt, und zwar in einem Volumen bei Zimmertemperatur, das höchstens um ein Prozent von der Einheit ein Liter abweicht. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 3.5 Übungen 3 - 13 (3) (4) (5) (6) Aufgabe 3.2 Direkter Beweis Beweisen Sie, dass das geometrische Mittel zweier nichtnegativer reeller Zahlen kleiner oder gleich ihrem arithmetischen Mittel ist! Sind die Zahlen verschieden, so ist ihr geometrisches Mittel kleiner als ihr arithmetisches Mittel. (1) (2) (3) (4) Aufgabe 3.3 Descartes’ Methode Unter Implantaten versteht die Zahnheilkunde künstliche Zahnwurzeln zur Befestigung von Kronen, Brücken oder Prothesen. Ist eine natürliche Zahl größer als 1 und nur durch 1 und sich selbst teilbar, so nennen wir sie eine Primzahl. Zwei ganze Zahlen heißen relativ prim, wenn sie nur 1 als gemeinsamen Teiler haben. Ein Hund ist ein Haustier, das vom Wolf abstammt, also zum Beispiel ein Dakkel. ∀a, b ∈ ∀a, b ∈ ∀a, b ∈ ∀a, b ∈ ! : ((a ≥ 0 ∧ b ≥ 0) √ab ≤ (a + b) / 2) ! : ((a ≥ 0 ∧ b ≥ 0 ∧ a ≠ b) √ab < (a + b) / 2) ! : ((a ≥ 0 ∧ b ≥ 0) (a = b ⇔ √ab = (a + b) / 2)) ! : ((a ≥ 0 ∧ b ≥ 0) (a ≠ b ⇔ √ab < (a + b) / 2)) Diskutieren Sie die folgenden vier Regeln, die René Descartes in seinem Werk Discours de la Méthode aufstellt: Die erste besagte, niemals eine Sache als wahr anzunehmen, von der ich nicht evidentermaßen erkenne, dass sie wahr ist: d.h. Übereilung und Vorurteile sorgfältig zu vermeiden und über nichts zu urteilen, was sich meinem Denken nicht so klar und deutlich darstellte, dass ich keinen Anlass hätte, daran zu zweifeln. Die zweite, jedes Problem, das ich untersuchen würde, in so viele Teile zu teilen, wie es angeht und wie es nötig ist, um es leichter zu lösen. Die dritte, in der gehörigen Ordnung zu denken, d.h. mit den einfachsten und am leichtesten zu durchschauenden Dingen zu beginnen, um so nach und nach, gleichsam über Stufen, bis zur Erkenntnis der zusammengesetzten aufzusteigen, ja selbst in Dinge Ordnung zu bringen, die natürlicherweise nicht aufeinanderfolgen. Die letzte, überall so vollständige Aufstellungen und so allgemeine Übersichten aufzustellen, dass ich versichert wäre, nichts zu vergessen.1 1 Zitiert nach Tom Sorell: Descartes. Herder, Freiburg (1999), S. 60; zitiert nach der Standardausgabe von Descartes’ Werken von Adam und Tannery, Vrin, Paris (1964-75), Band 6, S. 1819. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 3 - 14 © Karlheinz Hug, Hochschule Reutlingen 3 Methodik 9.8.04 4 Relationale Strukturen AufgabeBeispiel 4 Bild 4 4 (4) MathAussagen Leitlinie Programm 4 4 4 Tabelle 4 Dieses Kapitel vertieft die Kenntnisse über Relationen Abbildungen, stellt als grundlegende mathematische Strukturen Äquivalenz- und Ordnungsstrukturen vor, und führt Kardinal- und Ordinalzahlen ein. 4.1 Allgemeines über Relationen und Abbildungen Wir befassen uns näher mit den aus 1.7 S. 1-18 bekannten zweistelligen Relationen. Ist R⊆M×N eine Relation in einer Produktmenge M × N, so betrachten wir die Notation mit der Elementrelation der Mengenlehre, die übliche Infixnotation, die Prädikatnotation und die Bezeichnung eines Funktionswerts der charakteristischen Funktion als äquivalent: (x, y) ∈ R Abkürzungen ⇔ xRy ⇔ R(x, y) ⇔ χR(x, y) ⇔ χR(x, y) = 1. Allgemein sind bei Relationen abkürzende Schreibweisen beliebt, die wir schon in Spezialfällen kennen. Hat man mehrere Paare, die in Beziehungen zueinander stehen und zusammenpassen, so schreibt man gerne Beziehungsketten statt Konjunktionen von Beziehungen hin, z.B. v=w≤x<y→z∈L⊆M⊂N=O v = w ∧ w ≤ x ∧ x < y ∧ y → z ∧ z ∈ L ∧ L ⊆ M ∧ M ⊂ N ∧ N = O, statt allgemein also xRySz 4.1.1 statt x R y ∧ y S z. Zugeordnete Relationen Gegeben sind die Mengen M, N und eine Relation R ⊆ M × N. In der Literatur hat die Produktmenge M × N meist keinen Namen; wir nennen sie den Grundbereich von R. Wie erhält man aus R weitere Relationen? Die einfachsten Möglichkeiten sind: l Einschränkung l Fortsetzung l Teilrelation Einschränkung: Sind L ⊆ M, O ⊆ N, so ist R∩L×O eine Relation in L × O; sie heißt die Einschränkung (Restriktion) von R auf L × O. Damit hat R ∩ L × O den Grundbereich L × O. Ist der Grundbereich aus dem Zusammenhang klar, so schreiben wir kurz R statt R ∩ L × O, z.B. x R y statt x R ∩ L × O y für x ∈ L, y ∈ O. Anschaulich: In der Computergrafik entspricht die Einschränkung dem Clipping, d.h. dem Entfernen von Bildpunkten, die außerhalb eines abzubildenden Fensters liegen. Fortsetzung: Sind M ⊆ L, N ⊆ O, so ist jede Relation S ⊆ L × O mit S∩M×N=R eine Fortsetzung von R auf L × O. R selbst ist die kleinste Fortsetzung von R auf L × O. Teilrelation: Jede Teilmenge S⊆R ist eine Relation in M × N; sie heißt eine Teilrelation von R. Man sagt auch: S ist feiner als R oder eine Verfeinerung von R, R ist gröber als S oder eine Vergröberung von S (weil Oberrelation von S seltsam klingt). Ist L ⊆ M, O ⊆ N, so ist die kleinste Fortsetzung der Einschränkung R ∩ L × O auf M × N eine Teilrelation von © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Kapitel 4 - Seite 1 von 80 4-2 4 Relationale Strukturen R. Anschaulich: In der Computergrafik setzt sich ein digitales Farbbild (= Relation) aus roten, grünen und blauen Teilbildern (= Teilrelationen) zusammen. Bild 4.1 Einschränkung und Teilrelation Einschränkung y Teilrelation x l Komplementäre Relation Bild 4.2 Komplementäre Relation Komplementierung: R = M × N \ R, das Komplement von R, ist die komplementäre Relation zu R. Anschaulich handelt es sich um ein Negativbild. y x l R−1 := {(y, x) | (x, y) ∈ R} ⊆ N × M ist die Umkehrrelation (converse) zu R (→ Definition 1.25 S. 1-19). Sie entsteht anschaulich durch Spiegelung an der Winkelhalbierenden der beiden Koordinatenachsen. Umkehrrelation Bild 4.3 Umkehrrelation Umkehrung: x y Die folgenden Eigenschaften der Umkehrrelation sind offensichtlich. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen Satz 4.1 Umkehrrelation 4-3 Für eine Relation R ⊆ M × N gilt: ∅−1 = ∅. (M × N)−1 = N × M. (1) (2) (R−1)−1 = R. (3) R⊆S Involution R−1 ⊆ S−1. Monotonie 4.1.2 Bereiche von Relationen Beispiel Ist M eine Menge von StudentInnen, N eine Menge von Lehrveranstaltungen und R ⊆ M × N die Relation „besucht“, so gibt der Nachbereich xR einer StudentIn x ∈ M an, welche Lehrveranstaltungen x besucht. Der Vorbereich Ry einer Lehrveranstaltung y ∈ N gibt an, welche StudentInnen y besuchen. Bild 4.4 Nach- und Vorbereich M := R := besucht N := Menge der StudentInnen Menge der Lehrveranstaltungen Vorbereich von MT1 Ali TG1 Eva I1 MT1 Ina Nachbereich von Eva AK Udo E1 In einem Pfeildiagramm entspricht ein Nachbereich einer Menge von Zielen von Pfeilen, die von einer gegebenen Startmenge ausgehen. Ein Vorbereich entspricht einer Menge von Startpunkten von Pfeilen, die auf eine gegebene Bildmenge treffen. In einer Matrix entspricht dem Nachbereich einer Zeile die Menge der darin markierten Spalten, dem Vorbereich einer Spalte die Menge der darin markierten Zeilen. Definition 4.2 Nach- und Vorbereich n Sind M, N Mengen und R ⊆ M × N eine Relation, so heißt für L ⊆ M LR := {y ∈ N | ∃x ∈ L : x R y} der Nachbereich von L zu R, und für O ⊆ N heißt RO := {x ∈ M | ∃y ∈ O : x R y} der Vorbereich von O zu R. Die Nach- und Vorbereiche einelementiger Mengen heißen primitiv; wir schreiben dafür xR := {x}R = {y ∈ N | x R y}, Ry := R{y} = {x ∈ M | x R y}. L Die Literatur bietet uneinheitliche Bezeichnungen für zu unterscheidende Mengen. Mal heißt M Definitionsbereich und RN Vorbereich von R, mal ist es umgekehrt. Entsprechend heißen N oder MR mal Wertebereich, mal Nachbereich. In der englischsprachigen Literatur sind die Bezeichnungen domain und range so üblich: domain(R) := RN und range(R) := MR. Durch ihre Nach- und Vorbereiche induziert eine Relation R zwei Abbildungen zwischen den Potenzmengen ihrer Komponentenmengen: 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4-4 4 Relationale Strukturen P(M) → P(N), L → LR, | P(N) → P(M), O → RO. | Die folgenden Beziehungen dieser Abbildungen sind leicht zu zeigen. Satz 4.3 Bereiche und Mengenoperationen Für Mengen M, N, eine Relation R ⊆ M × N, und Teilmengen K, L ⊆ M und O, P ⊆ N gilt: = R∅ = ∅. (1) ∅R (2) K⊆L O⊆P (3) ⊆ KR ∩ LR. RO∩P ⊆ RO ∩ RP. (4) K∪LR ⊆ LR. RO ⊆ RP. KR Monotonie K∩LR = KR ∪ LR. LR RO∪P = RO ∪ RP. (5) ⊇ KR \ LR. RO\P ⊇ RO \ RP. (6) LR = RO = ∪ xR . Vereinigungstreue x∈L ∪ Ry . y∈O K\LR = R−1L. RO = OR−1. 4.1.3 Eigenschaften von Relationen Bei Relationen kann es im Allgemeinen Elemente geben, die zu keinem anderen Element oder zu mehreren anderen Elementen in Beziehung stehen. Relationen mit entsprechend speziellen Eigenschaften verdienen besonderes Interesse. Definition 4.4 Eigenschaften zweistelliger Relationen Sind M, N Mengen, so heißt eine Relation R ⊆ M × N linkstotal :⇔ ∀x ∈ M ∃y ∈ N : x R y; rechtstotal :⇔ ∀y ∈ N ∃x ∈ M : x R y; bitotal :⇔ R ist links- und rechtstotal; linkseindeutig :⇔ ∀x, x´ ∈ M, y ∈ N : ((x R y ∧ x´ R y) x = x´); rechtseindeutig (partielle Abbildung) :⇔ ∀x ∈ M, y, y´∈ N : ((x R y ∧ x R y´) y = y´); eineindeutig :⇔ R ist links- und rechtseindeutig; homogen :⇔ M = N. Beispiele Die in Bild 4.4 dargestellte Relation hat keine dieser Eigenschaften. Identität Die Identität auf M, idM = {(x, x) | x ∈ M} (→ 1.8.1 S. 1-21), besitzt alle diese Eigenschaften. Offenbar gilt idM−1 = idM. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen Allrelation 4-5 Die Allrelation auf M, M 2, ist bitotal und homogen, aber - falls M mehrere Elemente hat - weder links- noch rechtseindeutig. Auf einer Menge von Menschen ist die homogene Relation „ist Mutter von“ rechtstotal und linkseindeutig. Einschränkung Teilrelation Offenbar gilt: Mit einer Relation sind auch alle Verfeinerungen, Vergröberungen, deren Komplemente und Umkehrrelationen homogen. Ist R ⊆ M × N links-, rechts- oder eineindeutig, so haben Einschränkungen R ∩ L × O für L ⊆ M, O ⊆ N und Teilrelationen S ⊆ R dieselbe Eigenschaft. Für die Links-, Rechts- und Bitotalität gilt Entsprechendes nicht, sie können bei Einschränkungen und Teilrelationen verloren gehen. Die Totalitäten bleiben aber bei Vergröberungen erhalten. Fortsetzungen und das Komplement können alle Eigenschaften ihrer Ausgangsrelation verlieren. Umkehrrelation Mit der Umkehrrelation R−1 gilt offenbar: R ist linkstotal R ist rechtstotal R ist bitotal R ist linkseindeutig R ist rechtseindeutig R ist eineindeutig ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ R−1 ist rechtstotal, R−1 ist linkstotal, R−1 ist bitotal, R−1 ist rechtseindeutig, R−1 ist linkseindeutig, R−1 ist eineindeutig. Beachte, dass eine wie oben definierte partielle Abbildung keine Abbildung im Sinne unserer Definition 1.26 S. 1-20 ist. Mit diesen Begriffen ist eine Abbildung f : M → N, x → f(x) = y Abbildung | eine linkstotale, rechtseindeutige Relation auf M × N. Manche Autoren verlangen von Abbildungen nur die Rechtseindeutigkeit und sprechen von (links)totalen Abbildungen, wenn sie zusätzlich linkstotal sind. Beispiel Relation oder Abbildung? Auf einer Menge von Menschen ist die Umkehrrelation von „ist Mutter von“ eine Abbildung. Relationale und funktionale Schreibweise hängen so zusammen: ⇔ y ist Mutter von x. Mutter(x) = y ⇔ x (ist Mutter von)−1 y Im Folgenden entwickeln wir Rechenregeln für Relationen und spezialisieren sie für Abbildungen. Bei konkreten Anwendungen kann man mit Relationen oder Abbildungen arbeiten. Jede Abbildung lässt sich als Relation relationenalgebraisch behandeln, doch wird die Abbildungsnotation oft handlicher sein. Ist andererseits eine beliebige Relation R ⊆ M × N gegeben, so ist ihr die Abbildung M → P(N), x → xR | zugeordnet, die jedem x ∈ M seinen primitiven Nachbereich zuordnet (→ Definition 4.2). Indem man vom Betrachten von Element-Element-Paaren (x, y) ∈ R ⊆ M × N zum Betrachten von Element-Mengen-Paaren (x, xR) ∈ M × P(N) übergeht, gewinnt man die Linkstotalität und Rechtseindeutigkeit: l l 9.8.04 Jedem x ∈ M ist mindestens eine Menge xR ⊆ N zugeordnet, die leer sein kann. Gibt es zu x kein y ∈ N mit x R y, so ist xR = ∅. Jedem x ∈ M ist höchstens eine Menge xR ⊆ N zugeordnet, die mehrere Elemente haben kann. Gibt es zu x mehrere y, y´ ∈ N mit x R y, x R y´, so gehören sie zu xR: y, y´ ∈ xR. © Karlheinz Hug, Hochschule Reutlingen 4-6 4 Relationale Strukturen Die Abbildungseigenschaften sind durch den komplexeren Wertebereich bezahlt. Eigenschaften von Relationen lassen sich mit ihren Bereichen charakterisieren. Das bringt keine tief liegenden Erkenntnisse, sondern dient dazu, das Umformen prädikatenlogischer Formeln zu üben. Satz 4.5 Eigenschaften und Bereiche 4.1.4 Für Mengen M, N und eine Relation R ⊆ M × N gilt: (1) R ist linkstotal ⇔ RN = M. (2) R ist rechtstotal ⇔ MR (3) R ist linkseindeutig ⇔ ∀x, x´ ∈ M : (xR ∩ x´R ≠ ∅ x = x´). (4) R ist rechtseindeutig ⇔ ∀y, y´∈ N : (Ry ∩ Ry´ ≠ ∅ y = y´). = N. Zugeordnete Abbildungen Im wichtigen Spezialfall der Abbildungen, also der linkstotalen, rechtseindeutigen Relationen, geht man oft etwas anders vor als sonst bei Relationen. Wie allgemein bei Relationen stellt sich die Frage, wie man aus einer gegebenen Abbildung f : M → N weitere Abbildungen erhält. Die in 4.1.1 genannten einfachsten Möglichkeiten bei Relationen passen nicht ganz, da relationale Einschränkungen, Fortsetzungen, Teilrelationen, das Komplement und die Umkehrrelation einer Abbildung keine Abbildungen sein müssen. (Die Linkstotalität und die Rechtseindeutigkeit können verloren gehen.) Deshalb sind hier die einfachen Möglichkeiten, die wir aus 1.8 kennen: l Einschränkung | l Fortsetzung l Inverse Abbildung 4.1.5 Einschränkung: Ist f : M → N und L ⊆ M, so ist f|L : L → N, x → f(x) eine Abbildung, die Einschränkung von f auf L (→ 1.8.1 S. 1-21). Fortsetzung: Ist M ⊆ L, so ist jede Abbildung g : L → N mit g|M = f eine Fortsetzung von f auf L (→ 1.8.1 S. 1-21). Umkehrung: Die Umkehrrelation einer Abbildung f : M → N ist genau dann eine Abbildung, wenn f bijektiv ist. In diesem Fall heißt f−1 : N → M, y → f−1(y) := x genau dann, wenn f(x) = y die Inverse (Umkehrabbildung) zu f (→ Definition 1.27 S. 1-21). | Bilder und Urbilder von Abbildungen Nach- und Vorbereiche heißen bei Abbildungen Bilder und Urbilder. Beispiel Ist M eine Menge von StudentInnen, N eine Menge von Gemeinden und f : M → N die Abbildung, die jeder StudentIn ihren Wohnort zuordnet, so gibt das Bild f[L] an, in welchen Orten die StudentInnen x ∈ L wohnen. Das Urbild einer Gemeinde y ∈ N gibt an, welche StudentInnen dort wohnen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen Bild 4.5 Bild und Urbild M := f := Wohnort Menge der StudentInnen Urbild von Tübingen 4-7 N := Menge der Gemeinden Ali Balingen Eva Esslingen Reutlingen Ina Tübingen Udo Bild von Eva und Ina Bad Urach Definition 4.6 Bild und Urbild n Sind M, N Mengen und f : M → N eine Abbildung, so heißt für L ⊆ M der Nachbereich f[L] := {f(x) ∈ N | x ∈ L} = Lf ⊆ N das Bild von L unter f, und für O ⊆ N heißt der Vorbereich f−1[O] := {x ∈ M | f(x) ∈ O} = fO ⊆ M das Urbild von O unter f. Das f−1 des Urbilds f−1[O] entspricht der Umkehrrelation f−1 und ist nicht mit der Umkehrabbildung f−1 (die es nur zu bijektivem f gibt) zu verwechseln! Wie jede Relation induziert die Abbildung f zwei weitere Abbildungen zwischen den Potenzmengen des Definitions- und des Wertebereichs von f: P(M) → P(N), L → f[L], | P(N) → P(M), O → f−1[O]. | Für diese Abbildungen verwenden wir einfach die Namen f und f−1, aber mit eckigen Klammern. An den Klammern und den Argumenten ist stets ersichtlich, ob die Abbildung der Elemente (f(x)) oder die Abbildung der Teilmengen (f[L]) gemeint ist. Warum unterscheiden sich die Notationen für Nach- und Vorbereiche bei Relationen und Abbildungen? Die Notation mit vor- oder nachgestelltem Index passt suggestiv gut zur relationalen Infixnotation, während die Präfix-eckige-Klammer-Notation besser zur Präfix-runde-KlammerNotation bei Abbildungen passt. Trotzdem verwenden manche Autoren die Schreibweise mit eckigen Klammern auch für Nach- und Vorbereiche von Relationen: R[L] = LR 9.8.04 und R−1[O] = RO. © Karlheinz Hug, Hochschule Reutlingen 4-8 Satz 4.7 Bilder und Mengenoperationen 4 Relationale Strukturen Sind M, N Mengen, f : M → N eine Abbildung, K, L ⊆ M Teilmengen, I eine Indexmenge, (Li)i∈I ∈ MI eine Mengenfamilie und werden die Mengenoperationen jeweils mit allen Indices i ∈ I gebildet, so gilt: (1) (2) (3) (4) f[M] ⊆ N. f[L] = ∅ ⇔ L = ∅. f[K] ⊆ f[L]. K⊆L f[K ∩ L] ⊆ f[K] ∩ f[L]. f[ (5) ∩Li] ⊆ ∩f[Li]. f[K ∪ L] = f[K] ∪ f[L]. f[ Monotonie ∪Li] = ∪f[Li]. (6) f[K \ L] ⊇ f[K] \ f[L]. (7) L ⊆ f−1[f[L]]. Vereinigungstreue Beweis. (1), (2) sind trivial. (3) bis (6) folgen aus Satz 4.3. p (7) Für x ∈ L ist f(x) ∈ f[L], also x ∈ f−1[f[L]]. Zwischen f[L] und f[L] gibt es keine allgemeine Inklusionsbeziehung. Satz 4.8 Urbilder und Mengenoperationen Sind M, N Mengen, f : M → N eine Abbildung, O, P ⊆ N Teilmengen, I eine Indexmenge, (Oi)i∈I ∈ NI eine Mengenfamilie und werden die Mengenoperationen jeweils mit allen Indices i ∈ I gebildet, so gilt: (1) f−1[N] = M. (2) f−1[O] = ∅ ⇔ O ∩ f[M] = ∅. (3) O⊆P f−1[O] ⊆ f−1[P]. (4) f−1[O ∩ P] = f−1[O] ∩ f−1[P]. f−1 (5) [ ∩Oi] = ∩f −1 ∪Oi] = ∪ = Durchschnittstreue Vereinigungstreue f−1[Oi]. f−1[O \ P] = f−1[O] \ f−1[P]. −1[Oc] Monotonie [Oi]. f−1[O ∪ P] = f−1[O] ∪ f−1[P]. f−1[ (6) (f−1[O])c. (7) f (8) f[f−1[O]] = O ∩ f[M] ⊆ O. Differenztreue Komplementtreue Beweis. (1) gilt offenbar mit Satz 4.5 (1), da f linkstotal ist. (2) x ∈ f−1[O] ⇔ f(x) ∈ O ∩ f[M]. (3) bis (6) folgen großenteils aus Satz 4.3. (4) x ∈ f−1[O ∩ P] ⇔ f(x) ∈ O ∩ P ⇔ f(x) ∈ O ∧ f(x) ∈ P ⇔ x ∈ f−1[O] ∧ x ∈ f−1[P] ⇔ x ∈ f−1[O] ∩ f−1[P]. (6) x ∈ f−1[O \ P] ⇔ f(x) ∈ O \ P ⇔ f(x) ∈ O ∧ f(x) ∉ P ⇔ x ∈ f−1[O] ∧ x ∉ f−1[P] ⇔ x ∈ f−1[O] \ f−1[P]. (7) Mit (6) und (1) folgt: f−1[Oc] = f−1[N \ O] = f−1[N] \ f−1[O] = M \ f−1[O] = (f−1[O])c. (8) y ∈ f[f−1[O]] ⇔ ∃x ∈ f−1[O] : f(x) = y ⇔ y ∈ O ∩ f[M]. © Karlheinz Hug, Hochschule Reutlingen p 9.8.04 4.1 Allgemeines über Relationen und Abbildungen 4.1.6 4-9 Eigenschaften von Abbildungen Bei Abbildungen kann es im Allgemeinen Elemente des Wertebereichs geben, die kein Urbild oder mehrere Urbilder haben. Abbildungen mit entsprechend speziellen Eigenschaften verdienen besonderes Interesse. Definition 4.9 Eigenschaften von Abbildungen Beispiele Sind M, N Mengen und f : M → N eine Abbildung, so heißt f surjektiv (Surjektion, onto) :⇔ f ist rechtstotal, d.h. ∀y ∈ N ∃x ∈ M : f(x) = y; injektiv (Injektion, eineindeutig, one-to-one) :⇔ f ist linkseindeutig, d.h. ∀x, x´ ∈ M : (f(x) = f(x´) x = x´); bijektiv (Bijektion, umkehrbar eindeutig) :⇔ f ist surjektiv und injektiv. Die in Bild 4.5 dargestellte Abbildung und f : Eigenschaften. f: '→ ! → !, x → x2 haben keine dieser | , n → |n| ist surjektiv, aber nicht injektiv. lN | f : lN → lN, n → n2 ist injektiv, aber nicht surjektiv. | Die Identität idM und f : ! → !, x → x3 sind bijektiv. | Eigenschaften von Abbildungen lassen sich mit ihren Bildern und Urbildern charakterisieren. Satz 4.10 Eigenschaften, Bilder und Urbilder Für Mengen M, N und eine Abbildung f : M → N gilt: (1) (2) (3) f ist surjektiv ⇔ ⇔ ⇔ f ist injektiv ⇔ ⇔ ⇔ ⇔ f ist bijektiv ⇔ f[M] = N ∀L ⊆ M : f[L] ⊆ f[L] ∀O ⊆ N : f[f−1[O]] = O. ∀K, L ⊆ M : f[K ∩ L] = f[K] ∩ f[L] Durchschnittstreue ∀L ⊆ M : f[L] ⊆ f[L] ∀K, L ⊆ M : (K ∩ L = ∅ f[K] ∩ f[L] = ∅) ∀L ⊆ M : f−1[f[L]] = L. Komplementtreue ∀L ⊆ M : f[L] = f[L]. Beweis. Wir zeigen die Äquivalenzen durch Ringschlussbeweise. (1) Die erste Äquivalenz entspricht Satz 4.5 (2). f[M] = N ∀L ⊆ M : f[L] ⊆ f[L]: Für L ⊆ M gilt mit Satz 4.7 (6): f[L] = N \ f[L] = f[M] \ f[L] ⊆ f[M \ L] = f[L]. ∀L ⊆ M : f[L] ⊆ f[L] ∀O ⊆ N : f[f−1[O]] = O: Wegen Satz 4.8 (8) genügt es, für O ⊆ N zu zeigen: O ⊆ O ∩ f[M]. Es gilt: O = O ∩ N = O ∩ ∅ = O ∩ f[∅] ⊆ O ∩ f[∅] = O ∩ f[M]. ∀O ⊆ N : f[f−1[O]] = O f[M] = N: Mit Satz 4.8 (1) gilt: f[M] = f[f−1[N]] = N. (2) f injektiv ∀K, L ⊆ M : f[K ∩ L] = f[K] ∩ f[L]: Wegen Satz 4.7 (4) genügt es, für K, L ⊆ M zu zeigen: f[K] ∩ f[L] ⊆ f[K ∩ L]. Zu y ∈ f[K] ∩ f[L] gibt es ein x ∈ K mit f(x) = y und ein x´ ∈ L mit f(x´) = y. Da f injektiv ist, ist x = x´ ∈ K ∩ L, also y ∈ f[K ∩ L]. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 10 4 Relationale Strukturen ∀K, L ⊆ M : f[K ∩ L] = f[K] ∩ f[L] ∀L ⊆ M : f[L] ⊆ f[L]: Für L ⊆ M gilt f[L] ∩ f[L] = f[L ∩ L] = f[∅] = ∅, also mit Satz 1.16 (8) S. 1-11 f[L] ⊆ f[L]. ∀L ⊆ M : f[L] ⊆ f[L] ∀K, L ⊆ M : (K ∩ L = ∅ f[K] ∩ f[L] = ∅): Für K, L ⊆ M mit K ∩ L = ∅ gilt mit Satz 1.16 (8) S. 1-11 K ⊆ L. Mit Satz 4.7 (3) folgt f[K] ⊆ f[L] ⊆ f[L], also mit Satz 1.16 (8) f[K] ∩ f[L] = ∅. ∀K, L ⊆ M : (K ∩ L = ∅ f[K] ∩ f[L] = ∅) ∀L ⊆ M : f−1[f[L]] = L: Wegen Satz 4.7 (7) genügt es, für L ⊆ M zu zeigen: f−1[f[L]] ⊆ L, oder mit Satz 1.16 (8) S. 1-11: f−1[f[L]] ∩ L = ∅. L ∩ L = ∅ f[L] ∩ f[L] = ∅. Mit den Sätzen 4.7 (7), 4.8 (4), der Voraussetzung und Satz 4.8 (2) folgt: f−1[f[L]] ∩ L ⊆ f−1[f[L]] ∩ f−1[f[L]] = f−1[f[L] ∩ f[L]] = f−1[∅] = ∅. ∀L ⊆ M : f−1[f[L]] = L f injektiv: Für x, x´ ∈ M mit f(x) = f(x´) gilt: {x} = f−1[f[{x}]] = f−1[{f(x)}] = f−1[{f(x´)}] = f−1[f[{x´}]] = {x´}, also x = x´. p (3) folgt aus (1) und (2). Jeder Abbildung f : M → N lässt sich die Surjektion fsur : M → f[M] mit fsur(x) = f(x) für x ∈ M zuordnen. Ist f injektiv, so sind fsur und fsur−1 : f[M] → M bijektiv. Aus beliebigem f : M → N gewinnt man eine Bijektion, indem man f auf eine geeignete Teilmenge L ⊆ M einschränkt, sodass f|L injektiv ist, und dann den Wertebereich auf das Bild von L reduziert: (f|L)sur : L → f[L], x → f(x). | 4.1.7 Operationen mit Relationen Wie erhält man aus gegebenen Relationen weitere Relationen? Da Relationen Mengen sind, können wir die Mengenoperationen auf sie anwenden. Meist ist das nur sinnvoll, wenn die Relationen denselben Grundbereich haben. Sei also R ⊆ P(M × N) ein System von Relationen im Grundbereich M × N. Dann sind auch der Durchschnitt Durchschnitt ∩R := ∩ R R∈R und die Vereinigung Vereinigung ∪R := ∪ R R∈R der Relationen R ∈ R wieder Relationen in M × N. Die Kurzschreibweisen ∩R und ∪R können zu Missverständnissen führen, wenn gleichzeitig etwas lasch bei Durchschnitten und Vereinigungen indizierter Mengen die Indexbeziehung unter dem Operationssymbol weggelassen wird. Sind z.B. Ri für i ∈ I Systeme von Relationen, so sieht man ∩Ri nicht an, ob damit der Durchschnitt der Relationen R ∈ Ri, also der Durchschnitt der Systeme Ri, also © Karlheinz Hug, Hochschule Reutlingen ∩ Ri ∩ R ∈ Ri R , oder gemeint ist. Die Entscheidung für eine der beiden i∈I 9.8.04 4.1 Allgemeines über Relationen und Abbildungen 4 - 11 Interpretationen soll stets aus dem Zusammenhang klar werden. Dies ist eine der wenigen Stellen, an der wir uns eine Kontextabhängigkeit erlauben. Wie vertragen sich die Mengenoperationen mit der Operation der Umkehrung? Die folgenden Rechenregeln sind wieder leicht zu zeigen. Satz 4.11 Mengenoperationen und Umkehrrelation Für Relationen R, S ⊆ M × N und ein System von Relationen R ⊆ P(M × N) gilt: (1) (R ∩ S)−1 = R−1 ∩ S−1. R≠∅ (∩R) −1 = ∩R R∈R Durchschnittstreue −1 . ∪R)−1 = ∪ R −1. (2) (R ∪ S)−1 = R−1 ∪ S−1. (3) (R \ S)−1 = R−1 \ S−1. Differenztreue (4) (Rc)−1 = (R−1)c. Komplementtreue ( R∈R Vereinigungstreue Wie vertragen sich Operationen mit Relationen mit deren Nach- und Vorbereichen? Auch die folgenden Beziehungen sind leicht zu zeigen. Satz 4.12 Mengenoperationen und Bereiche Für Relationen R, S ⊆ M × N, ein System von Relationen R ⊆ P(M × N) und Teilmengen L ⊆ M, O ⊆ N gilt: (1) L∅ (2) × N) = N (M × N)O = M ⇔ ⇔ (3) S⊆R (LS ⊆ LR ∧ SO ⊆ RO). (4) L( L(M ( (5) = ∅O = ∅. Monotonie. ∩R) ⊆ ∩ LR . R∈R ∩R)O ⊆ ∩ R O . R∈R L( ( L ≠ ∅. O ≠ ∅. ∪R) = ∪ LR . R∈R Vereinigungstreue ∪R)O = ∪ RO . R∈R \ S) ⊇ LR \ LS. (R \ S)O ⊇ RO \ SO. (6) L(R (7) L≠∅ O≠∅ c c L(R ) ⊇ (LR) . (Rc)O ⊇ (RO)c. Welche Eigenschaften der Relationen R ∈ R bleiben dem Durchschnitt ∩R und der ∪R erhalten? Von den in Definition 4.4 eingeführten Eigenschaften nicht viele. Trivialerweise sind mit allen R ∈ R auch ∩R und ∪R homogen. Aber die Tota- Vereinigung litäten gehen im Allgemeinen dem Durchschnitt, die Eindeutigkeiten der Vereinigung verloren. Es bleiben nur: 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 12 Satz 4.13 Mengenoperationen und Eigenschaften 4 Relationale Strukturen Für ein System von Relationen R ⊆ P(M × N) gilt: ∩R dieselbe Eigen- (1) Sind alle R ∈ R links-, rechts- oder eineindeutig, so hat schaft. (2) Ist wenigstens ein R ∈ R links-, rechts- oder bitotal, so hat Eigenschaft. ∪R dieselbe Es gibt jedoch eine Reihe von Eigenschaften von Relationen, die sich bei Durchschnitten oder Vereinigungen erhalten. Darauf geht Satz 4.34 ein. Eine Folge der Situation ist, dass Durchschnitte von Abbildungen kaum eine Rolle spielen. Dagegen nutzt man die Vereinigung von Abbildungen mit „kleinen“, disjunkten Definitionsbereichen, um diese zu einer „großen“ Abbildung zusammenzusetzen. Üblich ist das z.B. bei so genannten polynomialen Spline-Funktionen, die stetige Funktionen durch passende Polynomstücke annähern; sie spielen u.a. in der Computergrafik eine Rolle. Formal sieht das so aus: Satz 4.14 Zusammensetzen von Abbildungen Ist Z eine echte Zerlegung der Menge M, N ein nicht leeres Mengensystem, und gibt es zu jedem Z ∈ Z ein NZ ∈ N und eine Abbildung fZ : Z → NZ, dann ist Abbildung von 4.1.8 ∪Z = M nach ∪N . ∪ fZ eine Z∈Z Komposition von Relationen Als neue Möglichkeit, aus gegebenen Relationen weitere Relationen zu erhalten, kann man zwei geeignete Relationen zu einer neuen Relation zusammensetzen. Bild 4.6 Komposition von Relationen L x M R y N S z S°R Beispiele Ist L eine Menge von StudentInnen, M eine Menge von Lehrveranstaltungen, N eine Menge von DozentInnen, R ⊆ L × M die Relation „besucht“ und S ⊆ M × N die Relation „wird gelesen von“, so ist S ° R die Relation „hört bei“. x S ° R z gibt an, dass die StudentIn x ∈ L bei der DozentIn z ∈ N hört, d.h. es gibt eine Lehrveranstaltung y ∈ M, sodass gilt: x besucht y und y wird von z gelesen. Ist M eine Menge von Menschen und R ⊆ M2 die Relation „ist Mutter von“, so ist R ° R die Relation „ist Großmutter mütterlicherseits von“. Die Umkehrrelation R−1 bedeutet „ist Kind der Mutter“ und (R ° R)−1 bedeutet „ist EnkelIn der Großmutter“. Ist S ⊆ M2 die Relation „ist verheiratet mit“, so ist S ° R die Relation „ist Schwiegermutter von“, denn x S ° R z gibt an, dass es einen Menschen y gibt, sodass x Mutter von y und y verheiratet mit z ist. Dagegen bedeutet die R ° S die Relation „ist Vater oder Stiefvater von“, denn x R ° S z gibt an, dass es einen Menschen y gibt, sodass x verheiratet mit y und y Mutter von z ist. (Die Homoehe bleibt hier außer Betracht.) Definition 4.15 Komposition zweistelliger Relationen Sind L, M, N Mengen und R ⊆ L × M, S ⊆ M × N Relationen, so heißt die durch S ° R := {(x, z) ∈ L × N | ∃y ∈ M : (x R y ∧ y S z)} S nach R, S Kringel R definierte Relation S ° R ⊆ L × N die Komposition (Nacheinanderausführung) von R und S. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen 4 - 13 Die Schreibweise S ° R ist bei Relationen ungeschickter als die mit umgekehrter Reihenfolge, R ° S. Die Wahl der Notation ist gerechtfertigt dadurch, dass wir generell bei Relationen und speziell bei Abbildungen einheitlich dieselbe Notation verwenden, um Verwechslungen vorzubeugen, bei Abbildungen aber die gewählte Schreibweise geschickter als die andere ist. Bild 4.7 Assoziativität der Komposition T°S L M R w S x N T y O z S°R Bild 4.8 Umkehrrelation der Komposition S°R L M y R x R−1 N S z S−1 (S ° R)−1 Welche Eigenschaften hat die Operation der Komposition? Beziehungen der Komposition mit sich selbst, mit der Umkehrrelation, Vor- und Nachbereichen, Eigenschaften von Relationen und Mengenoperationen sind zu klären. Satz 4.16 Eigenschaften der Komposition Für Mengen L, M, N, O, Relationen R, R´ ⊆ L × M, S, S´ ⊆ M × N, T ⊆ N × O und Relationenfamilien (Ri)i∈I ∈ (L × M)I, (Sk)k∈K ∈ (M × N)K gilt: (1) (2) (3) (T ° S) ° R = T ° (S ° R). R ° ∅ = ∅ = ∅ ° R. R ° idL = R = idM ° R. Assoziativität Nullelement Einselement (4) (S ° R)−1 = R−1 ° S−1. Inverses Element (5) ∀P ⊆ L : P(S ° R) = ( R )S . P ∀Q ⊆ N : (S ° R)Q = R ( S ) . Q (6) S°R=∅ ⇔ LR ∩ SN = ∅. (7) Sind R und S links-, rechts- oder bitotal, links-, rechts- oder eineindeutig oder homogen, so hat S ° R dieselbe Eigenschaft. R ist linkstotal. (8) S ° R ist linkstotal S ° R ist rechtstotal S ist rechtstotal. S ° R ist bitotal R ist linkstotal und S ist rechtstotal. S ° R ⊆ S ° R´. Monotonie (9) R ⊆ R´ S ⊆ S´ S ° R ⊆ S´ ° R. (10) S ° (R ∪ R´) = (S ° R) ∪ (S ° R´). Distributivität (S ∪ S´) ° R = (S ° R) ∪ (S´ ° R). ∪ S k k ∈ K ° ∪ R i i ∈ I = ∪ i ∈ I, k ∈ K (Sk ° Ri). Beweis. (1) Für alle w ∈ L, z ∈ O gilt: w (T ° S) ° R z ⇔ ∃x ∈ M : (w R x ∧ x T ° S z) ⇔ ∃x ∈ M : (w R x ∧ ∃y ∈ N : (x S y ∧ y T z)) ⇔ 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 14 4 Relationale Strukturen ∃x ∈ M ∃y ∈ N : (w R x ∧ x S y ∧ y T z) ⇔ ∃y ∈ N : (∃x ∈ M : (w R x ∧ x S y) ∧ y T z) ⇔ ∃y ∈ N : (w S ° R y ∧ y T z) ⇔ w T ° (S ° R) z. (3) Für alle x ∈ L, y ∈ M gilt: x R ° idL y ⇔ x idL x ∧ x R y ⇔ x R y ⇔ x R y ∧ y idM y ⇔ x idM ° R y. (4) Für alle x ∈ L, z ∈ N gilt: z (S ° R)−1 x ⇔ x S ° R z ⇔ ∃y ∈ M : (x R y ∧ y S z) ⇔ ∃y ∈ M : (z S−1 y ∧ y R−1 x) ⇔ z R−1 ° S−1 x. (5) Aus Dualitätsgründen genügt es, die Aussage für die Vorbereiche zu zeigen. Für jedes x ∈ L gilt: x ∈ (S ° R)Q ⇔ ∃z ∈ Q : x S ° R z ⇔ ∃z ∈ Q ∃y ∈ M : (x R y ∧ y S z) ⇔ ∃y ∈ M : (x R y ∧ ∃z ∈ Q : y S z) ⇔ ∃y ∈ M : (x R y ∧ y ∈ SQ) ⇔ ∃y ∈ SQ : x R y ⇔ x ∈ R(S ) . Q (6) Durch Kontraposition: S ° R ≠ ∅ ⇔ ∃x ∈ L, z ∈ N : x S ° R z ⇔ ∃x ∈ L, z ∈ N, y ∈ M : (x R y ∧ y S z) ⇔ ∃y ∈ M : (∃x ∈ L : x R y ∧ ∃z ∈ N : y S z) ⇔ ∃y ∈ M : (y ∈ LR ∧ y ∈ SN) ⇔ ∃y ∈ M : (y ∈ LR ∩ SN) ⇔ LR ∩ SN ≠ ∅. (7) Totalität: Aus Dualitätsgründen genügt es, die Linkstotalität zu zeigen. Sie folgt aus (5) mit Satz 4.5 (1): (S ° R)N = R ( S ) = RM = L. N Eindeutigkeit: Es genügt, die Rechtseindeutigkeit zu zeigen. Zu x ∈ L, z, z´ ∈ N mit x S ° R z und x S ° R z´ gibt es y, y´ ∈ M mit x R y, y S z, x R y´, y´ S z´. Da R rechtseindeutig ist, ist y = y´. Da S rechtseindeutig ist, ist z = z´. Also ist S ° R rechtseindeutig. Homogenität ist trivial. (8) Ist S ° R linkstotal, so ist nach Satz 4.5 (1) und (5) L = (S ° R)N = R ( S ) . Aus N SN ⊆ M und Satz 4.3 (2) folgt R ( S ) ⊆ RM ⊆ L. Also gilt überall „=“, sodass R nach N Satz 4.5 (1) linkstotal ist. Ist S ° R rechtstotal, so ist mit (4) (S ° R)−1 = R−1 ° S−1 linkstotal, also S−1 linkstotal, also S rechtstotal. F Wegen der Assoziativität der Komposition sparen wir Klammern und definieren: T ° S ° R := (T ° S) ° R. Beachte, dass die Komposition nicht kommutativ ist, d.h. im Allgemeinen gilt S ° R ≠ R ° S. Die Komposition ist auch nicht bezüglich des Durchschnitts distributiv. Eigenschaften von Relationen lassen sich mit Kompositionen charakterisieren. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen Satz 4.17 Eigenschaften und Kompositionen 4 - 15 Für Mengen M, N und eine Relation R ⊆ M × N gilt: (1) R ist linkstotal ⇔ idM ⊆ R−1 ° R. (2) R ist rechtstotal ⇔ idN ⊆ R ° R−1. (3) R ist linkseindeutig ⇔ R−1 ° R ⊆ idM. (4) R ist rechtseindeutig ⇔ R ° R−1 ⊆ idN. (5) R ist linkstotal und linkseindeutig ⇔ R−1 ° R = idM. (6) R ist rechtstotal und rechtseindeutig ⇔ R ° R−1 = idN. Beweis. Aus Dualitätsgründen genügt es, (1) oder (2), und (3) oder (4) zu zeigen. (1) „ “: Für jedes x mit x idM x gilt x ∈ M. Da R linkstotal ist, gibt es ein y ∈ N mit x R y. Dann ist y R−1 x und mit x R y folgt x R−1 ° R x. Also gilt idM ⊆ R−1 ° R. „⇐“: Für jedes x ∈ M gilt x idM x und damit x R−1 ° R x. Daher gibt es ein y ∈ N mit x R y (und y R−1 x). Also ist R linkstotal. (4) „“: Zu y, z ∈ N mit y R ° R−1 z gibt es ein x ∈ M mit y R−1 x und x R z, also x R y. Da R rechtseindeutig ist, folgt y = z, also y idN z. Also gilt R ° R−1 ⊆ idN. „⇐“: Für x ∈ M, y, z ∈ N mit x R y und x R z ist y R−1 x, also y R ° R−1 z, also y idN z, also y = z. Also ist R rechtseindeutig. F Aus Satz 4.17 folgt direkt die Charakterisierung von Eigenschaften von Abbildungen mittels relationaler Kompositionen. Korollar 4.18 4.1.9 Für eine Abbildung f : M → N und ihre Umkehrrelation f−1 gilt: (1) f ist injektiv ⇔ f−1 ° f = idM. (2) f ist surjektiv ⇔ f ° f−1 = idN. Komposition von Abbildungen Zwei geeignete Abbildungen lassen sich als Relationen zu einer neuen Relation kombinieren. Nach Satz 4.16 (7) ist die relationale Komposition von Abbildungen wieder eine Abbildung. Der syntaktische Aspekt der Komposition von Abbildungen ist uns von 2.2.4 Syntax der Prädikatenlogik, S. 2-48 durch Terme wie f(g(w, x), y, h(i(z))) bekannt. Die Auswertung dieses Terms veranschaulicht das Schaltbild oder Datenflussdiagramm: Bild 4.9 Schaltbild oder Datenflussdiagramm w x y z 9.8.04 g(w, x) g f i(z) i f(g(w, x), y, h(i(z))) h(i(z)) h © Karlheinz Hug, Hochschule Reutlingen 4 - 16 4 Relationale Strukturen Alternativ dazu betont das Mengendiagramm die Definitions- und Wertebereiche vor den einzelnen Elementen: Bild 4.10 Mengendiagramm mit Abbildungen K w O g × b L × x M f c R e × N P i z Q h a d Die auf Abbildungspfeile reduzierte Variante nutzt die Projektionen - die Umkehrungen zur Produktbildung, die ja selbst keine Abbildung ist: Bild 4.11 Abbildungsdiagramm π1 K K×L g O π2 L M i N P h π1 π2 Q O×M×Q f R π3 Eine abstrakte Darstellung der zusammengesetzten Abbildung ist f ° (g, id M, h ° i) : K × L × M × N → R. Definition 4.19 Komposition von Abbildungen Sind L, M, N Mengen und f : L → M, g : M → N Abbildungen, so heißt die durch g ° f := {(x, z) ∈ L × N | ∃y ∈ M : (f(x) = y ∧ g(y) = z)} g nach f, g Kringel f definierte Abbildung g ° f : L → N die Komposition (Nacheinanderausführung) von f und g. Da f linkstotal ist, gibt es zu jedem x ∈ L ein y ∈ M mit f(x) = y. Daher gilt g ° f = {(x, g(f(x))) ∈ L × N | x ∈ L}. Für x ∈ L schreiben wir (g ° f)(x) = g(f(x)). Bild 4.12 Kommutierendes Abbildungsdiagramm L h N f g M Sind f : L → M, g : M → N, h : L → N Abbildungen mit h = g ° f, so sagt man, das Abbildungsdiagramm kommutiert oder ist kommutativ. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen Satz 4.20 Eigenschaften der Komposition 4 - 17 Für Mengen L, M, N, O und Abbildungen f, f´ : L → M, g, g´ : M → N, h : N → O gilt: (1) (2) (h ° g) ° f = h ° (g ° f). f ° idL = f = idM ° f. Assoziativität Einselement ∀P ⊆ L : (g ° f)[P] = g[f[P]]. ∀Q ⊆ N : (g ° f)−1[Q] = f−1[g−1[Q]]. (4) Sind f und g surjektiv, so ist g ° f surjektiv. (5) Sind f und g injektiv, so ist g ° f injektiv. (6) Sind f und g bijektiv, so ist g ° f bijektiv. (7) Ist g ° f surjektiv, so ist g surjektiv. (8) Ist g ° f injektiv, so ist f injektiv. (9) Ist g ° f bijektiv, so ist f injektiv und g surjektiv. (10) Ist f surjektiv und g ° f = g´ ° f, so ist g = g´. (11) Ist g injektiv und g ° f = g ° f´, so ist f = f´. (3) Beweis. (1) bis (7) folgen direkt aus Satz 4.16. Der folgende Beweis in Abbildungsnotation ist einfacher, weil er zusätzliche Eigenschaften von Abbildungen nutzt. (1) Für jedes x ∈ L gilt: ((h ° g) ° f)(x) = (h ° g)(f(x)) = h(g(f(x))) = h((g ° f)(x)) = (h ° (g ° f))(x). (3) Wir zeigen die Aussage für die Urbilder. Für jedes x ∈ L gilt: x ∈ (g ° f)−1[Q] ⇔ (g ° f)(x) = g(f(x)) ∈ Q ⇔ f(x) ∈ g−1[Q] ⇔ x ∈ f−1[g−1[Q]]. (4) Aus (3) folgt mit Satz 4.10 (1): (g ° f)[L] = g[f[L]] = g[M] = N. (5) Aus (3) folgt mit Satz 4.10 (2) für K ⊆ L: (g ° f)−1[(g ° f)[K]] = f−1[g−1[g[f[K]]]] = f−1[f[K]] = K. (7) Da g ° f surjektiv ist und f[L] ⊆ M gilt: N = (g ° f)[L] = g[f[L]] ⊆ g[M] ⊆ N, also gilt g[M] = N. Damit ist g surjektiv. (8) Für x, x´ ∈ L mit f(x) = f(x´) ist (g ° f)(x) = g(f(x)) = g(f(x´)) = (g ° f)(x´). Da g ° f injektiv ist, ist x = x´ und damit ist f injektiv. (10) Sei y ∈ M. Da f surjektiv ist, gibt es ein x ∈ L mit f(x) = y. Damit gilt g(y) = g(f(x)) = (g ° f)(x) = (g´ ° f)(x) = g´(f(x)) = g´(y). Also ist g = g´. (11) Sei x ∈ L. Es gilt g(f(x)) = (g ° f)(x) = (g ° f´)(x) = g(f´(x)). Da g injektiv ist, folgt f(x) = f´(x). Also ist f = f´. F Satz 4.21 Eigenschaften von Inversen Für Mengen M, N und eine Bijektion f : M → N gilt: (1) f−1 ist bijektiv. (2) (f−1)−1 = f, d.h. f und f−1 sind invers zueinander. (3) f−1 ° f = idM. (4) f ° f−1 = idN. Beweis. (1) und (2) sind klar und (3) und (4) folgen aus Korollar 4.18. In Abbildungsnotation sieht das so aus: (2) Für x ∈ M, y ∈ N gilt: (f−1)−1(x) = y ⇔ f−1(y) = x ⇔ f(x) = y. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 18 4 Relationale Strukturen (3) Für x ∈ M und f(x) = y gilt: (f−1 ° f)(x) = f−1(f(x)) = f−1(y) = x. F (4) Für y ∈ N und f−1(y) = x gilt: (f ° f−1)(y) = f(f−1(y)) = f(x) = y. Satz 4.22 Kriterium für Inverse Sind M, N Mengen und f : M → N, g, g´ : N → M Abbildungen mit g ° f = idM und f ° g´ = idN, so ist g = g´ und f und g sind bijektiv und invers zueinander, d.h. g = f−1 und f = g−1. Beweis. Da idM bijektiv ist, ist mit Satz 4.20 (9) f injektiv und g surjektiv. Analog ist, da idN bijektiv ist, g´ injektiv und f surjektiv. Also ist f bijektiv. Damit gilt nach den Sätzen 4.20 (10), (11) und 4.21 (3), (4): Aus g ° f = idM = f−1 ° f folgt g = f−1 und aus F f ° g´ = idN = f ° f−1 folgt g´ = f−1. Satz 4.23 Eigenschaften und Kompositionen Für Mengen M, N und eine Abbildung f : M → N gilt: (1) f ist surjektiv ⇔ es gibt eine Abbildung g : N → M mit f ° g = idN. (2) f ist injektiv ⇔ es gibt eine Abbildung g : N → M mit g ° f = idM. (3) f ist bijektiv ⇔ es gibt eine Abbildung g : N → M mit f ° g = idN und g ° f = idM. Beweis. (1) „“: Sei f surjektiv. Dann sind für y ∈ N alle Urbilder f−1[{y}] ⊆ M nicht leer. Nach dem Auswahlaxiom wählen wir zu jedem y ∈ N ein xy ∈ f−1[{y}] und definieren durch g(y) := xy eine Injektion g : N → M, für die (f ° g)(y) = f(g(y)) = f(xy) = y ist. „⇐“: Da idN bijektiv ist, ist mit Satz 4.20 (9) f surjektiv und g injektiv. (2) „ “: Sei f injektiv. Dann sind fsur : M → f[M] und fsur−1 : f[M] → M bijektiv. Sei g : N → M eine Fortsetzung von fsur−1 auf N. Dann ist g surjektiv und für x ∈ M ist (g ° f)(x) = g(f(x)) = fsur−1(f(x)) = x. „⇐“: Da idM bijektiv ist, ist mit Satz 4.20 (9) f injektiv und g surjektiv. (3) „“: Folgt aus Satz 4.21. „⇐“: Folgt aus Satz 4.22. F Aus den Sätzen 4.20 (7) und 4.23 folgt direkt: Korollar 4.24 Für Mengen M, N gilt: Es gibt eine Surjektion f : M → N genau dann, wenn es eine Injektion g : N → M gibt. Mit dem algebraischen Begriff der Links- und Rechtsinversen lassen sich die gewonnenen Aussagen umformulieren. Definition 4.25 Links- und Rechtsinverse Sind M, N Mengen und f : M → N, g : N → M Abbildungen mit g ° f = idM, so heißt g Linksinverse von f und f Rechtsinverse von g. Nach Satz 4.20 (9) sind Linksinverse surjektiv und Rechtsinverse injektiv. Links- und Rechtsinverse müssen nicht existieren, und wenn sie existieren, dann müssen sie nicht eindeutig sein. Hat eine Abbildung aber sowohl eine Links- als auch eine Rechtsinverse, so sind diese nach Satz 4.22 gleich. Aus Satz 4.23 ergibt sich: © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.1 Allgemeines über Relationen und Abbildungen Korollar 4.26 Für Mengen M, N und eine Abbildung f : M → N gilt: (1) (2) (3) 4.1.10 4 - 19 f ist surjektiv f ist injektiv f ist bijektiv ⇔ ⇔ ⇔ f besitzt eine Rechtsinverse. f besitzt eine Linksinverse. f besitzt eine Links- und Rechtsinverse. Kartesisches Produkt von Relationen und Abbildungen Eine weitere Möglichkeit, aus gegebenen Relationen neue Relationen zu bilden, bietet das kartesische Produkt. Dabei entsteht die Struktur des Produkts aus den Strukturen der Komponenten. Man spricht von komponentenweisen Relationen und Abbildungen. Den Spezialfall der Abbildungen geben wir der Lesbarkeit halber auch in Abbildungsnotation an. Definition 4.27 Kartesisches Produkt von Relationen und Abbildungen Seien I eine Indexmenge und Mi, Ni für i ∈ I Mengen. Sind Ri ⊆ Mi × Ni für i ∈ I Relationen, so heißt die durch (xi)i∈I ∏i ∈ I Ri (yi)i∈I :⇔ ∀i ∈ I : xi Ri yi für xi ∈ M i, yi ∈ Ni definierte Relation ∏i ∈ I R i ⊆ ∏i ∈ I M i × ∏i ∈ I N i das kartesische Produkt der Ri, i ∈ I. Sind fi : M i → Ni für i ∈ I Abbildungen, so heißt die durch ∏i ∈ I f i ((xi)i∈I) = (yi)i∈I :⇔ ∀i ∈ I : fi(xi) = yi für xi ∈ M i, yi ∈ Ni definierte Abbildung ∏i ∈ I f i : ∏i ∈ I M i → ∏i ∈ I N i das kartesische Produkt der fi, i ∈ I. Unsere Notation ist hier leider zweideutig: ∏i ∈ I R i soll das kartesische Produkt der Ri als Relationen bedeuten, ∏i ∈ I R i ⊆ ∏i ∈ I M i × ∏i ∈ I Ni , kann aber auch das kartesische Produkt der Mengen Ri nach Definition 1.29 S. 1-27 bedeuten, ∏i ∈ I R i ⊆ ∏i ∈ I ( M i × N i ) . Der Unterschied liegt in der Reihenfolge, in der die xi und yi zusammengefasst werden: ((xi)i∈I, (yi)i∈I) oder ((xi, yi))i∈I. Offenbar lassen sich die Paare von Familien bijektiv den Familien von Paaren zuordnen: ((xi)i∈I, (yi)i∈I) ↔ ((xi, yi))i∈I. Aus der allgemeinen Definition 4.27 ergeben sich Spezialfälle, die wir tabellarisch zusammenstellen. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 20 4 Relationale Strukturen Tabelle 4.1 Spezielle kartesische Produkte von Relationen und Abbildungen Relationen Abbildungen ∀i ∈ I : Mi = Ni ∀i ∈ I : fi : Mi → Mi ∀i ∈ I : Ri ⊆ Mi2 ∏i ∈ I R i ⊆ ∏i ∈ I M i 2 ∏i ∈ I f i : ∏i ∈ I M i → ∏i ∈ I M i ∀i ∈ I : Mi = M, Ni = N ∀i ∈ I : Ri ⊆ M × N ∀i ∈ I : fi : M → N ∏i ∈ I Ri ∏i ∈ I f i ⊆ MI × NI : MI → N I ∀i ∈ I : Ri = R ⊆ M × N ∀i ∈ I : fi = f : M → N RI ⊆ MI × N I fI : M I → NI ∀i ∈ I : M i = Ni = M ∀i ∈ I : Ri ⊆ M2 ∏i ∈ I R i I 2 ⊆ (M ) ∀i ∈ I : Ri = R ⊆ M2 I 2 RI ⊆ ( M ) ∀i ∈ I : fi : M → M ∏i ∈ I fi : MI → M I ∀i ∈ I : fi = f : M → M fI : MI → MI Der letzte, speziellste Fall in Tabelle 4.1 tritt am häufigsten auf. Dabei wird einfach eine homogene Relation R ⊆ M2 oder eine Abbildung f : M → M der Produktmenge MI komponentenweise aufgeprägt, z.B. komponentenweiser Vergleich. Oft kommen dann nicht nur einstellige, sondern auch zweistellige Operationen f : M2 → M vor, z.B. wenn man für Vektoren komponentenweise Addition einführen will. Die obige Definition liefert mit 2 I fI : ( M ) → MI nicht ganz das Gewünschte, denn man will I 2 fI : ( M ) → MI haben. Man erreicht das, indem man die obige Definition zunächst auf drei- oder n-stellige Relationen verallgemeinert und dann wieder spezialisiert. Alternativ kann man die Bijektion ((x, y)i)i∈I ↔ ((xi)i∈I, (yi)i∈I) nutzen, die Familien von Paaren auf Paare von Familien abbildet. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.2 Homogene zweistellige Relationen 4.2 4 - 21 Homogene zweistellige Relationen Neben den Abbildungen bilden die homogenen zweistelligen Relationen den zweiten wichtigen Spezialfall. Definition 4.28 Eigenschaften zweistelliger homogener Relationen Ist M eine beliebige Menge, so heißt eine Relation R ⊆ M2 reflexiv :⇔ ∀x ∈ M : x R x; irreflexiv :⇔ ∀x ∈ M : ¬x R x; symmetrisch :⇔ ∀x, y ∈ M : (x R y y R x); asymmetrisch :⇔ ∀x, y ∈ M : (x R y ¬y R x); antisymmetrisch (identitiv) :⇔ ∀x, y ∈ M : ((x R y ∧ y R x) x = y); semikonnex :⇔ ∀x, y ∈ M : (x R y ∨ y R x ∨ x = y); konnex :⇔ ∀x, y ∈ M : (x R y ∨ y R x); transitiv :⇔ ∀x, y, z ∈ M : ((x R y ∧ y R z) x R z); intransitiv :⇔ ∀x, y, z ∈ M : ((x R y ∧ y R z) ¬x R z). Eine Folge x1,.., xn ∈ M mit n ∈ lN und x1 R x2,.., xn−1 R xn und xn R x1 heißt ein Zyklus der Länge n zu R in M. R heißt :⇔ R hat keinen Zyklus in M. azyklisch R heißt eine Verträglichkeitsrelation (compatibility relation) :⇔ R ist reflexiv und symmetrisch; Äquivalenzrelation (equivalence relation) :⇔ R ist reflexiv, symmetrisch und transitiv; Präordnung (Quasiordnung) :⇔ R ist reflexiv und transitiv; Halbordnung (partielle Ordnung, weak partial order) :⇔ R ist reflexiv, antisymmetrisch und transitiv; strikte Halbordnung (streng, strong) :⇔ R ist irreflexiv und transitiv; Vollordnung (totale, lineare Ordnung, order) :⇔ R ist reflexiv, antisymmetrisch, konnex und transitiv; :⇔ R ist irreflexiv, semikonnex und transitiv. strikte Vollordnung Bild 4.13 Eigenschaften von Relationen reflexiv • • irreflexiv • • • • Ist R ⊆ M2 reflexiv (irreflexiv), so hat jeder (kein) Punkt von M einen Pfeil auf sich selbst. symmetrisch • • • 9.8.04 asymmetrisch • • • © Karlheinz Hug, Hochschule Reutlingen 4 - 22 4 Relationale Strukturen Ist R symmetrisch (asymmetrisch), so ist jeder (kein) Pfeil ein Doppelpfeil in beide Richtungen. = antisymmetrisch • • • semikonnex • • • Ist R antisymmetrisch, so ist jeder Doppelpfeil ein Pfeil auf seinen Startpunkt. Ist R semikonnex, so ist jeder Punkt mit jedem anderen mit wenigstens einem Pfeil verbunden. transitiv • • • intransitiv • • • Ist R transitiv (intransitiv), so gibt es zu zwei aufeinander folgenden Pfeilen einen (keinen) direkten Pfeil. • Zyklus • • • semikonnex, nicht azyklisch • • • Führen endlich viele aufeinander folgende Pfeile zum Startpunkt zurück, so liegt ein Zyklus vor. Ist R azyklisch, so führt kein Weg entlang der Pfeilrichtung zum Startpunkt zurück. Die wichtigen Äquivalenz- und Ordnungsrelationen behandeln wir ausführlich in 4.3 und 4.5. Beispiele Die leere Relation ∅ ist reflexiv, irreflexiv, symmetrisch, asymmetrisch, antisymmetrisch, semikonnex, konnex, transitiv, intransitiv, azyklisch und damit eine Verträglichkeits- und Äquivalenzrelation und Prä- und Halbordnung. Die Identität idM = {(x, x) | x ∈ M} ist reflexiv, symmetrisch, antisymmetrisch, transitiv, und damit eine Verträglichkeits- und Äquivalenzrelation und Prä- und Halbordnung. Die Allrelation M2 ist reflexiv, symmetrisch, semikonnex, konnex, transitiv, und damit eine Verträglichkeits- und Äquivalenzrelation und Präordnung. Auf einer Menge von Menschen ist die Relation l l l l „ist Mutter von“ irreflexiv, asymmetrisch, antisymmetrisch (!), intransitiv und azyklisch; „ist verheiratet mit“ irreflexiv und symmetrisch; „hat dieselben Eltern wie“ reflexiv, symmetrisch, transitiv und damit eine Verträglichkeits- und Äquivalenzrelation und Präordnung; „ist Vorfahre von“ irreflexiv, asymmetrisch, antisymmetrisch (!), transitiv, azyklisch und damit eine strikte Halbordnung. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.2 Homogene zweistellige Relationen 4 - 23 Aus Definition 4.28 ergibt sich direkt: Korollar 4.29 Eigenschaften zugeordneter Relationen Für eine Menge M und eine Relation R ⊆ M2 gilt: (1) (2) (3) (4) Hat R eine der Eigenschaften von Definition 4.28 (außer der Eigenschaft, einen Zyklus zu besitzen), so hat für N ⊆ M die Einschränkung R ∩ N2 auf N dieselbe Eigenschaft. Ist R irreflexiv, asymmetrisch, antisymmetrisch, intransitiv oder azyklisch, so hat jede Teilrelation S ⊆ R dieselbe Eigenschaft. Ist R reflexiv, semikonnex oder konnex oder hat R einen Zyklus, so hat jede Vergröberung R ⊆ S ⊆ M2 dieselbe Eigenschaft. R hat eine der Eigenschaften von Definition 4.28 genau dann, wenn die Umkehrrelation R−1 diese Eigenschaft hat. Gibt es Zusammenhänge zwischen den Eigenschaften? Satz 4.30 Beziehungen zwischen Eigenschaften Für eine Menge M und eine Relation R ⊆ M2 gilt: (1) (2) (3) (4) R ist nicht zugleich reflexiv und irreflexiv. R≠∅ R ist nicht zugleich symmetrisch und asymmetrisch. R≠∅ R ist nicht zugleich transitiv und intransitiv. R≠∅ R ∪ idM ist reflexiv. (5) R \ idM ist irreflexiv. (6) R ist konnex R und R \ idM sind semikonnex. (7) R ist semikonnex R ∪ idM ist konnex. R ist azyklisch. R ist irreflexiv und transitiv R ist asymmetrisch. R ist azyklisch R ist asymmetrisch ⇔ R ist irreflexiv und antisymmetrisch. R ist symmetrisch und antisymmetrisch R ist transitiv. (12) R ist strikte Halbordnung ⇔ R ist azyklisch und transitiv ⇔ R ist asymmetrisch und transitiv. (8) (9) (10) (11) Beweis. (1) bis (5) sind klar. (6) und (7) sind leicht zu zeigen. (8) Der Fall R = ∅ ist klar. Für R ≠ ∅ zeigen wir eine kontraponierte Aussage. Ist R nicht azyklisch, so gibt es einen Zyklus x1 R x2,.., xn−1 R xn, xn R x1. Da R transitiv ist, folgt x1 R x1, d.h. R ist nicht irreflexiv. (9) Ist R azyklisch, so hat R keine Zyklen der Länge 2. Für x, y ∈ M gilt also: ¬(x R y ∧ y R x). Umformen ergibt ¬x R y ∨ ¬y R x, und daraus x R y ¬y R x, d.h. R ist asymmetrisch. (10) „“: R asymmetrisch R irreflexiv. ∀x, y ∈ M : (¬x R y ∨ ¬y R x) ∀x ∈ M : ¬x R x Seien x, y ∈ M mit x R y und y R x. Nun folgt: (R asymmetrisch ∧ x R y ∧ y R x) (¬y R x ∧ y R x) 0 x = y. Also ist R antisymmetrisch. „⇐“: Seien R irreflexiv und antisymmetrisch und x, y ∈ M mit x R y. Aus der Antisymmetrie von R folgt ¬y R x ∨ x = y. Wäre x = y, so wäre x R x, im Widerspruch zur Irreflexivität von R. Also gilt ¬y R x, d.h. R ist asymmetrisch. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 24 4 Relationale Strukturen (11) Seien R symmetrisch und antisymmetrisch und x, y, z ∈ M mit x R y ∧ y R z. Aus y R z und der Symmetrie von R folgt z R y. Aus y R z und z R y und der Antisymmetrie von R folgt y = z. Aus x R y und y = z folgt x R z, d.h. R ist transitiv. p (12) folgt aus (8) bis (10). Beachte, dass strikte Halb- und Vollordnungen keine Halb- bzw. Vollordnungen im Sinn von Definition 4.28 sind, da sie irreflexiv und daher nicht reflexiv sind. Strikte Ordnungen sind Ordnungen anderer Art, nicht Ordnungen mit der zusätzlichen Eigenschaft strikt. Satz 4.30 (4) und (5) stellt den Zusammenhang beider Ordnungsarten her. Beachte dass (reflexiv, irreflexiv), (symmetrisch, asymmetrisch) und (transitiv, intransitiv) zwar sich gegenseitig ausschließende, aber nicht komplementäre Begriffspaare sind. Beispielsweise hat {(1, 1), (1, 2), (2, 3)} keine der sechs Eigenschaften. Auch die Eigenschaften homogener Relationen lassen sich mit ihren Bereichen charakterisieren; auch der folgende Satz dient vor allem dazu, das Umformen prädikatenlogischer Formeln zu üben. Satz 4.31 Eigenschaften und Bereiche Für eine Menge M und eine Relation R ⊆ M2 gilt: (1) R ist reflexiv ⇔ ⇔ ⇔ ⇔ ∀x ∈ M : x ∈ xR ∀x ∈ M : x ∈ Rx ∀x ∈ M : x ∈ xR ∩ Rx ∀x ∈ M : x ∈ xR ∪ Rx. (2) R ist irreflexiv ⇔ ⇔ ⇔ ⇔ ∀x ∈ M : x ∉ xR ∀x ∈ M : x ∉ Rx ∀x ∈ M : x ∉ xR ∩ Rx ∀x ∈ M : x ∉ xR ∪ Rx. (3) R ist symmetrisch ⇔ ∀x ∈ M : xR = Rx. (4) R ist asymmetrisch ⇔ ∀x ∈ M : xR ∩ Rx = ∅. (5) R ist antisymmetrisch ⇔ ∀x ∈ M : xR ∩ Rx ⊆ {x}. (6) R ist semikonnex ⇔ ∀x ∈ M : xR ∪ Rx ∪ {x} = M. (7) R ist konnex ⇔ ∀x ∈ M : xR ∪ Rx = M. (8) R ist transitiv ⇔ ∀x ∈ M : ( R )R ⊆ xR x ⇔ ∀z ∈ M : R ( R ) ⊆ Rz. z ⇔ ∀x ∈ M : ( R )R ∩ xR = ∅ x ⇔ ∀z ∈ M : R ( R ) ∩ Rz = ∅. z (9) R ist intransitiv © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.2 Homogene zweistellige Relationen 4 - 25 Homogene Relationen kann man mit sich selbst komponieren, und zwar beliebig oft. Die Komposition wird so zu einem Produkt. Definition 4.32 Kompositionsprodukt homogener zweistelliger Relationen Sind M eine Menge und R ⊆ M2 eine Relation, so ist für n ∈ lN0 das n-fache (Kompositions-)Produkt (n-te Potenz) von R rekursiv definiert durch R0 := idM, Rn := Rn−1 ° R für n ∈ lN. Zudem seien R+ := ∗ R := ∪ n R ; n ∈ lN ∪ n ∈ lN0 R = R0 ∪ R+ = idM ∪ R+. n Ist f : M → M eine Abbildung, so ist ihr n-faches Produkt analog f0 = idM, fn = fn−1 ° f für n ∈ lN. Damit gilt R1 = R, R2 = R ° R,... und f1 = f, f2 = f ° f,... Beachte, dass sich Kompositionsprodukt und kartesisches Produkt (→ Definition 4.27) wesentlich unterscheiden. Mittels Mengenoperationen, Umkehr- und Produktrelationen ergeben sich weitere Charakterisierungen der Eigenschaften homogener Relationen. Satz 4.33 Eigenschaften und Operationen Für eine Menge M und eine Relation R ⊆ M2 gilt: R ist reflexiv ⇔ id M ⊆ R (2) R ist irreflexiv ⇔ R ∩ idM = ∅. (3) R ist symmetrisch ⇔ R = R−1. (4) R ist asymmetrisch ⇔ ⇔ R ∩ R−1 = ∅ (R ∪ R2) ∩ idM = ∅. (5) R ist antisymmetrisch ⇔ R ∩ R−1 ⊆ idM. (6) R ist semikonnex ⇔ R ∪ R−1 ∪ idM = M. (7) R ist konnex ⇔ R ∪ R−1 = M. (8) R ist transitiv ⇔ R2 ⊆ R. (9) R ist intransitiv ⇔ R ∩ R2 = ∅. (10) Für n ∈ lN gilt: (11) R ist azyklisch 9.8.04 (1) R hat einen Zyklus der Länge n ⇔ ∪ n R n ∈ lN R ⊆ R 2. ⇔ Rn ∩ idM ≠ ∅. ∩ idM = R+ ∩ idM = ∅. (12) R ist reflexiv und transitiv (13) R ist symmetrisch und antisymmetrisch ⇔ ∀n ∈ lN : Rn = R. R ⊆ idM. (14) R ist Äquivalenzrelation und Halbordnung ⇔ R = idM. © Karlheinz Hug, Hochschule Reutlingen 4 - 26 4 Relationale Strukturen Welche der Eigenschaften von Definition 4.28 bleiben dem Durchschnitt und der Vereinigung von Relationen erhalten? Satz 4.34 Operationen und Eigenschaften Für ein System von Relationen R ⊆ P(M2) gilt: Sind alle R ∈ R reflexiv, symmetrisch, transitiv, Verträglichkeits- oder Äquiva- (1) lenzrelationen oder Präordnungen, so hat Ist wenigstens ein R ∈ R irreflexiv, asymmetrisch, antisymmetrisch, intransitiv (2) oder azyklisch, so hat ∩R dieselbe Eigenschaft. ∪R dieselbe Eigenschaft. (3) Sind alle R ∈ R irreflexiv oder symmetrisch, so hat (4) Ist wenigstens ein R ∈ R reflexiv, semikonnex oder konnex oder hat wenigstens ein R ∈ R einen Zyklus, so hat 4.2.1 ∩R dieselbe Eigenschaft. ∪R dieselbe Eigenschaft. Intervalle Bei homogenen Relationen kann man Nach- und Vorbereiche, insbesondere primitive, miteinander schneiden. Für transitive Relationen erhält man so einen verallgemeinerten Intervallbegriff, der speziell bei Zahlenmengen üblich ist. Bei nicht transitiven Relationen passt der Durchschnitt von Nach- und Vorbereichen nicht zu allen Eigenschaften, die wir uns bei einem Intervall vorstellen. Definition 4.35 Intervall Sind M eine Menge und R ⊆ M 2 eine transitive Relation, so heißt für x, y ∈ M [x, y]R := {z ∈ M | x R z ∧ z R y} = xR ∩ Ry das Intervall zwischen x und y zu R. Das Bild zeigt nicht alle Pfeile einer transitiven Relation. Bild 4.14 Intervall • [x, y] • • • • • © Karlheinz Hug, Hochschule Reutlingen • y x • 9.8.04 4.2 Homogene zweistellige Relationen 4 - 27 Auch mit Intervallen lassen sich einige Eigenschaften charakterisieren. Satz 4.36 Eigenschaften und Intervalle 4.2.2 Für eine Menge M und eine transitive Relation R ⊆ M2 gilt: (1) ∀x1, x2, y1, y2 ∈ M : [x1, y1]R ∩ [x2, y2]R = [x1, y2]R ∩ [x2, y1]R. (2) ∀x1, x2, y1, y2 ∈ M : ((x1 R y1 ∧ x2 R y2) ([y1, x2]R ⊆ [x1, y2]R ∧ [y2, x1]R ⊆ [x2, y1]R)). (3) R ist reflexiv ⇔ ∀x ∈ M : x ∈ [x, x]R. (4) R ist irreflexiv ⇔ ∀x ∈ M : x ∉ [x, x]R. (5) R ist symmetrisch ∀x, y ∈ M : [x, y]R = [y, x]R. (6) R ist asymmetrisch ⇔ ⇔ ∀x ∈ M : [x, x]R = ∅ ∀x, y ∈ M : [x, y]R ∩ [y, x]R = ∅. (7) R ist antisymmetrisch ⇔ ∀x ∈ M : [x, x]R ⊆ {x}. (8) R ist reflexiv und antisymmetrisch ⇔ ∀x ∈ M : [x, x]R = {x}. Abbildungen zwischen relationalen Strukturen Abbildungen übertragen Relationen auf ihrem Definitionsbereich in Relationen auf ihrem Wertebereich und umgekehrt. Definition 4.37 Bild und Urbild von Relationen Sind M, N Mengen, R ⊆ M2, S ⊆ N2 Relationen und f : M → N eine Abbildung, so heißt die Relation Rf := {(x, y) ∈ N2 | ∃v, w ∈ M : (f(v) = x ∧ f(w) = y ∧ v R w)} = {(f(v), f(w)) | v R w} das Bild von R unter f, und die Relation fS := {(v, w) ∈ M2 | f(v) S f(w)} heißt das Urbild von S unter f. Bijektionen erhalten alle Eigenschaften von Relationen. Welche Eigenschaften von Relationen bleiben unter allgemeinen Abbildungen invariant? Satz 4.38 Bilder von Relationen Sind M, N Mengen, R ⊆ M2 eine Relation und f : M → N eine Abbildung, so hat Rf dieselbe Eigenschaft wie R unter einer der folgenden Voraussetzungen: (1) (2) (3) (4) 9.8.04 R ist symmetrisch oder hat einen Zyklus. f ist surjektiv und R links-, rechts- oder bitotal, reflexiv, semikonnex, konnex oder eine Verträglichkeitsrelation. f ist injektiv und R links-, rechts- oder eineindeutig, irreflexiv, asymmetrisch, antisymmetrisch, transitiv, intransitiv, azyklisch oder eine strikte Halbordnung. f ist bijektiv und R hat eine der Eigenschaften der Definitionen 4.4 und 4.28. © Karlheinz Hug, Hochschule Reutlingen 4 - 28 4 Relationale Strukturen Da Abbildungen linkstotal und rechtseindeutig sind, bleiben Urbildern von Relationen mehr Eigenschaften erhalten als Bildern. Satz 4.39 Urbilder von Relationen Sind M, N Mengen, S ⊆ N2 eine Relation und f : M → N eine Abbildung, so hat fS dieselbe Eigenschaft wie S unter einer der folgenden Voraussetzungen: (1) (2) (3) (4) S ist reflexiv, irreflexiv, symmetrisch, asymmetrisch, konnex, transitiv, intransitiv, azyklisch, eine Verträglichkeits- oder Äquivalenzrelation, Prä- oder strikte Halbordnung oder hat einen Zyklus. f ist surjektiv und S links-, rechts- oder bitotal. f ist injektiv und S links-, rechts- oder eineindeutig, antisymmetrisch, semikonnex, eine Halb-, Voll- oder strikte Vollordnung. f ist bijektiv und S hat eine der Eigenschaften der Definitionen 4.4 und 4.28. Statt eine Relation von einer Menge auf eine andere Menge mittels einer Abbildung zu übertragen, kann man Abbildungen zwischen zwei gegebenen relationalen Strukturen danach untersuchen, ob sie mit den Strukturen verträglich sind. Strukturverträgliche Abbildungen heißen Morphismen. Definition 4.40 Relationale Morphismen Isomorphie Sind M, N Mengen und R ⊆ M2, S ⊆ N2 Relationen, so heißt eine Abbildung f : M → N ein (relationaler) Homomorphismus (mit R und S verträglich) :⇔ ∀x, y ∈ M : (x R y f(x) S f(y)); Isomorphismus :⇔ f ist ein bijektiver Homomorphismus und f−1 ist auch ein Homomorphismus, d.h. ∀x, y ∈ M : (f(x) S f(y) x R y), also ∀x, y ∈ M : (f(x) S f(y) ⇔ x R y); Automorphismus :⇔ f ist ein Isomorphismus und M = N. Den Bezug eines Morphismus zu den Strukturen verdeutlicht die Notation f : M, R → N, S. Die Strukturen M, R, N, S heißen (relational) isomorph, M, R ≅ N, S, wenn es einen Isomorphismus f : M, R → N, S gibt. Beispiele Sei G eine Grundmenge. (1) Für jede Relation R ⊆ G 2 ist idG ein Automorphismus auf G, R (auch für R = idG). (2) P(G), ⊆ → {P(M) | M ⊆ G}, ⊆, M → P(M) ist ein Isomorphismus (→ Korollar 1.9 S. 1-7). Für jedes N ⊆ G sind M → M ∩ N, M → M ∪ N und M → M \ N Homomorphismen auf P(G), ⊆ (→ Sätze 1.13 (4) S. 1-9, 1.15 (7) S. 1-10). Für jedes N ⊆ G ist P(G), ⊆ → P(G), ⊇, M → N \ M ein Homomorphismus (→ Satz 1.15 (8) S. 1-10). P(G), ⊆ → P(G), ⊇, M → M und P(G), ⊂ → P(G), ⊃, M → M sind Automorphismen (→ Satz 1.16 (7) S. 1-11). Für jede Relation R ⊆ M × N sind P(M), ⊆ → P(N), ⊆, L → LR und P(N), ⊆ → P(M), ⊆, O → RO Homomorphismen (→ Satz 4.3 (2)). (3) (4) (5) (6) | | | | | | | | | © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.3 Äquivalenzrelationen 4 - 29 Für jede Abbildung f : M → N sind P(M), ⊆ → P(N), ⊆, L → f[L] und −1 P(N), ⊆ → P(M), ⊆, O → f [O] Homomorphismen (→ Sätze 4.7 (3), 4.8 (3)). (7) | | Die Komposition von zwei Homo-, Iso- oder Automorphismen ist wieder ein Homo-, Iso- bzw. Automorphismus. Welche Beziehungen bestehen zwischen Bildern und Urbildern von Relationen und Morphismen? Direkt aus den Definitionen 4.37 und 4.40 folgt: Korollar 4.41 Bilder, Urbilder und Morphismen Sind M, N Mengen, R ⊆ M2, S ⊆ N2 Relationen und f : M, R → N, S ein Homomorphismus, so gilt: (1) (2) 4.3 Rf ⊆ S. R ⊆ fS. Äquivalenzrelationen Bei Äquivalenzrelationen, also reflexiven, symmetrischen und transitiven Relationen, geht es um das „Gleichmachen“ von Elementen. Wir haben schon eine Reihe von Äquivalenzrelationen kennen gelernt: Beispiele (1) (2) (3) (4) Die als Grundbeziehung nicht näher definierte Gleichheit von Dingen ist eine Äquivalenzrelation auf einer Menge von Dingen. Ist M ein Mengensystem, so ist die in Definition 1.2 S. 1-1 definierte Mengengleichheit „=“ nach Korollar 1.3 S. 1-2 eine Äquivalenzrelation auf M, die auf der logischen Äquivalenz basiert. Die Gleichheiten von Relationen, Abbildungen, n-Tupeln usw. sind als Spezialfälle der Mengengleichheit auch Äquivalenzrelationen. Ist A eine Menge von Aussagen, so sind die Äquivalenz „⇔“ nach Satz 2.21 S. 2-27 und die logische Äquivalenz „≡“ nach Korollar 2.22 S. 2-27 Äquivalenzrelationen auf A. Sie basieren auf der Gleichheit auf lB = {0, 1}. Weitere Äquivalenzrelationen kennen wir aus der Schulmathematik, dem Alltag und der Informatik: (5) (6) Parallelität von Geraden im n-dimensionalen Raum. Kongruenz und Ähnlichkeit von geometrischen Objekten wie Dreiecke, Vierecke, Kreise usw. (7) Alle Socken gleicher Größe und Farbe aus gleichem Material mit gleichem Webmuster sind äquivalent. (8) Alle Massenprodukte mit gleichen Eigenschaften sind äquivalent. (9) Alle Geldmünzen und -scheine mit gleichem Wert sind äquivalent. (10) Alle Module, die eine gegebene (vollständig spezifizierte) Schnittstelle (korrekt) implementieren, sind äquivalent. (11) Alle Algorithmen, die dieselbe Funktion berechnen, sind äquivalent. (12) Alle Systeme von EBNF-Regeln, die dieselbe Sprache beschreiben, sind äquivalent. Bei Äquivalenzrelationen abstrahieren wir von uninteressanten Eigenschaften und betrachten nur gerade interessante Eigenschaften. Alle Dinge, die die gleichen gerade interessanten Eigenschaften besitzen, sind äquivalent. l 9.8.04 Bei der Mengengleichheit interessiert, welche Elemente zu den Mengen gehören uninteressant ist, wie oft und in welcher Reihenfolge die Elemente vorkommen. © Karlheinz Hug, Hochschule Reutlingen 4 - 30 4 Relationale Strukturen l l l l l l l l l Bei den Aussagen interessieren die Interpretationen, die Wahrheitswerte - uninteressant ist, welche logischen Operationen in den Aussagen vorkommen. Bei den Geraden interessiert nur die Richtung, nicht die Lage. Bei den geometrischen Objekten interessiert nur die Form, nicht die Lage. Bei Socken interessiert nur, dass man sie paarweise anziehen kann. Bei einem Streichholz interessiert nur, ob es brennt, nicht wer es wann in welche Schachtel gesteckt hat. Beim Geld interessiert nur „Was kriege ich dafür?“, nicht woher es kommt. Bei einem Modul interessiert nur, dass es richtig funktioniert, nicht wie es implementiert ist. Bei einem Algorithmus interessiert nur das Ergebnis, nicht wie es berechnet wird. Bei EBNF-Regeln interessiert die Syntax der beschriebenen Sprache, nicht die Regeln für sich. Das bedeutet freilich nicht, dass wegabstrahierte Eigenschaften generell uninteressant sind. In anderen Zusammenhängen kann es durchaus darauf ankommen, wie ein Modul implementiert ist, wieviel Speicherplatz und Laufzeit ein Algorithmus benötigt, oder wie leicht sich die Syntaxanalyse bei gegebenen EBNF-Regeln gestaltet. Definition 4.42 Äquivalenzklasse Quotientenmenge Sei M eine Menge und R ⊆ M2 eine Äquivalenzrelation. Elemente x, y ∈ M mit xRy heißen äquivalent bzgl. R. Für x ∈ M heißt die Menge der zu x äquivalenten Elemente von M, [x]R := {y ∈ M | x R y}, die Äquivalenzklasse von x zu R. Wir nutzen die Kurzschreibweise [x] statt [x]R, wenn sie eindeutig und R bekannt ist. Jedes y ∈ [x]R heißt ein Repräsentant von [x]R. Die Menge aller Äquivalenzklassen zu R, M / R := {[x]R | x ∈ M} ⊆ P(M), M nach R heißt die Quotientenmenge (Faktormenge) von M zu R. Die offenbar surjektive Abbildung [.]R : M → M / R, x → [x]R, | die jedem Element von M seine Äquivalenzklasse zuordnet, heißt die kanonische (natürliche) Abbildung zu R. Die kanonische Abbildung ist eine Abstraktion: sie abstrahiert von uninteressanten Eigenschaften der Elemente x ∈ M. Das Ergebnis sind die Äquivalenzklassen [x]R, die durch die interessanten Eigenschaften bestimmt sind. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.3 Äquivalenzrelationen 4 - 31 Bild 4.15 Äquivalenzklassen Menge M • • • • • • • • • • durch Äquivalenzrelation R zerlegt in Äquivalenzklassen Zi • • Z1 • • • Z • 2 • • • kanonische Abbildung [.]R • Z3 • • Z4 • • Quotientenmenge M/R Z3 Z1 Z2 Z4 Der Hauptsatz über Äquivalenzrelationen besagt, dass sich Äquivalenzrelationen und echte Zerlegungen einer Menge entsprechen. Bevor wir ihn in zwei Sätze aufgespalten formal beweisen, veranschaulichen wir uns die Situation. Das Pfeildiagramm einer Äquivalenzrelation zerfällt in Teildiagramme, die durch keine Pfeile verbunden sind, aber innerhalb jedes Teildiagramms ist jeder Punkt mit jedem (auch sich selbst) durch einen Doppelpfeil verbunden. Identität Die Identität idM = {(x, x) | x ∈ M} ist eine Äquivalenzrelation. Zwei Elemente x, y ∈ M sind genau dann äquivalent bzgl. idM, wenn sie gleich sind, d.h. x = y. Es ist also idM = =. Die Äquivalenzklasse von x ist {x}. Die Quotientenmenge von M zu id M besteht aus den einelementigen Mengen, M / idM = {{x} | x ∈ M}. Die Identität ist die „feinste“ Äquivalenzrelation auf M, sie hat die größtmögliche Anzahl von Klassen, die alle möglichst klein sind. Allrelation Die Allrelation M2 ist eine Äquivalenzrelation. Alle Elemente sind äquivalent bzgl. M2. Die einzige Äquivalenzklasse ist M. Die Quotientenmenge von M zu M2 ist M / M2 = {M}. Die Allrelation ist die „gröbste“ Äquivalenzrelation auf M, sie hat die kleinstmögliche Anzahl von Klassen, die alle möglichst groß sind. Interessante Äquivalenzrelationen liegen zwischen der Identität und der Allrelation, sie sind gröber als die Identität und feiner als die Allrelation. Die Äquivalenzklassen [x]R einer Äquivalenzrelation R ⊆ M2 zerlegen M, ihre Produkte mit sich selbst, die [x]R2, zerlegen R. Eine Äquivalenzrelation ist also die disjunkte Vereinigung der Allrelationen ihrer Äquivalenzklassen. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 32 4 Relationale Strukturen Bild 4.16 Äquivalenzrelationen in einer kartesischen Ebene Z5 Z4 Z3 Z2 Z1 Z1 Z2 Z3 Z4 Z5 Identität Allrelation Stellen wir die Äquivalenzrelation in einer kartesischen Ebene oder als Matrix dar und gruppieren äquivalente Elemente nebeneinander zusammen zu ihren Äquivalenzklassen Zi, so ergibt sich für die Äquivalenzrelation als Muster die Diagonale aus den mit den Äquivalenzklassen Zi gebildeten Quadraten Zi2. Der Identität idM entspricht die „dünnste“ Diagonale, der Allrelation M2 die „dickste“. Satz 4.43 Eigenschaften von Äquivalenzrelationen Für eine Menge M und eine Äquivalenzrelation R ⊆ M2 gilt: (1) Alle Äquivalenzklassen sind nicht leer: ∀x ∈ M : x ∈ [x]R. (2) Die Äquivalenzklassen überdecken M: ∪ [ x ]R = M. x∈M (3) Jeder Repräsentant einer Äquivalenzklasse bestimmt dieselbe Äquivalenzklasse, d.h. jede Äquivalenzklasse ist unabhängig von der Wahl eines Repräsentanten bestimmt: ∀x, y ∈ M : (x R y ⇔ [x]R = [y]R). (4) Jedes Element gehört zu genau einer Äquivalenzklasse, d.h. zwei Äquivalenzklassen sind entweder gleich oder disjunkt: ∀x, y ∈ M : ([x]R ≠ [y]R ⇔ [x]R ∩ [y]R = ∅). (5) Die Äquivalenzklassen zerlegen M, d.h. die Quotientenmenge M / R ist eine echte Zerlegung von M. Die Produkte der Äquivalenzklassen mit sich selbst zerlegen R, d.h. {[x]R2 | x ∈ M} ist eine echte Zerlegung von R: (6) ∪ [ x ]R2 = R. x∈M Beweis. (1) Sei x ∈ M. Da R reflexiv ist, gilt x R x. Daraus folgt x ∈ [x]R. (2) folgt direkt aus (1). (Im Fall M = ∅ ist R = ∅ und M / R = ∅. Dann ist die Vereinigung der 0 Mengen aus M / R leer, also gleich M.) (3) Seien x, y ∈ M. „“: Seien x R y und z ∈ [x]R. Dann gilt x R z. Da R symmetrisch ist, gilt auch y R x. Da R transitiv ist, gilt auch y R z, also z ∈ [y]R. Damit ist [x]R ⊆ [y]R. Analog folgt die umgekehrte Inklusion [y]R ⊆ [x]R und damit [x]R = [y]R. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.3 Äquivalenzrelationen 4 - 33 „⇐“: Sei [x]R = [y]R. Da R reflexiv ist, gilt x R x, also x ∈ [x]R = [y]R, also y R x. Da R symmetrisch ist, gilt auch x R y. (4) Seien x, y ∈ M. Wir zeigen die kontraponierten Implikationen. [x]R = [y]R [x]R ∩ [y]R ≠ ∅: Aus [x] = [y] und (1) folgt [x] ∩ [y] = [x] ≠ ∅. [x]R ∩ [y]R ≠ ∅ [x]R = [y]R: Es gibt ein z ∈ [x] ∩ [y]. Mit (3) gilt: z ∈ [x] ∧ z ∈ [y] ⇔ x R z ∧ y R z ⇔ x R z ∧ z R y x R y ⇔ [x] = [y]. (5) folgt aus (1), (2) und (4). p (6) folgt aus (1), (3) und (4). Theorem 4.44 Äquivalenzrelationen und Zerlegungen R Sei M eine Menge. (1) Ist Z ⊆ P(M) eine echte Zerlegung von M, so ist RZ := {(x, y) ∈ M2 | ∃Z ∈ Z : x, y ∈ Z} eine Äquivalenzrelation auf M, deren Quotientenmenge gleich Z ist: M / RZ = Z . Wir bezeichnen RZ als die durch Z induzierte Äquivalenzrelation auf M. (2) Für jede Äquivalenzrelation R ⊆ M2 stimmt die durch die Quotientenmenge M / R induzierte Äquivalenzrelation mit R überein: RM / R = R. Beweis. (1) Im Fall M = ∅ ist Z = ∅ und RZ = ∅. Sei also M ≠ ∅. Reflexivität: Sei x ∈ M. Da Z eine echte Zerlegung ist, gibt es ein Z ∈ Z mit x ∈ Z. Damit gilt x RZ x. Symmetrie: folgt direkt aus der Kommutativität der Konjunktion. Transitivität: Seien x, y, z ∈ M mit x RZ y und y RZ z. Dann gibt es genau ein Zxy ∈ Z mit x, y ∈ Zxy und genau ein Zyz ∈ Z mit y, z ∈ Zyz. Damit ist y ∈ Zxy ∩ Zyz. Da Z eine Zerlegung ist, folgt Zxy = Zyz. Damit sind x, z ∈ Zxy, also x RZ z. Es bleibt zu zeigen: M / RZ = Z. „⊆“: Ist [x] ∈ M / RZ, so gibt es (da Z eine echte Zerlegung ist) genau ein Z ∈ Z mit x ∈ Z. Da für y ∈ M gilt: y ∈ [x] ⇔ x RZ y ⇔ y ∈ Z, ist [x] = Z. „⊇“: Ist Z ∈ Z, so gibt es (da Z eine echte Zerlegung ist) ein x ∈ Z. Da für y ∈ M gilt: y ∈ Z ⇔ x RZ y ⇔ y ∈ [x], ist Z = [x]. (2) „⊆“: Ist x RM / R y, so gibt es ein z ∈ M mit x, y ∈ [z]R. Daraus folgt z R x und z R y. Da R symmetrisch und transitiv ist, folgt x R y. „⊇“: Aus x R y folgt x, y ∈ [x]R und daraus x RM / R y. p Alle Repräsentanten einer Äquivalenzklasse sind äquivalent, daher ist es „egal, welchen man nimmt“. Oft bieten sich besonders „handliche“ Repräsentanten an, aus denen man ein Repräsentantensystem bildet. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 34 Definition 4.45 Repräsentantensystem 4 Relationale Strukturen Ist R ⊆ M2 eine Äquivalenzrelation, so heißt eine Teilmenge N ⊆ M :⇔ ⇔ ein Repräsentantensystem zu R Beispiel 4.1 Diskretisierung M / R = {[y]R | y ∈ N} ∀x ∈ M ∃1y ∈ N : x R y. Beispielsweise bilden wir beim Diskretisieren stetiger Größen Äquivalenzklassen. Für x ∈ ! bezeichnet x den ganzzahligen Anteil von x, also die größte ganze Zahl n ∈ mit n ≤ x. Durch ' xRy :⇔ x ! = y ! für x, y ∈ ist eine Äquivalenzrelation R auf definiert. Reelle Zahlen mit gleichem ganzzahligen Anteil sind äquivalent. (In der Notation von Definition 4.37 ist R = .id', das Urbild der Gleichheit unter .. Nach Satz 4.39 (1) ist R eine Äquivalenzrelation, weil die Gleichheit eine ist.) Ein handliches Repräsentantensystem bilden offenbar die ganzen Zahlen: Es ist ⊆ und zu jedem x ∈ gibt es genau ein n ∈ mit x R n, nämlich n := x. In einem so diskretisierten System repräsentieren ganze Zahlen reelle Zahlen. ' ! ! ' F Nach- und Vorbereich Im Folgenden sei R ⊆ M2 eine Äquivalenzrelation. Die Nach- und Vorbereiche von Elementen von R sind die Äquivalenzklassen dieser Elemente, denn es gilt: xR = {y ∈ M | x R y} = [x]R, Ry = {x ∈ M | x R y} = [y]R. Die kanonische Abbildung zu R stimmt bis auf den Wertebereich mit den Abbildungen M → P(M), x → xR, | M → P(M), x → Rx | Intervall überein (→ S. 3). Die Intervalle von R sind leer oder stimmen mit Äquivalenzklassen überein, denn es gilt: [x, y]R = {z ∈ M | x R z ∧ z R y} = xR ∩ Ry = [x]R ∩ [y]R. Deshalb lassen sich Äquivalenzrelationen auch mittels Bereichen charakterisieren. Satz 4.46 Charakterisierung von Äquivalenzrelationen Ist M eine Menge und R ⊆ M2 eine Relation, so sind folgende Aussagen äquivalent: (1) (2) (3) (4) R ist eine Äquivalenzrelation. ∀x ∈ M ∃y ∈ M : x R y ∧ ∀x, y, z ∈ M : ((x R z ∧ y R z) x R y). ∀x ∈ M ∃y ∈ M : y R x ∧ ∀x, y, z ∈ M : ((z R x ∧ z R y) x R y). ∀x ∈ M : xR ≠ ∅ ∧ ∀x, y ∈ M : (xR ∩ yR ≠ ∅ x R y). (5) ∀x ∈ M : Rx ≠ ∅ ∧ ∀x, y ∈ M : (Rx ∩ Ry ≠ ∅ x R y). (6) ∀x ∈ M : x ∈ xR = Rx = ( R )R . x (7) ∀x ∈ M : x ∈ xR = Rx = R ( R ) . x (8) ∀x, y ∈ M : (x R y ⇔ xR = yR). (9) ∀x, y ∈ M : (x R y ⇔ Rx = Ry). (10) idM ⊆ R = R−1 = R2. Es folgen einige Anwendungen von Äquivalenzrelationen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.3 Äquivalenzrelationen 4.3.1 4 - 35 Faktorisierung von Abbildungen Bei einer Abbildung kann man alle Urbildelemente mit gleichem Bildelement als äquivalent betrachten. Die Abbildung lässt sich dann in einen surjektiven und einen injektiven Teil zerlegen. Bild 4.17 Faktorisierungsdiagramm M f surjektiv [.]∼f N injektiv f M / ∼f Satz 4.47 Faktorisierung einer Abbildung Für Mengen M, N und eine Abbildung f : M → N gilt: (1) Durch ∼f := {(x, y) ∈ M2 | f(x) = f(y)} = {(x, y) ∈ M 2 | y ∈ f−1[{f(x)}]} = f−1 ° f (2) ist eine Äquivalenzrelation auf M definiert; sie heißt die durch f induzierte Identifizierung. Für die Quotientenmenge gilt: M / ∼f = {f−1[{z}] | z ∈ f[M]}. (3) Die Äquivalenzklassen f−1[{z}] heißen Fasern von f. Durch f : M / ∼f → N, [ x ] ~ → f(x) f | (4) ist eine injektive Abbildung definiert; sie heißt die zu f gehörige Injektion. f ist die Komposition einer surjektiven und einer injektiven Abbildung: f = f ° [ ]~ , f d.h. das Faktorisierungsdiagramm Bild 4.17 kommutiert. Beweis. (1) In der Notation von Definition 4.37 ist ∼f = fidN, das Urbild der Gleichheit unter f. Nach Satz 4.39 (1) ist ∼f eine Äquivalenzrelation, weil die Gleichheit eine ist. (2) Für x, y ∈ M gilt: y ∈ [ x ] ~ ⇔ x ∼f y ⇔ f(x) = f(y) ⇔ y ∈ f−1[{f(x)}]. f (3) Es ist zu zeigen, dass f wohldefiniert ist: f ist offenbar linkstotal. f ist rechtseindeutig, da für x, y ∈ f−1[{z}] gilt: f(x) = z = f(y). Zudem ist f injektiv, denn aus f([x]) = f(x) = f(y) = f([y]) folgt [x] = [y]. (4) Für x ∈ M gilt: (f ° [ ] ~ )(x) = f( [ x ] ~ ) = f(x). f f F Eine Abbildung ist also auf jeder ihrer Fasern konstant und ordnet verschiedenen Fasern verschiedene Werte zu. Die Äquivalenzklassen [x]R einer Äquivalenzrelation R sind die Fasern der kanonischen Abbildung [.]R zu R. Jede Äquivalenzrelation ist durch ihre kanonische Abbildung induziert. Eine Äquivalenzrelation R auf M zerlegt einen Homomorphismus f : M, R → N, = in zwei Faktoren. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 36 Bild 4.18 Zerlegung eines Homomorphismus 4 Relationale Strukturen M, f R N, surjektiv [.]R = g M/R Satz 4.48 Zerlegung eines Homomorphismus Sind M, N Mengen, R ⊆ M2 eine Äquivalenzrelation und f : M, R → N, = ein Homomorphismus, so ist durch g([x]R) := f(x) für [x]R ∈ M / R eine Abbildung g : M / R → N mit g ° [.]R = f definiert, d.h. das Diagramm Bild 4.18 kommutiert. Beweis. Es ist nur zu zeigen, dass g wohldefiniert ist, was sich hier auf die Rechtseindeutigkeit reduziert. Aus [x] = [y] muss f(x) = f(y) folgen, d.h. die Gleichung g([x]) = f(x) muss unabhängig vom Repräsentanten y ∈ [x] gelten. Aus [x] = [y] folgt aber x R y und, da f ein Homomorphismus ist, f(x) = f(y). F Ist auch auf N eine Äquivalenzrelation S definiert, so überträgt sich ein Homomorphismus f : M, R → N, S auf die Quotientenmengen. Bild 4.19 Übertragung eines Homomorphismus M, R surjektiv [.]R M/R Satz 4.49 Übertragung eines Homomorphismus f g h N, S [.]S surjektiv N/S Sind M, N Mengen, R ⊆ M2, S ⊆ N2 Äquivalenzrelationen und f : M, R → N, S ein Homomorphismus, so ist durch h([x]R) := [f(x)]S für [x]R ∈ M / R eine Abbildung h : M / R → N / S mit h ° [.]R = [.]S ° f definiert, d.h. das Diagramm Bild 4.19 kommutiert. Beweis. Mit g wie in Satz 4.48 ist h([x]R) := [f(x)]S = [g([x]R)]S. Da g wohldefiniert ist, ist es auch h = [.]S ° g. F Es gilt auch die Umkehrung: Gibt es eine Abbildung h, die das Diagramm Bild 4.19 kommutativ macht, so ist f ein Homomorphismus. Zusammen erhalten wir eine Charakterisierung von mit Äquivalenzrelationen verträglichen Morphismen. Satz 4.50 Homomorphismen von Äquivalenzrelationen Für Mengen M, N mit Äquivalenzrelationen R ⊆ M2, S ⊆ N2 und einer Abbildung f : M → N gilt: f ist ein Homomorphismus von M, R nach N, S genau dann, wenn es eine Abbildung h : M / R → N / S mit h ° [.]R = [.]S ° f gibt. Beweis. „“: Satz 4.49. „⇐“: Seien x, y ∈ M mit x R y. Da R eine Äquivalenzrelation ist, ist [x]R = [y]R. Damit ist [f(x)]S = ([.]S ° f)(x) = (h ° [.]R)(x) = h([x]R) = h([y]R) = (h ° [.]R)(y) = ([.]S ° f)(y) = © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.3 Äquivalenzrelationen 4 - 37 [f(y)]S. Da S eine Äquivalenzrelation ist, folgt f(x) S f(y). Also ist f ein Homomorphismus. F 4.3.2 Von Präordnungen zu Halbordnungen Zu einer Präordnung lässt sich durch Faktorisierung eine Halbordnung konstruieren. Oft will man sogar eine Vollordnung haben. Beispiel 4.2 Studierende Aufgaben Punkte Das Problem ist, die Leistung von StudentInnen anhand von ihnen gelöster Aufgaben zu bewerten. Seien also M = {Ali, Eva, Ina, Udo} eine Menge von StudentInnen und N = {1, 2, 3, 4} eine Menge von Aufgaben. Die Abbildung l : M → P(N) ordnet jeder StudentIn die Menge der von ihr gelösten Aufgaben zu, etwa l(Ali) = {1, 2}, l(Eva) = {1, 2, 3}, l(Ina) = {2, 3, 4}, l(Udo) = {1, 2}. Wir können Ali und Udo gleich bewerten. Eva hat mehr geleistet als Ali und Udo. Ina ist mit keiner anderen vergleichbar. Wie stellt sich das formal dar? P(N), ⊆ ist eine halbgeordnete Menge. Nach Definition 4.37 ist das Urbild l⊆ von ⊆ unter l definiert durch x l⊆ y :⇔ l(x) ⊆ l(y) für x, y ∈ M und bedeutet „x hat höchstens die Aufgaben gelöst, die y gelöst hat“. Ihre Umkehrrelation (l⊆)−1 bedeutet „x hat mindestens die Aufgaben gelöst, die y gelöst hat“. Sie ist das Urbild der Umkehrrelation von ⊆, also von ⊇ unter l: x (l⊆)−1 y ⇔ y l⊆ x ⇔ l(y) ⊆ l(x) ⇔ l(x) ⊇ l(y) ⇔ x l⊇ y. Nach Satz 4.39 (1) sind l⊆ und l⊇ Präordnungen auf M, aber keine Halbordnungen, da sie nicht antisymmetrisch sind, wie Ali l⊆ Udo und Udo l⊆ Ali, aber Ali ≠ Udo zeigt. Nur falls l injektiv ist, ist l⊆ eine Halbordnung. Für die Durchschnittsrelation ≈l⊆ := l⊆ ∩ l⊇ gilt x ≈l⊆ y ⇔ x l⊆ y ∧ x l⊇ y ⇔ l(x) ⊆ l(y) ∧ l(x) ⊇ l(y) ⇔ l(x) = l(y) für x, y ∈ M. Das bedeutet „x hat dieselben Aufgaben gelöst wie y“. ≈l⊆ ist nach Konstruktion symmetrisch und nach Satz 4.34 (1) reflexiv und transitiv, also eine Äquivalenzrelation auf M. Die Quotientenmenge ist im Beispiel M / ≈l⊆ = {{Ali, Udo}, {Eva}, {Ina}}. Wir übertragen nun die Präordnung l⊆ von M auf die Quotientenmenge M / ≈l⊆, d.h. wir betrachten nach Definition 4.37 das Bild 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 38 4 Relationale Strukturen ≤l⊆ := l⊆[.]≈ von l⊆ unter der kanonischen Abbildung [.]≈ zu ≈l⊆: [x]≈ ≤l⊆ [y]≈ ⇔ x l⊆ y ⇔ l(x) ⊆ l(y). Es ist leicht zu zeigen, dass ≤l⊆ eine Halbordnung auf M / ≈l⊆ ist. Ziel ist, die Leistungen von je zwei Studierenden vergleichen zu können. Dazu ordnen wir mit der Abbildung p : N → lN jeder Aufgabe a ∈ N eine Punktzahl p(a) ∈ lN zu. Die Abbildung s : P(N) → lN, A → | å a∈A p(a) ordnet jeder Teilmenge von Aufgaben die Summe ihrer Punkte zu. Die Kompositionsabbildung s ° l : M → lN , x → s(l(x)) = | å a ∈ l( x ) p( a ) ordnet jeder StudentIn die Summe der Punkte der von ihr gelösten Aufgaben zu. ≤ ist eine vollgeordnete Menge. Nach Definition 4.37 ist das Urbild (s ° l)≤ von ≤ unter s ° l definiert durch lN , x (s ° l)≤ y :⇔ s(l(x)) ≤ s(l(y)) für x, y ∈ M und bedeutet „x hat höchstens so viele Punkte erreicht wie y“. Ihre Umkehrrelation (s ° l)≥ bedeutet „x hat mindestens so viele Punkte erreicht wie y“. Nach Satz 4.39 (1) sind (s ° l)≤ und (s ° l)≥ Präordnungen auf M. Die von (s ° l)≤ induzierte Äquivalenzrelation ≈(s ° l)≤ := (s ° l)≤ ∩ (s ° l)≥ auf M bedeutet: „x hat gleich viele Punkte erreicht wie y“. Sie induziert eine Vollordnung auf der Quotientenmenge M / ≈(s ° l)≤. Eva schneidet unter jeder Punktezuordnung p besser als Ali und Udo ab, die stets gleich gut sind. Die Leistung von Ina hängt von p ab. Wählen Sie p so, dass Ina (1) (2) (3) (4) (5) Beste, Zweitbeste, Drittbeste, gleich gut wie Eva, gleich gut wie Ali und Udo wird! © Karlheinz Hug, Hochschule Reutlingen F 9.8.04 4.4 Gleichmächtigkeit und Mächtigkeit von Mengen Satz 4.51 Äquivalenzrelation und Halbordnung zu einer Präordnung 4 - 39 Sind M eine Menge und R ⊆ M 2 eine Präordnung, so ist durch x ≈R y :⇔ xRy∧yRx für x, y ∈ M, also durch ≈R := R ∩ R−1 eine Äquivalenzrelation auf M und durch [x]≈ ≤R [y]≈ :⇔ xRy für x, y ∈ M, also durch das Bild von R unter der kanonischen Abbildung zu ≈R, ≤R := R[.]≈ eine Halbordnung ≤R auf M / ≈R definiert. Wir nennen ≈R die durch R induzierte Äquivalenzrelation und ≤R die durch R induzierte Halbordnung. Beweis. Dass ≈R eine Äquivalenzrelation ist, ist klar. Nach Satz 4.38 (2) ist ≤R reflexiv. Antisymmetrie: [x] ≤ [y] ∧ [y] ≤ [x] ⇔ x R y ∧ y R x ⇔ x ≈ y ⇔ [x] = [y]. Transitivität: [x] ≤ [y] ∧ [y] ≤ [z] ⇔ x R y ∧ y R z x R z ⇔ [x] ≤ [y]. F 4.4 Gleichmächtigkeit und Mächtigkeit von Mengen 4.4.1 Kardinalzahlen Anzahlaspekt Oft wollen wir etwas über die Größe, den Umfang von Mengen wissen: Besitzen zwei Mengen gleich viele Elemente oder besitzt eine mehr als die andere? Wie viele Elemente gehören zu einer Menge? Dazu brauchen wir Anzahlen, also Zahlen, die den Anzahlaspekt ausdrücken. Anzahlen sind Abstraktionen von Mengen mit gleich vielen Elementen: Drei Käfer, drei Steine, drei Nüsse, drei Eier - gemeinsam ist diesen konkreten Dreiermengen die abstrakte Anzahl drei. Wir lernen diesen Abstraktionsprozess als Kinder. Hier formalisieren wir ihn. Den Begriff der Anzahl der Elemente einer Menge, den wir in Definition 1.4 S. 1-2 vage benutzt haben, können wir mit dem Begriff der Äquivalenzrelation streng definieren, sogar ohne natürliche Zahlen zu verwenden. Definition 4.52 Cantorsche Gleichmächtigkeitsdefinition Beispiele Die Mengen M, N heißen gleichmächtig, M ∼ N, wenn es eine Bijektion f : M → N gibt. {1, 2, 3} und {a, b, c} sind gleichmächtig, da 1 ↔ a, 2 ↔ b, 3 ↔ c eine Bijektion ist. Ob zwei endliche Mengen M, N gleichmächtig sind, lässt sich leicht algorithmisch ermitteln:1 gleichmächtig (M, N) :⇔ K := M; L := N; WHILE K ≠ ∅ ∧ L ≠ ∅ DO wähle x ∈ K, y ∈ L; bilde x ↔ y; K := K \ {x}; L := L \ {y} END; result := K = ∅ ∧ L = ∅. Programm 4.1 Gleichmächtigkeit von Mengen 1 Im Folgenden in Pseudocode verwendete algorithmische Konstrukte orientieren sich syntaktisch und semantisch an Component Pascal. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 40 4 Relationale Strukturen Ist M oder N endlich, so terminiert der Algorithmus. Er konstruiert eine Injektion der „kleineren“ in die „größere“ Menge. Sind beide Mengen gleichmächtig, so ist die konstruierte Abbildung auch surjektiv, also bijektiv. Sind beide Mengen unendlich, so läuft der Algorithmus endlos. Beachte, dass der Algorithmus die Elemente nicht im Sinn eines Durchnummerierens zählt, sondern nur einander zuordnet. lN und 2lN := {2n | n ∈ lN } = {2, 4, 6,...}, die Menge der geraden Zahlen, sind gleichmächtig, da n ↔ 2n eine Bijektion ist. Über solche Bijektionen zwischen der Menge der natürlichen Zahlen und einer ihrer echten Teilmengen wunderte sich schon Galilei1 - er fand sie paradox. Die galileische Paradoxie ist aber im Unterschied zur russellschen Antinomie nicht widersprüchlich. (Paradoxien erscheinen Anfängern als falsch, sind es aber nicht.) Im Gegenteil - diese Idee stellt Definition 1.4 S. 1-2 auf eine solide Basis. Definition 4.53 Dedekindsche 2 Endlichkeitsdefinition Eine Menge M heißt unendlich (infinite), wenn sie zu einer ihrer echten Teilmengen gleichmächtig ist, d.h. ∃N ⊂ M : M ∼ N; sonst endlich (finite). Beispiele lN ist unendlich, da 2lN ⊂ lN und lN ∼ 2lN. {1, 2, 3} ist endlich. Satz 4.54 Gleichmächtigkeit als Äquivalenzrelation Die Gleichmächtigkeit ist eine Äquivalenzrelation auf jedem Mengensystem M: ∼ ⊆ M 2. Beweis. Reflexivität: M ∼ M, da idM bijektiv ist. Symmetrie: Aus M ∼ N folgt N ∼ M, da mit f : M → N auch f−1 bijektiv ist. Transitivität: folgt aus Satz 4.20 (6). F Gleichmächtige Mengen sind charakterisiert durch Bijektionen, die von Strukturen abstrahieren. Beziehen wir relationale Strukturen ein, so kommen wir zum Isomorphiebegriff von Definition 4.40. Der Beweis von Satz 4.54 gilt analog mit der Isomorphie anstelle der Gleichmächtigkeit. Satz 4.55 Isomorphie als Äquivalenzrelation Ist M ein Mengensystem und S = {M, R | M ∈ M ∧ R ⊆ M 2} ein System relationaler Strukturen, so ist die (relationale) Isomorphie eine Äquivalenzrelation auf S: ≅ ⊆ S2. 1 Galileo Galilei (1564 - 1642), italienischer Physiker, Astronom, entdeckte drei Jupitermonde, wurde von der Inquisition der katholischen Kirche unter Androhung der Folter gezwungen, kopernikanischen Ideen und heliozentrischem Weltbild abzuschwören. 2 Richard Dedekind (1831 - 1916), deutscher Mathematiker. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.4 Gleichmächtigkeit und Mächtigkeit von Mengen Definition 4.56 Mächtigkeit 4 - 41 Sei M, ∼ ein mit der Gleichmächtigkeit versehenes Mengensystem. Für M ∈ M heißt die Äquivalenzklasse [M]∼ die Mächtigkeit oder Kardinalzahl (Kardinalität) von M. Für die kanonische Abbildung zu ∼ benutzen wir die Schreibweise |.| := [.]∼ : M → M / ∼, M → |M| := [M]∼. | Ist M endlich, so heißt die Mächtigkeit |M| endlich, sonst transfinit (unendlich). In der Literatur sind auch folgende Schreibweisen gebräuchlich: #M := card(M) := |M|. Ist M, ∼ ein Mengensystem, das mit jeder Menge auch alle ihre Teilmengen enthält, so gilt mit Definition 4.53 für M ∈ M: M 4.4.2 M ist unendlich ⇔ ∃N ⊂ M : |M| = |N|. M ist endlich ⇔ ∀N ⊂ M : |M| ≠ |N|. Wir können die Begriffe der Gleichmächtigkeit und Mächtigkeit von Mengen (und Isomorphie von Strukturen) nur relativ zu einem gewählten wohldefinierten Mengensystem definieren. Eine „Menge aller Mengen“ dürfen wir nicht zugrunde legen - die gibt es nicht, weil sie zu logischen Widersprüchen führen würde (→ Leitlinie 1.1 S. 1-3). Ordinalzahlen Unsere Definition der Mächtigkeit einer Menge ist reichlich abstrakt. Sie ist das Ergebnis eines Abstraktionsprozesses, der alle gleichmächtigen Mengen zu Äquivalenzklassen zusammenfasst und ihre sonstigen Eigenschaften abstreift. Wie können wir uns die Mächtigkeit |M| einer Menge M als Anzahl ihrer Elemente, als Kardinalzahl vorstellen? Gibt es für jede Mächtigkeit eine „Standardmenge“, die diese Anzahl repräsentiert? Wir wollen Zahlen nicht als neue mathematische Objekte einführen, sondern aus dem Mengenbegriff heraus entwickeln. Dazu konstruieren wir geeignete Repräsentanten der endlichen Mächtigkeiten |M|, die ja Äquivalenzklassen sind, und setzen dann diese Repräsentanten anstelle der Äquivalenzklassen ein. Zählen So wie die frühen Menschen das Zählen lernten, indem sie die Finger benutzten und Kerben in Holz- und Knochenstücke ritzten: |||||..., konstruieren wir die natürlichen Zahlen als spezielle Mengen aus der leeren Menge. Als ersten Versuch führen wir statt einer einfachen Strichliste eine doppelte, bei der die Mengenklammern „{“ und „}“ als Striche dienen, mit denen wir die Doppelstrichliste beidseitig erweitern: 0 := ∅ = {}. 1 := {0} = {∅} = {{}}. 2 := {1} = {{0}} = {{∅}} = {{{}}}. 3 := {2} = {{1}} = {{{0}}} = {{{∅}}} = {{{{}}}}. ... Die induktive Definition dazu lautet: (1) (2) 9.8.04 0 := {} ist eine Versuchszahl. Ist n eine Versuchszahl, so ist auch {n} eine Versuchszahl. © Karlheinz Hug, Hochschule Reutlingen 4 - 42 Ordnungsaspekt L 4 Relationale Strukturen Die Versuchszahlen folgen aufeinander: Nach der Null kommt die Erste, dann die Zweite, dann die Dritte, usw. Sie zeigen so einen weiteren Aspekt von Zahlen, den Ordnungsaspekt. Leider scheitert der Versuch daran, den Anzahlaspekt geeignet zu erfassen, da alle Versuchszahlen bis auf 0 gleichmächtig sind, sie haben die Mächtigkeit |1|. Deshalb passen wir den Ansatz unserem Ziel an, indem wir dem Nachfolger der Zahl n nicht nur n als Element mitgeben, sondern alle vorhergehenden Zahlen: 0 := ∅ = {}. 1 := 0+ := {0} = {∅} = {{}}. 2 := 1+ := {0, 1} = {0, {0}} = {∅, {∅}} = {{}, {{}}}. 3 := 2+ := {0, 1, 2} = {0, {0}, {0, {0}}} = {{}, {{}}, {{}, {{}}}}. ... n+ := {0, 1,.., n} = n ∪ {n}. Definition 4.57 Natürliche Ordinalzahl Die Menge lN0 der natürlichen Ordinalzahlen ist induktiv definiert durch: (1) 0 := {} ∈ lN0. (2) ∀n ∈ lN0 : n+ := n ∪ {n} ∈ lN0. n+ heißt Nachfolger (successor) von n. Für jede Menge M gilt: (0 ∈ M ∧ ∀n ∈ M : n+ ∈ M) (3) lN 0 ⊆ M. Wir setzen lN := lN0 \ {0}. Nach (1) und (2) ist jede natürliche Ordinalzahl die Menge, die genau die vorhergehenden natürlichen Ordinalzahlen umfasst, angefangen mit der leeren Menge als Null. Der Nachfolger einer natürlichen Ordinalzahl n hat ein Element mehr als n. (3) bedeutet, dass lN0 die „kleinste“ Menge mit den Eigenschaften (1) und (2) ist (→ 4.5.5). Verschiedene natürliche Ordinalzahlen haben verschiedene Mächtigkeit, da es keine Bijektion zwischen ihnen gibt. Definition 4.58 Natürliche Kardinalzahl Ist M, ∼ ein mit der Gleichmächtigkeit versehenes Mengensystem mit heißen die Äquivalenzklassen der natürlichen Ordinalzahlen n ∈ lN0, lN 0 ⊆ M, so |n| = [n]∼, natürliche Kardinalzahlen. Der folgende Satz über die Begriffe der Definitionen 4.52, 4.56, 4.57 und 4.58 ist einleuchtend, obwohl sein Beweis nicht trivial ist. Satz 4.59 Endlichkeit ist Natürlichkeit Eine Menge ist genau dann endlich, wenn sie gleichmächtig zu einer natürlichen Ordinalzahl ist. Eine Kardinalzahl ist genau dann endlich, wenn sie natürlich ist. Abkürzung Um die Sprechweisen zu vereinfachen, identifizieren wir die Begriffe Ordinalzahl und Kardinalzahl so: Ist eine Menge gleichmächtig zu einer natürlichen Ordinalzahl n ∈ lN0, d.h. gilt M∼n d.h. © Karlheinz Hug, Hochschule Reutlingen |M| = [M]∼ = [n]∼ = |n|, 9.8.04 4.4 Gleichmächtigkeit und Mächtigkeit von Mengen 4 - 43 so nennen wir auch die Ordinalzahl n Mächtigkeit oder Kardinalzahl von M, identifizieren also die Äquivalenzklasse |n| und ihren Repräsentanten n und schreiben kurz |M| = n. Entsprechend bezeichnen lN0 und lN auch die Mengen aller natürlichen Kardinalzahlen mit und ohne Null. Die natürlichen Ordinalzahlen sind Standardmengen, sie repräsentieren alle Mächtigkeiten endlicher Mengen analog wie der in Paris aufbewahrte Urmeterstab alle Gegenstände der Länge 1 m repräsentiert. Mit Satz 4.59 ergibt sich: Korollar 4.60 Beispiele Für eine Menge M gilt: (1) M ist endlich ⇔ ∃n ∈ lN0 : |M| = n. (2) M ist unendlich ⇔ ∀n ∈ lN0 : |M| ≠ n. {1, 2, 3} ist endlich, da |{1, 2, 3}| = |{0, 1, 2}| = |3| = 3. lN ist unendlich, da für alle n ∈ lN0 gilt: |lN| ≠ n. Unendlichkeitsaxiom Wir haben in Definition 4.57 die natürlichen Ordinalzahlen auf der Basis der naiven Mengenlehre mit der leeren Menge konstruiert. Dürfen wir das überhaupt? Oder droht das zu Widersprüchen zu führen? Als Erster formulierte der neunzehnjährige Hans von Neumann1 diese Idee 1923 in einem Brief an Ernst Zermelo2, der 1908 das erste Axiomensystem der Mengenlehre vorgelegt hatte. So fand die Idee Eingang in die axiomatische Mengenlehre, die heute üblicherweise neben anderen Axiomen das Unendlichkeitsaxiom bietet, das gerade diese Konstruktion erlaubt. Wir dürfen uns also beruhigt zurücklehnen. Transfinite Kardinalzahl Die natürlichen Kardinalzahlen repräsentieren nicht alle Mächtigkeiten, nur die endlichen. Welche Mächtigkeit hat z.B. die unendliche Menge lN? Wir definieren als erste transfinite Kardinalzahl ℵ0 := |lN|, gesprochen „aleph null“. Das Symbol ℵ (aleph) ist der erste Buchstabe des hebräischen Alphabets. Die Notation geht auf Cantor zurück, der unendliche Kardinalzahlen mit hebräischen Buchstaben bezeichnete. Definition 4.61 Abzählbare und überabzählbare Menge Eine Menge M heißt abzählbar unendlich (countable infinite, denumerable), wenn |M| = ℵ0; abzählbar (countable), wenn M endlich oder abzählbar unendlich ist, d.h. |M| ∈ lN0 ∪ {ℵ0}; überabzählbar (uncountable) sonst. In der Literatur steht manchmal „abzählbar“ für „abzählbar unendlich“ und „höchstens abzählbar“ für „abzählbar“. Die Elemente einer abzählbaren Menge M lassen sich alle eineindeutig nummerieren: M = {x1, x2,...}, d.h. es gibt eine bijektive Indizierung lN → M, n → xn. | 9.8.04 1 John von Neumann (1903 - 1957), ungarisch-amerikanischer Mathematiker, Rechnerpionier. 2 Ernst Zermelo (1871 - 1953), deutscher Mathematiker. © Karlheinz Hug, Hochschule Reutlingen 4 - 44 4 Relationale Strukturen Auf die natürlichen Ordinal- und Kardinalzahlen folgen unendlich viele transfinite Ordinal- und Kardinalzahlen. In diesem Bereich der unendlichen Mengen wird die Mengenlehre erst richtig spannend. Die Basis dafür hat Cantor geschaffen. InformatikerInnen müssen nicht tiefer in dieses Gebiet vorstoßen. Die praktische Informatik handelt stets nur mit endlichen, wenn auch ggf. sehr großen Mengen. 4.4.3 Algorithmen zu Mengen Zu zwei typischen Aufgaben stellen wir algorithmische Lösungen vor. Aufgabe: Mächtigkeit einer Menge bestimmen Gegeben ist eine Grundmenge G und eine durch eine Eigenschaft PM(.) auf G beschriebene Teilmenge M = {x ∈ G | PM(x)}. Gesucht ist die Anzahl der Elemente von M, d.h. |M| = |{x ∈ G | PM(x)}| = ?. Die Schleife im folgenden Algorithmus wählt jedes Element von G genau einmal. Programm 4.2 Mächtigkeit einer Menge card(M) = result := 0; FOR ALL x ∈ G DO IF PM(x) THEN result := result + 1 END END. Die folgende Suchaufgabe hat zwar nichts mit Mächtigkeit zu tun, doch variiert ihre Lösung den Algorithmus von Programm 4.1. Aufgabe: Element mit Eigenschaft suchen Programm 4.3 Element mit Eigenschaft 4.5 Gegeben ist eine Grundmenge G und eine Eigenschaft P(.) auf G. Gesucht ist ein Element x von G mit P(x). ein_Element_mit(P) = M := G; result := nicht_gefunden; ASSERT nicht_gefunden ∉ G; WHILE result = nicht_gefunden ∧ M ≠ ∅ DO wähle x ∈ M; M := M \ {x}; IF P(x) THEN result := x END END; ASSERT (result = nicht_gefunden ∧ M = ∅) ∨ P(result). Ordnungsrelationen Bei Ordnungsrelationen geht es um Reihenfolgen, Anordnungen von Elementen. Ordnungen sind Halbordnungen, also reflexive, antisymmetrische und transitive Relationen, oder strikte Halbordnungen, also irreflexive und transitive Relationen. Beide Arten von Halbordnungen können auch Vollordnungen, also konnex bzw. semikonnex sein. Beachte, dass viele Autoren unter „Ordnung“ nicht wie wir einen Oberbegriff, sondern entweder eine Halb- oder eine Vollordnung verstehen. Das Klassendiagramm stellt die unterschiedlichen Bezeichnungen zusammen, wobei unsere fett erscheinen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen 4 - 45 Bild 4.20 Klassifikation von Ordnungen Ordnung reflexiv, antisymmetrisch, transitiv Halbordnung ≤ Ordnung partielle Ordnung konnex Vollordnung ≤ totale Ordnung Ordnung lineare Ordnung irreflexiv, transitiv strikte Halbordnung < strikte Ordnung strikte partielle Ordnung strenge Ordnung semikonnex strikte Vollordnung < strikte totale Ordnung strikte Ordnung strikte lineare Ordnung Klassendiagramm Ist ≤ eine Halbordnung auf der Menge G, so heißen zwei Elemente x, y ∈ G vergleichbar (comparable), wenn x ≤ y oder y ≤ x ist, sonst unvergleichbar (incomparable). Im Allgemeinen müssen nicht alle Elemente vergleichbar sein. Ist aber ≤ eine Vollordnung, so sind je zwei Elemente vergleichbar. Wir haben schon eine Reihe von Ordnungsrelationen kennen gelernt: Beispiele (1) (2) Ist M ein Mengensystem, so sind die in Definition 1.6 S. 1-6 definierten Mengeninklusionen nach Korollar 1.7 S. 1-7 Ordnungsrelationen auf M, und zwar sind „⊆“ und „⊇“ Halbordnungen und „⊂“ und „⊃“ strikte Halbordnungen. Sie basieren auf der Implikation. Ist A eine Menge von Aussagen, so ist die Implikation „“ nach Satz 2.19 S. 225 eine Halbordnung auf der Quotientenmenge A / ≡. Nach Satz 2.20 (13) S. 226 ist „“ sogar eine Vollordnung auf A / ≡. Weitere Ordnungsrelationen kennen wir aus der Schulmathematik, dem Alltag und der Informatik: (3) (4) (5) (6) (7) (8) (9) '3! Auf den Zahlenmengen lN, , , sind „kleiner oder gleich“ (≤) und „größer oder gleich“ (≥) Vollordnungen, „kleiner“ (<) und „größer“ (>) sind strikte Vollordnungen. Geldmünzen und -scheine sind nach Wert geordnet. Produkte sind nach Seriennummern geordnet. Menschen sind nach ihren Namen, Studierende auch nach ihren Matrikelnummern geordnet. Module sind durch die Brauchtrelation halbgeordnet. Die Speicherzellen eines Rechners sind durch ihre Adressen vollgeordnet. Systeme von EBNF-Regeln sind halbgeordnet dadurch, dass sie kleinere oder größere Sprachen beschreiben. Bei Ordnungsrelationen vergleichen wir Elemente und fokussieren darauf, wie Elemente in einer Richtung aufeinander folgen: Welches Element kommt vor einem anderen, welches danach? l l l l 9.8.04 Bei der Mengeninklusion interessiert, welche Menge mehr oder weniger Elemente als die andere hat. Bei Aussagen interessiert, welche Aussage aus der anderen folgt. Bei Zahlen interessiert, wo sie auf der Zahlengeraden liegen. Beim Geld interessiert, ob ein Haufen Münzen mehr wert ist als ein Scheinchen. © Karlheinz Hug, Hochschule Reutlingen 4 - 46 4 Relationale Strukturen l l l 4.5.1 Bei einem PC interessiert, ob er aus einer früheren oder späteren Serie stammt. Bei Menschen interessiert, ihre Telefonnummer schnell im Telefonbuch zu finden. Bei einem Modul interessiert den Lader, welche gebrauchten Module er zuvor laden muss. Zugeordnete Relationen Im Folgenden betrachten wir allgemeine Ordnungsstrukturen G, ≤ = G, ≤G mit einer Grundmenge G und einer Halbordnung Ordnung ≤ = ≤G kleinergleich, lessequal auf G. Wir sagen dann, G, ≤ oder kurz G ist eine halbgeordnete Menge (partially ordered set, poset). Ist ≤ eine Vollordnung, so heißt G, ≤ oder kurz G eine vollgeordnete Menge (total, linear geordnete Menge, totally ordered set). Nach Satz 4.30 (5) ist durch Strikte Ordnung < := ≤ \ idG kleiner, less eine strikte Halbordnung auf G definiert. Ist ≤ konnex, so ist < semikonnex, also eine strikte Vollordnung. Ist umgekehrt G, < eine strikt halbgeordnete Menge, so ist nach Satz 4.30 (4) durch ≤ := < ∪ idG eine Halbordnung auf G definiert. Ist < semikonnex, so ist ≤ konnex, also eine Vollordnung. Elementweise bedeutet das: x≤y x<y ⇔ ⇔ x < y ∨ x = y. x ≤ y ∧ x ≠ y. Nach Korollar 4.29 sind die Umkehrrelationen von Ordnungen auch Ordnungen, d.h. durch Inverse Ordnung ≥ := ≤−1 größergleich, greaterequal ist eine Halbordnung, durch Inverse strikte Ordnung > := <−1 größer, greater eine strikte Halbordnung definiert. ≥ oder > ist genau dann konnex bzw. semikonnex, wenn ≤ bzw. < konnex bzw. semikonnex ist. Elementweise bedeutet das: x≥y x>y ⇔ ⇔ y ≤ x. y < x. Auf dieser Eigenschaft beruht das Dualitätsprinzip bei Ordnungen. Theorem 4.62 Dualitätsprinzip der Ordnungstheorie Zu jedem ordnungstheoretischen Begriff erhält man den dualen Begriff, indem man ≤ durch ≥ und < durch > ersetzt. G, ≤ und G, ≥ heißen dual zueinander. Eine ordnungstheoretische Aussage ist genau dann allgemeingültig, wenn die mit den dualen Begriffen gebildete duale Aussage allgemeingültig ist. Daher genügt es, jeweils einen von zwei dualen Sätzen zu beweisen. Wir setzen bei Ordnungsstrukturen stets alle vier Ordnungsrelationen voraus: G, ≤ = G, < = G, ≤, <, ≥, >. Ist G eine Zahlenmenge, so haben ≤, <, ≥, > die übliche Bedeutung. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen 4 - 47 Ist G die Potenzmenge einer Menge, so bedeuten ≤, <, ≥, > die Mengeninklusionen ⊆, ⊂, ⊇, ⊃. Schließlich ist jeder Ordnungsstruktur die Unvergleichbarkeitsrelation || := G2 \ (≤ ∪ ≥) Unvergleichbarkeit unvergleichbar, incomparable zugeordnet. Elementweise bedeutet das: x || y ⇔ ¬(x ≤ y ∨ y ≤ x). Die Relationen <, >, =, || zerlegen G2, d.h. für x, y ∈ G trifft genau einer der vier Fälle x < y, x > y, x = y, x || y zu. Ist G vollgeordnet, so ist || leer und es trifft genau einer der drei Fälle x < y, Trichotomie x > y, x=y Trichotomie zu. Wir zeigen das so: || ist nach Definition disjunkt zu ≤ ∪ ≥ = < ∪ id G ∪ > ∪ idG. Wegen der Irreflexivität von < und > ist idG disjunkt zu < ∪ >. Wegen der Asymmetrie von < sind < und > disjunkt. Satz 4.63 Rechenregeln für Ordnungen Für eine halbgeordnete Menge G, ≤, < und Elemente x, y, z, x1,.., xn ∈ G gilt: (1) (2) Einschränkung x≤y<z x<y≤z x1 ≤ x2 ≤ ... ≤ xn ≤ x1 x < z. x < z. x1 = x2 = ... = xn. Bei Ordnungsstrukturen interessieren oft Teilmengen mit den eingeschränkten Relationen. Man kann die Ordnung einer Grundmenge mittels der Ordnungen ihrer Teilmengen studieren. Für Teilmengen M ⊆ G bezeichnen wir die Einschränkungen ≤ ∩ M2, < ∩ M2, ≥ ∩ M2, > ∩ M2 kurz auch mit ≤, <, ≥, >. Nach Korollar 4.29 (1) ist M = M, ≤, <, ≥, > wie G halb- oder vollgeordnet. Ein halbgeordnetes G kann vollgeordnete Teilmengen haben. Ordnungsdiagramm Endliche geordnete Mengen kann man anschaulich grafisch durch Ordnungs- oder Hasse-Diagramme1 darstellen (Satz von Birkhoff2, 1935). Diese entsprechen den zur Darstellung zweistelliger Relationen üblichen gerichteten Graphen oder Pfeildiagrammen (→ Bild 1.7 S. 1-19) mit speziellen Regeln, um die Diagramme übersichtlich zu halten: l l Die Richtung der Relation wird nicht durch einen Pfeil, sondern die Lage der Elemente dargestellt. Die Richtung läuft stets von unten nach oben. Es wird nur eine Teilrelation von < durch Kanten dargestellt. Gilt x < y und y < z, so wird x < z nicht dargestellt. Anders ausgedrückt: x < z wird nur dargestellt, wenn es kein y gibt mit x < y und y < z. Es ist x < y genau dann, wenn x im Ordnungsdiagramm unterhalb von y liegt und es einen Weg von x über beliebig viele andere Elemente hinauf zu y gibt. 1 Helmut Hasse (1898 - 1979), deutscher Mathematiker. Die nach ihm benannten Diagramme waren vor ihm bekannt. 2 9.8.04 Garrett Birkhoff (1911 - ?), amerikanischer Mathematiker. © Karlheinz Hug, Hochschule Reutlingen 4 - 48 Beispiel 4 Relationale Strukturen Die Ordnungsdiagramme zu den Potenzmengen P{1, 2}, ⊆ und P{1, 2, 3}, ⊆ sehen so aus: Bild 4.21 Ordnungsdiagramme {1, 2} {1} {1, 2, 3} {2} ∅ {1, 2} {1, 3} {2, 3} {1} {2} {3} ∅ 4.5.2 Nachbarrelationen Bei endlichen halbgeordneten Mengen erfasst die in Ordnungsdiagrammen dargestellte Teilrelation der Kleinerrelation wesentliche Beziehungen der Elemente, d.h. Wesentliches der Ordnungsstruktur. Wir geben dieser Relation einen Namen und untersuchen sie. Definition 4.64 Nachbarrelation Für eine halbgeordnete Menge G, ≤, < heißt → := {(x, y) ∈ G2 | x < y ∧ ¬∃z ∈ G : (x < z ∧ z < y)} = < \ <2 die obere Nachbarrelation (covering relation) zu <, und ihre Umkehrrelation ← := →−1 = {(y, x) | (x, y) ∈ →} = {(y, x) | x < y ∧ ¬∃z ∈ G : (x < z ∧ z < y)} = > \ >2 heißt die untere Nachbarrelation zu <. Gilt x→y und damit y ← x, so ist y ein oberer Nachbar (cover) von x und x ein unterer Nachbar von y. Verwechslungen des Nachbarpfeils mit dem Abbildungspfeil scheinen ausgeschlossen. Aus der Definition, Korollar 4.29 (2) und Satz 4.30 (8) folgt direkt: Korollar 4.65 Ist G, ≤, < eine halbgeordnete Menge, so sind → und ← irreflexiv, asymmetrisch, antisymmetrisch, intransitiv und azyklisch. Ist G endlich, so gilt für x, y ∈ G: x≤y ⇔ ∃n ∈ lN ∃x1,.., xn ∈ G : x = x1 → x2 → ... → xn−1 → xn = y. x<y ⇔ ∃n ∈ lN ∃x1,.., xn ∈ G : x = x1 → x2 → ... → xn−1 → xn → y. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen 4.5.3 4 - 49 Bereiche und Intervalle Was lässt sich über die in den Definitionen 4.2 und 4.35 eingeführten Nach- und Vorbereiche und Intervalle sagen? Satz 4.66 Ordnungen und Bereiche Sind G, ≤ eine halbgeordnete Menge, x, y ∈ G Elemente und beziehen sich die Bereiche auf ≤ und < auf G, so gilt: (1) x≤ ∩ ≤x = {x}. x ∉ x< ∪ < x. (2) x≤ (3) (4) Ist G vollgeordnet, so sind {x≤, <x}, {x<, ≤x} und {x<, <x, {x}} Zerlegungen von G. ⇔ ≤x ⊆ ≤y. x≤y ⇔ x≤ ⊇ y≤ (5) x<y ⇔ x< (6) x=y x≠y ⇔ ⇔ x≤ = x< ∪ {x}. <x ∩ x≤ = ≤x ∩ x< = ∅. ≤x = <x ∪ {x}. ⊃ y< ⇔ <x ⊂ <y. = y≤ x≤ ≠ y ≤ ⇔ ⇔ ≤x = ≤y. ≤x ≠ ≤y. Beweis. (1) folgt aus der Reflexivität und Antisymmetrie von ≤ bzw. Irreflexivität von <. (2) ist klar. (3) folgt aus (1) und (2). (4) Nachbereiche. „“: Sei x ≤ y. Für z ∈ y≤ gilt y ≤ z. Wegen der Transitivität gilt x ≤ z, also z ∈ x≤. Damit gilt y≤ ⊆ x≤. „⇐“: Sei y≤ ⊆ x≤. Wegen der Reflexivität gilt y ≤ y, also y ∈ y≤ ⊆ x≤, also x ≤ y. Vorbereiche: Wegen ≥ = ≤−1 folgt mit dem schon Gezeigten und Satz 4.3 (6) x ≤ y ⇔ y ≥ x ⇔ y≥ ⊇ x≥ ⇔ ≤ y ⊇ ≤ x. (5) Nachbereiche. „“: Sei x < y. Für z ∈ y< gilt y < z. Wegen der Transitivität gilt x < z, also z ∈ x<. Damit gilt y< ⊆ x<. Wegen y ∉ y< und y ∈ x< ist y< ⊂ x<. „⇐“: Sei y< ⊂ x<. Dann gilt auch y< ⊆ x<. Wegen der Monotonie bzgl. der Relation (Satz 4.12 (3)) gilt auch y≤ ⊆ x≤, also mit (4) x ≤ y. Aus y< ≠ x< folgt x ≠ y, zusammen also x < y. Vorbereiche: analog (4). p (6) folgt aus der Antisymmetrie von ≤ und (4). Den Intervallbegriff können wir spezialisieren. Definition 4.67 Abgeschlossenes und offenes Intervall Ist G, ≤ eine halbgeordnete Menge, so heißt für x, y ∈ G [x, y] := [x, y]≤ = x≤ ∩ ≤y = {z ∈ G | x ≤ z ∧ z ≤ y} das abgeschlossene Intervall zwischen x und y, ]x, y] := [x, y] \ {x} = x< ∩ ≤y = {z ∈ G | x < z ∧ z ≤ y} das unten halboffene Intervall zwischen x und y, [x, y[ := [x, y] \ {y} = x≤ ∩ <y = {z ∈ G | x ≤ z ∧ z < y} das oben halboffene Intervall zwischen x und y, ]x, y[ := [x, y] \ {x, y} = ]x, y] ∩ [x, y[ = [x, y]< = x< ∩ <y = {z ∈ G | x < z ∧ z < y} das offene Intervall zwischen x und y. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 50 4 Relationale Strukturen Die Gleichungen ergeben sich aus Satz 4.66 (2). Die Nachbarrelation von Definition 4.64 lässt sich mit Intervallen so darstellen: → 4.5.4 = {(x, y) ∈ G | x < y ∧ [x, y] = {x, y}} = {(x, y) ∈ < | [x, y] = {x, y}} = {(x, y) ∈ G | x < y ∧ ]x, y[ = ∅} = {(x, y) ∈ < | ]x, y[ = ∅}. Ketten und Antiketten In halbgeordneten Mengen zeichnen sich die Teilmengen aus, die nur vergleichbare oder nur unvergleichbare Elemente enthalten. Definition 4.68 Kette und Antikette Ist G, ≤ eine halbgeordnete Menge, so heißt eine Teilmenge M ⊆ G Kette (chain) in G :⇔ M ist vollgeordnet, d.h. M2 ⊆ ≤ ∪ ≥; Antikette (antichain) in G :⇔ M enthält nur unvergleichbare Elemente, d.h. d.h. M2 ⊆ ||. ≤ ∩ M2 = ∅ Die Systeme aller Ketten und Antiketten in G sind K(G) := {M ⊆ G | M ist Kette in G} ⊆ P(G), A(G) := {M ⊆ G | M ist Antikette in G} ⊆ P(G), jeweils versehen mit der Teilmengenrelation ⊆. Ist M ∈ K(G) endlich, so heißt |M| − 1 die Länge (length) von M. In einem Ordnungsdiagramm bestehen Ketten aus Elementen, die auf einem Weg von unten nach oben liegen; Antiketten bestehen aus Elementen, von denen keine zwei auf einem Weg von unten nach oben liegen. Maximale Ketten oder Antiketten sind solche, die sich nicht durch Hinzunehmen weiterer Elemente vergrößern lassen. Beispiele P{1, 2} hat die (maximalen) Ketten {∅, {1}, {1, 2}} und {∅, {2}, {1, 2}}; die einzige Antikette ist {{1}, {2}}. P{1, 2, 3} hat neben {∅, {1}, {1, 2}, {1, 2, 3}} fünf weitere maximale Ketten. Welche? Zu den (maximalen) Antiketten von P{1, 2, 3} gehören {{1}, {2}, {3}} und {{1, 2}, {1, 3}, {2, 3}}. Welche noch? Endliche Ketten kann man auch auf Geraden anordnen, wie Zahlen auf Zahlengeraden. 4.5.5 Kleinste und größte Elemente Ein kleinstes (größtes) Element einer halbgeordneten Menge ist ein Element der Menge, das kleiner (größer) als alle anderen Elemente der Menge ist. Definition 4.69 Kleinstes und größtes Element Sind G, ≤ eine halbgeordnete Menge und M ⊆ G eine Teilmenge, so heißt ein Element x ∈ G kleinstes (least) Element von M, x = klEl(M) :⇔ ⇔ x ∈ M ∧ ∀y ∈ M : x ≤ y x ∈ M ∧ M ⊆ x≤; :⇔ ⇔ x ∈ M ∧ ∀y ∈ M : y ≤ x x ∈ M ∧ M ⊆ ≤ x. größtes (greatest) Element von M, x = grEl(M) Offenbar gilt für eine Teilmenge M ⊆ G einer halbgeordneten Menge G: x = klEl(M) ∧ y = grEl(M) © Karlheinz Hug, Hochschule Reutlingen ⇔ x, y ∈ M ∧ M ⊆ [x, y]. 9.8.04 4.5 Ordnungsrelationen Beispiele 4 - 51 Die Potenzmenge P(N) einer beliebigen Menge N hat ∅ als kleinstes und N als größtes Element. {{1}, {2}} hat weder ein kleinstes noch ein größtes Element. {∅, {1}, {2}} hat ∅ als kleinstes, aber kein größtes Element. {{1}, {2}, {1, 2}} hat kein kleinstes, aber {1, 2} als größtes Element. Beispiel 4.3 Zerlegungen Zu einer beliebigen Menge N sei SZ(N) := {Z ⊆ P(N) | Z ist echte Zerlegung von N} das System aller echten Zerlegungen von N. Durch Z ≤ Z´ :⇔ ∀Z ∈ Z ∃Z´ ∈ Z´ : Z ⊆ Z´ für Z, Z´ ∈ SZ (N) ist eine Halbordnung ≤ auf SZ(N) definiert. Statt „kleiner“ und „größer“ sagen wir hier feiner und gröber. Für Z, Z´ ∈ SZ(N) und die induzierten Äquivalenzrelationen RZ, RZ´ auf N gilt: Z ist feiner als Z´, Z ≤ Z´ ⇔ RZ ist feiner als RZ´, RZ ⊆ RZ´. Das kleinste Element von SZ(N) ist {{x} | x ∈ N}, die feinste Zerlegung von N. Sie induziert die feinste (= kleinste) Äquivalenzrelation auf N, die Identität id N. Das größte Element von SZ(N) ist {N}, die gröbste Zerlegung von N. Sie induziert die gröbste (= größte) Äquivalenzrelation auf N, die Allrelation N2 (→ S. 31). Für Z ∈ SZ(N) gilt also: {{x} | x ∈ N} ≤ Z ≤ {N} Satz 4.70 Eindeutigkeit des kleinsten und größten Elements und idN ⊆ RZ ⊆ N2. F Eine halbgeordnete Menge hat höchstens ein kleinstes und ein größtes Element. Beweis. Sei M halbgeordnet mit den kleinsten Elementen x, x´. Nach Definition gilt für alle y ∈ M: x ≤ y ∧ x´ ≤ y, also insbesondere x ≤ x´ ∧ x´ ≤ x, woraus x = x´ folgt. F Als weiteres Beispiel formulieren wir Korollar 4.41 um. Korollar 4.71 9.8.04 Sind M, N Mengen und f : M → N eine Abbildung, so gilt: (1) Ist R ⊆ M2 eine Relation auf M, so ist Rf die kleinste Relation S auf N, sodass f : M, R → N, S ein Homomorphismus ist. (2) Ist S ⊆ N2 eine Relation auf N, so ist fS die größte Relation R auf M, sodass f : M, R → N, S ein Homomorphismus ist. © Karlheinz Hug, Hochschule Reutlingen 4 - 52 4.5.6 4 Relationale Strukturen Minimale und maximale Elemente Hat eine Menge kein kleinstes (größtes) Element, so kann sie doch Elemente enthalten, die relativ zu den mit ihnen vergleichbaren Elementen die kleinsten (größten) sind, d.h. zu denen es in der Menge keine kleineren (größeren) gibt. Solche Elemente heißen minimal (maximal). Definition 4.72 Extrema Seien G, ≤ eine halbgeordnete Menge und M ⊆ G eine Teilmenge. Ein Element x ∈ G heißt ein minimales Element oder Minimum von M :⇔ ⇔ ⇔ ⇔ x ∈ M ∧ ∀y ∈ M : (y ≤ x y = x) x ∈ M ∧ ¬∃y ∈ M : (y ≤ x ∧ y ≠ x) x ∈ M ∧ ¬∃y ∈ M : y < x x ∈ M ∧ M ∩ ≤x = {x}; maximales Element oder Maximum von M :⇔ x ∈ M ∧ ∀y ∈ M : (x ≤ y y = x) ⇔ x ∈ M ∧ ¬∃y ∈ M : (x ≤ y ∧ y ≠ x) ⇔ x ∈ M ∧ ¬∃y ∈ M : x < y ⇔ x ∈ M ∧ M ∩ x≤ = {x}. Die Mengen der Minima und Maxima von M sind min(M) := {x ∈ M | ∀y ∈ M : (y ≤ x y = x)} = {x ∈ M | ¬∃y ∈ M : y < x}, max(M) := {x ∈ M | ∀y ∈ M : (x ≤ y y = x)} = {x ∈ M | ¬∃y ∈ M : x < y}. Ein Element x ∈ min(M) ∪ max(M) heißt ein Extremum von M. Wir schreiben kurz min{...} statt min({...}), und analog max{...}. Hat M genau ein minimales (maximales) Element, so schreiben wir Beispiele min(M) = x statt min(M) = {x}, max(M) = x statt max(M) = {x}. Die Menge der Minima einer Menge kann l l l leer sein wie genau ein Element enthalten wie mehrere Elemente enthalten wie min{1/n | n ∈ lN}, min{1, 2}, min{{1}, {2}}. Entsprechendes gilt für die Menge der Maxima. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen Satz 4.73 Extrema 4 - 53 Seien G, ≤ eine halbgeordnete Menge und M ⊆ G eine Teilmenge. (1) (2) (3) (4) (5) (6) (7) Hat M ein kleinstes (größtes) Element, so ist dieses auch das einzige minimale (maximale) Element: x = min(M). x = klEl(M) x = max(M). x = grEl(M) Ist M vollgeordnet, so gilt: Jedes minimale (maximale) Element von M ist auch kleinstes (größtes) Element von M: min(M) = {x ∈ M | ∀y ∈ M : x ≤ y}. max(M) = {x ∈ M | ∀y ∈ M : y ≤ x}. M hat also höchstens ein minimales (maximales) Element: |min(M)| ≤ 1, |max(M)| ≤ 1. Ist M nicht leer und endlich, so hat M mindestens ein minimales (maximales) Element: |min(M)| ≥ 1, |max(M)| ≥ 1. Ist M endlich, so gibt es zu jedem x ∈ M ein minimales y ∈ min(M) und ein maximales z ∈ max(M) mit y ≤ x ≤ z. Ist M endlich und hat genau ein minimales (maximales) Element, so ist dieses auch kleinstes (größtes) Element von M: x = klEl(M). x = min(M) x = grEl(M). x = max(M) Ist M eine nicht leere endliche Kette, so hat M genau ein minimales (maximales) Element, das auch kleinstes (größtes) Element von M ist: x = klEl(M) = min(M). x = grEl(M) = max(M). Ist G endlich, so ist jedes Element von G entweder minimal (maximal) oder hat einen unteren (oberen) Nachbarn: ∀x ∈ G : (x ∈ min(G) ⇔ ¬∃y ∈ G : y → x). ∀x ∈ G : (x ∈ max(G) ⇔ ¬∃y ∈ G : x → y). Beweis. (1) Ist x = klEl(M) und y ∈ min(M), so gilt x ∈ M ∧ ∀z ∈ M : x ≤ z und y ∈ M ∧ ∀z ∈ M : (z ≤ y z = y). Die erste Formel liefert x ≤ y, die zweite x = y. (2) Der erste Teil folgt aus der Konnexität, der zweite aus Satz 4.70. (3) zeigen wir durch Widerspruch. Annahme: M ≠ ∅ ist endlich und min(M) = ∅. Dann gibt es ein n ∈ lN mit |M| = n. Zu beliebigem x ∈ M gibt es, da x nicht minimal ist, ein y1 ∈ M mit y1 < x. Zu y1 gibt es ein y2 ∈ M mit y2 < y1, usw. Schließlich gibt es eine Folge y1,.., yn ∈ M mit yn < yn−1 < ... < y2 < y1 < x. Damit ist |M| > n. Widerspruch! (4) Mit M ist auch M ∩ ≤x endlich. Nach (3) hat M ∩ ≤x mindestens ein minimales Element y. Für dieses gilt: y ∈ M ∩ ≤x ∧ M ∩ ≤x ∩ ≤y = {y}. Aus y ≤ x folgt ≤y ⊆ ≤x, daraus ≤x ∩ ≤y = ≤y, daraus M ∩ ≤y = {y}, und daraus y ∈ min(M). (5) folgt aus (4). (6) folgt aus (2) und (3). (7) „“: x ∈ min(G) ¬∃y ∈ G : y < x ¬∃y ∈ G : y → x. „⇐“: x ∉ min(G) ∃y ∈ G : y < x. G endlich ∃x1,.., xn ∈ G : y = x1 → ... → xn → x. 9.8.04 p © Karlheinz Hug, Hochschule Reutlingen 4 - 54 4 Relationale Strukturen Ketten Ist M ⊆ G eine endliche Kette der Mächtigkeit |M| = n, so gibt es eine Indizierung ihrer Elemente, sodass M = {x1,.., xn} und klEl(M) = x1 < x2 < ... < xn−1 < xn = grEl(M). Ist G eine endliche Kette mit |G| = n, so gibt es sogar für die Nachbarrelation eine Darstellung mit G = {x1,.., xn} und klEl(G) = x1 → x2 → ... → xn−1 → xn = grEl(G). In K(G), ⊆, der Menge aller Ketten in G, interessieren die maximalen Ketten max(K(G)), und darunter die endlichen. Auch wenn M eine endliche maximale Kette in G mit |M| = n ist, gibt es eine Darstellung mit M = {x1,.., xn} und klEl(M) = x1 → x2 → ... → xn−1 → xn = grEl(M). Satz 4.73 (6) liefert zwar ein Kriterium, mit dem sich feststellen lässt, ob ein Element ein Extremum einer Kette ist. Das Kriterium eignet sich aber nicht dazu, das Extremum einer gegebenen Kette effizient zu bestimmen. Wir stellen uns die Aufgabe: Aufgabe: Minimum einer Kette bestimmen Finde einen effizienten Algorithmus, der zu einer endlichen Kette das Minimum (Maximum) berechnet. Der folgende Satz nach dem Teile-und-Herrsche-Prinzip (→ Leitlinie 3.1 S. 3-6) bereitet eine Basis für die Konstruktion eines Algorithmus. Satz 4.74 Extrema von Vereinigung Für eine vollgeordnete Menge G, ≤ und endliche Teilmengen M, N ⊆ G gilt: min(M ∪ N) = min{min(M), min(N)}. max(M ∪ N) = max{max(M), max(N)}. Beweis. Sei x := min(M), y := min(N), z := min{x, y}. Aus x ∈ M, y ∈ N, z ∈ {x, y} folgt z ∈ M ∪ N. ((∀u ∈ M : x ≤ u) ∧ (∀v ∈ N : y ≤ v) ∧ z ≤ x ∧ z ≤ y) ((∀u ∈ M : z ≤ u) ∧ (∀v ∈ N : z ≤ v)) ∀w ∈ M ∪ N : z ≤ w z = min(M ∪ N). p Die folgenden Überlegungen beschränken sich auf das Minimum; sie gelten dual für das Maximum. Wir spezialisieren Satz 4.74 auf verschiedene Fälle: (1) (2) einelementige Kette {x} min{x} = x. zweielementige Kette {x, y} min{x, y} = x y falls x ≤ y falls y ≤ x . Beachte, dass es im Fall x = y egal ist, ob x oder y als Minimum gewählt wird. Die in der Mathematik übliche Darstellung der Fallunterscheidung bei einer Abbildung lässt sich direkt in das in der Informatik übliche Struktogramm für die Fallunterscheidung übertragen: Programm 4.4 Struktogramm: Minimum von zwei Elementen min{x, y} = x≤y x ≤ y? result := x © Karlheinz Hug, Hochschule Reutlingen y<x result := y 9.8.04 4.5 Ordnungsrelationen 4 - 55 Ist die Bedingung im mittleren Dreieck erfüllt, so wird der linke, sonst der rechte Zweig ausgeführt. Die unteren beiden rechtwinkligen Dreiecke enthalten die jeweiligen Zusicherungen (in blau). Das Ergebnis wird der Variablen result zugewiesen. Aus dem Struktogramm ergibt sich der äquivalente Pseudocode: Programm 4.5 Minimum von zwei Elementen min{x, y} = IF x ≤ y THEN result := x ELSE result := y END. Ersetzt man die bedingte Anweisung durch einen bedingten Ausdruck, so kommt die Darstellung der mathematischen Notation wieder sehr nahe: Bedingter Ausdruck min{x, y} = IF x ≤ y THEN x ELSE y END. (3) dreielementige Kette {x, y, z} min{x, y, z} = min{min{x, y}, z}. Der Ausdruck auf der rechten Seite wird von innen nach außen berechnet. Der Algorithmus lautet als Struktogramm: min{x, y, z} = Programm 4.6 Struktogramm: Minimum von drei Elementen x ≤ y? x≤y x≤z x ≤ z? result := x z<x y≤z result := z y<x y ≤ z? result := y z<y result := z Das Berechnen des Minimums von drei Elementen einer Kette erfordert offenbar zwei Vergleiche. (4) n-elementige Kette {x1,.., xn} min{x1,.., xn} = min{min{x1,.., xn−1}, xn}. Daraus leiten wir die Rekursionsformel ab: Rekursionsformel min{x} min{x, y} min{x1,.., xi} = x. = IF x ≤ y THEN x ELSE y END. = min{min{x1,.., xi−1}, xi} für i = 2,.., n. Durch Einsetzen erhalten wir min{x1,.., xn} = min{min{x1,.., xn−1}, xn} = min{min{min{x1,.., xn−2}, xn−1}, xn} = ... = min{min{min{...{min{min{x1}, x2}, x3},.., xn−2}, xn−1}, xn}. Der Ausdruck auf der rechten Seite wird wieder von innen nach außen berechnet. So transformieren wir die Rekursionsformel in einen iterativen Algorithmus mit einer Zählschleife, die im i-ten Schritt min{x1,.., xi−1} mit xi vergleicht: 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 56 Programm 4.7 Struktogramm: Minimum einer Kette 4 Relationale Strukturen min{x1,.., xn} = result := x1 für i = 2,.., n: ASSERT result = min{x1,.., xi−1} result := min{result, xi} ASSERT result = min{x1,.., xi} Aufwandsabschätzung Das Berechnen des Minimums von n Elementen einer Kette erfordert offenbar n − 1 Vergleiche. Verbesserung Nachdem wir überzeugt sind, dass der Algorithmus korrekt ist, untersuchen wir, ob wir ihn verbessern können. In den zum Struktogramm Programm 4.7 äquivalenten Pseudocode setzen wir Programm 4.5 textuell ein: Programm 4.8 Minimum einer Kette min{x 1,.., xn} = result := x1; FOR i := 2 TO n DO IF result <= xi THEN result := result ELSE result := xi END END. Tatsächlich ist ein Zweig der bedingten Anweisung überflüssig: Programm 4.9 Minimum einer Kette, verbesserte Variante min{x 1,.., xn} = result := x1; FOR i := 2 TO n DO IF xi < result THEN result := xi END END. Der Algorithmus arbeitet nur im Spezialfall endlicher Ketten korrekt. Deshalb stellen wir eine zweite Aufgabe für den allgemeinen Fall endlicher halbgeordneter Mengen: Aufgabe: Minima einer halbgeordneten Menge bestimmen Finde einen effizienten Algorithmus, der zu einer endlichen halbgeordneten Menge die Menge aller Minima (Maxima) berechnet. Wir können die iterative Struktur des obigen Algorithmus übernehmen, müssen aber Mengen statt Elemente berechnen. Bei zwei unvergleichbaren Elementen ist nicht entscheidbar, welches kein Minimum sein kann. Nur bei vergleichbaren Elementen kann man das größere ausschließen. Der Algorithmus arbeitet daher mit mehr Vergleichen, zwei geschachtelten Schleifen und zwei Mengen. Die eine Menge enthält Kandidaten für Minima und wird immer kleiner, die andere enthält Minima und wird immer größer. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen Programm 4.10 Minima einer halbgeordneten Menge Aufwandsabschätzung 4 - 57 min(M) = result := ∅; L := M; WHILE L ≠ ∅ DO ASSERT result ⊂ min(M) ⊆ result ∪ L; x := ein z ∈ L; N := L \ {x}; WHILE N ≠ ∅ DO y := ein z ∈ N; IF x < y THEN ASSERT y ∉ min(M); L := L \ {y} ELSIF y < x THEN ASSERT x ∉ min(M); L := L \ {x}; x := y; N := L END; N := N \ {y} END; result := result ∪ {x}; L := L \ {x}; ASSERT result ⊆ min(M) ⊆ result ∪ L END; ASSERT L = ∅ ∧ result = min(M). Wieviele Vergleiche benötigt dieser Algorithmus, wenn |M| = n ist? Im schlechtesten Fall ist M eine Antikette. Die Anzahl der Vergleiche ist dann 2 ∗ (n − 1) + 2 ∗ (n − 2) + ... + 2 ∗ 1 = n ∗ (n − 1). Im besten Fall ist M eine Kette und schon das erste gewählte x ∈ M minimal. Die Anzahl der Vergleiche ist dann n − 1. Der Algorithmus setzt eine extensionale Beschreibung der Menge M voraus (→ Beschreibungen von Mengen S. 1-2). In der Praxis liegt oft nur eine intensionale Beschreibung von M durch ein Prädikat vor. Ein Minimum von M zu finden ist dann schwieriger, weil es nicht gesucht, sondern aus anderen Elementen konstruiert werden muss. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 58 4.5.7 4 Relationale Strukturen Schranken und Grenzen Im Folgenden sei G, ≤ wieder eine halbgeordnete Menge. Hat eine Teilmenge M ⊆ G kein kleinstes (größtes) oder nicht einmal ein minimales (maximales) Element, so kann es doch in G vergleichbare kleinere (größere) Elemente geben. Definition 4.75 Schranken Grenzen Infimum Supremum Sei G, ≤ eine halbgeordnete Menge und M ⊆ G eine Teilmenge. Ein Element x ∈ G heißt eine untere Schranke (lower bound) von M :⇔ ⇔ ∀y ∈ M : x ≤ y M ⊆ x≤; obere Schranke (upper bound) von M :⇔ ⇔ ∀y ∈ M : y ≤ x M ⊆ ≤x . Die Mengen der unteren und oberen Schranken von M sind unSch(M) := {x ∈ G | ∀y ∈ M : x ≤ y} = {x ∈ G | M ⊆ x≤}, obSch(M) := {x ∈ G | ∀y ∈ M : y ≤ x} = {x ∈ G | M ⊆ ≤x}. Wir schreiben kurz M heißt unSch{...} statt unSch({...}), und analog nach unten beschränkt (bounded from below) :⇔ unSch(M) ≠ ∅; nach oben beschränkt (bounded from above) :⇔ obSch(M) ≠ ∅; beschränkt (bounded) :⇔ obSch{...}. M ist nach unten und oben beschränkt. Ein Element x ∈ G heißt Infimum (untere Grenze, greatest lower bound, glb) von M, x = inf(M) :⇔ x = grEl(unSch(M)), d.h. x ist größte untere Schranke von M unSch(M) ⊆ ≤x ∧ M ⊆ x≤; ⇔ Supremum (obere Grenze, least upper bound, lub) von M, x = sup(M) :⇔ x = klEl(obSch(M)), d.h. x ist kleinste obere Schranke von M M ⊆ ≤x ∧ obSch(M) ⊆ x≤. ⇔ Beispiele Die Menge der unteren Schranken einer Menge kann l l l leer sein wie genau ein Element enthalten wie mehrere Elemente enthalten wie ' unSch( ) = ∅, unSch{{1}, {2}} = {∅}, unSch{{1, 2}} = {∅, {1}, {2}, {1, 2}}. Entsprechendes gilt für die Menge der oberen Schranken. Eine Menge kann l l kein Infimum haben wie ein Infimum haben wie 3 | 2 < x2}, {x ∈ ! | 2 < x2}. {x ∈ Entsprechendes gilt für das Supremum. Mengensysteme M ⊆ P(G) zeichnen sich dadurch aus, dass sie stets ein Infimum und ein Supremum haben; es gilt nach Satz 1.19 (3) S. 1-15: ∩M, sup(M) = ∪M. inf(M) = © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen Satz 4.76 Beziehungen zwischen ausgezeichneten Elementen 4 - 59 Für eine halbgeordnete Menge G, ≤, Teilmengen M, N ⊆ G und Elemente x, y, z ∈ G gilt: (1) (2) (3) (4) (5) (6) Die Halbordnung ist durch die Infima (Suprema) der zweielementigen Mengen bestimmt: x≤y ⇔ x = inf{x, y} ⇔ y = sup{x, y}. Je größer eine Menge, desto weniger Schranken hat sie: unSch(N) ⊆ unSch(M). Antitonie M⊆N obSch(N) ⊆ obSch(M). M⊆N Ein kleinstes (größtes) Element von M ist auch Infimum (Supremum) von M: x = inf(M). x = klEl(M) x = sup(M). x = grEl(M) Hat M eine zu M gehörende untere (obere) Schranke, so ist diese das kleinste (größte) Element und das Infimum (Supremum) von M: x = klEl(M) = inf(M). x ∈ M ∩ unSch(M) x = grEl(M) = sup(M). x ∈ M ∩ obSch(M) M ∩ unSch(M) = {klEl(M)} = {inf(M)}. M ∩ unSch(M) ≠ ∅ M ∩ obSch(M) = {grEl(M)} = {sup(M)}. M ∩ obSch(M) ≠ ∅ x ist untere (obere) Schranke von M genau dann, wenn x kleinstes (größtes) Element von M ∪ {x} ist: x ∈ unSch(M) ⇔ x = klEl(M ∪ {x}). x ∈ obSch(M) ⇔ x = grEl(M ∪ {x}). Hat M ein Infimum (Supremum) und ist y ∉ M, so hat M ∪ {y} genau dann ein Infimum (Supremum), wenn {x, y} ein Infimum (Supremum) hat, und die Infima (Suprema) sind dann gleich: (z = inf(M ∪ {y}) ⇔ z = inf{x, y}). (x = inf(M) ∧ y ∉ M) (z = sup(M ∪ {y}) ⇔ z = sup{x, y}). (x = sup(M) ∧ y ∉ M) Beweis: (1) und (2) sind leicht zu zeigen. (3) Ist x = klEl(M), so ist x ∈ M ∩ unSch(M). Für ein beliebiges z ∈ unSch(M) gilt ∀y ∈ M : z ≤ y, also z ≤ x. Also gilt x ∈ unSch(M) ∧ ∀z ∈ unSch(M) : z ≤ x. Also ist x = grEl(unSch(M)) = inf(M). (4) x ∈ M ∩ unSch(M) ⇔ x ∈ M ∧ ∀y ∈ M : x ≤ y ⇔ x = klEl(M). (5) x ∈ unSch(M) ⇔ ∀y ∈ M : x ≤ y ⇔ ∀y ∈ M ∪ {x} : x ≤ y ⇔ x = klEl(M ∪ {x}). (6) „“: z = inf(M ∪ {y}) z ∈ unSch(M ∪ {y}) z ∈ unSch(M) ⇔ z ≤ inf(M) = x. z = inf(M ∪ {y}) z ∈ unSch(M ∪ {y}) z ≤ y. w ∈ unSch{x, y} ⇔ w ≤ x ∧ w ≤ y ⇔ w ∈ unSch(M) ∧ w ≤ y ⇔ w ∈ unSch(M ∪ {y}) ⇔ w ≤ inf(M ∪ {y}) = z. Zusammen ergibt sich z = inf{x, y}. „⇐“: z = inf{x, y}) z ∈ unSch{x, y} ⇔ (wie oben) z ∈ unSch(M ∪ {y}). w ∈ unSch(M ∪ {y}) ⇔ (wie oben) w ∈ unSch{x, y} ⇔ w ≤ inf{x, y} = z. Zusammen ergibt sich z = inf(M ∪ {y}). p Das folgende Diagramm stellt die Beziehungen zwischen den Begriffen kleinstes Element, minimales Element, untere Schranke und Infimum dar. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 60 4 Relationale Strukturen Bild 4.22 Beziehungen zwischen ausgezeichneten Elementen x = klEl(M) x ∈ min(M) x∈M 4.5.8 x = inf(M) und x ∈ unSch(M) Ordnungsmorphismen und sortierte Familien Die mit Definition 4.40 eingeführten relationalen Morphismen heißen, wenn R eine Ordnungsrelation ist, Ordnungsmorphismen. Bei den Beispielen (1) S. 28 bis (7) S. 29 handelt es sich also um Ordnungsmorphismen. Es genügt, spezielle Eigenschaften von Ordnungsmorphismen zu definieren. Definition 4.77 Isotone und antitone Morphismen Isomorphie Seien G, ≤G, H, ≤H halbgeordnete Mengen. Ein Ordnungshomomorphismus f : G → H heißt isoton (ordnungstreu, order-preserving) :⇔ ∀x, y ∈ G : (x ≤G y f(x) ≤H f(y)); strikt isoton :⇔ ∀x, y ∈ G : (x <G y f(x) <H f(y)); antiton (order-reversing) :⇔ ∀x, y ∈ G : (x ≤G y f(x) ≥H f(y)); strikt antiton :⇔ ∀x, y ∈ G : (x <G y f(x) >H f(y)). Ein antitoner Ordnungsisomorphismus heißt Antiisomorphismus. G, ≤G und H, ≤H heißen ordnungsisomorph, wenn es einen Ordnungsisomorphismus f : G, ≤G → H, ≤H; antiisomorph, wenn es einen Antiisomorphismus f : G, ≤G → H, ≥H gibt. G, ≤G und G, ≥G heißen selbstdual, wenn sie ordnungsisomorph sind. Als Voraussetzung für die Implikation genügt jeweils x <G y. Isomorphismen sind stets strikt. Beispiele Für die Beispiele auf S. 28f gilt: (1): Isotoner Automorphismus. (2): Isotoner Isomorphismus, d.h. P(G), ⊆ ≅ {P(M) | M ⊆ G}, ⊆. (3), (6) und (7): Isotone Homomorphismen. (4): Antitoner Homomorphismus. (5): Antitoner Automorphismus, d.h. P(G), ⊆ und P(G), ⊇ sind selbstdual unter dem Komplement. Beispiel 4.4 Teilmengen und charakteristische Funktionen Sei G eine Grundmenge. Auf lB = {0, 1} definieren wir die strikte Halbordnung < := {(0, 1)} und dazu wie üblich ≤ := < ∪ id . Auf dem kartesischen Produkt lB lB G, d.h. der Menge ≤G der ≤ nach Defialler Abbildungen von G nach lB, ist dann das kartesische Produkt nition 4.27 und Tabelle 4.1 eine Halbordnung. Nach dem Beispiel S. 1-28 ist die Abbildung © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen 4 - 61 P(G) → lBG, M → χM, | die jeder Teilmenge M ⊆ G ihre charakteristische Funktion χM zuordnet, bijektiv. Wegen M⊆N ⇔ ⇔ x ∈ N) ∀x ∈ G : (x ∈ M ∀x ∈ G : χM(x) ≤ χN(x) ⇔ χM ≤G χN für M, N ⊆ G ist die Abbildung ein Ordnungsisomorphismus. Damit sind P(G), ⊆ und G G lB , ≤ ordnungsisomorph: F P(G), ⊆ ≅ lBG, ≤G. Die Komposition von zwei (strikt) isotonen oder zwei (strikt) antitonen Homomorphismen ist (strikt) isoton. Die Komposition eines (strikt) isotonen mit einem (strikt) antitonen Homomorphismus ist (strikt) antiton. Auf einem System halbgeordneter Mengen ist die Ordnungsisomorphie eine Äquivalenzrelation. Sind Ordnungsdiagramme eigentlich eindeutig? Satz 4.78 Ordnung und Ordnungsdiagramm Zwei endliche halbgeordnete Mengen werden genau dann durch dasselbe Ordnungsdiagramm dargestellt, wenn sie ordnungsisomorph sind. Darüber hinaus sind alle ordnungstheoretischen Begriffe wie die Nachbarrelationen, Ketten und Antiketten, kleinste und größte Elemente, Extrema, Schranken und Grenzen ordnungsisomorphieinvariant, d.h. ein Ordnungsisomorphismus bildet Nachbarn auf Nachbarn, Ketten auf Ketten, Antiketten auf Antiketten, Extrema auf Extrema usw. ab. Ist der Ordnungsisomorphismus isoton, so entsprechen sich kleinste Elemente, minimale Elemente, untere Schranken usw. Ein antitoner Ordnungsisomorphismus bildet ein kleinstes auf ein größtes Element ab, ein minimales auf ein maximales Element, eine untere auf eine obere Schranke usw. Satz 4.79 Ordnungsisomorphie primitiver Vor- und Nachbereiche Jede halbgeordnete Menge G, ≤ ist ordnungsisomorph zum System {≤x | x ∈ G}, ⊆ ihrer primitiven Vorbereiche und antiisomorph zum System {x≤ | x ∈ G}, ⊆ ihrer primitiven Nachbereiche. Beweis. Die Abbildung f : G → {≤x | x ∈ G}, x → ≤x ist offenbar surjektiv und wegen | Satz 4.66 (6) injektiv, also bijektiv. Nach Satz 4.66 (4) sind f und f−1 isoton. Analog ist die Abbildung g : G → {x≤ | x ∈ G}, x → x≤ nach Satz 4.66 (4) und (6) ein Antiisomorphismus. | F Ordnungsisomorphismen sind in der Informatik praktisch bedeutsam bei Datenstrukturen aus Datenelementen, zu denen es eine Vollordnung gibt. Die Elemente der Datenstruktur können dann sortiert oder nicht sortiert sein. Die Datenelemente sind Exemplare eines Datentyps, für den eine Vollordnung definiert ist. Der Datentyp wird abstrakt beschrieben durch eine vollgeordnete Menge G, ≤G. Die Anordnung der Elemente in der Datenstruktur (z.B. einer Reihung oder Liste) wird abstrakt beschrieben durch eine Indizierung mit einer geeigneten vollgeordneten Indexmenge I, ≤I. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 62 Definition 4.80 Sortierte Familie 4 Relationale Strukturen Seien G, ≤G eine vollgeordnete Menge und I, ≤I eine vollgeordnete Indexmenge. Eine Familie (xi)i∈I von Elementen aus G heißt (aufsteigend) sortiert (sorted) :⇔ die Indizierung I → G, i → xi ist ein isotoner Homomorphismus, d.h. ∀j, k ∈ I : (j ≤I k xj ≤G xk); :⇔ die Indizierung I → G, i → xi ist ein antitoner Homomorphismus, d.h. ∀j, k ∈ I : (j ≤I k xk ≤G xj). absteigend sortiert | | Auf (xi)i∈I definieren wir die Relation :⇔ (j, xj) Ivt ( x ) (k, xk) i j <I k ∧ x k ≤G x j und nennen ihre Elemente invertierte Paare von (xi)i∈I. Die Familie (xi)i∈I ist genau dann sortiert, wenn sie keine invertierten Paare hat, d.h. Ivt ( x ) = ∅. i In der Praxis sind sortierte Familien endlich. Diesen Fall endlicher sortierter Folgen behandeln wir in 4.7.1, nachdem wir in 4.6 die natürlichen Ordinal- und Kardinalzahlen mit Wohlordnungen versehen haben. 4.5.9 Wohlordnungen Vollgeordnete Mengen lassen sich durch kleinste (größte) und minimale (maximale) Elemente charakterisieren. Satz 4.81 Vollordnung, kleinste und minimale Elemente Für eine halbgeordnete Menge G, ≤ sind die folgenden Aussagen äquivalent: (1) (2) (3) (4) G ist vollgeordnet. Jede endliche Teilmenge von G hat höchstens ein minimales (maximales) Element. Jede nicht leere endliche Teilmenge von G hat ein kleinstes (größtes) Element. Jede nicht leere, höchstens zweielementige Teilmenge von G hat ein kleinstes (größtes) Element. Beweis. (1) (2): Mit G ist jedes M ⊆ G nach Korollar 4.29 (1) vollgeordnet und hat nach Satz 4.73 (2) höchstens ein minimales Element. (2) (3): Sei M ⊆ G nicht leer und endlich. Nach Voraussetzung hat M höchstens ein, nach Satz 4.73 (3) mindestens ein, also genau ein minimales Element, das nach Satz 4.73 (5) auch kleinstes Element ist. (3) (4) ist klar. (4) (1): Sind x, y ∈ G beliebig, so existiert z = klEl{x, y}. Für z gilt (z = x oder z = y) und z ≤ x und z ≤ y. Daraus folgt x ≤ y oder y ≤ x. Also ist G vollgeordnet. F In einer vollgeordneten Menge muss nicht jede Teilmenge ein kleinstes (größtes) Element haben: l l ', 3, !, {1/n | n ∈ } ⊆ 3 haben kein kleinstes Element. , ', 3, ! haben kein größtes Element. lN lN Jedoch hat jede nicht leere Teilmenge von lN ein kleinstes Element. Dies ist also eine besondere Eigenschaft: lN ist wohlgeordnet. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.5 Ordnungsrelationen Definition 4.82 Wohlordnung 4 - 63 Eine halbgeordnete Menge G, ≤ heißt wohlgeordnet (well ordered) und ≤ heißt Wohlordnung, wenn jede nicht leere Teilmenge von G ein kleinstes Element hat. Nach Satz 4.81 ist jede Wohlordnung auch eine Vollordnung. Die Umkehrung gilt nicht, denn , , sind voll-, aber nicht wohlgeordnet. '3! Satz 4.83 Nachfolgerfunktion einer Wohlordnung Für eine wohlgeordnete Menge G, ≤ gilt: (1) ∀x ∈ G ∃1x´ ∈ G : (x < x´ ∧ ¬∃y ∈ G : (x < y ∧ y < x´)), d.h. ∀x ∈ G ∃1x´ ∈ G : x → x´, d.h. ∀x ∈ G ∃1x´ ∈ G : (x < x´ ∧ ]x, x´[ = ∅), d.h. das x´ zu x ist ein eindeutig bestimmter Nachfolger, die Nachbarrelation von Definition 4.64 ist eine Abbildung G → G, x → x´, die Nachfolgerfunktion zu ≤ heißt. Die Nachfolgerfunktion ist injektiv. | (2) Beweis. (1) Zu beliebigem x ∈ G sei M := {y ∈ G | x < y}. Da G wohlgeordnet ist, gibt es zu M genau ein x´ ∈ G mit x´ = klEl(M). Wegen x´ ∈ M ist x < x´. Ist y ∈ G mit x < y, so ist y ∈ M, also x´ ≤ y, also x → x´. (2) Sei x1 → x´ ∧ x2 → x´. Da G wohlgeordnet ist, hat {x1, x2} ein kleinstes Element, p etwa x1 = klEl{x1, x2}. Also ist x1 ≤ x2. Aus x2 < x´ und x1 → x´ folgt x1 = x2. | | Übrigens kann der Begriff der Wohlordnung nicht in der Prädikatenlogik erster Stufe definiert werden. Außerdem führt er zu einem tief liegenden Satz der axiomatischen Mengenlehre über die Äquivalenz recht unterschiedlicher Aussagen. Theorem 4.84 Wohlordnungssatz Zermelosches Auswahlaxiom Zornsches1 Lemma Kettenaxiom Die folgenden Aussagen sind äquivalent: (1) (2) Wohlordnungssatz Jede Menge lässt sich wohlordnen, d.h. ∃R ⊆ M2 : R ist Wohlordnung. M ist Menge zermelosches Auswahlaxiom Aus jeder nicht leeren Menge eines Mengensystems lässt sich ein Element auswählen, d.h. ist M ein Mengensystem mit ∅ ∉ M, so gibt es eine Auswahlfunktion f:M→ (3) (4) 1 ∪ M∈ M M , M → f(M), | sodass für alle M ∈ M gilt f(M) ∈ M. zornsches Lemma Eine halbgeordnete Menge, in der jede Kette nach oben beschränkt ist, hat mindestens ein maximales Element, d.h. G, ≤ halbgeordnet (∀M ∈ K (G) : obSch(M) ≠ ∅ max(G) ≠ ∅). Kettenaxiom In einer halbgeordneten Menge gibt es zu jeder Kette eine diese umfassende maximale Kette, d.h. G, ≤ halbgeordnet ∀M ∈ K (G) ∃N ∈ max( K (G)) : M ⊆ N. Max Zorn (1906 - 1993), deutscher Mathematiker, emigrierte 1933 vom Naziregime verfolgt in die USA. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 64 4 Relationale Strukturen Keine der vier Aussagen lässt sich aus „einfachen“ Axiomen der Mengenlehre ableiten, d.h. sie sind unabhängig von „einfachen“ Axiomen (die wir naiv benutzt haben). Meist nimmt man das Auswahlaxiom in ein mengentheoretisches Axiomensystem auf. Allerdings lehnt die intuitionistische Denkschule das Auswahlaxiom und alle Folgerungen daraus ab, weil es nicht konstruktiv ist: Es behauptet die Existenz einer Auswahlfunktion, ohne zu erklären, wie diese zu konstruieren ist. Entsprechend behaupten der Wohlordnungssatz, das zornsche Lemma und das Kettenaxiom die Existenz einer Wohlordnung, eines Maximums bzw. einer maximalen Kette, ohne zu erklären, wie diese zu konstruieren sind. Tatsächlich hat bisher niemand eine Wohlordnung auf angegeben. ! Obwohl sich die Informatik mit konstruktiven Verfahren zur Berechnung von Größen in endlich vielen Schritten, d.h. mit Algorithmen befasst, bietet der auf dem Auswahlaxiom basierende Teil der Mathematik Sätze, die auch in der Informatik von Interesse sein können. 4.6 Ordnung der natürlichen Zahlen 4.6.1 Ordnung der Ordinalzahlen Die in Definition 4.57 eingeführten natürlichen Ordinalzahlen sind per Konstruktion geordnet. Jede Ordinalzahl außer 0 ist die Menge aller vorher konstruierten Ordinalzahlen: n+ = {0,.., n}. Eine Ordinalzahl m ist kleiner als eine Ordinalzahl n, wenn m vor n konstruiert ist, d.h. wenn m in n vorkommt. Definition 4.85 Ordnung der Ordinalzahlen Die Kleinerrelation < ⊆ lN02 ist für m, n ∈ lN0 durch m<n :⇔ m∈n definiert, und dazu die Kleinergleichrelation ≤, die Größerrelation > und die Größergleichrelation ≥ wie üblich. Die Ordnung auf lN0 basiert also auf der Elementrelation. Satz 4.86 Wohlordnung der Ordinalzahlen lN0, ≤, < ist wohlgeordnet. Beweis. < ist irreflexiv, da kein n ∈ lN0 vor sich selbst konstruiert ist. < ist transitiv, denn wenn l ∈ lN0 vor m ∈ lN0 und m vor n ∈ lN0 konstruiert ist, ist auch l vor n konstruiert. < ist semikonnex, da von m, n ∈ lN0 entweder m vor n oder n vor m konstruiert p ist. < ist eine Wohlordnung, weil kein n ∈ lN0 vor 0 konstruiert ist. Für m, n ∈ lN0 gilt: m≤n ⇔ m ⊆ n; m<n ⇔ m+ ∈ {0,.., n}. Eine rekursive Charakterisierung lautet: Nachfolger m<n ⇔ m+ = n ∨ m+ < n. Da lN0 wohlgeordnet ist, gibt es nach Satz 4.83 eine injektive Nachfolgerfunktion. Sie ist durch n → n+ gegeben. Weil jede natürliche Ordinalzahl einen Nachfolger besitzt, hat .+ den Definitionsbereich lN0. Für das Bild gilt | © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.6 Ordnung der natürlichen Zahlen 4 - 65 .+[lN0] = lN, d.h. jede natürliche Ordinalzahl außer 0 ist Nachfolger einer natürlichen Ordinalzahl. Da keine zwei natürlichen Ordinalzahlen denselben Nachfolger haben, ist .+ injektiv. Mit lN als Wertebereich ist .+ auch surjektiv. Somit ist die Nachfolgerfunktion .+ : lN0 → lN, n → n+ | Vorgänger bijektiv und besitzt eine Inverse, die wir Vorgängerfunktion (predecessor) nennen: .− : lN → lN0, n → n− = (n+)−1 := m genau dann, wenn m+ = n. | Die Nachfolgerfunktion .+ bietet einen weiteren Zugang zu <. Als Relation entspricht .+ der oberen Nachbarrelation → von Definition 4.64. Sie ist also azyklisch und intransitiv. Bilden wir die Produkte (.+)k für k ∈ lN und vereinigen sie, so erhalten wir die Kleinerrelation: <= ∪ k ∈ lN ( .+ ) k . Anders formuliert gilt für m, n ∈ lN0: m<n 4.6.2 ∃k ∈ lN : (((m+)+)...+) = n (Nachfolgerfunktion k-mal angewendet) ∃k ∈ lN : m+k = n. ⇔ ⇔ Ordnung der Kardinalzahlen Wie ordnen wir die Kardinalzahlen? Die Kardinalzahlen lassen sich wohlordnen ohne die Ordinalzahlen zu nutzen. Allerdings basiert dieser Ansatz auf dem Wohlordnungssatz oder dem Auswahlaxiom. Definition 4.87 Mächtigerrelation Eine Menge N heißt mächtiger als eine Menge M, M ≤∼ N, wenn es eine Injektion f : M → N gibt. Das bedeutet mit der Inklusion, der Gleichmächtigkeit und Korollar 4.24 formuliert: M ≤∼ N ⇔ ⇔ Satz 4.88 Mächtigerrelation als Präordnung ∃L ⊆ N : M ∼ L es gibt eine Surjektion g : N → M. Die Mächtigerrelation ist eine Präordnung auf jedem Mengensystem M: ≤∼ ⊆ M2. Beweis. Reflexivität: M ≤∼ M, da idM injektiv ist. p Transitivität: folgt aus Satz 4.20 (5). Nach Satz 4.51 induziert ≤∼ durch M ≈≤∼ N :⇔ M ≤∼ N ∧ N ≤∼ M für M, N ∈ M eine Äquivalenzrelation ≈≤∼ auf M und durch [M]≈ ≤≤∼ [N]≈ :⇔ M ≤∼ N für M, N ∈ M, also durch das Bild von ≤∼ unter der kanonischen Abbildung zu ≈≤∼, eine Halbordnung ≤≤∼ auf M / ≈≤∼. Statt einer Halbordnung auf M / ≈≤∼ wünschen wir 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 66 4 Relationale Strukturen eine Wohlordnung auf M / ∼. Der aus der Pionierzeit der Mengenlehre berühmte bernsteinsche1 Äquivalenzsatz bringt uns dem Ziel näher. Satz 4.89 Bernsteinscher Äquivalenzsatz Zwei Mengen M, N sind genau dann gleichmächtig, wenn jede mächtiger als die andere ist: M∼N M ≤∼ N ∧ N ≤∼ M. ⇔ Beweise sind nicht trivial und basieren z.B. auf einem Fixpunktsatz von Knaster oder Tarski oder dem unendlichen Heiratssatz. F Das bedeutet, dass die Gleichmächtigkeit ∼ mit der durch die Mächtigerrelation ≤ induzierten Äquivalenzrelation ≈≤ übereinstimmt: ∼ = ≈≤∼. Damit gilt: M / ≈≤∼ = M / ∼. Theorem 4.90 Wohlordnung der Kardinalzahlen Ist M, ∼ ein mit der Gleichmächtigkeit ∼ versehenes Mengensystem, so ist auf der Menge der Kardinalzahlen M / ∼ durch |M| ≤ |N| ⇔ ⇔ ∃L ⊆ N : M ∼ L es gibt eine Injektion f : M → N für M, N ∈ M eine Wohlordnung ≤ definiert, die |∅| als kleinstes Element besitzt. Beweis. Die Halbordnungseigenschaft wurde oben gezeigt, die Wohlordnungseigenschaft zeigt man mit dem Wohlordnungssatz. F Mit Definition 4.61 gilt nun für eine Menge M: Korollar 4.91 (1) M ist endlich ⇔ |M| < ℵ0. (2) M ist abzählbar ⇔ |M| ≤ ℵ0. (3) M ist überabzählbar ⇔ |M| > ℵ0. (4) M ist unendlich ⇔ |M| ≥ ℵ0. 1 Felix Bernstein (1878 - 1956), deutscher Mathematiker, emigrierte 1932 wegen rassistischer Verfolgung durch das Naziregime in die USA. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.6 Ordnung der natürlichen Zahlen Satz 4.92 Ordnungsregeln für Kardinalzahlen 4 - 67 Sind M, N Mengen und M ein Mengensystem, so gilt: |M| ≤ |N|. |M| < |N|. (1) (2) M⊆N (M ⊂ N ∧ |N| < ℵ0) (3) Die Potenzmenge einer Menge ist echt mächtiger als die Menge: |M| < |P(M)|. Die Vereinigung abzählbar vieler abzählbarer Mengen ist abzählbar: (4) (|M| ≤ ℵ0 ∧ ∀M ∈ M : |M| ≤ ℵ0) (5) ∪ M∈ M M ≤ ℵ0. Das kartesische Produkt endlich vieler abzählbarer Mengen ist abzählbar: (|M| < ℵ0 ∧ ∀M ∈ M : |M| ≤ ℵ0) (6) ∏M ∈ M M ≤ ℵ0. Das kartesische Produkt unendlich vieler mindestens zweielementiger Mengen ist überabzählbar: (|M| ≥ ℵ0 ∧ ∀M ∈ M : |M| > 1) ∏M ∈ M M > ℵ0. Beweis. (1) und (2) sind klar. (3) Wegen der Injektion x → {x} ist |M| ≤ |P(M)|. Annahme: |M| = |P(M)|. Dann gibt es eine Bijektion f : M → P(M). Da f surjektiv ist, gibt es zu N := {x ∈ M | x ∉ f(x)} ⊆ M ein y ∈ M mit f(y) = N. Dann gilt: y ∈ N ⇔ y ∉ N. Widerspruch! | (4) Wir benutzen das cantorsche Diagonalverfahren. Seien M = {M 1, M2,...} und Mi = {xi1, xi2,...} für i = 1, 2,... Wir schreiben die Elemente zweidimensional hin. Den Elementen eines Mi entspricht eine Zeile: x11 x21 x31 ... x12 x13 ... x22 x23 ... x32 x33 ... ... ... ... Nun besuchen wir die Elemente nach diesem Schema und nummerieren sie dabei um: x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34 x41 x42 x43 x44 Offenbar erreichen wir damit jedes Element. (5) Die Distributivität der Vereinigung beim kartesischen Produkt (→ Satz 1.23 (4) S. 1-18) gilt auch allgemeiner für die Vereinigung beliebig vieler Mengen. Seien M = {M1, M2,...} und M i = {xi1, xi2,...} für i = 1, 2,... Dann gilt: 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 68 4 Relationale Strukturen M1 × M 2 = ∪ { x 1k } k ∈ lN × M2 = ∪ k ∈ lN { x 1k } × M 2 = ∪ k ∈ lN {(x1k, x2l) | l ∈ lN}. Nach (4) ist M1 × M2 als Vereinigung abzählbar vieler abzählbarer Mengen abzählbar. Den Rest zeigt man mit vollständiger Induktion: Ist M2 × ... × Mn abzählbar, so ist auch M1 × ... × Mn = M1 × (M2 × ... × Mn) abzählbar. (6) Es genügt, M als abzählbar und alle M ∈ M als zweielementig vorauszusetzen. Seien M = {M1, M2,...} und M i = {0, 1} für i = 1, 2,... Dann ist ∏M ∈ M M = {0, 1} lN die Menge aller charakteristischen Funktionen χ : lN → {0, 1}. Da sie gleichmächtig zu P(lN) ist (→ Beispiel S. 1-28), gilt mit (3): ∏M ∈ M M = |P(lN)| > |lN| = ℵ0. F Beachte, dass M ⊂ N und |M| = |N| ≥ ℵ0 möglich ist. 4.7 Anwendungen von Ordnungen 4.7.1 Sortierte Folgen Sehr wichtig sind in der informatischen Praxis effiziente Sortieralgorithmen. Ein Sortieralgorithmus überführt eine Datenstruktur aus vergleichbaren Elementen von jedem nicht sortierten Zustand in einen sortierten Zustand. Praktisch sortieren lassen sich nur endlich viele Elemente, sodass wir Definition 4.80 für diesen Zweck auf endliche Indexmengen, also auf endliche Folgen von Elementen einschränken können. In diesem Fall lässt sich die Sortierteigenschaft wegen der Transitivität der Ordnung der Datenelemente durch eine Bedingung charakterisieren, die bei n Elementen mit n − 1 statt n ∗ (n − 1) Vergleichen auskommt. Korollar 4.93 Sortierte Folge Für eine vollgeordnete Menge G, ≤G und eine endliche Folge (x1,.., xn), n ∈ lN, in G gilt: (x1,.., xn) ist aufsteigend sortiert ⇔ ∀i = 2,.., n : xi−1 ≤G xi. (x1,.., xn) ist absteigend sortiert ⇔ ∀i = 2,.., n : xi ≤G xi−1. Ähnlich wie beim Minimum einer Kette (→ S. 55) leiten wir daraus eine Rekursionsformel ab: Rekursionsformel sortiert{x}. sortiert{x, y} = x ≤G y. sortiert{x1,.., xi} = sortiert{x1,.., xi−1} ∧ xi−1 ≤G xi für i = 2,.., n. Daraus konstruieren wir ähnlich wie beim Minimum (→ Programm 4.7) einen iterativen Algorithmus mit einer Zählschleife: © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.7 Anwendungen von Ordnungen Programm 4.11 Struktogramm: Sortiertsein einer Folge 4 - 69 sortiert{x1,.., xn} = result := TRUE für i = 2,.., n: ASSERT result = sortiert{x1,.., xi−1} result := result ∧ xi−1 ≤G xi ASSERT result = sortiert{x1,.., xi} Eine Analyse des Algorithmus ergibt, dass die Variable result in der Schleife höchstens einmal vom Zustand TRUE in den Zustand FALSE wechseln kann. Die Sortiertaufgabe unterscheidet sich von der Minimumaufgabe darin, dass die Iteration zum Feststellen des Sortiertseins abbrechen kann, sobald das erste invertierte Elementpaar gefunden ist, während die Iteration zum Berechnen des Minimums alle Elemente berücksichtigen muss. Tatsächlich ist die Sortiertaufgabe eine Suchaufgabe: Die Menge ist solange zu durchsuchen, bis ein Element mit einer gegebenen Eigenschaft gefunden ist oder alle Elemente untersucht sind. Für Algorithmen zu solchen Aufgaben eignen sich Bedingungsschleifen besser als Zählschleifen. Hier entspricht der Übergang von der Zählzur Bedingungsschleife dem Übergang von der langen zur kurzen Auswertung boolescher Ausdrücke (→ S. 2-30). Programm 4.12 Sortiertsein einer Folge sortiert{x1,.., xn} = result := TRUE; i := 2; WHILE result ∧ i <= n DO result := xi-1 <= x i; i := i + 1 END; ASSERT ¬result ∨ i > n. Verschiedene Sichten auf das Ergebnis sind: result i > n i ≤ n ¬result Ist die Folge sortiert, so wurden alle Elemente untersucht. Wurden nicht alle Elemente untersucht, so ist die Folge nicht sortiert. Mit kurzer Auswertung boolescher Ausdrücke lässt sich der Algorithmus weiter verbessern: Programm 4.13 Sortiertsein einer Folge verbesserte Version sortiert{x1,.., xn} = i := 2; WHILE i <= n ∧ xi-1 <= xi DO i := i + 1 END; ASSERT i > n ∨ xi-1 > x i; result := i > n. Die Sichten auf das Ergebnis sind: result ⇔ i > n ¬result ⇔ i ≤ n 9.8.04 Es ist i = n + 1. Entweder ist n = 1 oder die vorhergehende Iteration lieferte i = n ∧ xn−1 ≤ xn, d.h. die ganze Folge inklusive letztem Paar ist sortiert. Es wurden nicht alle Elemente untersucht. Es ist xi−1 > xi, wegen diesem invertierten Paar ist die Folge nicht sortiert. © Karlheinz Hug, Hochschule Reutlingen 4 - 70 4.7.2 4 Relationale Strukturen Ordnungen auf Produktmengen Im Folgenden seien I eine Indexmenge und Gi, ≤i für i ∈ I halbgeordnete Mengen. Auf dem kartesischen Produkt G := ∏i ∈ I G i der Mengen ist das kartesische Produkt Komponentenweise Ordnung ≤ := ∏i ∈ I ≤i der Relationen nach Definition 4.27 und Tabelle 4.1 definiert, das nach Aufgabe 4.22 (6) auch eine Halbordnung ist, sodass wir das kartesische Produkt G, ≤ = ∏i ∈ I G i , ∏i ∈ I ≤i der Strukturen mit der komponentenweisen Ordnung erhalten. Beachte, dass i.A. die zugeordnete strikte Ordnung vom Produkt der zugeordneten strikten Ordnungen verschieden ist, < = ≤ \ idG ≠ ∏i ∈ I <i = ∏i ∈ I (≤i \ idG ). i ≤ ist i.A. selbst dann keine Vollordnung, wenn alle ≤i Vollordnungen sind. G lässt sich auch anders, nämlich lexikografisch ordnen, wenn I wohlgeordnet ist. Beschränken wir uns auf die endliche Indexmenge I = {1,.., n}, so ist durch Lexikografische Ordnung :⇔ (x1,.., xn) <lex (y1,.., yn) ∃k ∈ I : (∀i ∈ {1,.., k − 1} : xi = yi ∧ xk <k yk) für (x1,.., xn), (y1,.., yn) ∈ G = G1 × ... × Gn eine strikte Halbordnung <lex definiert; sie heißt die lexikografische Ordnung zu den <i, i ∈ I. Wie üblich setzen wir ≤lex := <lex ∪ idG. Sind alle <i, i ∈ I, strikte Vollordnungen, so ist auch <lex eine strikte Vollordnung. Beispiele Für I = {1, 2} und G1 = G2 = lN ist die komponentenweise Ordnung definiert durch (x1, x2) ≤ (y1, y2) :⇔ x 1 ≤ y 1 ∧ x 2 ≤ y 2, es gilt also (1, 2) ≤ (3, 4), aber (1, 4) und (2, 3) sind unvergleichbar, während die lexikografische Ordnung definiert ist durch (x1, x2) ≤lex (y1, y2) :⇔ x1 < y1 ∨ (x1 = y1 ∧ x2 ≤ y2), sodass gilt: (1, 2) ≤lex (3, 4) und (1, 4) ≤lex (2, 3). In einer vollgeordneten Menge G ist eine endliche Folge (x1,.., xn) genau dann sortiert, wenn bzgl. der komponentenweisen Ordnung gilt: (x1,.., xn−1) ≤ (x2,.., xn). 4.8 Hüllen von Relationen Anwendungen geben oft Relationen vor, denen wünschenswerte Eigenschaften wie Reflexivität, Symmetrie, Transitivität fehlen. Beispielsweise liegt eine azyklische Relation vor, wo eine Halbordnung gewünscht ist. In gewissen Fällen lässt sich die gege- © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.8 Hüllen von Relationen 4 - 71 bene „unvollständige“ Relation zu einer Relation mit geforderten Eigenschaften „vervollständigen“. Dabei soll die gegebene Relation nur soweit notwendig erweitert werden. Wir haben z.B. in 4.6.1 die Nachfolgerfunktion der natürlichen Ordinalzahlen zur Kleinerrelation vergröbert. Gesucht ist also die kleinste Relation mit einer geforderten Eigenschaft, die eine gegebene Relation umfasst. Dies entspricht dem in der Mathematik breit angewandten Prinzip der Hüllenbildung oder Abschließung (closure). Im Folgenden identifizieren wir eine Eigenschaft von Teilmengen einer Grundmenge G mit einem einstelligen Prädikat M(.) auf P(G) und einem Mengensystem M ⊆ P(G), d.h. für M ⊆ G bedeuten M(M) M∈M „M hat die Eigenschaft M(.)“ und „M gehört zum Mengensystem M“ dasselbe. Zu einer Teilmenge N ⊆ G betrachten wir das Teilsystem der N umfassenden Mengen aus M, N⊆ ∩ M = {M ∈ M | N ⊆ M} ⊆ M, und ihr Infimum gM(N) := inf{M ∈ M | N ⊆ M} = ∩{M ∈ M | N ⊆ M}, das stets existiert. Nach den Sätzen 1.19 (3) S. 1-15 und 4.76 (4) gilt: Gehört gM(N) zu M, so ist es das kleinste Element von N⊆ ∩ M, d.h. gM(N) ∈ M gM(N) = klEl{M ∈ M | N ⊆ M}. Nach Satz 4.76 (3) gilt: Hat N⊆ ∩ M ein kleinstes Element, so ist es gleich gM(N). Für N ∈ M gilt: gM(N) = ∩{M ∈ M | N ⊆ M} = N = klEl{M ∈ M | N ⊆ M}. Damit gilt: gM[M] = M ⊆ {gM(N) | N ⊆ G} = gM[P(G)]. Definition 4.94 M-Hülle Sind G eine Grundmenge, M ⊆ P(G) ein Mengensystem, und existiert zu N ⊆ G die kleinste Obermenge aus M, hM(N) := klEl{M ∈ M | N ⊆ M}, so heißt sie die M-Hülle von N. Für das System der M-Hüllen gilt M h := {hM(N) | N ⊆ G} = hM[P(G)] = hM[M] = M. M Weiter gilt: N ∈ M ⇔ hM(N) = N. Nicht zu jedem Mengensystem M und jeder Teilmenge N ⊆ G gibt es eine M-Hülle. Interessant sind Systeme M, die zu jedem N ⊆ G eine M-Hülle liefern. Definition 4.95 Durchschnittsstabilität Ist G eine Grundmenge, so heißt ein Mengensystem M ⊆ P(G) durchschnittsstabil (durchschnittsabgeschlossen), wenn jeder Durchschnitt von Mengen aus M in M liegt, d.h. ∀N ⊆ M : 9.8.04 ∩N ∈ M . © Karlheinz Hug, Hochschule Reutlingen 4 - 72 4 Relationale Strukturen Ein durchschnittsstabiles Mengensystem M enthält die Grundmenge G, weil ∅ ⊆ M und nach Satz 1.19 (1) S. 1-15 Korollar 4.96 Durchschnittsstabilität und M-Hülle ∩∅ = G ist. Sind G eine Grundmenge und M ⊆ P(G) ein durchschnittsstabiles Mengensystem, so existiert zu jedem N ⊆ G die M-Hülle von N. Einen weiteren Zugang zu unserem Problem liefern Hüllenoperatoren. Definition 4.97 Hüllenoperator Ist G eine Grundmenge, so heißt eine Abbildung h : P(G) → P(G) ein Hüllenoperator auf G, wenn für alle M, N ⊆ G gilt: (1) (2) (3) M ⊆ h(M), h(M) ⊆ h(N), M⊆N h(h(M)) = h(M). Extensivität Monotonie Idempotenz Ist eine Abbildung h : P(G) → P(G) extensiv und monoton, so gilt h(M) ⊆ h(h(M)) für M ⊆ G. Für den Nachweis der Idempotenz genügt dann, h(h(M)) ⊆ h(M) zu zeigen. (3) lautet kurz: h2 = h. Beispiele (1) Ist f : M → N eine Abbildung, so ist durch hM(L) := f−1[f[L]] für L ⊆ M ein Hüllenoperator hM auf M definiert. Die durch hN(O) := f[f−1[O]] für O ⊆ N definierte Abbildung hN auf N ist zwar monoton und idempotent, aber nicht extensiv, also kein Hüllenoperator. (2) Ist M eine Menge und R ⊆ M2 eine Präordnung, so sind die Abbildungen N → NR und N → RN, | | die jedem N ⊆ M den Nachbereich bzw. Vorbereich von N zu R zuordnen, Hüllenoperatoren auf M. Den Zusammenhang zwischen M-Hüllen und Hüllenoperatoren klärt der folgende Satz. Satz 4.98 M-Hülle und Hüllenoperator Sind G eine Grundmenge, M ⊆ P(G) ein Mengensystem, und existiert zu jedem N ⊆ G die M-Hülle hM(N), so ist die Abbildung hM : P(G) → P(G), N → hM(N) = klEl{M ∈ M | N ⊆ M} | ein Hüllenoperator auf G mit hM[P(G)] = hM[M] = M. Korollar 4.99 Durchschnittsstabilität und Hüllenoperator Sind G eine Grundmenge und M ⊆ P(G) ein durchschnittsstabiles Mengensystem, so ist die Abbildung hM : P(G) → P(G), N → hM(N) := | ∩{M ∈ M | N ⊆ M} ein Hüllenoperator auf G mit hM[P(G)] = hM[M] = M. Hüllenoperatoren und durchschnittsstabile Mengensysteme entsprechen einander. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.8 Hüllen von Relationen Satz 4.100 Hüllenoperator und Durchschnittsstabilität 4 - 73 Ist h ein Hüllenoperator auf einer Grundmenge G, so ist das System Mh := {h(N) | N ⊆ G} = h[P(G)] seiner Bildmengen durchschnittsstabil. Der Hüllenoperator h M zu Mh nach Korollar h 4.99 stimmt mit h überein. Korollar 4.101 M-Hülle und Durchschnittsstabilität Sind G eine Grundmenge, M ⊆ P(G) ein Mengensystem, und existiert zu jedem N ⊆ G die M-Hülle hM(N), so ist das System M h := {hM(N) | N ⊆ G} = hM[P(G)] = hM[M] = M M der M-Hüllen durchschnittsstabil. Im Folgenden betrachten wir Hüllen von zweistelligen homogenen Relationen auf G; die Grundmenge ist dann G2. Definition 4.102 Hüllen von Relationen Die Systeme R := {R ⊆ G2 | R ist reflexiv}, S := {S ⊆ G 2 | S ist symmetrisch} und T := {T ⊆ G2 | T ist transitiv} der reflexiven, symmetrischen und transitiven Relationen auf G und ihre Durchschnitte sind nach Satz 4.34 (1) durchschnittsstabil. Nach Korollar 4.99 gibt es die Hüllenoperatoren hR, hS, hT, hR∩S, hR∩ T und hR∩S∩T auf G2 und nach Korollar 4.96 zu jeder Relation Q ⊆ G2 die folgenden Hüllen von Q: reflexive Hülle: symmetrische Hülle: transitive Hülle: reflexive und symmetrische Hülle: reflexive und transitive Hülle: ∩{R ∈ R | Q ⊆ R}, hS(Q) = ∩{S ∈ S | Q ⊆ S}, hT(Q) = ∩{T ∈ T | Q ⊆ T}, hR∩S(Q) = ∩{R ∈ R ∩ S | Q ⊆ R}, hR∩T(Q) = ∩{R ∈ R ∩ T | Q ⊆ R}, hR(Q) = reflexive, symmetrische und transitive Hülle: hR∩S∩T(Q) = ∩{R ∈ R ∩ S ∩ T | Q ⊆ R}. Die reflexive und symmetrische Hülle von Q ist die kleinste oder feinste Verträglichkeitsrelation, die Q umfasst. Die reflexive und transitive Hülle von Q ist die kleinste oder feinste Präordnung, die Q umfasst. Die reflexive, symmetrische und transitive Hülle von Q ist die kleinste oder feinste Äquivalenzrelation, die Q umfasst. Die Darstellung von Relationenhüllen als Durchschnitte von Obermengen eignet sich zu ihrer Definition, aber kaum zu ihrer praktischen Bestimmung. Dem Ziel der algorithmischen Berechnung der Relationenhüllen nähert sich der folgende Satz. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 74 Satz 4.103 Hüllen von Relationen 4 Relationale Strukturen Für jede Relation Q ⊆ G 2 gilt: (1) hR(Q) = Q ∪ idG. (2) hS(Q) = Q ∪ Q−1. (3) hT(Q) = Q+ = (4) ∪ n Q . n ∈ lN Mit Q sind auch hS(Q) und hT(Q) reflexiv. Also gilt: h S [R ] = R ∩ S , hT[R] = R ∩ T. (5) Mit Q sind auch hR(Q), hT(Q) und hR∩T(Q) symmetrisch. Also gilt: hR[S] = R ∩ S, hT[S] = S ∩ T, hR∩T[S] = R ∩ S ∩ T. (6) Mit Q ist auch hR(Q) transitiv. Also gilt: hR[T] = R ∩ T. (7) hR∩S(Q) = (hS ° hR)(Q) = (hR ° hS)(Q) = Q ∪ idG ∪ Q−1. (8) hR∩T(Q) = (hT ° hR)(Q) = (hR ° hT)(Q) = Q∗ = (9) n Q . n ∈ lN0 hR∩S∩ T(Q) = (hT ° hS ° hR)(Q) = (hT ° hR ° hS)(Q) = (hR ° hT ° hS)(Q) = ∪ –1 n n ∈ lN0 Beispiele ∪ (Q ∪ Q ) . Bei einer halbgeordneten Menge G, ≤, < ist die reflexive Hülle der Kleinerrelation die Kleinergleichrelation: hR(<) = ≤. Bei den Verwandtschaftsrelationen sind die symmetrischen Hüllen der Schwester- und der Bruderrelation die Geschwisterrelation: hS(„ist Schwester von“) = hS(„ist Bruder von“) = „ist Geschwister von“. Für die transitive und die reflexive und transitive Hülle von Q ⊆ G2 gilt für x, y ∈ G: x Q+ y ⇔ ∃n ∈ lN ∃x1,.., xn ∈ G : x = x1 Q x2 Q ... Q xn−1 Q xn Q y. x Q∗ y ⇔ x Q+ y ∨ x = y. Ist die Grundmenge G endlich, etwa |G| = n, so findet man höchstens Ketten der Länge n − 1. Für die transitive Hülle von Q ⊆ G2 gilt dann mit (3): Q+ = hT(Q) = Q ∪ Q2 ∪ Q3 ∪ ... ∪ Qn. Daraus lässt sich ein Algorithmus entwickeln, der Q+ in n Schritten ermittelt. Satz 4.104 Hüllen azyklischer Relationen Ist die Relation Q ⊆ G2 azyklisch, so ist Q+ eine strikte Halbordnung und Q∗ eine Halbordnung. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.9 Übungen Korollar 4.105 4 - 75 Für eine halbgeordnete Menge áG, ≤, <ñ mit der oberen und unteren Nachbarrelation → und ← gilt: (1) →+ = <. (2) →∗ = ≤. (3) ←+ = >. (4) ←∗ = ≥. 4.9 Übungen Aufgabe 4.1 Veranschaulichen Sie Satz 4.3 S. 4 und beweisen Sie ihn! Aufgabe 4.2 Veranschaulichen Sie Satz 4.5 S. 6 und beweisen Sie ihn! Aufgabe 4.3 Bijektion Zeigen Sie, dass für jedes k ∈ lN die Abbildung lN 0 → lN0 × {0,.., k − 1}, n → (n div k, n mod k) | bijektiv ist! Bemerkung: n = k ∗ (n div k) + n mod k. Aufgabe 4.4 Veranschaulichen Sie Satz 4.11 S. 11 und beweisen Sie ihn! Aufgabe 4.5 Veranschaulichen Sie Satz 4.12 S. 11 und beweisen Sie ihn! Aufgabe 4.6 Veranschaulichen Sie Satz 4.13 S. 12 und beweisen Sie ihn! Aufgabe 4.7 Veranschaulichen Sie Satz 4.14 S. 12 und beweisen Sie ihn! Aufgabe 4.8 Veranschaulichen Sie Korollar 4.29 S. 23! Aufgabe 4.9 Veranschaulichen Sie Satz 4.31 S. 24 und beweisen Sie ihn! Aufgabe 4.10 Veranschaulichen Sie Satz 4.33 S. 25 und beweisen Sie ihn! Aufgabe 4.11 Veranschaulichen Sie Satz 4.34 S. 26 und beweisen Sie ihn! Aufgabe 4.12 Alternative Beweise Beweisen Sie Satz 4.30 S. 23 mit den Charakterisierungen der Eigenschaften durch Aufgabe 4.13 Reflexive, symmetrische und transitive Relationen [16] Für eine Relation gibt es acht Möglichkeiten, die drei Eigenschaften Reflexivität, Symmetrie und Transitivität zu haben oder nicht zu haben. Geben Sie für jede dieser Kombinationen ein konkretes Beispiel an! Untersuchen Sie Ihre Beispiele danach, welche anderen Eigenschaften von Definition 4.28 sie haben! Aufgabe 4.14 Falsches Argument [28] Was ist falsch am folgenden Argument, das angeblich zeigt, dass jede symmetrische und transitive Relation R ⊆ M2 auch reflexiv ist? Aufgabe 4.15 Verlorene Eigenschaften 9.8.04 (1) (2) Bereiche, Satz 4.31 S. 24; Operationen, Satz 4.33 S. 25! Sei x ∈ M. Da R symmetrisch ist, gehören (x, y) und (y, x) beide zu R. Da R transitiv ist, gehört auch (x, x) zu R. Also ist R reflexiv. Sie betrachten Relationen R, S ⊆ M2. Geben Sie konkrete Beispiele für R und S mit: (1) (2) (3) (4) (5) R und S sind semikonnex, aber R ∩ S ist nicht semikonnex; R und S sind asymmetrisch, aber R ∪ S ist nicht asymmetrisch; R und S sind antisymmetrisch, aber R ∪ S ist nicht antisymmetrisch; R und S sind transitiv, aber R ∪ S ist nicht transitiv; R und S sind intransitiv, aber R ∪ S ist nicht intransitiv! © Karlheinz Hug, Hochschule Reutlingen 4 - 76 Aufgabe 4.16 Eigenschaften von Relationen Aufgabe 4.17 Eigenschaften der Komposition von Relationen 4 Relationale Strukturen Beweisen Sie die folgenden Aussagen! Für eine Relation R ⊆ M2 gilt: (1) R ∩ R−1 und R ∪ R−1 sind symmetrisch. (2) Ist R reflexiv, so sind auch R ∩ R−1 und R ∪ R−1 reflexiv. Untersuchen Sie zu Relationen R, S ⊆ M2, welche Eigenschaften die Komposition S ° R unter folgenden Voraussetzungen hat! (1) (2) (3) R hat eine der Eigenschaften von Definition 4.28. S hat eine der Eigenschaften von Definition 4.28. R und S haben gemeinsam eine der Eigenschaften von Definition 4.28. Hat im Fall (3) S ° R nicht dieselbe Eigenschaft wie R und S, so geben Sie ein konkretes Gegenbeispiel an! Aufgabe 4.18 Veranschaulichen Sie Satz 4.36 S. 27 und beweisen Sie ihn! Aufgabe 4.19 Bilder von zugeordneten Relationen und Bereichen Beweisen Sie die folgenden Aussagen zu Definition 4.37 S. 27! Für Mengen M, N, eine Relation R ⊆ M2 und eine Abbildung f : M → N gilt: (1) Das Bild der Identität ist die Identität auf der Bildmenge: id Mf = id f[M]. (2) Das Bild der Allrelation ist die Allrelation auf der Bildmenge: (3) M2f = f[M]2. Das Bild einer Einschränkung ist die Einschränkung des Bilds: (4) (5) (6) (7) ∀L ⊆ M : (R ∩ L2)f = Rf ∩ f[L]2. Für Q ⊆ R gilt: Qf ⊆ Rf. Monotonie Das Bild des Komplements umfasst das Komplement des Bilds in der Bildmenge: Rf ⊇ f[M]2 \ Rf. Das Bild der Umkehrung ist die Umkehrung des Bilds: R−1f = (Rf)−1. Bilder von Nach- und Vorbereichen sind Nach- bzw. Vorbereiche von Bildern: ∀L ⊆ M : (f[LR] = f[L]Rf ∧ f[RL] = Rff[L]). Aufgabe 4.20 Veranschaulichen Sie Satz 4.38 S. 27 und beweisen Sie ihn! Aufgabe 4.21 Veranschaulichen Sie Satz 4.39 S. 28 und beweisen Sie ihn! Aufgabe 4.22 Eigenschaften des kartesischen Produkts von Relationen Beweisen Sie die folgenden Aussagen zu 4.2.2 S. 27! Seien I eine Indexmenge und für i ∈ I seien Mi Mengen und Ri ⊆ M i2 Relationen. Für k ∈ I sei πk : ∏i ∈ I M i → Mk, (xi) → πk((xi)) := xk die k-te Projektion des kartesischen | Produkts ΠMi auf Mk (→ S. 1-27). Dann gilt: (1) Das kartesische Produkt der Relationen Ri ist der Durchschnitt ihrer Urbilder πiRi unter den Projektionen πi: ∏i ∈ I R i = ∩ π i R i . i∈I © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.9 Übungen 4 - 77 (2) Das kartesische Produkt der Identitäten ist die Identität des kartesischen Produkts: ∏i ∈ I idM (3) i = id i∈I Das kartesische Produkt der Umkehrrelationen ist die Umkehrrelation des kartesischen Produkts: ∏i ∈ I ( R–i 1 ) (4) ∏ . Mi = æ è ∏i ∈ I R iöø –1 . Sind alle Ri, i ∈ I, reflexiv, symmetrisch, transitiv, Verträglichkeits- oder Äquivalenzrelationen oder Präordnungen, so hat (5) dieselbe Eigenschaft. Ist wenigstens ein Ri, i ∈ I, irreflexiv, asymmetrisch, antisymmetrisch, intransitiv oder azyklisch, so hat (6) ∏i ∈ I R i ∏i ∈ I R i dieselbe Eigenschaft. Sind alle Ri, i ∈ I, Halbordnungen oder strikte Halbordnungen, so hat ∏i ∈ I R i dieselbe Eigenschaft. Aufgabe 4.23 Gleicher Durchschnitt [16] Zu einer Grundmenge G und einer Teilmenge L ⊆ G ist durch MRN :⇔ L∩M=L∩N für M, N ⊆ G eine Relation R auf P(G) definiert. Zeigen Sie, dass R eine Äquivalenzrelation auf P(G) ist! Bestimmen Sie für den Fall G = {1, 2, 3, 4, 5} und L = {1, 3, 5} alle Äquivalenzklassen! Beginnen Sie mit den Klassen [∅] und [G]! Wieviele Äquivalenzklassen gibt es? Aufgabe 4.24 Veranschaulichen Sie Satz 4.46 S. 34 und beweisen Sie ihn! Aufgabe 4.25 Durchschnitt von Äquivalenzrelationen [28] Sind R, S ⊆ M2 Äquivalenzrelationen, so ist nach Satz 4.34 (1) S. 26 auch R ∩ S eine Äquivalenzrelation, und es gilt: ∀x ∈ M ∃y, z ∈ M : [x]R∩S = [y]R ∩ [z]S. Veranschaulichen Sie diese Aussage und beweisen Sie sie! Aufgabe 4.26 Gröbere Äquivalenzrelation [29] Sind R, S Äquivalenzrelationen mit R ⊆ S ⊆ M2 und gibt es ein u ∈ [x]R und ein v ∈ [y]R mit u S v, so gilt für alle w ∈ [x]R und z ∈ [y]R die Beziehung w S z. Veranschaulichen Sie diese Aussage und beweisen Sie sie! Aufgabe 4.27 Urbild einer Äquivalenzrelation Ist f : M → N eine Abbildung und S ⊆ N2 eine Äquivalenzrelation, so ist fS nach Satz 4.39 (1) S. 28 eine Äquivalenzrelation auf M. Zeigen Sie, dass für die Quotientenmenge gilt: M / fS = {[x]fS | x ∈ M} = {f−1[[f(x)]S] | x ∈ M}. Aufgabe 4.28 Überdeckung [28] Zu einer Überdeckung U ⊆ P(M) einer Menge M (→ Definition 1.20 S. 1-16) sei durch xRy :⇔ ∃U ∈ U : x, y ∈ U für x, y ∈ M eine Relation R ⊆ M 2 definiert. Welche Eigenschaften hat R? Ist R eine Äquivalenzrelation? Aufgabe 4.29 Veranschaulichen Sie Satz 4.55 S. 40 und beweisen Sie ihn! Aufgabe 4.30 Veranschaulichen Sie Satz 4.63 S. 47 und beweisen Sie ihn! 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 4 - 78 4 Relationale Strukturen Aufgabe 4.31 Kleinste und größte Elemente Beweisen Sie, dass für eine halbgeordnete Menge áG, ≤ñ gilt: Aufgabe 4.32 Ordnungsdiagramme Stellen Sie die verschiedenen Ordnungsdiagramme halbgeordneter Mengen áG, ≤ñ mit |G| = 1, 2, 3, 4 und 5 Elementen zusammen! Aufgabe 4.33 Ordnungsdiagramme zu Zerlegungen Stellen Sie zu Mengen mit 1, 2, 3, 4 und 5 Elementen alle echten Zerlegungen in Ordnungsdiagrammen dar! Die Ordnung der Zerlegung ist die Feinerrelation von Beispiel 4.3 S. 51. Aufgabe 4.34 Endliche Ketten Beweisen Sie die folgende Aussage! Aufgabe 4.35 Satz von Dilworth Welche Beziehung besteht zwischen Ketten und Antiketten? Der Satz von Dilworth gibt zwei Antworten: ∀x ∈ G : klEl(x≤) = x = grEl(≤x). Jede endliche Kette der Länge n − 1 ist ordnungsisomorph zur Kette {1,.., n}. (1) (2) In einer endlichen halbgeordneten Menge áG, ≤ñ ist die minimale Mächtigkeit einer Zerlegung von G in Ketten gleich der maximalen Mächtigkeit einer Antikette. In einer endlichen halbgeordneten Menge áG, ≤ñ ist die minimale Mächtigkeit einer Zerlegung von G in Antiketten gleich der maximalen Mächtigkeit einer Kette. Veranschaulichen Sie diese Aussagen mit einigen Ordnungsdiagrammen! Aufgabe 4.36 Lexikografische Ordnung Beweisen Sie, dass die in 4.7.2 S. 70 eingeführte lexikografische Ordnung auf dem Produkt endlich vieler (1) (2) halbgeordneter Mengen tatsächlich eine Halbordnung, vollgeordneter Mengen tatsächlich eine Vollordnung ist! Aufgabe 4.37 Hüllenoperatoren Veranschaulichen Sie die Beispiele auf S. 72 und beweisen Sie, dass es tatsächlich Hüllenoperatoren sind! Aufgabe 4.38 Veranschaulichen Sie Satz 4.98 S. 72 und beweisen Sie ihn! Aufgabe 4.39 Veranschaulichen Sie Satz 4.100 S. 73 und beweisen Sie ihn! Aufgabe 4.40 Veranschaulichen Sie Satz 4.103 S. 74 und beweisen Sie ihn! Aufgabe 4.41 Hüllen einer Relation [16] Auf der Grundmenge G = {a, b, c, d, e} sei die Relation Q = {(a, c), (b, d), (c, a), (c, e), (d, c), (e, a), (e, b), (e, d)} gegeben. Aufgabe 4.42 Eigenschaften von Hüllen Aufgabe 4.43 Eigenschaften von Hüllenoperatoren Aufgabe 4.44 Bestimmen Sie die Hüllen hR(Q), hS(Q), hT(Q), hR∩S(Q), hR∩T(Q) und hR∩S∩T(Q)! (1) Geben Sie eine transitive Relation T ⊆ G2 an, deren symmetrische Hülle nicht transitiv ist! (2) Zeigen Sie, dass für Q ⊆ G2 gilt: (hS ° hT)(Q) ⊆ (hT ° hS)(Q). Sind die Hüllenoperatoren hR, hS und hT für die reflexive, symmetrische bzw. transitive Hülle von Relationen (1) durchschnittstreu, d.h. gilt (2) vereinigungstreu, d.h. gilt ∩Qi) = ∩h(Qi); h(∪Qi) = ∪h(Q i)? h( Veranschaulichen Sie Satz 4.104 S. 74 und beweisen Sie ihn! © Karlheinz Hug, Hochschule Reutlingen 9.8.04 4.9 Übungen Aufgabe 4.45 Gröbste antisymmetrische Relation [29] 4 - 79 Nach Korollar 4.29 (2) S. 23 gehört die Antisymmetrie zu den Eigenschaften von Relationen, die bei Verfeinerungen erhalten bleiben, aber bei Vergröberungen verloren gehen können. Beweisen Sie die folgenden Aussagen! (1) (2) 9.8.04 Zu jeder antisymmetrischen Relation R ⊆ G2 gibt es eine gröbste antisymmetrische Relation a(R), die R umfasst: a(R) = grEl{A ⊆ G2 | R ⊆ A und A ist antisymmetrisch}. Ist < eine strikte Halbordnung auf G, so ist ≤ = < ∪ idG die gröbste antisymmetrische Relation, die gröber als < ist: a(<) = ≤. © Karlheinz Hug, Hochschule Reutlingen 4 - 80 © Karlheinz Hug, Hochschule Reutlingen 4 Relationale Strukturen 9.8.04 5 Zahlen Aufgabe 5 5.1 Natürliche Zahlen Siehe Bauer, Skript TG1. 5.1.1 Peanosche Axiome Vollständige Induktion 5.1.2 Arithmetische Operationen Rechenregeln 5.1.3 Ordnungsrelationen Rechenregeln 5.1.4 Rekursionstheoreme 5.1.5 Archimedische Eigenschaft Wir nutzen die Chance für zwei Widerspruchsbeweise. Satz 5.23 Keine maximale natürliche Zahl Die Menge lN0 der natürlichen Zahlen hat keine maximalen Elemente. Beweis durch Widerspruch. Angenommen, lN0 hat ein maximales Element n. Dann gilt n < n + 1 = n+ ∈ lN0. Also ist n kein maximales Element von lN0 - Widerspruch! Korollar 5.24 Archimedisches Axiom F Zu jedem m ∈ lN0 und n ∈ lN gibt es ein k ∈ lN mit m < k ∗ n. Beweis durch Widerspruch. Wäre m ≥ k ∗ n für alle k ∈ lN, so wäre auch m ≥ k für alle k, d.h. m wäre größtes Element von lN0 im Widerspruch zu Satz 5.23. F Wegen der Eigenschaft in Korollar 5.24 ist lN0 archimedisch geordnet. 5.2 Ganze Zahlen Siehe Bauer, Skript TG1. Konstruktive Definition von ' als Quotientenmenge der Produktmenge lN 2 0 Rechenregeln Satz 5.25 Abzählbarkeit der ganzen Zahlen 5.2.1 Die Menge ' der ganzen Zahlen ist abzählbar unendlich. Beweis folgt aus ihrer Konstruktion und Satz 4.92 (5) und (1) S. 4-67. F Standardfunktionen ' ' ' Abbildungen mit als Wertebereich heißen ganzzahlige Funktionen, insbesondere solche der Form f : → , p → f(p). Die folgenden für p ∈ definierten ganzzahligen Funktionen sind allgemein gebräuchlich. © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 | ' Kapitel 5 - Seite 1 von 34 5-2 5 Zahlen Vorzeichen (signum, sign): 1 sgn(p) := 0 –1 falls p>0 falls p = 0. falls p<0 (Absolut-)Betrag: p |p| := sgn(p) * p = –p falls p≥0 falls p<0 . Üblich ist auch die Kurzschreibweise für p, q ∈ p = ±q p ∈ {q, −q} :⇔ ⇔ ': p = q ∨ p = −q Für den Betrag gelten die Rechenregeln für p, q ∈ ': |p| = 0 ⇔ p = 0. |p ∗ q| = |p| ∗ |q|. |p + q| ≤ |p| + |q|. 5.2.2 Satz 5.26 Division mit Rest ⇔ |p| = |q|. Dreiecksungleichung Division mit Rest Zu jedem (p, m) ∈ (1) (2) '× lN gibt es genau ein (q, r) ∈ '× lN 0 mit p = q ∗ m + r, 0 ≤ r < m. Wir nennen dann q den ganzzahligen Quotienten und r den Rest von p bei Division durch den Modul m und schreiben p div m := q, p mod m := r. Damit sind die ganzzahlige Division div : '× lN → ', (p, m) → p div m | und die Modulooperation mod : '× lN → lN0, (p, m) → p mod m | als Abbildungen definiert. Die Bedingungen (1) und (2) legen die Modulooperation mit der in 5.2.4 einzuführenden Kongruenzrelation verträglich fest. Vorrangregel Wir geben div und mod die Priorität der Multiplikation, d.h. div und mod binden gleich stark wie ∗ und stärker als + und −. Rechenregeln Für (p, m) ∈ (3) (4) (5) (6) '× lN gilt: sgn(p div m) = sgn(p). sgn(p mod m) = sgn(m) ≥ 0. Für 0 ≤ p < m gilt: p div m = 0, p mod m = p. Für alle n ∈ gilt: (p + m ∗ n) div m = p div m + n, (p + m ∗ n) mod m = p mod m. © Karlheinz Hug, Hochschule Reutlingen ' 9.8.04 5.2 Ganze Zahlen 5-3 Was bedeutet die Regeln? Für p < 0 ≤ p + m < m gilt wegen (5) und (6): 0 = (p + m) div m = p div m + 1, also p div m = −1. Demnach ist p div m die größte ganze Zahl, die kleinergleich dem reellen Quotienten p / m ist. Wir runden also ab, unabhängig davon, ob p ≥ 0 oder p < 0 ist. In der Notation von 5.4.5 ist p div m = p / m. Anschaulich gehen wir von p auf der Zahlengeraden nach links bis zur nächstkleineren durch m teilbaren ganzen Zahl. Diese teilen wir durch m, um p div m zu erhalten. p mod m entspricht der dabei zurückgelegten Strecke. Programmiersprachen L Viele Programmiersprachen bieten Division mit Rest als Paar von Operationen zu ganzzahligen Typen, z.B. Component Pascal als DIV und MOD, C-orientierte Sprachen als / und %. Sie müssen die Division mit Rest geeignet auf × \ {0} fortsetzen. ' ' Exkurs. Leider gibt es weit verbreitete Programmiersprachen, die die Division mit Rest nicht einmal auf × lN gemäß der mathematisch sinnvollen Minimalbedingungen (1) und (2) spezifizieren, sondern nur auf lN × lN (1) und (2) verlangen und sich auf × lN mit (1) begnügen. Übersetzer können dann von (2) abweichen, indem sie beim Berechnen von p div m nicht abrunden, sondern in Richtung 0 runden. Für p ≥ 0 ist das egal, aber nicht für p < 0. Damit verlieren (3), (4) und (6) ihre Gültigkeit, was das Programmieren mit Division mit Rest, insbesondere bei Kongruenzrechnungen, unnötig verkompliziert. ' ' Warum gibt es solche Sprachen? Manche (frühere) Rechner implementieren die Division mit Rest nicht mathematisch sinnvoll gemäß (1) und (2). Sprachentwerfer lassen die Division mit Rest unterspezifiziert, damit sich Übersetzerbauer flexibel an Hardwarearithmetiken anpassen können. Hardwarefehler können so Sprachimplementationen infizieren. Entwerfer von Nachfolgersprachen belassen diese kompatibel mit Vorgängersprachen. Durch solche Anpassungszwänge scheinen sich Altlasten fehlerhafter Division mit Rest so dauerhaft zu erhalten wie Atommüll. Die Dumme am Ende der Kette ist die AnwendungsprogrammiererIn, die um Schwachstellen von Sprachen herum programmieren muss. Fortsetzung ' ' Wie ist die Division mit Rest geeignet auf × \ {0} fortzusetzen? Leider gibt es keine Fortsetzung, die alle Bedingungen (1) bis (6) erfüllt. Welche Minimalbedingungen sollte jede sinnvolle Fortsetzung erfüllen? Sicher ist es nützlich, (1) zu verallgemeinern und die Gleichung (7) p = (p div m) ∗ m + p mod m ' ' für alle (p, m) ∈ × \ {0} zu fordern, um p ohne Fallunterscheidung aus dem ganzzahligen Quotienten und dem Rest zurückzuerhalten. Für das Vorzeichen des Quotienten fordern wir konsistent mit (3) für (p, m) ∈ × \ {0} ' ' (8) sgn(p div m) = sgn(p) ∗ sgn(m). (6) verallgemeinernd fordern wir für (p, m) ∈ (9) ' × ' \ {0} und n ∈ ' (p + m ∗ n) div m = p div m + n, (p + m ∗ n) mod m = p mod m. (7) bis (9) legen p div m und p mod m im Fall m < 0 noch nicht eindeutig fest; es sind Minimalforderungen an sinnvolle Fortsetzungen der Division mit Rest. Ab hier bieten sich zwei Alternativen. Variante 1: Fortsetzung mit nichtnegativem Rest Konsistent mit (2) fordern wir für (p, m) ∈ ' × ' \ {0}: (10) 0 ≤ p mod1 m < |m|. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5-4 Tabelle 5.1 Beispiel für nichtnegativen Rest 5 Zahlen p m p div1 m p mod1 m 10 7 1 3 −10 7 −2 4 10 −7 −1 3 −10 −7 2 4 Aus (10) folgt die Verallgemeinerung einer Ungleichung in (4): (11) sgn(p mod1 m) ≥ 0. Die Gleichung sgn(p mod1 m) = sgn(m) in (4) gilt nicht für m < 0. Aus (7) und (10) folgen (8), (9) und (12) p div1 (−m) = −(p div1 m), (13) p mod1 (−m) = p mod1 m. L J Der Vorteil von (10) kostet den Nachteil, dass i.A. p div1 (−m) ≠ (−p) div 1 m. Wegen (13) verträgt sich die Variante nichtnegativer Rest sehr gut mit der Kongruenzrechnung. Deshalb wird sie in der Mathematik bevorzugt. Variante 2: Fortsetzung mit vorzeichenbehaftetem Rest Konsistent mit (2) fordern wir für (p, m) ∈ (14) m > 0 m<0 Tabelle 5.2 Beispiel für vorzeichenbehafteten Rest ' × ' \ {0}: 0 ≤ p mod2 m < m, m < p mod2 m ≤ 0. p m p div2 m p mod2 m 10 7 1 3 −10 7 −2 4 10 −7 −2 −4 −10 −7 1 −3 Aus (14) folgt die Verallgemeinerung der Gleichung in (4): (15) sgn(p mod2 m) = sgn(m). Die Ungleichung sgn(m) ≥ 0 in (4) gilt nicht für m < 0. Aus (7) und (14) folgen (8), (9) und (16) p div2 (−m) = (−p) div2 m, (17) p mod2 (−m) = −((−p) mod2 m). L J Beispiel Der Vorteil von (16) kostet den Nachteil, dass i.A. p mod2 (−m) ≠ p mod m. Auch die Variante vorzeichenbehafteter Rest verträgt sich mit der Kongruenzrechnung. Component Pascal spezifiziert DIV und MOD nach der Variante vorzeichenbehafteter Rest. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.2 Ganze Zahlen 5.2.3 Definition 5.27 Teiler Vielfaches Teiltrelation 5-5 Teilbarkeit Für p, q ∈ durch p, p|q |⊆ Satz 5.28 Rechenregeln zur Teiltrelation ' heißt p ein Teiler von q, p teilt q, q ein Vielfaches von p, q teilbar :⇔ ∃r ∈ ' : p ∗ r = q. '2 heißt Teiltrelation. Für die Teiltrelation gilt für alle p, q, r, s, t ∈ (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) p | 0. 0|p ⇔ p = 0. p | ±1 ⇔ p = ±1. ±1 | p. ±p | p. (p | q ∧ q | p) ⇔ (p | q ∧ q | r) p|q (p ∗ r | q ∗ r ∧ r ≠ 0) p|q ⇔ p | −q ⇔ (p | q ∧ r | s) (p | q ∧ p | r) (p | q ∧ q ≠ 0) ': p = ±q. p | r. Transitivität p ∗ r | q ∗ r. p | q. −p | q ⇔ −p | −q. p ∗ r | q ∗ s. p | (q ∗ s + r ∗ t). 1 ≤ |p| ≤ |q|. ' einen trivialen (unechten) Teiler von q ∈ ', wenn p = ±1 oder p = ±q; echten Teiler von q ∈ ', wenn p | q und p kein trivialer Teiler von q ist. Aus (13) ergibt sich für p, q ∈ ': Wegen (4) und (5) nennen wir p ∈ p ist echter Teiler von q ⇔ (p | q ∧ 1 < |p| < |q|). Aus (5), (6) und (7) folgt: Satz 5.29 Ordnungseigenschaften Für die Teiltrelation gilt: '2 ist eine Präordnung auf '. (1) |⊆ (2) | ∩ lN2 ist eine Halbordnung auf lN. Weiter folgt aus Satz 5.28 (13): Satz 5.30 Teilt und Kleinergleich Die Teiltrelation auf lN verfeinert die Kleinergleichordnung auf lN: | ∩ lN2 ⊆ ≤ ∩ lN2, d.h. m ≤ n). ∀m, n ∈ lN : (m | n Für die Kleinergleichordnung gilt bekanntlich m≤n ⇔ ∃k ∈ lN0 : m + k = n, für die Teiltrelation gilt m|n 9.8.04 ⇔ ∃k ∈ ' : m ∗ k = n. © Karlheinz Hug, Hochschule Reutlingen 5-6 5 Zahlen Beide Relationen sind also formal gleich, aber ≤ mit +, | mit ∗ definiert. Wesentlicher Unterschied ist, dass ≤ voll-, aber | nur halbgeordnet ist. Bezüglich | gibt es unvergleichbare Elemente, z.B. 2 und 3. Für die wegen Satz 5.29 (1) nach Satz 4.51 S. 4-39 durch die Teiltrelation | induzierte Äquivalenzrelation ≈| auf gilt mit Satz 5.28 (6): ' p ≈| q ⇔ p = ±q '. Die Äquivalenzklassen zu ≈| sind also die Paarmengen {p, −p} mit p ∈ ', für p, q ∈ nur die Äquivalenzklasse {0} ist einelementig. Die Quotientenmenge morph zu lN. ' / ≈| ist iso- ' ist die Menge der Teiler von p der Vorbereich von p zur Teiltrelation: |p = {q ∈ ' | q teilt p}, Für p ∈ die Menge der Vielfachen von p ist der Nachbereich von p zur Teiltrelation: p| = {q ∈ ' | p teilt q}. Wegen Satz 5.28 (10) gilt für p ∈ ': |p = |−p, p| = −p|. Gemeinsame Teiler und Vielfache sind Elemente von Durchschnitten von Teiler- bzw. Vielfachmengen. Für p, q, r ∈ heißt r ein ' gemeinsamer Teiler von p und q, wenn r ∈ |p ∩ |q, d.h. r | p ∧ r | q; gemeinsames Vielfaches von p und q, wenn r ∈ p| ∩ q|, d.h. p | r ∧ q | r. Nun interessieren möglichst l l „große“ gemeinsame Teiler in |p ∩ |q, „kleine“ gemeinsame Vielfache in p| ∩ q|, wobei sich „groß“ und „klein“ auf | beziehen. Tatsächlich hat |p ∩ |q bzgl. | zwei „größte“ Elemente, p und q haben zwei „größte“ gemeinsame Teiler, die sich im Vorzeichen unterscheiden. Entsprechend hat p| ∩ q| bzgl. | zwei „kleinste“ Elemente, p und q haben ein nichtnegatives und ein nichtpositives „kleinstes“ gemeinsames Vielfaches. Jedoch sind die Begriffe „größtes“ und „kleinstes“ bzgl. | gar nicht definiert, da | nur eine Präordnung auf ist. Eindeutigkeit des „größten“ und „kleinsten“ Elements erreichen wir, indem wir jeweils das nichtnegative Element wählen, also in |p ∩ |q ∩ lN0 das größte und in p| ∩ q| ∩ lN 0 das kleinste Element. ' © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.2 Ganze Zahlen Satz 5.31 Existenz und Eindeutigkeit von ggT und kgV 5-7 Seien p, q ∈ (1) '. Es gibt genau ein r ∈ lN0 mit |p ∩ |q = |r. Für r gilt: r | p ∧ r | q, ∀t ∈ lN0 : ((t | p ∧ t | q) (2) Es gibt genau ein s ∈ lN0 mit p| ∩ q| = s|. Für s gilt: p | s ∧ q | s, ∀t ∈ lN0 : ((p | t ∧ q | t) Definition 5.32 Größter gemeinsamer Teiler Kleinstes gemeinsames Vielfaches t | r). Seien p, q ∈ s | t). '. Das nach Satz 5.31 (1) eindeutig bestimmte r ∈ Teiler (greatest common divisor) von p und q: ggT(p, q) = r lN 0 heißt der größte gemeinsame r ∈ lN0 ∩ |p ∩ |q ∧ |p ∩ |q ⊆ |r, d.h. :⇔ r ∈ lN0 ist gemeinsamer Teiler von p und q und jeder gemeinsame Teiler von p und q teilt r. Das nach Satz 5.31 (2) eindeutig bestimmte s ∈ Vielfache (least common multiple) von p und q: kgV(p, q) = s s ∈ lN0 ∩ p| ∩ q| ∧ :⇔ p| lN 0 heißt das kleinste gemeinsame ∩ q| ⊆ r|, d.h. s ∈ lN0 ist gemeinsames Vielfaches von p und q und jedes gemeinsame Vielfache von p und q ist Vielfaches von s. Beschränken wir uns auf die natürlichen Zahlen, so können wir „größtes“ und „kleinstes“ oder „maximales“ bzw. „minimales“ auch auf die Kleinergleichordnung beziehen, d.h. für p, q ∈ lN gilt ggT(p, q) = max{r ∈ kgV(p, q) = min{s ∈ Satz 5.33 Rechenregeln zum ggT Für alle p, q, r ∈ (1) (2) (3) (4) (5) (6) (7) (8) ' | r teilt p ∧ r teilt q}, ' | p teilt s ∧ q teilt s}. ' gilt: ggT(0, 0) = 0. ggT(p, 0) = |p|. ggT(p, 1) = 1. ggT(p, p) = |p|. ggT(p, q) = ggT(q, p). ggT(p, q) = ggT(p − q, q). ggT(p, q) = ggT(p mod q, q). q≠0 ggT(p ∗ r, q ∗ r) = ggT(p, q) ∗ |r|. Aus (2), (5) und (7) erhält man die Rekursionsformel p ggT(p, q) = ggT (q, p mod q) falls q = 0 sonst , aus der man den euklidischen Algorithmus zur Berechnung des größten gemeinsamen Teilers zweier ganzer Zahlen entwickelt. Die rekursive Variante lässt sich in eine iterative transformieren. Siehe dazu die Module I0Euclid* und MathArithmeticsI in [33]. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5-8 5.2.4 5 Zahlen Kongruenzrechnung Die Kongruenzrechnung ist grundlegend wichtig in der Zahlentheorie, der Algebra und ihren Anwendungen. Auch in der Informatik erscheint sie an vielen Stellen, z.B.: l l l Satz 5.34 Kongruenz modulo n Rechner rechnen mit ganzen Zahlen in Moduloarithmetik. Kryptografische Verfahren basieren wesentlich auf der Kongruenzrechnung. Periodische Vorgänge steuert man gut mit der Kongruenzrechnung. Für jedes n ∈ lN0 ist durch p ≡ q (mod n) ' :⇔ n|p−q ' p kongruent q modulo n für p, q ∈ eine Äquivalenzrelation ≡ (mod n) auf definiert; sie heißt Kongruenz modulo n. Ihre Äquivalenzklassen heißen Restklassen modulo n. Die Quotientenmenge bezeichnen wir mit 'n := {[p]≡n | p ∈ '}. Oft schreibt man statt p ≡ q (mod n) kurz p ≡ q mod n oder p ≡n q oder p ≡ q oder gar p = q. Eine Restklasse modulo n enthält alle ganzen Zahlen, die beim Teilen durch n denselben Rest lassen. Der Zusammenhang zwischen der Kongruenz ≡ (mod n) und der Modulooperation von Satz 5.26 ist für n ∈ lN: p ≡ q (mod n) ⇔ p mod n = q mod n. Ein handliches Repräsentantensystem für {0, 1,.., n − 1}. Die Operationen übertragen sich von Addition [p]≡n +n [q]≡n := [p + q]≡n, Subtraktion [p]≡n −n [q]≡n := [p − q]≡n, Multiplikation [p]≡n ∗n [q]≡n := [p ∗ q]≡n 'n = {[0]≡n, [1]≡n,.., [n − 1]≡n} ist ' auf 'n durch ' für p, q ∈ . Es ist zu zeigen, dass die Operationen wohldefiniert sind, d.h. unabhängig von der Wahl der Repräsentanten. Rechnen modulo n bedeutet, „normal“ addieren, multiplizieren usw., aber jedes Ergebnis (auch Zwischenergebnis) durch n teilen und nur den Rest behalten (den ganzzahligen Quotienten wegwerfen). 5.2.5 Definition 5.35 Primzahl Primzahlen Eine natürliche Zahl p > 1 heißt prim oder eine Primzahl, wenn p nur triviale Teiler hat. Die Menge aller Primzahlen ist lP := {n ∈ lN | n ist prim}. Wir nennen p ∈ lP einen Primteiler von q ∈ ', wenn p | q. Das folgende Lemma und der Satz von Euklid ist in Beispiel 3.4 S. 3-10 bewiesen. Lemma 5.36 Existenz eines Primteilers Satz 5.37 Satz von Euklid Jede natürliche Zahl n > 1 hat einen Primteiler. Die Menge lP aller Primzahlen ist abzählbar unendlich. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.3 Rationale Zahlen 5.3 5-9 Rationale Zahlen Siehe Bauer, Skript TG1. Konstruktive Definition von 3 als Quotientenmenge der Produktmenge ' × ' \ {0} Rechenregeln Nützlich sind folgende Bezeichnungen für positive und negative rationale Zahlen: Satz 5.38 Abzählbarkeit der rationalen Zahlen 3+ := {q ∈ 3 | q > 0}, 3− := {q ∈ 3 | q < 0}, 3+0 := 3+ ∪ {0} = {q ∈ 3 | q ≥ 0}, 3−0 := 3− ∪ {0} = {q ∈ 3 | q ≤ 0}. Die Menge 3 der rationalen Zahlen ist abzählbar unendlich. Beweis folgt aus ihrer Konstruktion und Satz 4.92 (5) und (1) S. 4-67. p Programmierung Rationale Zahlen kann man in Programmiersprachen als Datentypen, in objektorientierten Sprachen als Klassen implementieren. Siehe dazu als Beispiel das Klassenmodul MathRationals mit der Klasse Rational in [33]. 5.4 Reelle Zahlen ! der reellen Zahlen kann man prinzipiell auf zwei Arten einführen: konstruktiv als Teilsystem von P(3), der Potenzmenge der rationalen Zahlen, Die Menge (1) (2) 5.4.1 axiomatisch. Konstruktion Von verschiedenen konstruktiven Ansätzen skizzieren wir einen. Startpunkt ist die Struktur der rationalen Zahlen, 3, 0, 1, +, ∗, ≤ . Nach Beispiel (2) S. 4-72 ist für eine halbgeordnete Menge G, ≤ die Abbildung P(G) → P(G), M → ≤M | ein Hüllenoperator. Wir betrachten das System der ≤-Vorbereiche oder ≤-Hüllen {≤M | M ⊆ 3}, dessen Elemente hier Anfänge heißen. Das System der Anfänge teilt sich in offene Anfänge, die kein größtes Element haben, und nicht offene Anfänge: 3 {≤M | M ⊆ } = {≤M | M ⊆ , grEl(≤M) existiert nicht} ∪ {≤M | M ⊆ , grEl(≤M) existiert} = {≤M | M ⊆ , ≤M ist offen} ∪ {≤M | M ⊆ , ≤M ist nicht offen}. 3 3 3 3 Außerdem betrachten wir das System der primitiven <-Vorbereiche {<q | q ∈ 3}, wobei hier <q der durch q bestimmte Abschnitt heißt. Nun gilt: Jeder Abschnitt <q in 3 ist ein offener Anfang in 3. Die Umkehrung gilt nicht, da z.B. 3− ∪ {q ∈ 3+0 | q2 < 2} 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 10 5 Zahlen 3 3 ! ein offener Anfang, aber kein Abschnitt in ist. Ziel ist, so zu zu vervollständigen, dass jeder offene Anfang ein Abschnitt ist. Das erreichen wir mit der Definition Ordnung ! := {x ⊆ 3 | x ist offener Anfang in 3}. Die Elemente von ! heißen reelle Zahlen. Wir müssen nun (1) die Menge ! algebraisch und relational strukturieren und (2) zeigen, dass 3 isomorph zu einer Teilmenge von ! ist. Dann können wir 3 mit dieser Teilmenge von ! identifizieren. Wir beginnen mit der Ordnungsstruktur auf !: x≤y :⇔ x ⊆ y für x, y ∈ !. Damit gilt: Zu jedem offenen Anfang M ⊆ Abschnitt in ist, M = <x. ! ! gibt es ein x ∈ !, sodass M der durch x bestimmte Als Folgerung ergibt sich, dass jede nicht leere nach oben beschränkte Teilmenge von ein Supremum besitzt. Nun ist zu zeigen, dass die Abbildung ! 3, ≤ ! → , ≤, q → <q | ein injektiver, strikt isotoner Ordnungshomomorphismus ist. Reelle Zahlen, die nicht Abschnitte rationaler Zahlen sind, nennen wir irrationale Zahlen. Bisher wurde keine algebraische Eigenschaft von genutzt. Die algebraische Struktur erhält ausgehend von den Definitionen 3 Addition x + y := {p + q | p ∈ x, q ∈ y} Multiplikation x ∗ y := 3− ∪ {p ∗ q | p ∈ x \ 3−, q ∈ y \ 3−} ! ! für x, y ∈ ! mit x, y ≥ 0. für x, y ∈ , Die Multiplikation ist auf negative Zahlen fortzusetzen, die Inversen sind zu definieren und die Verträglichkeit dieser Struktur mit der von ist zu zeigen. 3 5.4.2 Axiome Als Alternative geben wir ein Axiomensystem für die reellen Zahlen an. Die Axiome erfassen die wichtigsten Rechenregeln. Führt man die reellen Zahlen konstruktiv ein, so ergeben sich die Aussagen dieser Axiome als beweisbare Sätze - ähnlich, wie sich die Aussagen der peanoschen Axiome aus den Eigenschaften der nach von Neumann konstruierten natürlichen Zahlen ergeben. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.4 Reelle Zahlen Axiom 5.39 Reelle Zahlen 5 - 11 ! Die reellen Zahlen bilden eine Struktur , 0, 1, +, ∗, < mit den Eigenschaften: (1) ! sind verschiedene Elemente, 0 ≠ 1. und ∗ : !2 → !, (x, y) → x ∗ y + : !2 → !, (x, y) → x + y 0, 1 ∈ | | sind zweistellige Operationen. <⊆ !2 ist eine zweistellige Relation. Körperaxiome Addition (2) (3) (4) (5) ! ! ! Multiplikation (6) (7) (8) (9) (10) ! ∀x, y, z ∈ : ∀x, y ∈ : ∀x ∈ : ∀x ∈ ∃−x ∈ !: ! ∀x, y, z ∈ : ∀x, y ∈ : ∀x ∈ : ! (x + y) + z = x + (y + z). x + y = y + x. x + 0 = x. x + (−x) = 0. Assoziativität Kommutativität Null Gegenzahl (x ∗ y) ∗ z = x ∗ (y ∗ z). x ∗ y = y ∗ x. x ∗ 1 = x. Assoziativität Kommutativität Eins ! ∀x ∈ ! \ {0} ∃x−1 ∈ ! : x ∗ x−1 = 1. x ∗ (y + z) = x ∗ y + x ∗ z. ∀x, y, z ∈ ! : Kehrzahl Distributivität Ordnungsaxiome (11) ∀x, y, z ∈ !: (12) ∀x, y, z ∈ (13) ∀x, y, z ∈ (14) ∀x, y, z ∈ !: !: !: ((x < y ∨ x = y ∨ y < x) ∧ ¬(x < y ∧ x = y) ∧ ¬(x < y ∧ y < x) ∧ ¬(x = y ∧ y < x)). Trichotomie ((x < y ∧ y < z) x < z). Transitivität (x < y x + z < y + z). Verträglichkeit ((x < y ∧ 0 < z) x ∗ z < y ∗ z). Verträglichkeit Vollständigkeitsaxiom ! (15) Jede nicht leere nach oben beschränkte Teilmenge von hat ein Supremum: ∀M ⊆ : ((M ≠ ∅ ∧ obSch(M) ≠ ∅) ∃x ∈ : x = sup(M)). ! ! Aus den Axiomen folgen weitere Rechenregeln, auf die wir nicht eingehen, weil wir sie als von der Schulmathematik bekannt voraussetzen. Stattdessen greifen wir Kapitel 6 vor und betrachten anhand der Axiome Beziehungen von zu abstrakten algebraischen Strukturen. ! ! ! Axiom (1) dient der Vorbereitung. Axiom (2) bedeutet, dass , + eine Halbgruppe ist, die mit Axiom (3) kommutativ ist. Mit (2), (3), (4) ist , 0, + ein kommutatives Monoid, mit (2), (3), (4), (5) eine kommutative Gruppe. ! Analog ist , ∗ mit Axiom (6) eine Halbgruppe, die mit Axiom (7) kommutativ ist. Mit (6), (7), (8) ist , 1, ∗ ein kommutatives Monoid. Mit (6), (7), (8), (9) ist \ {0}, 1, ∗ eine kommutative Gruppe. ! ! ! Mit den Axiomen (2) bis (7) und (10) ist , 0, +, ∗ ein kommutativer Ring, der wegen (8) eine Eins hat. Mit (2) bis (10) ist , 0, 1, +, ∗ ein Körper. ! ! Wegen den Axiomen (11) und (12) ist < eine strikte Vollordnung auf . Mit Axiom (13) ist , 0, +, < eine geordnete Gruppe. \ {0}, 1, ∗, < ist allerdings keine geordnete Gruppe, da in (14) die Verträglichkeit nicht für alle z gegeben ist. ! 9.8.04 ! © Karlheinz Hug, Hochschule Reutlingen 5 - 12 5 Zahlen 3 Auch die Struktur , 0, 1, +, ∗, < der rationalen Zahlen erfüllt die Axiome (1) bis (14). Es gibt also möglicherweise viele verschiedene Modelle zu den Axiomen (1) bis (14). Erst Axiom (15) bewirkt Eindeutigkeit. Alle Modelle, die die Axiome (1) bis (15) erfüllen, sind im Wesentlichen gleich, nämlich isomorph. Satz 5.40 Eindeutigkeit der reellen Zahlen 5.4.3 Durch Axiom 5.39 sind die reellen Zahlen bis auf Isomorphie eindeutig bestimmt. Unterstrukturen Nützlich sind folgende Bezeichnungen für positive und negative reelle Zahlen: !+ := {x ∈ ! | x > 0}, !− := {x ∈ ! | x < 0}, !+0 := !+ ∪ {0} = {x ∈ ! | x ≥ 0}, !−0 := !− ∪ {0} = {x ∈ ! | x ≤ 0}. Gehen wir von Axiom 5.39 aus, so können wir die natürlichen Zahlen als Unterstruktur der reellen Zahlen einführen, und zwar so: Zählmenge Eine Teilmenge M ⊆ 0∈M ∧ ! heißt Zählmenge, wenn gilt: ∀x ∈ M : x + 1 ∈ M. Das System aller Zählmengen ist durchschnittsstabil (→ Aufgabe 5.29). Daher ist der Durchschnitt aller Zählmengen auch eine Zählmenge. Wir nennen lN 0 := ∩{M ⊆ ! | M ist Zählmenge} die Menge der natürlichen Zahlen. Mit Korollar 4.96 S. 4-72 ergibt sich, dass lN0 die kleinste Zählmenge ist, d.h. es gilt ∀M ⊆ ! : (M ist Zählmenge lN 0 ⊆ M). Dies entspricht der Bedingung (3) der von neumannschen Definition 4.57 S. 4-42 der natürlichen Zahlen und dem Induktionsaxiom des peanoschen Axiomensystems, auf dem das Beweisprinzip der vollständigen Induktion beruht. Hier folgt das Induktionsprinzip also aus den Axiomen der reellen Zahlen. Aus Obigem ergibt sich direkt: ∀M ⊆ lN0 : (M ist Zählmenge M = lN0). Ähnlich vorgehend erhält man die ganzen und die rationalen Zahlen als Unterstrukturen von . ! 5.4.4 Mächtigkeit Welche Mächtigkeit hat die Menge der reellen Zahlen? Wir nennen Mächtigkeit des Kontinuums ! c := | | die Mächtigkeit des Kontinuums. Beweisbar ist die Aussage |P(lN)| = c. Wegen Satz 4.92 (3) S. 4-67 gilt ℵ0 = |lN| < |P(lN)|, woraus ℵ0 < c folgt. Damit gilt: © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.4 Reelle Zahlen Satz 5.41 Überabzählbarkeit der reellen Zahlen 5 - 13 Die Menge ! der reellen Zahlen ist überabzählbar. Nun sei ℵ1 die kleinste Mächtigkeit, die größer als ℵ0 ist: ℵ 0 < ℵ 1. Gilt nun ℵ0 < ℵ1 < c oder ℵ0 < ℵ1 = c? Die Aussage ℵ1 = c, Kontinuumshypothese ! also dass es zwischen den Mächtigkeiten von lN und keine weitere Mächtigkeit gibt, heißt Kontinuumshypothese. Cantor versuchte erfolglos, sie zu beweisen. Erst später stellte sich heraus, dass die Kontinuumshypothese nicht entscheidbar ist. Gödel bewies 1938, dass ℵ1 = c nicht im Widerspruch zum zermeloschen Axiomensystem der Mengenlehre steht; Cohen bewies 1964 das Entsprechende für ℵ1 < c. Das bedeutet, dass man zu einem Axiomensystem der Mengenlehre die Kontinuumshypothese oder ihr Gegenteil als Axiom dazu nehmen kann, ohne dadurch Widersprüche hervorzurufen. Die InformatikerIn brennen solche mathematischen Grundlagenfragen nicht sehr unter den Nägeln, da sie in der Rechnerpraxis stets mit endlichen Zahlenmengen auskommen muss. Aber wir sehen daran exemplarisch, dass es Probleme gibt, die von der Möglichkeit einer algorithmischen Behandlung weit entfernt sind. 5.4.5 Standardfunktionen ! ! ! Abbildungen mit als Wertebereich heißen reelle Funktionen, insbesondere solche der Form f : → , x → f(x). Die folgenden für x ∈ definierten reellen Funktionen sind allgemein gebräuchlich; die ersten beiden setzen die entsprechenden ganzzahligen Funktionen fort. ! | Vorzeichen (signum, sign): sgn(x) := 1 0 –1 falls x>0 falls x = 0. falls x<0 (Absolut-)Betrag: |x| := sgn(x) * x = x falls x≥0 –x falls x<0 . ! Üblich ist auch die Kurzschreibweise für x, y ∈ : x = ±y :⇔ x ∈ {y, −y} ⇔ x = y ∨ x = −y ⇔ |x| = |y|. Ganzer Teil (größtes Ganzes, floor, untere Gaußklammer1): x := max{z ∈ ' | z ≤ x}. 1 Carl Friedrich Gauß (1777 - 1855), deutscher Mathematiker, lieferte bedeutende Beiträge zu vielen Gebieten wie Algebra, Analysis, Fehler- und Wahrscheinlichkeitsrechnung. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 14 5 Zahlen Aufgerundetes (ceiling, obere Gaußklammer): x := min{z ∈ ' | z ≥ x} = x falls x +1 sonst x∈ '. ! Für Vorzeichen und Betrag gelten die Beziehungen für x, y ∈ : x ≠ 0 sgn(x) = x / |x|. |x| = 0 ⇔ x = 0. |x ∗ y| = |x| ∗ |y|. |x + y| ≤ |x| + |y|. ||x| − |y|| ≤ |x − y|. Dreiecksungleichung Für den ganzen Teil und das Aufgerundete gelten die Beziehungen: ∀x ∈ ∀x ∈ ∀x ∈ 5.4.6 !: x ≤x≤ x . ': x =x= x . !\': x <x< x = x + 1. Operationen mit reellen Funktionen Wir haben die Werte der Betragsfunktion als Produkt der Werte der Vorzeichenfunktion und der Werte der identischen Funktion definiert - also das Produkt reeller Zahlen für ein Produkt von Funktionen genutzt. Die Kurzschreibweise dafür ist: |.| = sgn * id !. Entsprechend können wir mit der charakteristischen Funktion von . = . + χ!\'. ! \ ' schreiben: Dies lässt sich verallgemeinern. Definition 5.42 Operationen mit reellen Funktionen Für Mengen M, N und reelle Funktionen f : M → f+g:M∩N→ !, g : N → ! heißt !, x → (f + g)(x) := f(x) + g(x) | die Summenfunktion von f und g, f−g:M∩N→ !, x → (f − g)(x) := f(x) − g(x) | die Differenzfunktion von f und g, ! f ∗ g : M ∩ N → , x → (f ∗ g)(x) := f(x) ∗ g(x) | die Produktfunktion von f und g, f / g : M ∩ N \ g−1[{0}] → !, x → (f / g)(x) := f(x) / g(x) | die Quotientenfunktion von f und g. Beachte, dass die Nullstellen g−1[{0}] = {x ∈ N | g(x) = 0} von g aus dem Definitionsbereich von f / g ausgeschlossen sind. Für jeden Definitionsbereich M wird die Menge der reellen Funktionen Operationen Summe und Produkt zu einer algebraischen Struktur !M mit den !M, 0, 1, +, ∗ , und zwar zu einem kommutativen Ring (→ Kapitel 6) mit der konstanten Nullfunktion 0 als neutralem Element der Summe und der konstanten Einsfunktion 1 als neutralem Element des Produkts. Die Operationen auf M entstehen wie in 4.1.10 S. 4-19 skizziert aus den Operationen auf durch komponentenweises Aufprägen. Auch die Ord- ! © Karlheinz Hug, Hochschule Reutlingen ! 9.8.04 5.4 Reelle Zahlen 5 - 15 ! nung von überträgt sich als komponentenweise Ordnung nach Tabelle 4.1 S. 4-20 und 4.7.2 S. 4-70 auf M: f≤g :⇔ ! ∀x ∈ M : f(x) ≤ g(x). Die Produktordnung ≤ ist allerdings nur eine Halbordnung. Wir schreiben dann !M, 0, 1, +, ∗, ≤ . Mit der Ordnung übertragen sich ordnungstheoretische Konzepte wie Extrema, Schranken usw., z.B. sind durch ! ! min(f, g) : M → , x → min{f(x), g(x)}, max(f, g) : M → , x → max{f(x), g(x)} | | die Minimum- und Maximumfunktion von f und g definiert. 5.4.7 Größenordnung reeller Funktionen Folgendes ist für die Analyse der Komplexität von Algorithmen wichtig. Unter der Komplexität eines Algorithmus verstehen wir seinen Bedarf an „Ressourcen“ als Funktion der „Größe“ des Problems. Als Ressourcen betrachten wir vor allem l l den Laufzeitaufwand und den Speicherplatz, den ein Algorithmus zum Lösen des Problems benötigt. Konkrete Maßeinheiten für Zeit und Speicher brauchen wir dazu nicht. Die Größe eines Problems ist meist als natürliche Zahl n gegeben, z.B.: l l l Suche ein Element in einer n-elementigen Menge oder Liste. Sortiere n Elemente in einer Reihung oder einer Liste. Berechne den größten gemeinsamen Teiler von p und q. Hier ist n := max(p, q). Obwohl wir bei der Komplexitätsanalyse natürlichzahlige Funktionen untersuchen, schaffen wir ihre Grundlagen sinnvollerweise für reelle Funktionen. Bei der Komplexitätsanalyse kann man sich für den l l l schlechtesten Fall (worst case), statistischen Durchschnittsfall (average case), besten Fall (best case) interessieren. Oft ist eine obere Schranke für den Laufzeitaufwand im schlechtesten Fall gesucht: LaufzeitAlgorithmus, schlechtest(n) ≤ SchrankeAlgorithmus, schlechtest(n). Von Interesse ist vor allem das Verhalten für große n. Wie wächst der Aufwand mit n? Man spricht dann von asymptotischer Analyse. Deshalb befassen wir uns hier mit dem Wachstum reeller Funktionen. ! → ! heißt O(f) := {g ∈ !! | ∃c, k ∈ ! ∀x ∈ ! : (x ≥ k Definition 5.43 Größenordnung Groß-O-Notation Für eine reelle Funktion f : |g(x)| ≤ c ∗ |f(x)|)} die Menge der Groß-Os oder die Größenordnung von f. O heißt Landausymbol.a Jedes g ∈ O(f) heißt ein Groß-O von f oder höchstens von der Größenordnung f. a Edmund Landau (1877 - 1938), deutscher Mathematiker, Zahlentheoretiker. Statt g ∈ O(f) schreibt man auch etwas schwammig g(x) = O(f(x)). 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 16 Satz 5.44 Rechenregeln zu Größenordnungen 5 Zahlen Polynom: Für alle n ∈ lN0, a0,.., an ∈ (1) ! mit an ≠ 0 gilt: O(anxn + an−1xn−1 + ... + a1x + a0) = O(xn). Summe und Produkt: Für f1 ∈ O(g1) und f2 ∈ O(g2) gilt: (2) f1 + f2 ∈ O(max(g1, g2)), f1 ∗ f2 ∈ O(g1 * g2). Eine reelle Funktion f : Satz 5.45 Markante Größenordnungen Tabelle 5.3 Exemplarische Näherungswerte markanter Wachstumsfunktionen Beispiel 5.1 Binäres Suchen in sortierter Reihung ! → ! heißt logarithmisch beschränkt :⇔ f ∈ O(log(x)), linear beschränkt :⇔ f ∈ O(x), quadratisch beschränkt :⇔ f ∈ O(x2), polynomial beschränkt :⇔ ∃n ∈ lN0 : f ∈ O(xn), exponentiell beschränkt :⇔ f ∈ O(2x). Für alle m ∈ lN mit m > 2 gilt: O(log(n)) ⊂ O(n) ⊂ O(n * log(n)) ⊂ O(n2) ⊂ O(nm) ⊂ O(2n) ⊂ O(n!). log2(n) n n * log 2(n) n2 2n n! 3 5 15 25 32 120 4 10 40 100 103 10 7 7 100 700 104 1030 10158 10 1000 104 106 10301 102568 13 10000 105 108 103010 1035659 Gegeben: Eine sortierte Reihung row = (row[lower],.., row[upper]). Problem: Suche das Element x in der Reihung row. Größe des Problems: n := upper − lower + 1 = Länge der Reihung row. Algorithmus: Binäres Suchen Programm 5.1 Binäres Suchen row.has_between(x, lower, upper) = ASSERT row.first <= lower; ASSERT upper <= row.last; ASSERT row.sorted(lower, upper); IF lower > upper THEN result := FALSE ELSE middle := (lower + upper) div 2; IF x = row[middle] THEN result := TRUE ELSIF x < row[middle] THEN result := row.has_between(x, lower, middle - 1) ELSE result := row.has_between(x, middle + 1, upper) END END. Laufzeitaufwand f(n) 1 1 1 1 1 1 f((n − 1) div 2) f(n div 2) Bestimmen des Laufzeitaufwands: Die konstanten Aufwände seien zu f(1) = c zusammengefasst. Für f erhalten wir die Rekursionsformel © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.4 Reelle Zahlen Rekursionsformel 5 - 17 f(n) = c + p + q ∗ f((n − 1) div 2) + r ∗ f(n div 2) mit p + q + r = 1, wobei p, q und r die Wahrscheinlichkeiten für das Ausführen des IF-, ELSIF- bzw. ELSE-Zweigs sind. Nach einem Rekursionstheorem zur Ordnungsinduktion (→ Bemerkung 2, S. 5-7 in Bauer, Skript TG1) ist f eindeutig bestimmt. Zur Abschätzung des schlechtesten Falls vernachlässigen wir p und erhalten f(n) ≤ c + f(n div 2). Um die Rechnung zu vereinfachen, setzen wir n = 2 m ein: f(2m) ≤ c + f(2m−1). Für m = 1, 2, 3,... erhalten wir f(2) ≤ c + f(1) = 2c, f(4) ≤ c + f(2) = 3c, f(8) ≤ c + f(4) = 4c, ... Die vermutete Formel f(2m) ≤ (m + 1) ∗ c beweisen wir mit vollständiger Induktion nach m: Vollständige Induktion f(2m+1) ≤ c + f(2m) ≤ c + (m + 1) ∗ c = ((m + 1) + 1) ∗ c. Nun setzen wir wieder 2m = n und m = log2(n) ein: f(n) ≤ (log2(n) + 1) ∗ c. Damit ist f ∈ O(log(n)). Ergebnis: Der Laufzeitaufwand für binäres Suchen in einer sortierten Reihung ist schlechtestenfalls höchstens von der Größenordnung O(log(n)) oder kurz logarithmisch beschränkt. p Beispiel 5.2 Sortieren einer Liste durch Auswählen Gegeben: Eine sortierbare Liste list. Problem: Sortiere die Liste list. Größe des Problems: n := Anzahl der Elemente in der Liste list. Algorithmus: Sortieren durch Auswählen Programm 5.2 Sortieren durch Auswählen list.selectionsort = entferne kleinstes Element aus der Liste: list.remove_min_item(OUT x); sortiere restliche Liste: list.selectionsort; ASSERT list.sorted; füge kleinstes Element an den Anfang der Liste: list.put_first(IN x); ASSERT list.sorted. Laufzeitaufwand f(n) a∗n f(n − 1) b Bestimmen des Laufzeitaufwands: Zum Finden des kleinsten Elements ist die Liste linear zu durchsuchen, der Aufwand dafür ist linear beschränkt. Die Größen a, b sind konstante Aufwände. Der konstante Aufwand zum Sortieren der leeren Liste sei f(0) = c. Für f erhalten wir die Rekursionsformel Rekursionsformel f(n) = a ∗ n + f(n − 1) + b. Nach dem Rekursionstheorem 2, Satz 5.18 S. 5-7 in Bauer, Skript TG1 ist f eindeutig bestimmt. Für n = 1, 2, 3,... erhalten wir 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 18 5 Zahlen f(1) = a + c + b, f(2) = 2a + f(1) + b = 3a + c + 2b, f(3) = 3a + f(2) + b = 6a + c + 3b, ... Die vermutete Formel f(n) = ((n ∗ (n + 1)) / 2) ∗ a + c + n ∗ b beweisen wir mit vollständiger Induktion nach n: f(n + 1) = a ∗ (n + 1) + f(n) + b = a ∗ (n + 1) + ((n ∗ (n + 1)) / 2) ∗ a + c + n ∗ b + b = (((n + 1) ∗ (n + 2)) / 2) ∗ a + c + (n + 1) ∗ b. Vollständige Induktion Damit ist f ∈ O(n2). Ergebnis: Der Laufzeitaufwand für Sortieren durch Auswählen ist in jedem Fall höchstens von der Größenordnung O(n2) oder kurz quadratisch beschränkt. F Solche Abschätzungen des Laufzeitaufwands von Algorithmen beruhen auf mathematischen Methoden, die keine Kenntnisse über spezielle Programmiersprachen oder Rechner voraussetzen. 5.5 Komplexe Zahlen In ! sind zwar alle Gleichungen der Formen und a + x = b mit a, b ∈ ! a ∗ x = b mit a, b ∈ !, a ≠ 0 lösbar, aber z.B. die Gleichung x2 = −1 hat keine Lösung in !. Ziel ist es, ! so zur Menge der komplexen Zahlen zu erweitern, dass alle algebraischen Gleichungen der Form anxn + an−1xn−1 + ... + a1x + a0 = 0 mit n ∈ lN, a0,.., an ∈ in 5.5.1 lösbar werden. soll der kleinste Oberkörper von ! mit dieser Eigenschaft sein. Konstruktion Wir starten mit der Definition Komplexe Zahlen := !2. heißen komplexe Zahlen. Wir müssen nun (1) die Menge algebraisch strukturieren und (2) zeigen, dass ! isomorph zu einer Teilmenge von ist. Dann können wir ! mit dieser Teilmenge von identifizieren. Leider ist es unmöglich, ! algebraisch wie gefordert und die Ordnung von ! damit verträglich zu erweitern, Die Elemente von d.h. wir müssen auf das Erweitern der Ordnung verzichten. Offenbar ist die Abbildung ! → , x → (x, 0) | injektiv, sodass wir x und (x, 0) identifizieren. Komplexe Zahlen der Form (0, y) heißen imaginäre Zahlen. Die komplexe Zahl (x, y) setzt sich aus ihrem Realteil x und ihrem Imaginärteil y zusammen. Die algebraische Struktur erhält so: Für die Addition verwenden wir die komponentenweise Addition wie in 4.1.10 S. 4-19 skizziert: © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.6 Zahlendarstellungen Addition 5 - 19 (v, w) + (x, y) := (v + x, w + y) für (v, w), (x, y) ∈ . Dagegen eignet sich die komponentenweise Multiplikation nicht. Multiplikation (v, w) ∗ (x, y) := (v ∗ x − w ∗ y, v ∗ y + w ∗ x) für (v, w), (x, y) ∈ . Nun sind noch die Inversen zu definieren und die Verträglichkeit dieser Struktur mit der von zu zeigen. ! Für die imaginäre Einheit (0, 1) führen wir den Namen i ein: Imaginäre Einheit i := (0, 1). Damit ergibt sich i2 = (0, 1) ∗ (0, 1) = (0 ∗ 0 − 1 ∗ 1, 0 ∗ 1 + 1 ∗ 0) = (−1, 0) = −1, also i = –1 . Weiter ist i ∗ y = (0, 1) ∗ (y, 0) = (0 ∗ y − 1 ∗ 0, 0 ∗ 0 + 1 ∗ y) = (0, y). So erhalten wir die klammerfreie additive Schreibweise (x, y) = (x, 0) + (0, y) = x + iy. Dies ist die Darstellung der komplexen Zahlen in kartesischen Koordinaten. Daneben gibt es eine Darstellung in Polarkoordinaten. Addition und Subtraktion sind leichter in kartesischen Koordinaten, Multiplikation und Division leichter in Polarkoordinaten auszuführen. 5.5.2 Bemerkungen Gaußsche Zahlenebene, Polarkoordinaten, Rechenregeln Programmierung Komplexe Zahlen kann man in Programmiersprachen als Datentypen, in objektorientierten Sprachen als Klassen implementieren. Siehe dazu als Beispiel das Klassenmodul MathComplexesR mit der Klasse Complex in [33]. Resümieren wir: Der Prozess der Konstruktion der verschiedenen Zahlen, der mit der leeren Menge begann, liefert als Ergebnis die Inklusionskette ∅ ⊂ lP ⊂ lN ⊂ lN0 ⊂ ' ⊂ 3 ⊂ ! ⊂ . 5.6 Zahlendarstellungen 5.6.1 Stellenwertsysteme Dezimalsystem, Dualsystem, Hexadezimalsystem, Konvertierung Aufgabe 5.1 Konvertierung Studieren Sie die Algorithmen zum Konvertieren von Zahlen in [33], Modul I1Converter! 5.6.2 Festpunktzahlen Einer- und Zweierkomplement, Überlauf Aufgabe 5.2 Einer- und Zweierkomplement 9.8.04 Studieren Sie die Begriffe Einer- und Zweierkomplement anhand der interaktiven Lerneinheiten in [33], Menü Informatik 1 → Übungsblätter → Interaktive Lerneinheiten → Bit-Operationen und Bit-Interpretation! © Karlheinz Hug, Hochschule Reutlingen 5 - 20 5.6.3 5 Zahlen Gleitpunktzahlen Reelle Zahlen sind in der Mathematik und vielen naturwissenschaftlich-technischen Gebieten außerordentlich wichtig. Rechensysteme und Programmiersprachen bieten dafür ersatzweise Gleitpunktzahlen (floating-point number). Oft heißen sie - wie in Component Pascal - REAL, oder passender - wie in C-orientierten Sprachen - float. Component Pascal bietet zwei „reelle“ Typen, Realtypen genannt, die sich im Speicherplatzbedarf, im Wertebereich und in der Genauigkeit unterscheiden. Beide implementieren durch den IEEE Standard 754 for Binary Floating-Point Arithmetic spezifizierte Formate für Gleitpunktzahlen. Tabelle 5.4 Realtypen in Component Pascal Typ SHORTREAL REAL Wertebereich MIN (SHORTREAL) .. MAX (SHORTREAL) MIN (REAL) .. MAX (REAL) + − ∗ / = # < > <= >= Operatoren Format IEEE Standard 754 Single IEEE Standard 754 Double Länge 32 Bit 64 Bit Mantisse 23 Bit 52 Bit Exponent 8 Bit 11 Bit kleinste positive Zahl 1.2E−38 2.2E−308 größte positive Zahl 3.4E38 1.8E308 Genauigkeit 7-8 Dezimalstellen 15-16 Dezimalstellen Numerische Berechnungen mit Gleitpunktzahlen konfrontieren uns mit einer Reihe von Problemen, weil Gleitpunktzahlen als Ersatz für reelle Zahlen inhärent ungenau sind und daher die Gleitpunktzahlenarithmetik anderen Gesetzen folgt als die mathematisch exakte Arithmetik der reellen Zahlen. Denn maschinenintern lassen sich nur endlich viele Gleitpunktzahlen darstellen. Die Menge dieser Gleitpunktzahlen ist eine relativ kleine, beschränkte Teilmenge der rationalen Zahlen. Gleitpunktzahlen liegen längst nicht so dicht beieinander wie rationale Zahlen. Dadurch entstehen Darstellungsfehler bei der Eingabe und Rundungsfehler beim Rechnen. Diese Fehler können sich im Verlauf einer längeren Berechnung so fortpflanzen, dass sie das Endergebnis völlig verfälschen. Aufgabe 5.3 Rundungsfehler Studieren Sie das Problem der Rundungsfehler bei Gleitpunktzahlenarithmetik anhand [33], Modul I0FloatingPoint! Da ein gewisses Verständnis dieser Problematik Voraussetzung für einen guten Programmierstil ist, untersuchen wir die Gleitpunktzahlenarithmetik etwas genauer. Fassen wir zunächst die wichtigsten Unterschiede der beiden Zahlenarten zusammen. Tabelle 5.5 Reelle Zahlen und Gleitpunktzahlen Theorie Mathematik Praxis Rechner, Programmierung Zahlenart reelle Zahlen Gleitpunktzahlen Anzahl unendliche viele endlich viele Abstand zwischen zwei benachbarten Zahlen beliebig klein durch Rechnergenauigkeit vorgegeben Eingabegrößen, Ergebnisse exakte Werte ungenau, Näherungswerte Berechnungen exakte Arithmetik approximative Arithmetik © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.6 Zahlendarstellungen 5.6.3.1 5 - 21 Darstellungen von Gleitpunktzahlen Reelle Zahlen sind als möglicherweise unendliche Dezimalbrüche darstellbar. Die als endliche oder periodische Dezimalbrüche darstellbaren reellen Zahlen sind rational. Beispiele Mathematische Notation normalisierte programmiersprachliche Notation 123,456 7,296493451394732445923563441 0,000834602 ∗ 10−5 0,834602 ∗ 10−8 1.23456E2 7.2964934513947324459235 8.34602E-9 8.34602E-9 Kommt in der Darstellung eine 10er-Potenz als Faktor vor, so handelt es sich um eine halblogarithmische oder Exponentialdarstellung. Zu einer Zahl gibt es unendlich viele solcher Darstellungen. Gesucht ist eine eindeutige, „normalisierte“ Darstellung, die sich als maschineninterne Darstellung eignet. Eindeutigkeit erreichen wir, indem wir fordern, dass vor dem Komma eine 0 steht, die erste Ziffer nach dem Komma keine 0 ist und nach dem Komma ab jeder Stelle nicht nur 9en auftreten. (Beachte, dass 0,999... = 1!) ! Jede reelle Zahl x ∈ , x ≠ 0 besitzt eine eindeutige normalisierte Dezimalbruchdarstellung der Form Normalisierter Dezimalbruch x = ± 0,z1z2z3... ∗ 10e ' mit z1 ≠ 0, zk ∈ {0,..., 9}, e ∈ , wobei es zu jedem Ziffernindex i einen Index k > i gibt mit zk ≠ 9. Die Ziffernfolge z1z2z3... nach dem Komma heißt Mantisse, 10 ist die Basis und e der Exponent. Einen Dezimalbruch normalisieren bedeutet, ihn in die normalisierte Darstellung bringen. Dazu ist ggf. die Mantisse oder das Komma zu verschieben und der Exponent entsprechend anzupassen. Die Darstellung ist leicht für andere Basen verallgemeinerbar. Die Mantisse ist bei reellen Zahlen eine unendliche Ziffernfolge. Beschränken wir die Länge der Mantisse, so erhalten wir Gleitpunktzahlen. Es seien B ∈ lN, B ≥ 2, m ∈ lN, e1, e2 ∈ lN0. Eine B-adische und m-stellige normalisierte Gleitpunktzahl hat die Form x = 0 oder Normalisierte Gleitpunktzahl x = ± å m k=1 zk ⋅ B e–k mit z1 ≠ 0, zk ∈ {0, 1,..., B − 1}, e ∈ Ziffern, Basis, Mantissenlänge oder Stellenzahl, zk B m å ', −e1 ≤ e ≤ e2. Es heißen die m k=1 zk ⋅ B [−e1, e2] ∩ e −e1 e2 k ' Mantisse, Exponentenbereich, Exponent, kleinster Exponent, größter Exponent. Bei einer nicht normalisierten Gleitpunktzahl, auch denormalisiert oder subnormal genannt, ist z1 = 0. Als eindeutige Darstellung der Null legen wir 0 = + 0,0...0 ∗ B−e1 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 22 5 Zahlen fest. Je nachdem, ob die Basis B = 2, 8, 10 oder 16 ist, sprechen wir von dualen, oktalen, dezimalen bzw. hexadezimalen Gleitpunktzahlen. Statt des Kommas schreibt man oft einen Punkt. Beispiel Eine dezimale normalisierte Gleitpunktzahl mit Mantissenlänge 5: 0.37249 ∗ 104 Dieselbe Zahl in Component-Pascal-Notation: 0.37249E4 Der Zahlbereich eines Gleitpunktzahlentyps ist das Intervall vom kleinstmöglichen bis zum größtmöglichen Wert; er ist im Wesentlichen durch den Exponentenbereich bestimmt. Die Genauigkeit einer Gleitpunktzahl ist durch die Mantissenlänge festgelegt. Innerhalb ihres Zahlbereichs bilden Gleitpunktzahlen das Gleitpunktzahlenraster. In der Nähe von 0 ist das Raster relativ dicht, die Lücken sind relativ eng. Mit wachsendem Abstand von 0 wird das Raster lichter, die Lücken werden größer. Die Darstellung in Rechnern ist heute meist dual. Die Stellenzahl für den Exponenten bewegt sich etwa im Bereich von 6 bis 15 Bit, die Mantissenlänge etwa von 9 bis 112 Bit. Manche Prozessoren bieten auch dezimale Gleitpunktzahlen. Die maschineninterne Darstellung lässt sich noch verbessern: l l l l Beispiele Die Stelle vor dem Komma kann weggelassen werden, sie hat ja immer den Wert 0. Das Komma bzw. der Punkt kann weggelassen werden. Die Basis kann weggelassen werden. Bei dualen Gleitpunktzahlen kann die erste Stelle nach dem Komma weggelassen werden, sie muss ja stets - außer bei der Zahl 0 - gleich 1 sein. Wir haben 32 Bit für eine duale Gleitpunktzahl zur Verfügung. Wir wählen e1 = e2, nehmen 7 Bit für den Exponenten und dazu ein Vorzeichenbit. Dann bleiben 23 Bit für die Mantisse und ein Vorzeichenbit. Damit ergibt sich ein Zahlbereich etwa von 10−38 bis 1038 und eine Genauigkeit von etwa 7 Dezimalstellen. Mit dem vierfachen Speicherplatz und 112 Bit Mantissenlänge ist eine Genauigkeit von ca. 33 Dezimalstellen erreichbar. 5.6.3.2 IEEE Standard 754 In der Praxis (auch in Component Pascal) werden für die maschineninterne Darstellung oft die durch den IEEE Standard 754 for Binary Floating-Point Arithmetic festgelegten Formate Single, Double und Double-Extended oder das de-facto-Standard-Format Quadruple Precision verwendet. Sie unterscheiden sich in Details von unserer Darstellung. IEEE 754 legt für die drei Formate genau fest, wo welche Bits innerhalb eines Maschinenworts zu liegen haben. Außerdem liegt der Exponent in Exzessdarstellung vor. Das bedeutet, dass nicht der vorzeichenbehaftete Exponent e, sondern die stets nichtnegative Charakteristik c = e + e1 gespeichert wird. Zu den IEEE-Formaten gehören auch l l l l normalisierte und nicht normalisierte Zahlen, zwei Darstellungen für Null, +0 und −0, zwei Werte ±inf oder ±INF für „unendlich“ (∞, infinite), die bei Überlauf, z.B. beim Multiplizieren gigantischer Zahlen oder beim Dividieren durch 0 auftreten, und besondere Werte für NaN (Not-a-Number), die z.B. beim Dividieren von 0 durch 0 entstehen und sich in QNaNs (Quiet NaN) und SNaNs (Signalling NaN) teilen. Mehr zum IEEE Standard 754 finden Sie z.B. in [31] und [34]. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.6 Zahlendarstellungen 5 - 23 Aufgabe 5.4 IEEE Standard 754 Studieren Sie den IEEE Standard 754 anhand der interaktiven Lerneinheit in [33], Menü Informatik 1 → Übungsblätter → Interaktive Lerneinheiten → Bit-Interpretation! 5.6.3.3 Maschinendarstellung reeller Zahlen Rundungsfunktion Nicht jede reelle Zahl lässt sich exakt im Rechner darstellen. Eine Rundungsfunktion rd : → ordnet jedem x ∈ eine Maschinenzahl y = rd(x) zu, die Gleitpunktdarstellung von x. Dabei können verschiedene Fälle auftreten. ! ! ! Die 0 wird exakt abgebildet: rd(0) := 0. Ist x ≠ 0 mit der Darstellung x = ±0,z1z2...zmzm+1... ∗ Be, z1 ≠ 0, so definiert man den relativen Darstellungsfehler δx := (rd(x) − x) / x. Im Fall e < −e1 liegt Exponentenunterlauf vor. Vernünftigerweise wird rd(x) := 0 gesetzt. Damit ist der Betrag des relativen Darstellungsfehlers |δx| = 1, d.h. 100%. Im Fall e > e2 liegt Exponentenüberlauf vor. Steht der Wert ∞ zur Verfügung, wird rd(x) := sgn(x) ∗ ∞ gesetzt. Damit ist der absolute relative Darstellungsfehler |δx| = ∞. Ohne ∞ ist eine Zuordnung rd(x) sinnlos, der Rechner sollte die Berechnung mit einer Fehlermeldung abbrechen. Im Normalfall −e1 ≤ e ≤ e2 kann gerundet werden. Zwei Lösungen liegen auf der Hand. Bei unsymmetrischer Rundung (Abbruch, Abschneiden, Rundung zur Null) werden nur die ersten m Stellen der Mantisse genommen, der Rest wird abgeschnitten: Unsymmetrische Rundung rd(x) := ±0,z1z2...zm ∗ Be. Für den relativen Darstellungsfehler ergibt sich die Abschätzung |δx| < Be−m / |x|. Bei symmetrischer Rundung (Rundung zur nächsten Maschinenzahl) wird je nach Wert der (m+1)-ten Stelle ab- oder aufgerundet: Symmetrische Rundung rd(x) := ±0,z1z2...zm ∗ Be, falls zm+1 < B / 2; rd(x) := ±(0,z1z2...zm + B−m) ∗ Be, falls zm+1 ≥ B / 2. Beachte, dass im letzten Fall durch das Aufrunden ein Übertrag entstehen kann und dann u.U. renormalisiert werden muss. Für den relativen Darstellungsfehler ergibt sich |δx| < Be−m / 2 |x|. Weitere Möglichkeiten zur Rundung sind Abrunden zur nächstkleineren und Aufrunden zur nächstgrößeren Maschinenzahl. Der relative Darstellungsfehler ist nach oben durch die vom Rechner R abhängige relative Rechnergenauigkeit δR beschränkt. Diese Zahl ist definiert durch Relative Rechnergenauigkeit Beispiele δR := B1−m bei unsymmetrischer Rundung und δR := B1−m / 2 bei symmetrischer Rundung. Bei B = 2, m = 23 und symmetrischer Rundung ergibt sich δR = 1/223 ≈ 0,125 ∗ 10 −6. Bei B = 2, m = 52 und symmetrischer Rundung ergibt sich δR = 1/252 ≈ 0,222 ∗ 10 −15. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 24 5 Zahlen Die relative Rechnergenauigkeit δR ist die kleinste positive Zahl δ, für die rd(1 + δ) > 1 ist. Sie lässt sich auch leicht empirisch mit einem iterativen Algorithmus bestimmen; siehe [33], Modul I1RealInfo . Ein Rechner kann (zwecks Vereinfachung der Schaltkreislogik) auch eine andere Rundungsfunktion realisieren. Man sollte jedoch erwarten dürfen, dass die relative Rechnergenauigkeit nicht schlechter als bei unsymmetrischer Rundung ist. 5.6.3.4 Fehlerquellen beim Rechnen mit Gleitpunktzahlen Mit den Darstellungsfehlern haben wir eine spezielle Fehlerart kennengelernt. Klassifizieren wir nun die Fehler, die beim Rechnen mit Gleitpunktzahlen auftreten. Genauigkeitsfehler entstehen l l als Eingabefehler schon bei den Eingabedaten und als Rundungsfehler bei arithmetischen Operationen. Eingabefehler entstehen l l als Darstellungsfehler wegen der maschineninternen Beschränkung der Stellenzahl, als Konvertierungsfehler beim Übergang zwischen Zahlsystemen (dezimal ↔ dual). Sie bewirken selbst dann, wenn mit den maschineninternen Daten arithmetisch exakt weitergerechnet wird, unvermeidbare Fehler bei den Ausgabedaten, da sie den Gesetzen der Fehlerfortpflanzung unterliegen. Hinzu kommen dann die Rundungsfehler durch die Gleitpunktarithmetik, auf die wir im nächsten Abschnitt eingehen. Auch diese verursachen Fortpflanzungsfehler. Im schlechten Fall verstärken sich diese Fehler und verfälschen die Ergebnisse. Weitere Probleme sind: l l l l l Die Eingabedaten können schon bei der Erfassung mit Messfehlern behaftet sein, bevor sie in eine rechnerinterne Darstellung gebracht werden. Von einem vernünftigen Verfahren zur Lösung eines Problems erwartet man, dass es numerisch stabil ist, d.h. dass der Rundungsfehler bei den Ausgabedaten nicht beliebig größer als der unvermeidbare Fehler wird. Nicht alle Verfahren sind numerisch stabil. Die Kondition eines Problems ist das im schlechtesten Fall auftretende Verhältnis von relativen Resultatfehlern zu relativen Eingangsfehlern. Ist ein Problem schlecht konditioniert, d.h. seine Kondition einige Zehnerpotenzen groß, so kann auch ein numerisch stabiles Lösungsverfahren die Situation nicht verbessern. ■ Ein Beispiel für ein schlecht konditioniertes Problem ist die Subtraktion von zwei fast gleich großen Gleitpunktzahlen, die die Auslöschung von Stellen verursacht. Deshalb sollte man Subtraktionen möglichst vermeiden! Zu einem gut konditionierten Problem kann das verwendete Lösungsverfahren schlecht konditioniert sein. Verfahren, die theoretisch exakte Lösungen liefern, arbeiten mit dem unendlichen, stetigen Wertebereich der reellen Zahlen. Praktisch realisiert werden sie durch Näherungsverfahren, die mit endlich vielen diskreten Werten arbeiten. Dadurch entstehen Verfahrensfehler. ■ Diskretisierungsfehler entstehen, wenn man z.B. eine stetige Funktion durch endlich viele Funktionswerte oder Koeffizienten eines Näherungspolynoms ersetzt. ■ Abbruchfehler entstehen, wenn man ein theoretisch unendlich oft iterierendes Verfahren durch einen terminierenden Algorithmus realisiert. Die Numerische Mathematik analysiert die Probleme der Fehlerfortpflanzung eingehend. Uns geht es hier darum, problembewusst programmieren zu lernen. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.6 Zahlendarstellungen 5.6.3.5 5 - 25 Gleitpunktzahlenarithmetik Die Gleitpunktzahlenarithmetik unterscheidet sich von der Arithmetik der reellen und rationalen Zahlen darin, dass klassische Rechenregeln wie die Assoziativ- und die Distributivgesetze nicht gelten. Um zu verstehen, warum das so ist, betrachten wir zuerst die Grundrechenarten. Mathematische Notation Es seien x, y ● ∈ {+, −, ∗, /} x●y z = gl(x ● y) Gleitpunktzahlen, eine arithmetische Operation, das exakte Ergebnis der Rechnung, das Gleitpunktergebnis, das ist die Gleitpunktdarstellung des exakten Ergebnisses, sie ist mit einem Rundungsfehler behaftet. Component-Pascal-Notation VAR x, y, z : REAL; z := x + y; Korrekte Rundung Es ist sinnvoll, Spezielles Rundungsgesetz gl(x ● y) = rd(x ● y) zu fordern. Man kann aber auch auf die Forderung gl = rd verzichten und stattdessen die Gültigkeit des allgemeinen Rundungsgesetzes |rd(x) − x| ≤ |x| ∗ δR Allgemeines Rundungsgesetz |gl(x ● y) − (x ● y)| ≤ |x ● y| ∗ δR ! für x, y ∈ mit einer durch den Rechner R festgelegten Rechnergenauigkeit δR fordern. Die Details der implementierten Rechnerarithmetik sind dann unwesentlich. Wie wichtig korrekte Rundung ist, zeigen folgende Fragen: (1) (2) (3) (4) Gilt gl(1 ∗ x) = x für alle x? Gilt gl(x / x) = 1 für alle x ≠ 0? Gilt gl(0.5 ∗ x) = gl(x / 2) für alle x? Folgt aus gl(x − y) = 0 stets x = y für alle x, y? Während bis in die 70er Jahre Rechner weit verbreitet waren, die wenigstens eine der Fragen für bestimmte Werte verneinen mussten, sichert der IEEE Standard 754 auf alle Fragen die Antwort „ja“ zu. Prinzip einer Rechnung (1) (2) Beispiele 9.8.04 x und y als Dezimalbrüche betrachten. Exakte Rechnung durchführen. Das exakte Ergebnis x ● y ist wieder ein Dezimalbruch. (3) Das Ergebnis x ● y normalisieren. (4) Das normalisierte Ergebnis runden, sodass es auf eine Gleitpunktzahl gl(x ● y) abgebildet wird. Bei den folgenden Beispielen gilt B = 10, m = 3, und es wird unsymmetrisch gerundet (abgeschnitten). © Karlheinz Hug, Hochschule Reutlingen 5 - 26 5 Zahlen Addition x = 0.972E4 y = 0.861E3 z = gl(x + y) (1) Die betragsmäßig kleinere Zahl an die andere anpassen: ◆ Den Exponenten erhöhen, bis beide Exponenten gleich sind. ◆ Die Mantisse entsprechend verschieben (und ggf. Hilfsstellen einführen). x = 0.972E4 = 0.9720E4 y = 0.861E3 = 0.0861E4 (2) Die Mantissen der beiden Zahlen addieren. x + y = 1.0581E4 (3) Normalisieren. = 0.10581E5 (4) Runden (und Hilfsstellen entfernen). z = gl(0.10581E5) = 0.105E5 Subtraktion Auslöschung x = 0.972E4 y = 0.971E4 z = gl(x − y) (1) Die betragsmäßig kleinere Zahl an die andere anpassen: entfällt bei diesem Beispiel. (2) Die Mantissen der beiden Zahlen subtrahieren. x − y = 0.001E4 (3) Normalisieren. = 0.100E2 (4) Runden. z = gl(0.100E2) = 0.100E2 Da hier x und y fast gleich sind, „verschwinden“ bei ihrer Differenz die Ziffern an beiden signifikanten Stellen, es bleibt nur die Ziffer an der am wenigsten signifikanten dritten Stelle. Durch Normalisieren wird sie zur signifikantesten Ziffer. Dieses Phänomen heißt Auslöschung. Da wenig signifikante Ziffern meist mit Rundungsfehlern behaftet sind, vergrößert Auslöschung die folgenden Rundungsfehler erheblich. Multiplikation x = 0.279E4 y = 0.168E3 z = gl(x ∗ y) (1) Die Mantissen der beiden Zahlen multiplizieren (und Hilfsstellen einführen). 0.279 ∗ 0.168 = 0.046872 (2) Die Exponenten der beiden Zahlen addieren. 4+3=7 (3) Exaktes Ergebnis: x ∗ y = 0.279 ∗ 104 ∗ 0.168 ∗ 10 3 = 0.279 ∗ 0.168 ∗ 10 4 ∗ 103 = 0.046872 ∗ 107 = 0.046872E7 © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.7 Übungen 5 - 27 (4) (5) Normalisieren. = 0.46872E6 Runden (und Hilfsstellen entfernen). z = gl(0.46872E6) = 0.468E6 Division Analog. 5.7 Übungen Aufgabe 5.5 Mächtigkeiten endlicher Mengen Zeigen Sie, dass für die endlichen Mengen L, M, N folgende Beziehungen der Mächtigkeiten gelten! (1) (2) (3) |M ∪ N| = |M| + |N| − |M ∩ N|. |L ∪ M ∪ N| = |L| + |M| + |N| − |L ∩ M| − |L ∩ N| − |M ∩ N| + |L ∩ M ∩ N|. |M × N| = |M| ∗ |N|. Mit diesen Formeln lassen sich Mächtigkeiten von Mengen bestimmen. (4) (5) (6) Von 40 Studierenden, die die Vorlesungen TG2 und I2 besuchen, gehen 24 in TG2 und 32 in I2. Wieviele Studierende besuchen beide Vorlesungen? 18 Studierende gehen in TG2, 24 in I2, 30 in MD. In TG2 und I2 gehen 12, in TG2 und MD 14, in I2 und MD 16 und in alle drei Vorlesungen 10. Wieviele Studierende besuchen wenigstens eine der drei Vorlesungen? Wieviele gehen nur in TG2, nur in I2, nur in MD? 20 Studierende melden sich alle zu drei Seminaren an. Wieviele Seminaranmeldescheine werden ausgefüllt? Aufgabe 5.6 Beweisen Sie die Rechenregeln (AM), (K M) und (D) von Satz 5.8 S. 5-4 in Bauer, Skript TG1 mit vollständiger Induktion! Aufgabe 5.7 Beweisen Sie die Rechenregeln von Satz 5.10 S. 5-4 in Bauer, Skript TG1 mit vollständiger Induktion! Aufgabe 5.8 Vollständige Induktion Folgende Aussagen sind mit vollständiger Induktion nach n zu beweisen. Aufgabe 5.9 Vollständige Induktion bei Summenformeln (1) Für jedes n ∈ lN mit n ≥ 2 gilt: 2 < 2n. (2) Für jedes n ∈ lN mit n ≥ 3 gilt: 2n + 1 < 2n. (3) Für jedes n ∈ lN mit n ≥ 5 gilt: n2 < 2 n. (4) Für jedes n ∈ lN mit n ≥ 4 gilt: 2n < n!. Folgende Aussagen sind mit vollständiger Induktion nach n zu beweisen. (1) Für die Summe der ersten n natürlichen Zahlen gilt: sn = (2) (3) å n 2 ( 2k – 1 ) = n . k=1 Für die Summe der ersten n Quadratzahlen gilt: sn = 9.8.04 n( n + 1 ) k = -------------------- . 2 k=1 Für die Summe der ersten n ungeraden natürlichen Zahlen gilt: sn = Quadratzahl å n å 2 n ( n + 1 ) ( 2n + 1 ) k = ----------------------------------------- . 6 k=1 n © Karlheinz Hug, Hochschule Reutlingen 5 - 28 Kubikzahl 5 Zahlen (4) Für die Summe der ersten n Kubikzahlen gilt: sn = Endliche geometrische Reihe (5) å 3 k = k=1 Für jedes q ∈ sn = Aufgabe 5.10 Vollständige Induktion in der Kombinatorik å n (n + 1) n -------------------- 2 ! \ {1} und n ∈ n lN 0 2 . gilt: n+1 1–q q = ---------------------- . 1–q k=0 k Folgende Aussagen sind mit vollständiger Induktion nach m := |M| zu beweisen. Wir setzen zudem n := |N|. (1) Die Mächtigkeit der Potenzmenge einer endlichen Menge ist die Zweierpotenz der Mächtigkeit dieser Menge: |P(M)| = 2|M|. Da die Potenzmenge einer Menge und die Menge der charakteristischen Funktionen dieser Menge gleichmächtig sind, ist damit auch gezeigt: |M| < ℵ0 |{0, 1} M| = 2|M|. Wieviele Teilmengen können 40 Studierende bilden? Variation mit Wiederholung (2) Wieviele Teiler hat 6n? Eine Dialogbox stellt den Zustand eines Objekts mit Checkboxen dar. Das Objekt hat 30 mögliche Zustände. Wieviele Checkboxen hat die Dialogbox? Wieviele Zustände der Checkboxen sind durch Invarianten auszuschließen? Verallgemeinerung von (1): Sind M, N endliche Mengen, so gilt für die Anzahl der Abbildungen von M nach N: W(|N|, |M|) := |NM| = |N||M|. Permutation (3) Somit ist W(n, m) = nm die Anzahl verschiedener Anordnungen von n Elementen mit Wiederholung auf m Stellen. Solch eine Anordnung heißt Kombination mter Ordnung von n Elementen mit Wiederholung mit Berücksichtigung der Anordnung oder Variation m-ter Ordnung von n Elementen mit Wiederholung. Auf wieviele Arten kann ein Dozent die |{1, 1.3, 1.7, 2,.., 4, 4.7, 5}| = 12 Noten auf 40 Studierende verteilen? Wie oft muss ein ec-Kartendieb schlimmstenfalls probieren, um die vierstellige PIN aus Dezimalziffern herauszufinden? Wie oft muss ein Hacker schlimmstenfalls probieren, um ein achtstelliges Passwort aus Tastaturzeichen herauszufinden? Eine Permutation ist eine bijektive Abbildung einer endlichen Menge auf sich selbst. Für die Anzahl der Permutationen einer Menge gilt: P(|M|) := |{p ∈ MM | p ist bijektiv}| = |M|!. Somit ist P(m) = m! die Anzahl verschiedener Anordnungen von m Elementen ohne Wiederholung. In wievielen Reihenfolgen können 40 Studierende in den Hörsaal eintreten? In wievielen Reihenfolgen kann eine Studierende die zehn in einer Vorlesungsstunde beschriebenen Blätter in den Ordner heften? In wievielen Reihenfolgen können n gesendete Pakete einer E-Mail beim Empfänger ankommen? © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.7 Übungen 5 - 29 Die folgende Aussage ist mit vollständiger Induktion nach n := |N| zu beweisen. Wir setzen wieder m := |M|. Variation ohne Wiederholung (4) Verallgemeinerung von (3): Sind M, N endliche Mengen, so gilt für die Anzahl der injektiven Abbildungen von M nach N: V(|N|, |M|) := |{f ∈ NM | f ist injektiv}| = n! N! --------------------------- = -------------------- = n ⋅ ( n – 1 ) ⋅ … ⋅ ( n – m + 1 ) . ( n – m )! ( N – M )! Somit ist V(n, m) = n! / (n − m)! die Anzahl verschiedener Anordnungen von n Elementen ohne Wiederholung auf m Stellen. Mit n! / (n − m)! := 0 für m > n ist V(n, m) für alle n, m definiert. Solch eine Anordnung heißt Kombination m-ter Ordnung von n Elementen ohne Wiederholung mit Berücksichtigung der Anordnung oder Variation m-ter Ordnung von n Elementen ohne Wiederholung. Auf wieviele Arten können sich 40 Studierende auf 50 Sitzplätze verteilen? Auf wieviele Arten können sich drei Betreuer auf 20 Studierende verteilen, wenn sich bei jeder Studierenden höchstens ein Betreuer befindet? Die folgende Aussage lässt sich aus (3) und (4) folgern. Kombination ohne Wiederholung (5) Sind m ∈ lN0 und N eine endliche Menge, so gilt für die Anzahl der m-elementigen Teilmengen von N: n! N! C(|N|, m) := |{M ⊆ N | |M| = m}| = --------------------------------- = ------------------------------- . m! ⋅ ( n – m )! ! ⋅ ( N – m )! n! V (n , m ) = ------------------------------- = -------------------- die Anzahl der Auswahlen m! ⋅ ( n – m )! m! von m Elementen aus n Elementen ohne Wiederholung. Für m > n ist C(n, m) = 0. Solch eine Auswahl heißt Kombination m-ter Ordnung von n Elementen ohne Wiederholung ohne Berücksichtigung der Anordnung. Somit ist C(n, m) = n m Für m, n ∈ lN0 heißt n m n! = ------------------------------- ein Binomialkoeffizient. m! ⋅ ( n – m )! Wieviele Teams mit genau fünf Mitgliedern können 40 Studierende bilden? Auf wieviele Arten kann eine Studierende 15 Aufgaben aus 30 gestellten zum Bearbeiten auswählen? Die folgende Aussage ist mit vollständiger Induktion nach m zu beweisen. Kombination mit Wiederholung (6) Für m, n ∈ lN0 heißt eine Auswahl von m Elementen aus n Elementen mit Wiederholung eine Kombination m-ter Ordnung von n Elementen mit Wiederholung ohne Berücksichtigung der Anordnung. Für ihre Anzahl gilt: D(n, m) = n ( n + m – 1 )! + m – 1 = ----------------------------- . m m! ⋅ ( n – 1 )! Wieviele Teilmengen von 40 Studierenden können in einer Vorlesung zehn Fragen stellen? Wieviele natürliche Zahlen mit genau 12 Primfaktoren aus den ersten 24 Primzahlen gibt es? Aufgabe 5.11 Binomialkoeffizienten 9.8.04 (1) Für alle k, n ∈ lN0 gilt: n 0 = 1; n k = n n . – k © Karlheinz Hug, Hochschule Reutlingen 5 - 30 5 Zahlen (2) Auf wieviele Arten kann man niemand aus 40 Studierenden auswählen? Aus 40 Studierenden zehn oder 30 auszuwählen - gibt es dafür unterschiedlich viele Möglichkeiten? Für alle k, n ∈ lN0 gilt: n k Binomischer Lehrsatz (3) + k n n + 1 = . k + 1 + 1 Diese Rekursionsformel ist direkt formal zu beweisen. Informal: Um aus 41 Studierenden elf auszuwählen, markieren wir den 41. Studierenden. Fall 1: Wir wählen elf aus den ersten 40 Studierenden; bei diesen ist der 41. nicht dabei. Fall 2: Wir wählen den 41. und die anderen zehn aus den 40; bei diesen Elfergruppen ist der 41. dabei. Für alle x, y ∈ ! und n ∈ lN0 gilt: n ( x + y) = å n k=0 (4) n k ⋅x n–k k ⋅y . Dieser binomische Lehrsatz ist mit vollständiger Induktion nach n und (2) zu beweisen. Für alle n ∈ lN0 gilt: n 2 = å n k=0 n k . Erklären Sie einen Zusammenhang zwischen dieser Formel und Aufgabe 5.10 (1) und (5)! Aufgabe 5.12 Geburtstag von Studierenden Satz: Alle Studierenden haben am gleichen Tag Geburtstag. Beweis mit vollständiger Induktion nach der Anzahl n der Studierenden. Induktionsanfang mit n = 1: Eine Studierende hat offenbar am gleichen Tag Geburtstag wie sie selbst. Induktionsannahme: Je n Studierende haben am gleichen Tag Geburtstag. Induktionsschluss: Zu zeigen ist, dass je n + 1 Studierende am gleichen Tag Geburtstag haben. Seien also s1,.., sn+1 beliebige n + 1 Studierende. Nach Induktionsannahme haben die n Studierenden s1,.., sn am gleichen Tag Geburtstag, und die n Studierenden s2,.., sn+1 haben am gleichen Tag Geburtstag. Da wir n ≥ 2 annehmen können, gehört s2 zu beiden Mengen. Also haben einerseits s1 und s2, andererseits s2 und sn+1 am gleichen Tag Geburtstag. Wegen der Transitivität der Gleichheit haben auch s1 und sn+1, also s1,.., sn+1 am gleichen Tag Geburtstag. Damit ist der Satz bewiesen. Oder doch nicht? Wo liegt der Fehler? Wenn Sie keinen Fehler finden, haben sogar alle Menschen am gleichen Tag Geburtstag! Aufgabe 5.13 Von neumannsche natürliche Zahlen Analog zu Satz 4.79 S. 4-61 zeigt man leicht, dass jede halbgeordnete Menge G, ≤ ordnungsisomorph zum System {<x | x ∈ G}, ⊆ ihrer primitiven Vorbereiche ist. Die von neumannschen natürlichen Zahlen besitzen sogar die bemerkenswerte Eigenschaft: ∀n ∈ lN0 : n = <n. Beweisen Sie diese Aussage mit vollständiger Induktion! Zur Erinnerung: 0 := ∅, n+ := n ∪ {n}, m < n :⇔ m ∈ n, <n = {m ∈ lN0 | m < n}. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 5.7 Übungen Aufgabe 5.14 Rekursionstheorem 5 - 31 Beweisen Sie das folgende einfache Rekursionstheorem mit dem Rekursionstheorem 1, Satz 5.16 S. 5-6 in Bauer, Skript TG1! Zu einer Wertemenge W, einem Element a ∈ W und einer Abbildung h : W → W gibt es genau eine Abbildung f : lN0 → W mit f(0) = a, Rekursionsanfang ∀n ∈ lN0 : f(n ) = h(f(n)). + Aufgabe 5.15 Anzahlen von Relationen Rekursionsschritt Es sei M eine endliche Menge mit |M| = m. Wieviele Relationen R ⊆ M2 gibt es? (1) Wieviele dieser Relationen sind (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) Aufgabe 5.16 Russische Bauernmultiplikation reflexiv? irreflexiv? symmetrisch? asymmetrisch? antisymmetrisch? transitiv? intransitiv? azyklisch? Verträglichkeitsrelationen? Äquivalenzrelationen? Präordnungen? Halbordnungen? Vollordnungen? Die schon den alten Ägyptern bekannte russische Bauernmultiplikation, mit der russische Bauern im 19. Jahrhundert zwei natürliche Zahlen multiplizierten, basiert auf der Abbildung russ : lN03 → lN0, (k, m, n) → russ(k, m, n) := k + m ∗ n, | deren Eigenschaften (a) (b) (c) (d) russ(0, m, n) = m ∗ n, russ(k, m, n + 1) = russ(k + m, m, n), russ(k, m, p ∗ n) = russ(k, m ∗ p, n), russ(k, m, 0) = k leicht zu zeigen sind. Damit lässt sich das Multiplizieren wegen (b) auf Dekrementieren und Addieren und wegen (c) auf Halbieren und Verdoppeln zurückführen. (1) Multiplizieren Sie die Zahlen 123 und 456 möglichst effizient mit russischer Bauernmultiplikation! Wie ginge es noch schneller? Algorithmisch sieht das so aus: Produkt(m, n) = result := russ (0, m, n); ASSERT result = m * n. Geben Sie für russ(k, m, n) = ... ASSERT result = k + m * n. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 32 5 Zahlen einen effizienten (2) (3) rekursiven, iterativen Algorithmus an! Beweisen Sie die Korrektheit der Algorithmen, indem Sie an geeigneten Stellen Zusicherungen einfügen, die die Eigenschaften (a) bis (d) nutzen! (4) Geben Sie Abschätzungen für die Laufzeitaufwände ihrer Algorithmen abhängig von n an! Aufgabe 5.17 „Russische Bauernpotenzierung“ Formen Sie die Abbildung russ von Aufgabe 5.16 so um, dass sie als Basis für das Potenzieren dienen kann und passen Sie die Eigenschaften und Algorithmen entsprechend an! Aufgabe 5.18 Ackermannfunktion Die Ackermannfunktion A : lN02 → lN0, die in der Berechenbarkeitstheorie eine wichtige Rolle spielt, ist rekursiv definiert durch A (x , y ) = y + 1 A (x – A (x – falls x = 0 1, 1) falls x ≠ 0 ∧ y = 0 . 1, A (x, y – 1)) sonst Berechnen Sie A(3, 3)! Aufgabe 5.19 Division mit Rest in Programmiersprachen Finden Sie heraus, wie C, C++, Java, C#, Eiffel und andere Programmiersprachen die Division mit Rest spezifizieren und implementieren! Aufgabe 5.20 Division mit Rest Die beiden Varianten der Division mit Rest - nichtnegativer und vorzeichenbehafteter Rest - basieren auf folgender Aussage, die zu beweisen ist. ' ' Für alle p, m ∈ gibt es genau ein q ∈ mit q ∗ m ≤ p < (q + 1) ∗ m und genau ein r ∈ {0,.., |m| − 1} und genau ein s ∈ {1,.., |m|} mit p = q ∗ m + r, p = (q + 1) ∗ m − s, r + s = |m|. Aufgabe 5.21 Induktive Definition Die Relation R ⊆ lN02 sei induktiv definiert durch (a) (b) (0, 0) ∈ R, (1, 1) ∈ R, (x, y) ∈ R ((x + 2, y) ∈ R ∧ (x, y + 2) ∈ R). Beweisen Sie, dass R = {(x, y) ∈ lN02 | (x + y) mod 2 = 0}! Aufgabe 5.22 Beweisen Sie die Rechenregeln zur Teiltrelation von Satz 5.28 S. 5! Aufgabe 5.23 Teiltrelation Zeichnen Sie das Ordnungsdiagramm zur Teiltrelation auf den ersten natürlichen Zahlen {0, 1, 2,.., n}! Aufgabe 5.24 Teilbarkeit und vollständige Induktion Beweisen Sie folgende Aussagen über Teilbarkeit mit vollständiger Induktion nach n! (1) (2) (3) ' Für jedes p ∈ und jedes n ∈ lN mit n ≥ 2 gilt: p − 1 | pn − 1. Für jedes n ∈ lN gilt: 6 | n ∗ (n − 1) ∗ (n − 2). Für jedes n ∈ lN gilt: 8 | 4n ∗ (n − 1). Aufgabe 5.25 Beweisen Sie die Rechenregeln zum größten gemeinsamen Teiler von Satz 5.33 S. 7! Aufgabe 5.26 ggT und kgV Beweisen Sie die folgende Beziehung zwischen dem größten gemeinsamen Teiler und dem kleinsten gemeinsamen Vielfachen! Für alle p, q ∈ © Karlheinz Hug, Hochschule Reutlingen ' gilt: ggT(p, q) ∗ kgV(p, q) = |p ∗ q|. 9.8.04 5.7 Übungen 5 - 33 Aufgabe 5.27 Beweisen Sie, dass die Kongruenz modulo n eine Äquivalenzrelation ist (→ Satz 5.34 S. 8)! Aufgabe 5.28 Restklassen Stellen Sie die (1) (2) Additionstabellen, Multiplikationstabellen für die ersten n ∈ lN Restklassen modulo n auf! Aufgabe 5.29 Zählmengen Beweisen Sie, dass das System aller Zählmengen (→ S. 12) durchschnittsstabil ist! Aufgabe 5.30 Reelle und rationale Zahlen Beweisen Sie die folgende Aussage mit der archimedischen Eigenschaft der natürlichen Zahlen, Korollar 5.24 S. 1! Aufgabe 5.31 Verallgemeinerte Dreiecksungleichung Zu jedem x ∈ ! mit x > 0 gibt es ein n ∈ lN mit 1 / n < x. Beweisen Sie mit vollständiger Induktion nach n, dass für n ∈ lN0 und x1, .., xn ∈ folgende verallgemeinerte Dreiecksungleichung gilt! å n k=1 xk ≤ å ! die n k=1 xk . Aufgabe 5.32 Zahlendarstellungen Papieraufgaben zu Zahlendarstellungen mit Lösungen finden Sie in [33], Menü Informatik 1 → Übungsblätter → Papierübungsblatt 2! Aufgabe 5.33 Gleitpunktzahlen Programmieraufgaben zu Gleitpunktzahlen mit Lösungen finden Sie in [33], Menü Informatik 1 → Übungsblätter → WS 98/99 Übungsblatt 8, WS 97/98 Übungsblatt 8, SS 96 Übungsblatt 5, Aufgaben 3 und 4! Eine Prüfungsaufgabe zu Gleitpunktzahlen mit Lösung finden Sie in [33], Menü Informatik 1 → Lehrmaterial → Informatik 1 - Prüfung im WS 1997/98 mit Musterlösung. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 5 - 34 © Karlheinz Hug, Hochschule Reutlingen 5 Zahlen 9.8.04 6 Algebraische Strukturen AufgabeBeispiel 6 Bild 6 6 (6) MathAussagen Leitlinie Programm 6 6 6 Tabelle 6 Dieses Kapitel stellt grundlegende algebraische Strukturen wie Halbgruppen, Gruppen, Ringe, Körper, Verbände, boolesche Algebren und Vektorräume vor, und führt Grundbegriffe der Codierung ein. 6.1 Strukturen mit einer zweistelligen Operation Im Folgenden sei G eine Grundmenge. 6.1.1 Vom Gruppoid zum Monoid Eine algebraische Struktur G, l (→ Definition 1.34 S. 1-32) mit einer zweistelligen Operation Definition 6.1 Gruppoid l : G2 → G, (x, y) → l(x, y) = x l y | (für die wir die Infixnotation bevorzugen) heißt ein Gruppoid (groupoid). Die Mächtigkeit |G| heißt auch die Ordnung von G, l. Statt G, l schreiben wir auch kurz G, wenn die Operation l bekannt ist und wir keine Verwechslungen erwarten. Endliche Gruppoide lassen sich mit Verknüpfungs- oder Cayley-Tabellen1 darstellen (→ Tabelle 1.6 S. 1-23). Beispiel Sei G = {a, b, c}. l Tabelle 6.1 Verknüpfungstabelle eines Gruppoids a b c a b c ala alb alc cla clb clc bla blb blc Ist G, l ein Gruppoid, so heißt die Operation l und die Struktur G, l Definition 6.2 Assoziativität Kommutativität Halbgruppe assoziativ (associative) :⇔ kommutativ (commutative) :⇔ ∀x, y, z ∈ G : (x l y) l z = x l (y l z); ∀x, y ∈ G : x l y = y l x. Eine Halbgruppe (semigroup) ist ein assoziatives Gruppoid. Ein kommutatives Gruppoid heißt auch abelsch (abelian).a a Niels Henrik Abel (1802 - 1829), genialer norwegischer Mathematiker, starb an Tuberkulose, bevor ihn der Ruf auf eine Professur erreichte. Ein endliches Gruppoid ist genau dann kommutativ, wenn seine Verknüpfungstabelle symmetrisch bzgl. der Hauptdiagonalen von links oben nach rechts unten ist, d.h. wenn man Zeilen und Spalten vertauschen kann, ohne dass sich die Tabelle ändert. Leider ist aus einer Verknüpfungstabelle nicht direkt ersichtlich, ob die Operation assoziativ ist; dazu muss man alle Kombinationen durchprobieren. 1 Arthur Cayley (1821 - 1895), englischer Mathematiker und Jurist, arbeitete über Algebra und Geometrie. © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Kapitel 6 - Seite 1 von 24 6-2 Definition 6.3 Verknüpfung mehrerer Elemente 6 Algebraische Strukturen Für ein Gruppoid G, l, n ∈ lN und Elemente x1,.., xn ∈ G sei rekursiv definiert: x1 l ... l xn := x1 für n = 1, x1 l ... l xn := (x1 l ... l xn−1) l xn für n > 1. Nach Definition 6.3 wird, falls nicht geklammert ist, von links nach rechts verknüpft. Bei nicht assoziativen Gruppoiden kann das Verknüpfen von rechts nach links zu anderen Resultaten führen. Dagegen spielt bei assoziativen Gruppoiden die Reihenfolge der Verknüpfung keine Rolle. Satz 6.4 Klammerverzicht bei Assoziativität Sind G, l eine Halbgruppe und y ∈ G das Ergebnis einer Verknüpfung der n ∈ lN Elemente x1,.., xn ∈ G in gegebener Anordnung, in der beliebig Klammern gesetzt sind, so ist stets y = x1 l ... l xn. Beweis mit vollständiger Induktion nach n. Satz 6.5 Umordnung bei Kommutativität Sind G, l eine kommutative Halbgruppe und y ∈ G das Ergebnis einer Verknüpfung der n ∈ lN Elemente x1,.., xn ∈ G in beliebiger Anordnung, so ist stets y = x1 l ... l xn. Beweis mit vollständiger Induktion nach n. Definition 6.6 Neutrales Element Eins Monoid p p Ist G, l ein Gruppoid, so heißt ein Element e ∈ G eine ∀x ∈ G : e l x = x; Linkseins (linksneutral) :⇔ Rechtseins (rechtsneutral) :⇔ ∀x ∈ G : x l e = x; Eins (neutral) :⇔ x ist eine Links- und eine Rechtseins. Hat G, l die Eins e, so schreiben wir G, e, l. Liest man die Operation l als Addition, so entspricht e einer Null. Bei Gruppoiden liest man l aber meist als Multiplikation, sodass e als eine Eins erscheint. Ein Monoid ist eine Halbgruppe mit einer Eins. In einem kommutativen Gruppoid fallen die Eigenschaften Linkseins, Rechtseins und Eins zusammen. Ein Gruppoid kann mehrere Linkseinsen oder mehrere Rechtseinsen haben. Hat ein Gruppoid G, l aber eine Linkseins el ∈ G und eine Rechtseins er ∈ G, so sind diese gleich, da el = el l er = er. Ein Gruppoid hat also höchstens eine Eins. Ein endliches Gruppoid hat eine l l Linkseins e genau dann, wenn die Zeile von e in der Verknüpfungstabelle mit der Kopfzeile, Rechtseins e genau dann, wenn die Spalte von e in der Verknüpfungstabelle mit der Frontspalte übereinstimmt. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation Definition 6.7 Null 6-3 Ist G, l ein Gruppoid, so heißt ein Element n ∈ G eine ∀x ∈ G : n l x = n; Linksnull (linksabsorbierend) :⇔ Rechtsnull (rechtsabsorbierend) :⇔ ∀x ∈ G : x l n = n; Null (absorbierend) :⇔ x ist eine Links- und eine Rechtsnull. Hat G, l die Null n, so schreiben wir G, n, l. Die Bezeichnung Null ist gerechtfertigt, wenn die Operation l als Multiplikation gelesen wird. In einem kommutativen Gruppoid fallen die Eigenschaften Linksnull, Rechtsnull und Null zusammen. Ein Gruppoid kann mehrere Linksnullen oder mehrere Rechtsnullen haben. Hat ein Gruppoid G, l aber eine Linksnull nl ∈ G und eine Rechtsnull nr ∈ G, so sind diese gleich, da nl = nl l nr = nr. Ein Gruppoid hat also höchstens eine Null. Ein endliches Gruppoid hat eine l l Linksnull n genau dann, wenn die Zeile, Rechtsnull n genau dann, wenn die Spalte von n in der Verknüpfungstabelle nur n enthält. Einsen und Nullen haben die Eigenschaft x l x = x, die folgende Definition veranlasst. Definition 6.8 Idempotentes Element 6.1.2 Definition 6.9 Gleichung Lösung Ist G, l ein Gruppoid, so heißt ein Element x ∈ G idempotent, wenn x l x = x. Kürzbarkeit und Lösbarkeit Gegeben ist ein Gruppoid G, l mit den Elementen a, b ∈ G. Gesucht ist ein x ∈ G, das die Gleichung xla=b löst, d.h. eine Linkslösung dieser Gleichung; oder ein x ∈ G, das die Gleichung alx=b löst, d.h. eine Rechtslösung dieser Gleichung. Eine Lösung ist eine Links- oder eine Rechtslösung einer Gleichung. In einem kommutativen Gruppoid fallen die Eigenschaften Linkslösung, Rechtslösung und Lösung zusammen. Definition 6.10 Teiler Teilbarkeit Ist G, l ein Gruppoid mit den Elementen a, b ∈ G, so heißt a ein die Gleichung a l x = b hat eine Rechtslösung, d.h. ∃x ∈ G : a l x = b; Linksteiler von b :⇔ Rechtsteiler von b :⇔ die Gleichung x l a = b hat eine Linkslösung, d.h. ∃x ∈ G : x l a = b; Teiler von b :⇔ a ist ein Links- und ein Rechtsteiler von b, d.h. ∃xl, xr ∈ G : a l xr = xll a = b. Ist a ein (Links-, Rechts-)Teiler von b, so sagt man auch: a teilt b (von links, rechts); b ist ein Vielfaches von a; b ist durch a (von links, rechts) teilbar. b heißt (von links, rechts) teilbar, wenn es einen (Links-, Rechts-)Teiler von b gibt. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 6-4 6 Algebraische Strukturen In einem kommutativen Gruppoid fallen die Eigenschaften Linksteiler, Rechtsteiler und Teiler zusammen. Definition 6.11 Kürzbarkeit Ein Gruppoid G, l heißt ∀a, x, y ∈ G : (a l x = a l y x = y); linkskürzbar :⇔ rechtskürzbar :⇔ ∀a, x, y ∈ G : (x l a = y l a x = y); kürzbar (regulär) :⇔ G ist links- und rechtskürzbar. In einem kommutativen Gruppoid fallen die Eigenschaften linkskürzbar, rechtskürzbar und kürzbar zusammen. Korollar 6.12 Kürzbarkeit Lemma 6.13 Kürzbarkeit Für ein Gruppoid G, l gilt: (1) G ist linkskürzbar ⇔ (2) G ist rechtskürzbar ⇔ (1) für jedes a ∈ G ist die Abbildung G → G, x → a l x injektiv. für jedes a ∈ G ist die Abbildung G → G, x → x l a injektiv. | | Für ein linkskürzbares Gruppoid G, l gilt: (a) Hat G mehr als ein Element, so hat G keine Linksnull. (b) Ist G endlich, so ist für jedes a ∈ G die Abbildung G → G, x → a l x bijektiv. (c) Für alle a, b ∈ G hat die Gleichung a l x = b höchstens eine Rechtslösung x. (d) Hat G eine Rechtseins, so ist diese das einzige idempotente Element. Für ein rechtskürzbares Gruppoid G, l gilt: (a) Hat G mehr als ein Element, so hat G keine Rechtsnull. (b) Ist G endlich, so ist für jedes a ∈ G die Abbildung G → G, x → x l a bijektiv. (c) Für alle a, b ∈ G hat die Gleichung x l a = b höchstens eine Linkslösung x. (d) Hat G eine Linkseins, so ist diese das einzige idempotente Element. | (2) | Beweis. (1) (a) Seien x, y ∈ G und n ∈ G eine Linksnull. Dann ist n l x = n = n l y. Da G linkskürzbar ist, folgt x = y. (b) Nach Korollar 6.12 ist die Abbildung injektiv. Bei Abbildungen endlicher Mengen in sich fallen die Eigenschaften surjektiv, injektiv und bijektiv zusammen. (c) Seien a, b, x, y ∈ G mit a l x = b und a l y = b. Da G linkskürzbar ist, folgt daraus x = y. (d) Seien e ∈ G eine Rechtseins und x ∈ G ein idempotentes Element. Dann gilt x l e = x und x l x = x. Da G linkskürzbar ist, folgt x = e. (2) zeigt man analog. © Karlheinz Hug, Hochschule Reutlingen p 9.8.04 6.1 Strukturen mit einer zweistelligen Operation Definition 6.14 Lösbarkeit Quasigruppe 6-5 Ein Gruppoid G, l heißt ∀a, b ∈ G ∃x ∈ G : x l a = b; linkslösbar :⇔ rechtslösbar :⇔ ∀a, b ∈ G ∃x ∈ G : a l x = b; lösbar :⇔ G ist links- und rechtslösbar; eindeutig linkslösbar :⇔ ∀a, b ∈ G ∃1x ∈ G : x l a = b; eindeutig rechtslösbar :⇔ ∀a, b ∈ G ∃1x ∈ G : a l x = b; eindeutig lösbar :⇔ G ist eindeutig links- und eindeutig rechtslösbar. Eine Quasigruppe ist ein eindeutig lösbares Gruppoid. In einem kommutativen Gruppoid fallen die Eigenschaften (eindeutig) linkslösbar, (eindeutig) rechtslösbar und (eindeutig) lösbar zusammen. Korollar 6.15 Lösbarkeit Für ein Gruppoid G, l gilt: (1) ⇔ für jedes a ∈ G ist die Abbildung G → G, x → x l a surjektiv ⇔ jedes x ∈ G ist Rechtsteiler von jedem y ∈ G. G ist rechtslösbar ⇔ für jedes a ∈ G ist die Abbildung G → G, x → a l x surjektiv ⇔ jedes x ∈ G ist Linksteiler von jedem y ∈ G. G ist lösbar ⇔ jedes x ∈ G ist Teiler von jedem y ∈ G. G ist eindeutig linkslösbar ⇔ für jedes a ∈ G ist die Abbildung G → G, x → x l a bijektiv. G ist eindeutig rechtslösbar ⇔ für jedes a ∈ G ist die Abbildung G → G, x → a l x bijektiv. G ist linkslösbar | (2) | (3) (4) | (5) | Direkt aus Lemma 6.13 folgt: Korollar 6.16 Endlichkeit, Kürzbarkeit und Lösbarkei Satz 6.17 Endlichkeit und Lösbarkeit Für ein endliches Gruppoid G, l gilt: (1) (2) (3) G ist linkskürzbar G ist rechtskürzbar G ist kürzbar G ist eindeutig rechtslösbar. G ist eindeutig linkslösbar. G ist eindeutig lösbar. Für ein endliches Gruppoid G, l gilt: (1) (2) (3) G ist linkslösbar G ist rechtslösbar G ist lösbar G ist eindeutig linkslösbar. G ist eindeutig rechtslösbar. G ist eindeutig lösbar. Beweis. (1) Da G endlich ist, ist für jedes a ∈ G die nach Korollar 6.15 (1) surjektive Abbildung G → G, x → x l a sogar bijektiv. Also ist G nach Korollar 6.15 (4) eindeutig linkslösbar. | p (2) zeigt man analog. (3) folgt aus (1) und (2). Ein endliches Gruppoid ist l l l linkslösbar genau dann, wenn jede Spalte, rechtslösbar genau dann, wenn jede Zeile, lösbar genau dann, wenn jede Spalte und jede Zeile der Verknüpfungstabelle jedes Element genau einmal enthält. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 6-6 6 Algebraische Strukturen Verknüpfungstabellen endlicher Quasigruppen heißen auch lateinische Quadrate. Satz 6.18 Kürzbarkeit und Lösbarkeit Für ein Gruppoid G, l gilt: (1) (2) (3) G ist linkskürzbar und rechtslösbar G ist rechtskürzbar und linkslösbar G ist kürzbar und lösbar ⇔ ⇔ ⇔ G ist eindeutig rechtslösbar. G ist eindeutig linkslösbar. G ist eindeutig lösbar. Beweis. (1) folgt aus den Korollaren 6.12 (1), 6.15 (2) und (5). (2) folgt aus den Korollaren 6.12 (2), 6.15 (1) und (4). p (3) folgt aus (1) und (2). Satz 6.19 Lösbarkeit und Eins Für eine nicht leere Halbgruppe G, l gilt: (1) (2) (3) G ist eindeutig linkslösbar G ist eindeutig rechtslösbar G ist eindeutig lösbar G hat eine Rechtseins. G hat eine Linkseins. G hat eine Eins. Beweis. (1) Zu y ∈ G gibt es genau ein e ∈ G mit e l y = y. Da G assoziativ ist, folgt (e l e) l y = e l (e l y) = e l y. Da G nach Satz 6.18 (2) rechtskürzbar ist, folgt e l e = e. Da G assoziativ ist, gilt für x ∈ G: (x l e) l e = x l (e l e) = x l e. Da G rechtskürzbar ist, folgt x l e = x. Also ist e eine Rechtseins. p (2) zeigt man analog. (3) folgt aus (1) und (2). 6.1.3 Definition 6.20 Inverses Element Invertierbarkeit Gruppe Mit Invertierbarkeit zur Gruppe Sind G, l ein Gruppoid mit einer Links- oder Rechtseins e ∈ G und x ∈ G ein Element, so heißt ein Element x−1 ∈ G linksinvers zu x bzgl. e :⇔ x−1 l x = e; rechtsinvers zu x bzgl. e :⇔ x l x−1 = e; invers zu x bzgl. e :⇔ x−1 ist links- und rechtsinvers zu x bzgl. e. x heißt (links-, rechts-)invertierbar bzgl. e, wenn es zu x ein (links-, rechts-)inverses Element bzgl. e gibt. G, l heißt (links-, rechts-)invertierbar bzgl. e, wenn alle x ∈ G (links-, rechts-) invertierbar bzgl. e sind. Ist G, l invertierbar bzgl. e, so ist .−1 : G → G, x → x−1 | eine einstellige Operation und wir schreiben auch G, e, −1, l. Eine Gruppe ist ein invertierbares Monoid. In einem kommutativen Gruppoid mit Eins fallen die Eigenschaften linksinvers, rechtsinvers und invers zusammen. Ein Element eines Gruppoids kann mehrere linksinverse oder mehrere rechtsinverse Elemente bzgl. einer Links- oder Rechtseins haben. Ein Element eines Gruppoids kann links- oder rechtsinverse Elemente bzgl. mehrerer Links- oder Rechtseinsen haben. Ein Gruppoid kann bzgl. mehrerer Links- oder Rechtseinsen (links-, rechts-)invertierbar sein. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation Satz 6.21 Inverse Elemente 6-7 Für ein Gruppoid G, l mit einer Links- oder Rechtseins e ∈ G gilt: (1) Hat x ∈ G ein (links-, rechts-)inverses Element x−1 ∈ G bzgl. e, so hat x−1 ein (rechts-, links-)inverses Element bzgl. e, nämlich (x−1)−1 = x. Für eine Halbgruppe G, l mit einer Links- oder Rechtseins e ∈ G gilt: (2) Haben x, y ∈ G die (links-, rechts-)inversen Elemente x−1, y−1 ∈ G bzgl. e, so hat auch x l y ein (links-, rechts-)inverses Element bzgl. e, nämlich (x l y )−1 = y−1 l x−1. Für ein Monoid G, e, l gilt: (3) Hat x ∈ G ein linksinverses Element x−1l ∈ G und ein rechtsinverses Element x−1r ∈ G, so sind diese gleich: x−1l = x−1r. (4) Jedes x ∈ G hat höchstens ein inverses Element x−1 ∈ G. Beweis. (1) folgt direkt aus der Definition. (2) Linksinversion: Da G assoziativ ist, gilt (y−1 l x−1) l (x l y) = y−1 l (x−1 l x) l y = y−1 l e l y = y−1 l y = e. Dabei wird e mit y−1 verknüpft, wenn es eine Rechtseins, mit y, wenn es eine Linkseins ist. Analog zeigt man die Rechtsinversion: (x l y) l (y−1 l x−1) = x l (y l y−1) l x−1 = x l e l x−1 = x l x−1 = e. (3) Da G assoziativ ist, gilt x−1l = x−1l l e = x−1l l (x l x−1r) = (x−1l l x) l x−1r = e l x−1r = x−1r. p (4) folgt aus (3). Beispiele Triviales (1) (2) (3) ∅, ∅ ist eine kommutative, kürzbare Quasigruppe, aber kein Monoid, da sie keine Eins hat. {a}, a l a = a ist eine kommutative Gruppe mit der Eins a und der Null a. Sie ist die einzige Gruppe mit nur einem Element. G, l mit |G| > 1 und l := π1, d.h. die Operation ist die Projektion auf die erste Komponente: x l y := π1(x, y) = x für x, y ∈ G, ist eine rechtskürzbare, eindeutig linkslösbare Halbgruppe; sie heißt Linksnullhalbgruppe. Jedes x ∈ G ist eine Linksnull. Jedes y ∈ G ist eine Rechtseins. G hat keine Rechtsnull und keine Linkseins. Ist e ∈ G eine Rechtseins, so gilt für jedes y ∈ G: y ist rechtsinvers zu e bzgl. e und e ist linksinvers zu y bzgl. e. Also ist G linksinvertierbar bzgl. jedem e ∈ G. G ist aber bzgl. keinem e ∈ G rechtsinvertierbar, da bzgl. e nur e rechtsinvertierbar ist. Tabelle 6.2 Verknüpfungstabelle der Linksnullhalbgruppe mit drei Elementen 9.8.04 l a b c a a a a b b b b c c c c © Karlheinz Hug, Hochschule Reutlingen 6-8 6 Algebraische Strukturen Potenzmengen (4) (5) Für eine beliebige Menge M sind P(M), M, ∩ und P(M), ∅, ∪ kommutative Monoide mit den neutralen Elementen („Einsen“) M bzw. ∅. Für eine beliebige Menge M ist P(M), ∅, idP(M), ∆ eine kommutative Gruppe mit dem neutralen Element („Eins“) ∅, wobei jede Teilmenge N ⊆ M zu sich selbst invers ist. Aussagenlogik (6) (7) 1, ∧ und lB, 0, ∨ sind kommutative Monoide mit den neutralen Elementen („Einsen“) 1 bzw. 0. lB , 0, id , <≠> ist eine kommutative Gruppe mit dem neutralen Element („Eins“) 0, wobei jedes x ∈ lB zu sich selbst invers ist. lB , lB Relationen und Abbildungen P(M2), idM, ° ist nach Satz 4.16 S. 4-13 ein Monoid mit der Identität als Eins. (8) (9) id M, ° ist nach Satz 4.20 S. 4-17 ein Monoid. Für jedes c ∈ M ist die konstante Abbildung M → M, x → c eine Linksnull. Hat M mehr als ein Element, so gibt es keine Rechtsnull. M M, | (10) {f ∈ MM | f bijektiv}, idM, −1, ° ist nach Satz 4.21 S. 4-17 eine Gruppe. Zahlenmengen 0, + ist ein kommutatives, kürzbares Monoid mit dem neutralen Element („Eins“) 0. (12) lN0, 0, 1, ∗, , 0, 1, ∗, , 0, 1, ∗, , 0, 1, ∗, , 0, 1, ∗ sind kommutative Monoide mit der Null 0 und der Eins 1. (13) lN, 1, ∗ und \ {0}, 1, ∗ sind kommutative, kürzbare Monoide mit der Eins 1. (14) , 0, −, +, , 0, −, +, , 0, −, +, , 0, −, + sind kommutative Gruppen mit dem neutralen Element („Eins“) 0. Das inverse Element zu x ist −x. (11) lN 0 , ' (15) ' 3 ! ' 3 ! 3 \ {0}, 1, −1, ∗ , ! \ {0}, 1, −1, ∗ , \ {0}, 1, −1, ∗ sind kommutative Grup- pen mit der Eins 1. Das inverse Element zu x ist 1/x. Quotientenmengen Für n ∈ lN0 sei (16) 'n das in Satz 5.34 S. 5-8 definierte System der Restklassen modulo n. 'n, [0]≡n, [1]≡n, ∗n ist ein kommutatives Monoid mit der Null [0]≡n und der Eins [1]≡n. (17) 'n \ [0]≡n, [1]≡n, ∗n ist ein kommutatives, kürzbares Monoid mit der Eins [1]≡n. (18) 'n, [0]≡n, −n, +n ist eine kommutative Gruppe mit dem neutralen Element („Eins“) [0]≡n. Das inverse Element zu [x]≡n ist [−x]≡n. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation Satz 6.22 Charakterisierung von Gruppen 6-9 Für ein Gruppoid G, l sind folgende Aussagen äquivalent: (1) (2) (3) (4) (5) (6) (7) (8) G ist eine Gruppe, d.h. ist assoziativ, hat eine Eins und ist invertierbar. G ist assoziativ, hat eine Linkseins e und ist linksinvertierbar bzgl. e. G ist assoziativ, hat eine Rechtseins e und ist rechtsinvertierbar bzgl. e. G ist nicht leer, assoziativ und eindeutig lösbar. G ist nicht leer, assoziativ, kürzbar und lösbar. G ist nicht leer, assoziativ und lösbar. G ist assoziativ, hat eine Eins und ist linkslösbar. G ist assoziativ, hat eine Eins und ist rechtslösbar. Beweis. (1) ((2) ∧ (3)): klar. (2) (1): Seien e ∈ G eine Linkseins und x ∈ G beliebig. Dann gibt es zu x ein linksinverses x−1 mit x−1 l x = e und zu x−1 ein linksinverses (x−1)−1 mit (x−1)−1 l x−1 = e. Da G assoziativ ist, gilt e = (x−1)−1 l (e l x−1) = (x−1)−1 l ((x−1 l x) l x−1) = ((x−1)−1 l x−1) l (x l x−1) = e l (x l x−1) = x l x−1. Damit gilt: x l e = x l (x−1 l x) = (x l x−1) l x = e l x = x. Also ist e auch eine Rechtseins und x−1 rechtsinvers zu x. (1): zeigt man analog. (1) (5): Seien e ∈ G die Eins und x, y ∈ G beliebig. (3) Linkskürzbarbeit: Sei a ∈ G mit a l x = a l y. Da G invertierbar und assoziativ ist, gilt: x = e l x = (a−1 l a) l x = a−1 l (a l x) = a−1 l (a l y) = (a−1 l a) l y = e l y = y. Linkslösbarkeit: x := b l a−1 ist eine Lösung von x l a = b, da x l a = (b l a−1) l a = b l (a−1 l a) = b l e = b. Die Rechtskürzbarkeit und die Rechtslösbarkeit zeigt man analog. (4) ⇔ (5): Satz 6.18 (3). (6): klar. (4) ((7) ∧ (8)): Satz 6.19 (3). (6) ((7) ∧ (8)): Da G ≠ ∅, gibt es ein x ∈ G. Da G lösbar ist, gibt es dazu ein e ∈ G (5) mit e l x = x und dazu ein y ∈ G mit x l y = e. Da G assoziativ ist, gilt: e l e = e l (x l y) = (e l x) l y = x l y = e. (Also ist e idempotent.) Sei u ∈ G beliebig. Da G lösbar ist, gibt es dazu v, w ∈ G mit e l v = u und w l e = u. Da G assoziativ ist, gilt: und e l u = e l (e l v) = (e l e) l v = e l v = u u l e = (w l e) l e = w l (e l e) = w l e = u. Also ist e eine Links- und Rechtseins, also eine Eins. (8) (3): zeigt man analog. (2): Seien e ∈ G die Eins und x ∈ G beliebig. Da G linkslösbar ist, gibt es eine (7) Linkslösung y ∈ G mit y l x = e. Dieses y ist linksinvers zu x. 9.8.04 p © Karlheinz Hug, Hochschule Reutlingen 6 - 10 6 Algebraische Strukturen Die Aussage (2) oder (3) eignet sich gut, um zu beweisen, dass ein Gruppoid eine Gruppe ist, weil dazu relativ wenig zu zeigen ist. Satz 6.23 Charakterisierung endlicher Gruppen Für ein endliche Halbgruppe G, l sind folgende Aussagen äquivalent: (1) (2) (3) G ist eine Gruppe. G ist nicht leer und kürzbar. G hat eine Eins und sonst keine idempotenten Elemente. Beweis. (1) (2): Satz 6.22. (2) (1): Nach Korollar 6.16 (3) ist G eindeutig lösbar, also nach Satz 6.22 eine Gruppe. (1) (3): Nach Satz 6.22 ist G kürzbar und hat nach Lemma 6.13 (d) nur die Eins als idempotentes Element. (3) (1): Der Beweis beruht auf Eigenschaften zyklischer Unterhalbgruppen, die hier nicht bereitstehen. Siehe beispielsweise [29]. p 6.1.4 Unterstrukturen und umfassende Strukturen Ähnlich wie bei Relationen schränken wir einerseits algebraische Strukturen auf Teilmengen der Grundmenge ein, andererseits erweitern wir die Grundmenge und setzen die Struktur darauf fort. Definition 6.24 Abgeschlossenheit Unterstruktur Sei G, l ein Gruppoid. Eine Teilmenge U ⊆ G heißt abgeschlossen bzgl. l, wenn gilt: ∀x, y ∈ U : x l y ∈ U. Für eine abgeschlossene Teilmenge U ⊆ G ist U, l|U2 ein Gruppoid; es heißt ein Untergruppoid von G. Wir schreiben dafür auch kurz U, l. Das System aller Untergruppoide von G ist U(G) := {U ⊆ G | U, l ist Untergruppoid von G}. Ist G eine Halbgruppe, so ist ein Untergruppoid U, l eine Halbgruppe; sie heißt eine Unterhalbgruppe von G. Das System aller Unterhalbgruppen von G ist H(G) := {U ⊆ G | U, l ist Unterhalbgruppe von G}. Ist G ein Monoid, so ist ein Untergruppoid U, l eine Unterhalbgruppe von G. Haben G und U dieselbe Eins, so heißt U, l ein Untermonoid von G. Das System aller Untermonoide von G ist M(G) := {U ⊆ G | U, l ist Untermonoid von G}. Ist G eine Gruppe, so ist ein Untergruppoid U, l eine Unterhalbgruppe von G. Ist l eine Gruppe, so heißt sie eine Untergruppe von G. Das System aller Untergruppen von G ist U, G(G) := {U ⊆ G | U, l ist Untergruppe von G}. Nicht jede Teilmenge eines Gruppoids ist ein Untergruppoid, weil die Operation aus der Teilmenge „herausführen“ kann. Ein Untergruppoid „erbt“ aber generell die Eigenschaften Assoziativität, Kommutativität und Kürzbarkeit von seiner Grundstruktur. Dagegen vererben sich Einsen und die Eigenschaften Lösbarkeit und Invertierbarkeit nicht generell. Deshalb sind Untermonoide spezielle Unterhalbgruppen von Monoiden und Untergruppen spezielle Unterhalbgruppen von Gruppen. Eine Unterhalbgruppe mit einer Eins ist nicht notwendig ein Untermonoid. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation 6 - 11 Sind G, e, l eine Gruppe und U eine Untergruppe mit der Eins eU, so gilt e = eU l eU−1 = (eU l eU) l eU−1 = eU l (eU l eU−1) = eU l e = eU. Somit hat U dieselbe Eins wie G. Wegen der Eindeutigkeit des Inversen hat x ∈ U auch dasselbe Inverse x−1 in U wie in G. Auf den Systemen der Unterstrukturen ist die Teilmengenrelation eine Halbordnung. Ist G ein Gruppoid oder eine Halbgruppe, so sind ∅ und G triviale Untergruppoide bzw. Unterhalbgruppen von G, und zwar ist ∅ die kleinste und G die größte der jeweiligen Unterstrukturen. ∅ kann kein Untermonoid sein, weil es keine Eins enthält. Ist G ein Monoid oder eine Gruppe mit der Eins e, so sind {e} und G triviale Untermonoide bzw. Untergruppen von G, und zwar ist {e} die kleinste und G die größte der jeweiligen Unterstrukturen. Beispiele Für Mengen M, N mit N ⊆ M ist P(N), N, ∩ kein Untermonoid von P(M), M, ∩ , weil es eine andere Eins hat. P(N), ∅, ∪ ist ein Untermonoid von P(M), ∅, ∪. lN 0 , 0, + ist ein Untermonoid von , 0, −, + , aber keine Untergruppe, weil es keine Gruppe ist. (1) ' (2) Erweiterung ' \ {0}, 1, ∗ (3) ist ein Untermonoid von gruppe, weil es keine Gruppe ist. (4) 3 \ {0}, 1, −1, ∗ , aber keine Unter- 3 \ {0}, 1, −1, ∗ ist eine Untergruppe von ! \ {0}, 1, −1, ∗ . ! \ {0}, 1, −1, ∗ ist eine Untergruppe von \ {0}, 1, −1, ∗ . (5) Jedes Gruppoid G, l lässt sich zu einem Gruppoid G1, 1, Man wählt 1 ∉ G, definiert l mit Eins 1 erweitern. G1 := G ∪ {1}, und setzt die Operation l durch 1 l x := x l 1 := x für x ∈ G1 auf G12 fort. Ist G, l eine Halbgruppe, so ist G1, 1, l ein Monoid, da (x l y) l z = x l (y l z), wenn x, y oder z gleich 1 ist. Hat G, l schon eine (Links-, Rechts-)Eins e ∈ G, so verliert e in G1, 1, l diese Eigenschaft, da 1 l e = e l 1 = e. 6.1.5 Mengenoperationen und Hüllen Ähnlich wie bei Relationen betrachten wir Durchschnitte, Vereinigungen und Hüllen von Strukturen. Satz 6.25 Durchschnittsstrukturen (1) (2) Ist G, l ein Gruppoid und V ⊆ U(G) ein System von Untergruppoiden, so ist ∩V ein Untergruppoid von G. Ist G, so ist l eine Halbgruppe und V ⊆ H(G) ein System von Unterhalbgruppen, ∩V eine Unterhalbgruppe von G. l ein Monoid und V ⊆ M(G) ein System von Untermonoiden, so ist (3) Ist G, (4) Ist G, l eine Gruppe und V ⊆ G(G) ein System von Untergruppen, so ist eine Untergruppe von G. ∩V ein Untermonoid von G. ∩V Satz 6.25 besagt, dass U(G), H(G), M(G) und G(G) durchschnittsstabile Systeme sind. Deshalb gibt es nach Korollar 4.96 S. 4-72 jeweils zu jeder Teilmenge M ⊆ G eine 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 6 - 12 6 Algebraische Strukturen umhüllende Struktur, d.h. eine kleinste Struktur, die M umfasst, nämlich den Durchschnitt aller M umfassenden Strukturen. Diese Struktur heißt üblicherweise von M erzeugt. Definition 6.26 Erzeugte Struktur Erzeugendensystem Sind G, l ein Gruppoid und M ⊆ G eine Teilmenge, so heißt hU(M) := ∩{U ∈ U(G) | M ⊆ U} das von M erzeugte Untergruppoid. Sind G, l eine Halbgruppe und M ⊆ G eine Teilmenge, so heißt hH(M) := ∩{U ∈ H(G) | M ⊆ U} die von M erzeugte Unterhalbgruppe. Sind G, l ein Monoid und M ⊆ G eine Teilmenge, so heißt hM(M) := ∩{U ∈ M(G) | M ⊆ U} das von M erzeugte Untermonoid. Sind G, l eine Gruppe und M ⊆ G eine Teilmenge, so heißt hG(M) := ∩{U ∈ G(G) | M ⊆ U} die von M erzeugte Untergruppe. M heißt jeweils ein Erzeugendensystem von hX(M) für X ∈ {U, H, M, G}. hX(M) heißt endlich erzeugt :⇔ |M| < ℵ0; zyklisch :⇔ |M| = 1. hU, hH, hM und hG, sind Hüllenoperatoren auf G im Sinne von Definition 4.97 S. 4-72. Die Vereinigung von Gruppoiden, Halbgruppen, Monoiden oder Gruppen hat i.A. nicht dieselbe Struktur. Deshalb bildet man die Hüllen von Vereinigungen. Definition 6.27 Verbindung Sind G, l ein Gruppoid, eine Halbgruppe, ein Monoid oder eine Gruppe und U, V ⊆ G Unterstrukturen, so heißt die von der Vereinigung von U und V entsprechend erzeugte Struktur, U ½ V := hX(U ∪ V) für X ∈ {U, H, M, G} die (Gruppoid-, Halbgruppen-, Monoid-, Gruppen-)Verbindung von U und V. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation 6.1.6 6 - 13 Homomorphismen Ähnlich wie bei relationalen Strukturen interessieren Abbildungen, die sich mit algebraischen Strukturen vertragen. Definition 6.28 Morphismen Isomorphie Sind G, scher) lG, H, lH Gruppoide, so heißt eine Abbildung f : G → H ein (algebrai- Homomorphismus (mit lG und lH verträglich, strukturerhaltend) :⇔ ∀x, y ∈ G : f(x lG y) = f(x) lH f(y); Isomorphismus :⇔ f ist ein bijektiver Homomorphismus; Automorphismus :⇔ f ist ein Isomorphismus und G, lG = H, lH. Je nach den algebraischen Strukturen von G, lG und H, Gruppoid-, Halbgruppen- oder Gruppenmorphismen. lH sprechen wir von Sind G, eG, lG und H, eH, lH Monoide und ist f : G, lG → H, lH ein Halbgruppenhomomorphismus mit f(eG) = eH, so heißt f Monoidhomomorphismus. Den Bezug eines Morphismus zu den Strukturen verdeutlicht die Notation f : G, lG → H, lH. Die Strukturen G, lG und H, lH heißen (algebraisch) isomorph, G, lG ≅ H, lH, wenn es einen Isomorphismus f : G, lG → H, lH gibt. Eine Abbildung f : G, lG → H, lH ist genau dann ein Homomorphismus, wenn das folgende Diagramm kommutiert. Bild 6.1 Homomorphiediagramm G2 f×f H2 lG lH G f H Es ist egal, ob man erst die Operanden in G verknüpft und dann das Ergebnis mit f abbildet oder erst beide Operanden mit f abbildet und dann ihre Bilder in H verknüpft. Während wir bei relationalen Isomorphismen fordern müssen, dass auch die Umkehrabbildung ein Homomorphismus ist, erhalten wir diese Eigenschaft bei algebraischen Isomorphismen gratis. Satz 6.29 Bijektive Homomorphismen Sind G, lG, H, lH Gruppoide und f : G, lG → H, lH ein bijektiver Homomor- phismus, so ist auch die Umkehrabbildung f−1 : H, Homomorphismus. l H → G, lG ein bijektiver Beweis. Da f surjektiv ist, gibt es zu x, y ∈ H die Urbilder v := f−1(x), w := f−1(y) ∈ G. Mit f(v) = f(f−1(x)) = (f ° f−1)(x) = x und f(w) = f(f−1(y)) = (f ° f−1)(y) = y gilt: f−1(x lH y) = f−1(f(v) lH f(w)) = f−1(f(v lG w)) = (f ° f−1)(v lG w) = v lG w = f−1(x) lG f−1(y). Beispiele 9.8.04 (1) Ist G, l eine Struktur, so ist die Identität idG ein Automorphismus. p © Karlheinz Hug, Hochschule Reutlingen 6 - 14 6 Algebraische Strukturen (2) Ist G, l ein Gruppoid (mit Eins), so ist G, l → P(G), l, x → {x} ein injektiver Homomorphismus. | Die Komposition von zwei Homo-, Iso- oder Automorphismen ist wieder ein Homo-, Iso- bzw. Automorphismus. Auf einem System gleichartiger Strukturen ist die Isomorphie eine Äquivalenzrelation. Satz 6.30 Injektion eines Untergruppoids Sind G, l ein Gruppoid und M ⊆ G eine Teilmenge, so ist M, l|M2 ein Untergruppoid von G genau dann, wenn M, l|M2 → G, l, x → x ein Homomorphismus ist. | F Beweis. Siehe beispielsweise [13]. 6.1.7 Komplexprodukt und Komplexinverse Aus Operationen mit Elementen entstehen Operationen mit Mengen. Definition 6.31 Komplexprodukt Sind G, l ein Gruppoid und M, N ⊆ G Teilmengen, so heißt die durch M l N := {x l y | x ∈ M, y ∈ N} ⊆ G definierte Teilmenge das Komplexprodukt von M und N. Ist keine Mehrdeutigkeit zu erwarten, so kürzen wir ab: MN := M l N. Für x, y ∈ G kürzen wir weiter ab: xN := {x}N, My := M{y}. Ist G, l ein Gruppoid, so ist auch P(G), l mit dem Komplexprodukt l ein Gruppoid. Die Assoziativität überträgt sich. Ist G, l eine Halbgruppe, so auch P(G), l. Hat G, l die (Links-, Rechts-)Eins e, so hat P(G), l die (Links-, Rechts-)Eins {e}. Beispiele (1) (2) Das Monoid lN, 1, ∗ umfasst die Menge der geraden natürlichen Zahlen, die wir als Komplexprodukt schreiben können: 2lN := 2 ∗ lN = {2 ∗ n | n ∈ lN}. Im Monoid , 0, 1, ∗ ist die Menge der Vielfachen von n ∈ lN das Komplexprodukt n := n ∗ = {n ∗ z | z ∈ }. n , 0, + ist eine Untergruppe von , 0, +. Nach 5.2.3 S. 5-5 ist n gleich der Menge der durch n teilbaren Zahlen, also der Nachbereich von n zur Teiltrelation |, d.h. n = n|. ' ' ' ' ' ' ' ' Definition 6.32 Komplexinverse Sind G, l eine Gruppe und M ⊆ G eine Teilmenge, so heißt die durch Ml−1 := {x−1 | x ∈ M} ⊆ G definierte Teilmenge das Komplexinverse von M. Ist keine Mehrdeutigkeit zu erwarten, so kürzen wir ab: M−1 := Ml−1. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation Satz 6.33 Rechenregeln für Komplexprodukt und Komplexinverse 6 - 15 Für ein Gruppoid G, l und Teilmengen L, M, M´, N, N´ ⊆ G gilt: (1) (2) (3) (4) (5) G ist Halbgruppe (L l M) l N = L l (M l N). ∅ l M = M l ∅ = ∅. G ist Monoid mit Eins e {e} l M = M l {e} = M. M l N ⊆ M´ l N. M ⊆ M´ N ⊆ N´ M l N ⊆ M l N´. (M ∪ M´) l N = (M l N) ∪ (M´ l N). M l (N ∪ N´) = (M l N) ∪ (M l N´). ∪ M k k ∈ K l ∪ N i = i ∈ I ∪ i ∈ I, k ∈ K Assoziativität Nullelement Einselement Monotonie Distributivität (Mk l Ni). Ist G, e, l eine Gruppe, so gilt zudem: (6) (M−1)−1 = M. (7) M⊆N (8) (M l N)−1 = N−1 l M−1. (9) Involution M−1 ⊆ N−1. Monotonie Inverses Element M l M−1 ⊇ {e}. (10) M l M−1 = {e} ⇔ |M| = 1. Vergleichen Sie diesen Satz mit Teilen von Satz 4.16 S. 4-13 sowie Satz 4.1 S. 4-3! Satz 6.34 Charakterisierung von Untergruppen Für eine Gruppe G, lent: (1) (2) (3) 6.1.8 l und eine Teilmenge U ⊆ G sind folgende Aussagen äquiva- l ist eine Untergruppe von G. ∀x, y ∈ U : x l y−1 ∈ U. U l U−1 ⊆ U. U, Potenzen Mehrfaches Verknüpfen - multiplikativ betrachtet - bedeutet Potenzieren. Definition 6.35 Potenz eines Elements Ist G, l ein Gruppoid, so ist für n ∈ lN die n-te Potenz eines Elements x ∈ G rekursiv definiert durch das n-fache Produkt von x mit sich: x1 := x, x2 := x l x, xn := xn−1 l x für n > 1. Hat G, l die Eins e ∈ G, so definieren wir: x0 := e. Ist G, l eine Gruppe, so definieren wir: x−n := (x−1)n für n ∈ lN. Nach Definition 6.35 wird beim Potenzieren von links nach rechts verknüpft. Bei nicht assoziativen Gruppoiden kann das Verknüpfen von rechts nach links zu anderen Resultaten führen. Wir verwenden Potenzen im Folgenden aber meist bei Halbgruppen. Wegen der Assoziativität spielt die Reihenfolge der Verknüpfung dann keine Rolle. 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 6 - 16 6 Algebraische Strukturen Für ein Gruppoid G, l und ein Element x ∈ G gilt: ⇔ x ist idempotent ∀n ∈ lN : xn = x. „⇐“ ist klar. „“ zeigen wir mit vollständiger Induktion: Offenbar gilt x2 = x1 = x. Aus xn = x folgt xn+1 = xn l x = x l x = x2 = x. Also gilt xn = x für alle n ∈ lN. Satz 6.36 Rechenregeln für Potenzen eines Elements Definition 6.37 Potenz einer Menge Für eine Halbgruppe, ein Monoid oder eine Gruppe G, m, n ∈ lN, lN0 bzw. gilt: ' (1) xm l xn = xm+n. (2) (xm)n = xm∗n. (3) Ist G kommutativ, so gilt: l, Elemente x, y ∈ G und (x l y)n = xn l yn. Ist G, l ein Gruppoid, so ist für n ∈ lN die n-te Potenz einer Teilmenge M ⊆ G rekursiv definiert durch das n-fache Komplexprodukt von M mit sich: Ml1 := M, Ml2 := M l M, Mln := Mln−1 l M M+ := ∪ M •n für n > 1, . n ∈ lN Hat G, l die Eins e ∈ G, so definieren wir: Ml0 := {e}, M∗ := Ml0 ∪ M+ = ∪ M •n . n ∈ lN0 Sind keine Verwechslungen zu erwarten (z.B. mit dem n-fachen kartesischen Produkt von M), so kürzen wir ab: Mn := Mln für n ∈ lN0. Die Bemerkung zu Definition 6.35 gilt analog: Beim Potenzieren wird von links nach rechts verknüpft. Während bei nicht assoziativen Gruppoiden das Verknüpfen von rechts nach links andere Resultate liefern kann, ist die Reihenfolge bei den meist betrachteten Halbgruppen belanglos. Korollar 6.38 Charakterisierung von Untergruppoiden Für ein Gruppoid G, l und eine Teilmenge U ⊆ G sind folgende Aussagen äquivalent: (1) U ist abgeschlossen bzgl. l, d.h. U, l ist ein Untergruppoid von G. (2) Ul2 ⊆ U. (3) ∀n ∈ lN : Uln ⊆ U. (4) U+ ⊆ U. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation Satz 6.39 Rechenregeln für Potenzen einer Menge Für eine Halbgruppe oder ein Monoid G, bzw. lN0 gilt: (1) Satz 6.40 Hüllen und Potenzen 6 - 17 l, Teilmengen M, N ⊆ G und m, n ∈ lN Mlm l Mln = M lm+n. (2) (Mlm)ln = Mlm∗n. (3) Ist G kommutativ, so gilt: (1) Für eine Halbgruppe G, l ist die von einer Teilmenge M ⊆ G erzeugte Unterhalbgruppe gleich der Vereinigung der Potenzen von M: (M l N)ln = Mln l Nln. hH(M) = M +. (2) Für ein Monoid G, l ist das von einer Teilmenge M ⊆ G erzeugte Untermonoid gleich der Vereinigung der Potenzen von M: hM(M) = M∗. (3) Für eine Gruppe G, l ist die von einer Teilmenge M ⊆ G erzeugte Untergruppe gleich der Vereinigung der Potenzen von M ∪ M−1: hG(M) = (M ∪ M−1)∗. Beispiele (1) (2) lN , + ist eine kommutative Halbgruppe. Wegen {1} + = {1} ∪ {1 + 1} ∪ {1 + 1 + 1} ∪ ... = {1, 2, 3,...} = lN ist lN, + zyklisch. Die geraden natürlichen Zahlen 2lN, + bilden eine Unterhalbgruppe von lN, +. Auch sie ist wegen {2} + = {2} ∪ {2 + 2} ∪ {2 + 2 + 2} ∪ ... = {2, 4, 6,...} = 2 lN zyklisch. Die Abbildung lN → 2 lN, n → 2 ∗ n ist bijektiv und wegen 2 ∗ (m + n) = 2 ∗ m + 2 ∗ n ein Isomorphismus. Also sind lN, + und 2lN, + isomorph. Beispiel (2) illustriert eine allgemeine Aussage: Jede unendliche zyklische Halbgruppe ist isomorph zu lN, +. Die ganzen Zahlen , + bilden wegen | (3) (4) ' hG({1}) = hG({−1}) = {1, −1}∗ = (5) ' eine unendliche zyklische Gruppe, die aus 1 oder −1 erzeugt wird. Die kommutative Gruppe n, +n der Restklassen modulo n ∈ lN ist wegen ' hG({[1]}) = {[1]}∗ = {[1]} ∪ {[1] +n [1]} ∪ {[1] +n [1] +n [1]} ∪ ... = {[0], [1],.., [n − 1]} = n ' eine endliche zyklische Gruppe, die aus [1] erzeugt wird. (6) 9.8.04 Zu jeder endlichen zyklischen Halbgruppe {x}+ gibt es m, n ∈ lN mit m < n, {x}+ = {x, x2, x3,.., xn−1}, |{x}+| = n − 1, x n = x m. Sie hat einen „einmaligen Anfang“ und ein „zyklisches Ende“. © Karlheinz Hug, Hochschule Reutlingen 6 - 18 Bild 6.2 Endliche zyklische Halbgruppe 6 Algebraische Strukturen x2 x xm xm+1 xn−1 6.1.9 Definition 6.41 Verträgliche Relation Kongruenz Geordnete Struktur xn−2 Verträgliche Relationen Ist G, l ein Gruppoid, so heißt eine Relation R ⊆ G2 mit der Operation l linksverträglich :⇔ rechtsverträglich :⇔ verträglich :⇔ ∀x, y, z ∈ G : x R y (z l x) R (z l y); ∀x, y, z ∈ G : x R y (x l z) R (y l z); R ist links- und rechtsverträglich mit l. Eine (Links-, Rechts-)Kongruenz ist eine (links-, rechts-)verträgliche Äquivalenzrelation; ihre Äquivalenzklassen heißen Kongruenzklassen. Ist G, ≤ eine halbgeordnete Menge und ≤ mit l verträglich, so heißt G, l, ≤ je nach der Struktur von G, l ein geordnetes Gruppoid, eine geordnete Halbgruppe, ein geordnetes Monoid oder eine geordnete Gruppe. Beispiele (1) (2) (3) (4) (5) (6) Satz 6.42 Verträglichkeit 6.1.10 Für eine Menge M sind P(M), M, ∩, ⊆ und P(M), ∅, ∪, ⊆ geordnete kommutative Monoide. lN 0 , 0, +, ≤ und lN , 1, ∗, ≤ sind geordnete kommutative Monoide. ' ' 3 ! , 0, −, +, ≤ , , 0, −, +, ≤ und , 0, −, +, ≤ sind geordnete kommutative Gruppen. \ {0}, 1, ∗, ≤ ist kein geordnetes kommutatives Monoid, weil das Multiplizieren mit negativen Zahlen Ungleichungen nicht erhält. 3 \ {0}, 1, −1, ∗, ≤ ! und \ {0}, 1, −1, ∗, ≤ sind deshalb auch keine geordneten kommutativen Gruppen. P(M2), idM, °, ⊆ ist nach Satz 4.16 (9) S. 4-13 ein geordnetes Monoid. Für ein Gruppoid G, l und eine reflexive, transitive Relation R ⊆ G2 gilt: R ist mit l verträglich ⇔ ∀v, w, x, y ∈ G : ((v R x ∧ w R y) (v l w) R (x l y)). Produktstrukturen Ähnlich wie bei Relationen definieren wir auf einem kartesischen Produkt eine komponentenweise Operation. Satz 6.43 Produktgruppoid Sind G, lG, H, lH Gruppoide, dann ist durch l : (G × H)2 → G × H, ((v, x), (w, y)) → (v, x) l (w, y) := (v lG w, x lH y) eine Operation l auf der Produktmenge G × H definiert. G × H, l heißt das direkte Produkt oder Produktgruppoid von G, lG und H, lH. | 6.1.11 Faktorstrukturen Das folgende Lemma überträgt den Satz 4.47 S. 4-35 auf Gruppoide. Es bereitet den Homomorphiesatz für Gruppoide vor, der dem Homomorphie-Satz 4.48 S. 4-36 für Relationen entspricht. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation 6 - 19 Sind G, lG, H, lH Gruppoide und f : G, so ist durch f induzierte Identifizierung, Lemma 6.44 Induzierte Kongruenz lG → H, lH ein Homomorphismus, ∼f := {(x, y) ∈ G2 | f(x) = f(y)}, eine Kongruenz auf G, die durch f induzierte Kongruenz. p Beweis. Siehe beispielsweise [13]. Satz 6.45 Faktorgruppoid Ist G, l ein Gruppoid und R ⊆ G2 eine Kongruenz, dann ist durch lR : (G / R)2 → G / R, ([x]R, [y]R) → [x]R lR [y]R := [x l y]R eine Operation lR auf der Faktormenge G / R definiert. G / R, lR heißt das durch R | induzierte Faktorgruppoid (algebraische Faktorstruktur). p Beweis. Siehe beispielsweise [13]. 6.1.12 Worthalbgruppen und -monoide 6.1.12.1 Zeichen Zeichen (character): zur Darstellung von Information vereinbartes Objekt. Zeichenkonstanten: a, b, c,... Zeichenvariablen: Alphabet x, y, z. Alphabet, Zeichensatz (Zeichenvorrat, character set): nicht leere, endliche Menge von Zeichen, A, B. Lateinisches Standardalphabet: A := {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}, |A| = 26. Binäralphabet: lB := {0, 1}, |lB| = 2. Als Binärzeichen können beliebige Zeichen verwendet werden: Beispiele {0, 1}, {O, L}, {nein, ja}, {falsch, wahr}. Ziffernalphabet: Ring1 der Restklassen von 'n := {0, 1,.., n − 1}, |'n| = n. ' modulo n ∈ lN , Wir arbeiten hier mit dem Repräsentantensystem statt mit {[0]≡n, [1]≡n,.., [n − 1] ≡n} von Satz 5.34 S. 5-8. Ordnungsstruktur Alphabete sind üblicherweise geordnet, ihre Zeichen sind nummeriert oder nummerierbar. Die Norm DIN 44300 für Begriffe der Informationsverarbeitung fordert von einem Alphabet zusätzlich, dass die Zeichen in vereinbarter Reihenfolge geordnet sind. Da ein Alphabet A endlich ist mit n := |A| ∈ lN, gibt es eine bijektive Abbildung 'n = {0, 1,.., n − 1} ↔ A = {x0,.., xn−1}, i ↔ xi, die die natürliche Ordnung auf 'n, 1 9.8.04 Definition folgt. © Karlheinz Hug, Hochschule Reutlingen 6 - 20 6 Algebraische Strukturen 0 < 1 < ... < n − 1, durch ∀i, j ∈ 'n : (xi < xj :⇔ i < j) auf A überträgt: x0 < x1 < ... < xn−1. In den Begriffen von Definition 4.37 S. 4-27 ist diese Vollordnung auf A sowohl Bild als auch Urbild der Vollordnung auf n. ' Algebraische Struktur ' Oft übertragen wir auch die modulare Arithmetik von n auf A und rechnen mit Zeichen x ∈ A wie mit Zahlen i ∈ n, d.h. für i, j ∈ n, xi, xj ∈ A ist ' ' i ⊕ j := i +n j = (i + j) mod n, xi + xj := xi⊕j, i xi ∗ xj := xi7j. 7 j := i ∗n j = (i ∗ j) mod n, Mit der Nachfolgeroperation succ(i) := i ⊕ 1 für i, j ∈ 'n, succ(xi) := xsucc(i) für xi ∈ A und ihrer Umkehrung, der Vorgängeroperation pred(i) := i ⊕ (−1) für i, j ∈ auf A. 'n, pred(xi) := xpred(i) für xi ∈ A 'n bzw. A erhalten wir eine endliche zyklische konnexe Präordnung auf 'n bzw. Modulare Arithmetik und Präordnung hängen durch die Rekursionsformeln i ⊕ 0 = i, xi + x0 = xi, i ⊕ j = succ(i) ⊕ pred(j), xi + xj = succ(xi) + pred(xj) zusammen. Da somit A und 6.1.12.2 '|A| isomorph sind, identifizieren wir sie oft. Wörter Man kann Zeichen aneinanderreihen, z.B. abc xyz 012 Dadurch erhält man Zeichenfolgen oder Zeichenketten (character string). Ein Wort (word) ist eine als Einheit betrachtete Zeichenfolge. Da die Zeichen der Folge zu einem bestimmten Alphabet gehören, spricht man von einem Wort über dem Alphabet. Wort über dem Alphabet A: Folge von Zeichen x1,.., xn aus A, w = x1...xn. Die Länge eines Worts ist die Anzahl der Zeichen des Worts. |w| = |x1...xn| := n. Beispiele Wort B Oberon 01100010 Länge 1 6 8 Ein Wort über einem Binäralphabet heißt Binärwort. Für n = 1, 2,... gibt es genau 2n unterscheidbare Binärwörter der Länge n. Ein Byte ist ein Binärwort der Länge 8 (8 Bit = 1 Byte). Es gibt also 256 verschiedene Werte eines Bytes. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.1 Strukturen mit einer zweistelligen Operation 6 - 21 Aus Wörtern über einem Alphabet kann man neue Alphabete bilden. Beispiele {falsch, wahr} das Alphabet der Wahrheitswerte; {rot, gelb, grün} das Alphabet der Verkehrsampelsignale; {sehr gut, gut, befriedigend, ausreichend} ein Alphabet von Noten. Wie Zeichen kann man Wörter aneinanderreihen - man erhält Wortfolgen, die man Text nennt. Verkettet man Wörter (über einem Alphabet) miteinander, erhält man wieder Wörter (über demselben Alphabet). Beispiel Verkettung → einzel stück einzelstück Gehört das (nichtdruckbare) Leerzeichen (Zwischenraum; blank, space) zu dem Alphabet, dann verschwindet formal der Unterschied zwischen den Begriffen Wort und Text. Ist A ein Alphabet (A ist hier der Name einer Menge von Zeichen), dann bezeichne W(A) die Menge aller Wörter über A. Die Verkettung oder Konkatenation (concatenation) ist eine Verknüpfung in W(A), d.h. eine Abbildung von W(A) × W(A) in W(A), die je zwei Wörtern x, y ∈ W(A) das verkettete Wort xy ∈ W(A) zuordnet. Eine Teilmenge S von Wörtern über einem Alphabet A heißt formale Sprache (formal language). Welche Wörter x ∈ W(A) zu einer Sprache S ⊆ W(A) gehören und welche nicht, wird meist durch bestimmte Regeln festgelegt. Es gibt dafür viele Möglichkeiten. Leeres Wort: λ mit |λ| := 0. Für n ∈ lN0 ist die Menge aller Wörter über A mit der Länge n das n-fache kartesische Produkt von A, An := A1 × An−1, A1 := A, A0 := {λ}. Die üblichen runden Klammern und Kommas lassen wir weg, schreiben also x1...xn ∈ An statt (x1,.., xn). An sich ist das kartesische Produkt nicht assoziativ, d.h. (x1, (x2, x3)) ≠ ((x1, x2), x3). Durch das Weglassen der Klammern und Kommas erscheint es aber so. Menge aller Wörter über A mit höchstens der Länge n ∈ lN0: n A(n) ∪ An . := i=0 Algebraische Struktur Worthalbgruppe über dem Alphabet A: Menge aller Wörter über A mit der Konkatenation als Operation l ohne Einselement, W(A) := ∪ n A . n ∈ lN Wortmonoid über dem Alphabet A: Menge aller Wörter über A mit Einselement λ, Wλ(A) := ∪ n A . n ∈ lN0 Die Konkatenation l ist für v = (y1,.., ym), w = (z1,.., zn) ∈ Wλ(A) definiert durch 9.8.04 © Karlheinz Hug, Hochschule Reutlingen 6 - 22 6 Algebraische Strukturen v l w = (y1,.., ym) l (z1,.., zn) := (y1,.., ym, z1,.., zn). Für u = (x1,.., xl), v = (y1,.., ym), w = (z1,.., zn) ∈ Wλ(A) gilt daher u l (v l w) = (x1,.., xl) l ((y1,.., ym) l (z1,.., zn)) = (x1,.., xl) l (y1,.., ym, z1,.., zn) = (x1,.., xl, y1,.., ym, z1,.., zn) = ((x1,.., xl) l (y1,.., ym)) l (z1,.., zn) = (u l v) l w, d.h. l ist assoziativ. Das Operationssymbol v, w ∈ Wλ(A) also vw statt v l w. l lassen wir weg, schreiben für W(A) ist eine unendliche, kürzbare Halbgruppe. Wλ(A) ist ein unendliches, kürzbares Monoid. Nach Satz 6.40 ist die von S ⊆ W(A) erzeugte Unterhalbgruppe in W(A) S+ := ∪ S ln . n ∈ lN Damit ist W(A) = A+. Nach Satz 6.40 ist das von S ⊆ W λ(A) erzeugte Untermonoid in Wλ(A) S∗ := ∪ S ln . n ∈ lN0 Damit ist Wλ(A) = A∗ = A+ ∪ {λ}. Aufgrund dieser Identitäten bezeichnen wir im Folgenden dort, wo keine Verwechslungen möglich sind, die Worthalbgruppe und das Wortmonoid über A mit A+ bzw. A∗. Beachte jedoch: A+ und A* können nur bezüglich einer assoziativen Operation auf W(A) bzw. Wλ(A) gebildet werden, die zuvor definiert sein muss. Für S ⊆ Wλ(A) brauchen i.A. W(S) und S+ bzw. Wλ (S) und S∗ nicht isomorph zu sein, da in W(S) die Operation die Konkatenation von Elementen von S ist, die als nicht weiter zerlegbar betrachtet werden, während in der Unterhalb- gruppe S+ die Operation die Konkatenation von Elementen aus A ist, also die Elemente von S+ in Produkte von Elementen aus A zerlegt werden können. Ordnungsstruktur Aus der Ordnung der Zeichen von A ergibt sich die alphabetische oder lexikografische Ordnung der Wörter von A∗. Formale Sprache: Menge von Wörtern, S ⊆ A∗ . Endliche Wortmengen sind auch Alphabete. Text: Folge von Zeichen oder Wörtern. Ob Text als Folge atomarer Zeichen oder als Folge zusammengesetzter Wörter zu betrachten ist, lässt sich formal differenzieren: l l Text t als Folge von Wörtern w ∈ S über A, die als solche erkennbar sind: t ∈ T ⊆ Wλ(S) mit S ⊆ A∗. Text t als Folge von Zeichen aus A, gebildet als Folge von Wörtern w ∈ S, aber Wörter w ∈ S in t nicht mehr als solche erkennbar: t ∈ T ⊆ S∗ mit S ⊆ A∗. Daten: maschinell verarbeiteter, gespeicherter, übertragener Text. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 6.2 Strukturen mit zwei zweistelligen Operationen 6 - 23 Binärdaten: Folge von Bits, Wort über lB. 6.2 Strukturen mit zwei zweistelligen Operationen 6.2.1 Ringe 6.2.2 Körper 6.2.3 Boolesche Algebren 6.2.4 Verbände 6.2.5 Boolesche Verbände 6.2.5.1 Boolesche Algebra der Logik 6.2.5.2 Mengenalgebra 6.2.5.3 Schaltalgebra 6.3 Vektorräume 6.4 Übungen Aufgabe 6.1 Gruppoide Wieviele nicht isomorphe (1) (2) (3) zweielementige, dreielementige vierelementige Gruppoide gibt es? Welche sind assoziativ, kommutativ, haben eine (Links-, Rechts-) Eins oder eine (Links-, Rechts-)Null, sind (links-, rechts-)kürzbar, (links-, rechts-)lösbar, (links-, rechts-)invertierbar? Aufgabe 6.2 Untermonoid und Unterhalbgruppe 9.8.04 Konstruieren Sie ein Beispiel eines Monoids, das eine Unterhalbgruppe mit Eins hat, das kein Untermonoid ist! © Karlheinz Hug, Hochschule Reutlingen 6 - 24 © Karlheinz Hug, Hochschule Reutlingen 6 Algebraische Strukturen 9.8.04 A ISO 8859-1 Zeichencode Latin1 Aufgabe 7 Tabelle A.1 Spaltenform Dez Hex Char Dez Hex Char Dez Hex 0 0 NUL 32 20 SPC 64 40 1 1 SOH 33 21 ! 65 2 2 STX 34 22 " 3 3 ETX 35 23 4 4 EOT 36 5 5 ENQ 6 6 7 Dez Hex @ 96 60 ` 41 A 97 61 a 66 42 B 98 62 b # 67 43 C 99 63 c 24 $ 68 44 D 100 64 d 37 25 % 69 45 E 101 65 e ACK 38 26 & 70 46 F 102 66 f 7 BEL 39 27 ' 71 47 G 103 67 g 8 8 BS 40 28 ( 72 48 H 104 68 h 9 9 HT 41 29 ) 73 49 I 105 69 i 10 A LF 42 2A * 74 4A J 106 6A j 11 B VT 43 2B + 75 4B K 107 6B k 12 C FF 44 2C , 76 4C L 108 6C l 13 D CR 45 2D - 77 4D M 109 6D m 14 E SO 46 2E . 78 4E N 110 6E n 15 F SI 47 2F / 79 4F O 111 6F o 16 10 DLE 48 30 0 80 50 P 112 70 p 17 11 DC1 49 31 1 81 51 Q 113 71 q 18 12 DC2 50 32 2 82 52 R 114 72 r 19 13 DC3 51 33 3 83 53 S 115 73 s 20 14 DC4 52 34 4 84 54 T 116 74 t 21 15 NAK 53 35 5 85 55 U 117 75 u 22 16 SYN 54 36 6 86 56 V 118 76 v 23 17 ETB 55 37 7 87 57 W 119 77 w 24 18 CAN 56 38 8 88 58 X 120 78 x 25 19 EM 57 39 9 89 59 Y 121 79 y 26 1A SUB 58 3A : 90 5A Z 122 7A z 27 1B ESC 59 3B ; 91 5B [ 123 7B { 28 1C FS 60 3C < 92 5C \ 124 7C | 29 1D GS 61 3D = 93 5D ] 125 7D } 30 1E RS 62 3E > 94 5E ^ 126 7E ~ 31 1F US 63 3F ? 95 5F _ 127 7F DEL © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Char Char Anhang A - Seite 1 von 4 A-2 A ISO 8859-1 Zeichencode Latin1 Dez Hex 128 Char Dez Hex Char Dez Hex Char Dez Hex 80 160 A0 NBSP 192 C0 À 224 E0 à 129 81 161 A1 ¡ 193 C1 Á 225 E1 á 130 82 162 A2 ¢ 194 C2  226 E2 â 131 83 163 A3 £ 195 C3 à 227 E3 ã 132 84 164 A4 ¤ 196 C4 Ä 228 E4 ä 133 85 165 A5 ¥ 197 C5 Å 229 E5 å 134 86 166 A6 ¦ 198 C6 Æ 230 E6 æ 135 87 167 A7 § 199 C7 Ç 231 E7 ç 136 88 168 A8 ¨ 200 C8 È 232 E8 è 137 89 169 A9 © 201 C9 É 233 E9 é 138 8A 170 AA ª 202 CA Ê 234 EA ê 139 8B 171 AB « 203 CB Ë 235 EB ë 140 8C 172 AC ¬ 204 CC Ì 236 EC ì 141 8D 173 AD SHY 205 CD Í 237 ED í 142 8E 174 AE ® 206 CE Î 238 EE î 143 8F 175 AF ¯ 207 CF Ï 239 EF ï 144 90 - 176 B0 ° 208 D0 Ð 240 F0 ð 145 91 - 177 B1 ± 209 D1 Ñ 241 F1 ñ 146 92 178 B2 ² 210 D2 Ò 242 F2 ò 147 93 179 B3 ³ 211 D3 Ó 243 F3 ó 148 94 180 B4 ´ 212 D4 Ô 244 F4 ô 149 95 181 B5 µ 213 D5 Õ 245 F5 õ 150 96 182 B6 ¶ 214 D6 Ö 246 F6 ö 151 97 183 B7 · 215 D7 × 247 F7 ÷ 152 98 184 B8 ¸ 216 D8 Ø 248 F8 ø 153 99 185 B9 ¹ 217 D9 Ù 249 F9 ù 154 9A 186 BA º 218 DA Ú 250 FA ú 155 9B 187 BB » 219 DB Û 251 FB û 156 9C 188 BC ¼ 220 DC Ü 252 FC ü 157 9D 189 BD ½ 221 DD Ý 253 FD ý 158 9E 190 BE ¾ 222 DE Þ 254 FE þ 159 9F 191 BF ¿ 223 DF ß 255 FF ÿ © Karlheinz Hug, Hochschule Reutlingen Char 9.8.04 ZeileSpalte -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F 0- NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1- DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2- SPC ! " # $ % & ' ( ) * + , - . / 3- 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 4- @ A B C D E F G H I J K L M N O 5- P Q R S T U V W X Y Z [ \ ] ^ _ 6- ` a b c d e f g h i j k l m n o 7- p q r s t u v w x y z { | } ~ DEL 9- - - A- NBSP ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ SHY ® ¯ B- ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ C- À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï D- Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß E- à á â ã ä å æ ç è é ê ë ì í î ï F- ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ A ISO 8859-1 Zeichencode Latin1 9.8.04 Tabelle A.2 Matrixform 8- A-3 © Karlheinz Hug, Hochschule Reutlingen A-4 © Karlheinz Hug, Hochschule Reutlingen A ISO 8859-1 Zeichencode Latin1 9.8.04 B Verlage Literaturverzeichnis BI BI Wissenschaftsverlag, Mannheim/Wien/Zürich dtv Deutscher Taschenbuch Verlag GmbH & Co. KG, München Hanser Carl Hanser Verlag, München/Wien Spektrum Spektrum Akademischer Verlag GmbH, Heidelberg/Berlin Springer Springer-Verlag, Berlin/Heidelberg/New York Teubner B. G. Teubner GmbH, Stuttgart/Leipzig/Wiesbaden Vandenhoeck & Ruprecht Vandenhoeck & Ruprecht, Göttingen Vieweg Bücher Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/ Wiesbaden [1] [2] Martin Aigner: Diskrete Mathematik. Vieweg (2001) 4. Auflage, 316 S. Albrecht Beutelspacher, Marc-Alexander Zschiegner: Diskrete Mathematik für Einsteiger. Mit Anwendungen in Technik und Informatik. Vieweg (2002) 216 S. [3] Heinz-Dieter Ebbinghaus, Jörg Flum, Wolfgang Thomas: Einführung in die mathematische Logik. BI Wissenschaftsverlag, Mannheim/Leipzig/Wien/Zürich (1992) 3. vollst. überarbeit. u. erweit. Auflage, 338 S. [4] Hartmut Ernst: Grundlagen und Konzepte der Informatik. Eine Einführung in die Informatik ausgehend von den fundamentalen Grundlagen. Vieweg (2000) 822 S. [5] Hartmut Ernst: Grundkurs Informatik. Grundlagen und Konzepte für die erfolgreiche IT-Praxis. Eine umfassende praxisorientierte Einführung. Vieweg (2003) 3. überarbeit. u. verbess. Auflage, 888 S. Führt in die Themen Information, Codierung, Schaltalgebra, Digitaltechnik, Rechnerarchitekturen, Betriebssysteme, Programmiersprachen, Softwareentwicklung, Automatentheorie, formale Sprachen, Algorithmen, Datenstrukturen, Kommunikations- und Informationstechnik ein. [6] Gerhard Goos: Vorlesungen über Informatik. Band 1: Grundlagen und funktionales Programmieren. Springer (1997) 2. Auflage, 394 S. Erster Teil eines vierbändigen Standardwerks universitärer Informatikausbildung. [7] Siegfried Gottwald, Hans-Joachim Ilgauds, Karl-Heinz Schlote (Hrsg.): Lexikon bedeutender Mathematiker. Verlag Harri Deutsch, Thun/Frankfurt (M.) (1990) 504 S. [8] Peter Hartmann: Mathematik für Informatiker. Ein praxisbezogenes Lehrbuch. Vieweg (2003) 2. durchgeseh. Auflage, 456 S. [9] Volker Heun: Grundlegende Algorithmen. Einführung in den Entwurf und die Analyse effizienter Algorithmen. Vieweg (2003) 2. verbess. u. erweit. Auflage, 370 S. [10] Christian Horn, Immo O. Kerner, Peter Forbig: Lehr- und Übungsbuch Informatik. Band 2: Theorie der Informatik. Fachbuchverlag Leipzig im Carl Hanser Verlag (2001) 2. bearbeit. Auflage, 309 S. © Karlheinz Hug, Hochschule Reutlingen, 9. August 2004 Anhang B - Seite 1 von 4 B-2 B Literaturverzeichnis [11] Karlheinz Hug: Module, Klassen, Verträge. Ein Lehrbuch zur komponentenorientierten Softwarekonstruktion. Vieweg (2001) 2. aktual. Auflage, 446 S. [12] Herbert Klaeren, Michael Sperber: Vom Problem zum Programm. Architektur und Bedeutung von Computerprogrammen. Teubner (2001) 3. neubearbeit. u. erweit. Auflage, 263 S. Theoretisch gut fundierte Einführung in funktionales Programmieren. [13] Ulrich Knauer: Diskrete Strukturen - kurz gefasst. Spektrum (2001) 231 S. Reizvolle kleine Einführung, die man erfrischend schnell durchliest. [14] Herbert Meschkowski: Mathematiker-Lexikon. Bibliographisches Institut Hochschultaschenbücher-Verlag, Mannheim/Zürich (1964) 309 S. [15] Herbert Meschkowski: Hundert Jahre Mengenlehre. dtv (1973) 161 S. [16] Werner Nehrlich: Diskrete Mathematik. Basiswissen für Informatiker. Eine Mathematica-gestützte Darstellung. Fachbuchverlag Leipzig bei Hanser (2003) 331 S. [17] Peter Rechenberg: Was ist Informatik? Eine allgemeinverständliche Einführung. Hanser (2000) 3. überarbeit. u. erweit. Auflage, 356 S. Eine nach den Teilgebieten technische, praktische, theoretische und angewandte Informatik gegliederte Umschau. [18] Peter Rechenberg, Gustav Pomberger (Hrsg.): Informatik-Handbuch. Hanser (2002) 3. aktual. u. erweit. Auflage, 1192 S. Empfehlenswertes Nachschlagewerk mit Beiträgen von 47 Experten zu Themen aus theoretischer, technischer, praktischer, angewandter und Wirtschaftsinformatik sowie zu Daten, Normen und Spezifikationen. [19] Fritz Reinhardt, Heinrich Soeder: dtv-Atlas zur Mathematik. Tafeln und Texte. Band I. Grundlagen, Algebra und Geometrie. dtv (1998) ?. Auflage, 272 S. [20] Jürgen Schmidt: Mengenlehre I. Grundbegriffe. Einführung in die axiomatische Mengenlehre. Bibliographisches Institut Hochschultaschenbücher-Verlag, Mannheim (1974) 2. verbess. Auflage, 245 S. [21] Uwe Schöning: Logik für Informatiker. BI (1989) 2. überarbeit. Auflage, 172 S. [22] Uwe Schöning: Theoretische Informatik - kurzgefaßt. Spektrum (1999) 3. Auflage, 196 S. [23] Alfred Tarski: Einführung in die mathematische Logik. Vandenhoeck & Ruprecht, Göttingen (1977) 5. erweit. Auflage, 285 S. [24] Gottfried Vossen, Kurt-Ulrich Witt: Grundlagen der Theoretischen Informatik mit Anwendungen. Eine Einführung für Studierende der Informatik, Wirtschaftsinformatik und Technischen Informatik. Vieweg (2002) 2. Auflage, 353 S. [25] J. Stanley Warford: Computer Systems. Jones and Bartlett Publishers, Sudbury, Massachusetts (2002) 2nd edition, 591 S. [26] J. Stanley Warford: Computing Fundamentals. The Theory and Practice of Software Design with BlackBox Component Builder. Vieweg (2002) 611 S. [27] Kurt-Ulrich Witt: Algebraische Grundlagen der Informatik. Zahlen - Strukturen - Codierung - Verschlüsselung. Vieweg (2001) 395 S. [28] Richard Johnsonbaugh: Discrete Mathematics. Macmillan Publishing Company, New York; Collier Macmillan Publishers, London (1984) 436 S. [29] Robert Zobel: Diskrete Strukturen. Eine angewandte Algebra für Informatiker. BI (1987) Reihe Informatik, Band 49, 194 S. © Karlheinz Hug, Hochschule Reutlingen 9.8.04 B-3 Artikel Elektronische Quellen Ergänzungen Bibliografie, weiterführende Literatur 9.8.04 [30] Georg Cantor: Beiträge zur Begründung der transfiniten Mengenlehre. Mathematische Annalen 46 (1895) u. 49 (1897) [31] Centre Charles Hermite, Nancy: IEEE standard 754 for binary floating-point arithmetic (16.2.1999) http://cch.loria.fr/documentation/IEEE754/index.html [32] Karlheinz Hug: Spezifikation durch Vertrag - eine Basistechnologie für eBusiness. Forum Wirtschaftsinformatik 2001 Reutlingen - eBusiness Technologies (22.5.2001) 34 S.; CD-ROM „Forum Wirtschaftsinformatik Reutlingen 2001“; http://www-wi.fh-reutlingen.de/forumwi; http://userserv.fhreutlingen.de/~hug [33] Karlheinz Hug: Herunterladbares Lehrmaterial, BlackBox-Subsysteme des Fachbereichs Informatik; http://userserv.fh-reutlingen.de/~hug [34] William Kahan: Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic (31.5.1996) 30 S.; http://cch.loria.fr/documentation/ IEEE754/wkahan/ieee754.ps [35] Benno Artmann: Einführung in die neuere Algebra. Unter ständiger Berücksichtigung der ganzen und rationalen Zahlen. Vandenhoeck & Ruprecht (1973) 226 S. [36] Peter Deussen: Halbgruppen und Automaten. Springer (1971) 198 S. [37] Otto Körner: Algebra. Studienbuch für Studierende der Mathematik und Physik ab 2. Semester. AULA-Verlag, Wiesbaden (1990) 2., korrigierte Auflage, 239 S. [38] Georg Johann Rieger: Zahlentheorie. Vandenhoeck & Ruprecht (1976) 220 S. [39] Peter Bachmann: Mathematische Grundlagen der Informatik. Akademie Verlag GmbH, Berlin (1992) 294 S. Mengen, Algorithmen, formale Sprachen, Automaten, Logik, universelle Algebra. [40] Klaus Denecke: Algebra und Diskrete Mathematik für Informatiker. B. G. Teubner GmbH, Stuttgart/Leipzig/Wiesbaden; GWV Fachverlage GmbH Wiesbaden (2003) 297 S. Grundbegriffe, Kombinatorik, algebraische Strukturen, Graphen, lineare und universelle Algebra, Terme, Bäume, Identitäten, Varietäten, Anwendungen. [41] Hans-Jörg Kreowski: Logische Grundlagen der Informatik. R. Oldenbourg Verlag, München/Wien (1991) 165 S. Logik, Signaturen, Strukturen, Terme, Formeln, Spezifikationen, Modelle, Folgern, Ableiten. [42] Christoph Meinel, Martin Mundhenk: Mathematische Grundlagen der Informatik. Mathematisches Denken und Beweisen. Eine Einführung. Teubner (2002) 300 S. Aussagenlogik, Mengen, Beweise, Relationen, Abbildungen, vollständige Induktion, Zählen, Stochastik, boolesche Algebra, Graphen, Bäume. [43] Ingo Wegener: Kompendium Theoretische Informatik. Eine Ideensammlung. B. G. Teubner, Stuttgart (1996) 189 S. Rechner, churchsche These, Entscheidbarkeit, NP-Vollständigkeit, endliche Automaten, Grammatiken, kontextfreie Sprachen, Kellerautomaten. [44] Ingo Wegener: Theoretische Informatik - eine algorithmenorientierte Einführung. B. G. Teubner, Stuttgart/Leipzig (1999) 2. Auflage, 238 S. Turingmaschinen, churchsche These, Entscheidbarkeit, NP-Vollständigkeit, endliche Automaten, Grammatiken, kontextfreie Sprachen, Kellerautomaten. © Karlheinz Hug, Hochschule Reutlingen B-4 © Karlheinz Hug, Hochschule Reutlingen B Literaturverzeichnis 9.8.04