Mathematische Grundlagenf¨ ur die Informatik Kurt-Ulrich Witt Hochschule Bonn-Rhein-Sieg Fachbereich Informatik b-it Applied Science Institute Grantham-Allee 20 53757 Sankt Augustin
[email protected] Hochschule Bonn-Rhein-Sieg Fachbereich Informatik b-it Applied Science Institute c _ Kurt-Ulrich Witt Dieses Skript ist urheberrechtlich gesch¨ utzt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne schriftliche Zustimmung des Autors nicht erlaubt. Dies gilt insbesondere f¨ ur die Vervielf¨altigung, ¨ Ubersetzung oder die Verwendung in elektronischen Systemen. Alle Darstellungen wurden mit gr¨oßter Sorgfalt vorgenommen. Der Autor kann jedoch nicht f¨ ur Sch¨aden haftbar gemacht werden, die in Zusammenhang mit der Verwendung des Skriptes stehen. K.-U.W. Sankt Augustin, 27. November 2011 Inhaltsverzeichnis Vorwort ix Kleiner Griechisch-Kurs f¨ ur Informatikerinnen und Informatiker xiii I Mengen und Logik 1 1 Definition und Darstellung von Mengen 5 1.1 Ein Mengenbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Darstellung von Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Bezeichner f¨ ur Zahlenmengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Russellsche Antinomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2 Aussagenlogik 13 2.1 Alphabet der Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Syntax aussagenlogischer Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Semantik aussagenlogischer Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Interpretation aussagenlogischer Formeln . . . . . . . . . . . . . . . . . . . . 16 2.3.2 Wahrheitstafeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.3 Aussagenlogische Operationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.4 Erf¨ ullbarkeit aussagenlogischer Formeln . . . . . . . . . . . . . . . . . . . . . 20 2.4 Logische Folgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 Kalk¨ ule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.6 Aussagenlogische ¨ Aquivalenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.7 Normalformen und aussagenlogische Basen . . . . . . . . . . . . . . . . . . . . . . . 28 2.8 Resolutionskalk¨ ul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.9 Hornlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3 Pr¨adikatenlogik 45 3.1 Alphabet der Pr¨adikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 Syntax pr¨adikatenlogischer Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.3 Semantik der Pr¨adikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 i ii INHALTSVERZEICHNIS 4 Beweismethoden 53 4.1 Direkter Beweis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2 Indirekter Beweis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.3 Beweis durch Widerspruch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4 Ringschluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5 Operationen auf Mengen 59 5.1 Teilmengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2 Potenzmengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.3 Verkn¨ upfung von Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.4 Elementare Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6 Boolesche Algebra 67 6.1 Definitionen und grundlegende Eigenschaften . . . . . . . . . . . . . . . . . . . . . . 67 6.2 Isomorphie Boolescher Algebren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7 Zusammenfassung und ¨ Ubungen 73 7.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.2 ¨ Ubungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 II Relationen und Funktionen 79 8 Relationen 83 8.1 Kartesisches Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.2 Relation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.3 Ordnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8.4 ¨ Aquivalenzrelationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.5 Umkehrrelationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.6 Komposition von Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.7 Reflexiv-transitive H¨ ullen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9 Funktionen 95 9.1 Begriff der Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.2 Eigenschaften von Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.3 Pr¨adikate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10 Zusammenfassung und ¨ Ubungen 99 10.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 10.2 ¨ Ubungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 III Induktion und Rekursion 103 11 Die Menge der nat¨ urlichen Zahlen 107 11.1 Einf¨ uhrung der Menge der nat¨ urlichen Zahlen . . . . . . . . . . . . . . . . . . . . . . 107 11.2 Rechenregeln in N 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 INHALTSVERZEICHNIS iii 11.3 Der Begriff der Abz¨ahlbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 11.4 Aufz¨ahlbare und entscheidbare Mengen . . . . . . . . . . . . . . . . . . . . . . . . . 114 12 Vollst¨andige Induktion 115 13 Rekursion 119 13.1 Rekursive Definition arithmetischer Funktionen . . . . . . . . . . . . . . . . . . . . . 119 13.2 Fibonacci-Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 13.3 Ackermannfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 13.4 Verallgemeinertes Rekursionsschema . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 13.5 Alphabete, W¨orter, Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 14 Berechenbare Funktionen 133 14.1 Primitiv-rekursive Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 14.2 µ-Rekursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 14.3 Berechenbarkeit, Churchsche These . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 14.4 utm- und smn-Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 14.5 Aufz¨ahlbare und entscheidbare Mengen . . . . . . . . . . . . . . . . . . . . . . . . . 148 15 Zusammenfassung und ¨ Ubungen 149 15.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 15.2 ¨ Ubungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 IV Zahlenmengen 155 16 Die Menge der ganzen Zahlen 159 16.1 Konstruktion der ganzen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 16.2 Rechenregeln in Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 16.3 Abz¨ahlbarkeit von Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 17 Die Menge der rationalen Zahlen 165 17.1 Konstruktion der rationalen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 17.2 Rechenregeln in Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 17.3 Abz¨ahlbarkeit von Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 18 Reelle und komplexe Zahlen 171 18.1 ¨ Uberabz¨ahlbarkeit von R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 18.2 Komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 19 Zusammenfassung und ¨ Ubungen 179 19.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 19.2 ¨ Ubungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Literaturhinweise 183 Index 184 iv INHALTSVERZEICHNIS Abbildungsverzeichnis 2.1 Entscheidungsverfahren f¨ ur die Erf¨ ullbarkeit von Hornformeln. . . . . . . . . . . . . 40 14.1 Primitive Rekursion als Z¨ahlschleife. . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 14.2 µ-Rekursion als Wiederholungsschleife. . . . . . . . . . . . . . . . . . . . . . . . . . . 139 14.3 Berechnung der Funktion sub durch µ-Rekursion. . . . . . . . . . . . . . . . . . . . . 140 14.4 Berechnung der Funktion √ durch µ-Rekursion. . . . . . . . . . . . . . . . . . . . . . 141 14.5 Berechnung der Logarithmus-Funktion durch µ-Rekursion. . . . . . . . . . . . . . . . 141 v vi ABBILDUNGSVERZEICHNIS Tabellenverzeichnis 1 Griechisches Alphabet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii 2.1 Aussagenlogische ¨ Aquivalenzen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 14.1 Definition der Bijektion ρ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 vii viii TABELLENVERZEICHNIS Vorwort Liebe Studierende, herzlich willkommen zum Modul Mathematische Grundlagen f¨ ur die Informatik! Bevor der eigentliche Studientext dieses Moduls beginnt, m¨ochte ich zun¨achst ein paar Worte zur Bedeutung mathematischer Grundlagen f¨ ur die Informatik verlieren, und ich m¨ochte Sie dadurch f¨ ur die intensive Besch¨aftigung mit den Inhalten dieses Moduls motivieren. Warum beeintr¨achtigen Kratzer auf einer DVD nicht deren Wiedergabequalit¨at? Wie k¨onnen Speicherung und ¨ Ubertragung von Daten fehlertolerant gestaltet werden? Wie funktionieren ¨offent- liche Verschl¨ usselungsverfahren? Wie hoch ist deren Sicherheit und worin ist diese begr¨ undet? Wie k¨onnen Daten optimal komprimiert werden? Wie k¨onnen Transport- und Zuordnungsprobleme op- timal gel¨ost werden? Wie k¨onnen durch Zuf¨alligkeiten bestimmte Bediensysteme beschrieben, ana- lysiert und m¨oglichst effizient gestaltet werden? Diese und viele andere Problemstellungen m¨ ussen zufriedenstellend beantwortet werden k¨onnen, um Informations- und Kommunikationstechnologien qualit¨atsgerecht zu gestalten. Informatikerin- nen und Informatiker m¨ ussen in der Lage sein, diese Technologien erfolgreich einzusetzen und wei- terzuentwickeln. Dazu ist die Kenntnis und das Verst¨andnis von Grundlagen erforderlich, auf denen diese Technologien basieren. Viele wesentliche Grundlagen liefert die Mathematik. Die Mathematik-Kurse geben Einf¨ uhrun- gen in wichtige mathematische Grundlagen der Informatik, die f¨ ur die L¨osung obiger und weiterer Problemstellungen von Bedeutung sind. Dabei sind diese Grundlagen weitestgehend unabh¨angig von konkreten Technologien. Das heißt, dass deren Kenntnis auch eine gute Grundlage f¨ ur das Verst¨andnis zuk¨ unftiger technologischer Entwicklungen darstellt, die bei Informations- und Kom- munikationssystemen, wie wir es allt¨aglich erleben, schnell voranschreiten. Neben der Vermittlung mathematischer Grundlagen verfolgen die Mathematik-Kurse aber noch ein weiteres Ziel: Die Auseinandersetzung mit den Inhalten dieser Kurse st¨arkt Ihre Probleml¨ose- kompetenz. Sie schult Ihre F¨ahigkeiten, abstrakt und logisch zu denken, sich klar und pr¨azise auszudr¨ ucken, neue Probleme anzugehen und gewissenhaft zu l¨osen und zu wissen, wenn Sie ein Problem noch nicht vollst¨andig gel¨ost haben. Auch diese F¨ahigkeiten sind unabh¨angig von aktuellen Technologien und stellen ein zeitinvariantes R¨ ustzeug f¨ ur Ihren weiteren Werdegang dar. Ich weiß sehr wohl, dass viele von Ihnen – aus welchen Gr¨ unden auch immer – eine Scheu, ja vielleicht sogar Angst oder gar ” einen Horror“ vor Mathematik haben, und froh sind, nach der Schule nichts mehr mit diesem Fach zu tun gehabt zu haben. Ich will und kann diese Vorbehalte an dieser Stelle nicht zerstreuen, sondern ich will Sie einfach ermutigen und Ihnen sagen: Machen Sie sich frei von bedr¨ uckenden Gedanken, packen Sie den Stoff an, indem Sie ihn Schritt f¨ ur Schritt ix x Vorwort gewissenhaft und reflektierend erarbeiten. Leider m¨ ussen oft, um interessante Einsichten zu gewin- nen, m¨ uhsam kleinere Details erarbeitet werden. Die Bew¨altigung des Stoffes verlangt Disziplin und große Anstrengungen von Ihnen. Geben Sie niemals auf! Versuchen Sie immer wieder, den Stoff zu verstehen, die ¨ Ubungsaufgaben zu bew¨altigen, Zusammenh¨ange zu erkennen. Dadurch wird es Ihnen mit Fortschreiten des Stoffes immer leichter fallen, sich diesen zu erarbeiten. Zum Verstehen und zum L¨osen notwendige Ideen werden Ihnen schneller einfallen. Durch die unabl¨assige Besch¨aftigung mit dem Stoff werden Sie kreativ werden. Kreativit¨at ist eine der wichtigsten Eigenschaften, die Informatikerinnen und Informatiker besitzen m¨ ussen – wie wollen Sie sonst zu Ideen f¨ ur die L¨osung von Problemen kommen. Je mehr Sie dieses an schwierigen, abstrakten Inhalten tun, umso besser werden Sie dabei. Ich verspreche Ihnen: Wenn Sie die Mathematik-Kurse erfolgreich absolviert ha- ben, werden Sie sich sehr gut f¨ uhlen, weil Sie eine schwierige Aufgabe, die viel Arbeit, Konzentration und Geduld erfordert, bew¨altigt haben, und Sie werden sehr stolz auf sich sein. Das Studium der Mathematik-Kurse setzt die Kenntnis grundlegender Begriffe der Logik und deren Eigenschaften sowie elementarer mathematischer Begriffe wie Menge, Relation und Funktion, Induktion und Rekursion voraus, und zwar in einem Umfang und einer Tiefe, wie diese Begriffe in diesem Modul vorgestellt werden. Mit dieser Vorkenntnis sind Sie in der Lage, die in den weiteren Mathematik-Modulen verwendeten mathematischen Notationen zu verstehen und anzuwenden, und Sie werden auf das dort praktizierte mathematische Denken und Arbeiten vorbereitet. Die Mathematik-Module umfassen neben den Mathematischen Grundlagen f¨ ur die Informatik die Module • Analysis und Numerik im 2. Semester • Stochastik und Statistik im 3. Semester • Graphentheorie im 3. Semester • Algebraische Grundlagen f¨ ur die Informatik im 5. Semester Gleichermaßen liefert dieses Modul Grundlagen f¨ ur das Modul Theoretische Informatik im 1. Se- mester. Zum Schluss m¨ochte ich Ihnen noch ein paar Hinweise zum Studium selbst geben: • Der Stoff ist in Kapitel und diese sind in Abschnitte eingeteilt. Diese sind durchaus von unter- schiedlichem Umfang und unterschiedlicher Schwierigkeit. Ein Kapitel stellt in der Regel einen Aspekt in sich geschlossen dar. Ich empfehle Ihnen, ein Kapitel ” abschnittsweise“ durchzuar- beiten, d.h. sich jeweils einen Abschnitt vorzunehmen und komplett durchzuarbeiten. Fassen Sie, nachdem Sie einen Abschnitt durchgearbeitet haben, diesen zusammen: Schreiben Sie auf, was Sie gelernt haben. Verfahren Sie mit Kapiteln genauso. • Arbeiten Sie mit Bleistift und Papier: Markieren Sie sich wichtige Begriffe und vollziehen Sie Definitionen, S¨atze und Beweise sowie insbesondere Beispiele selbstst¨andig nach und zwar nicht nur im Kopf, sondern auch auf dem Papier. • Arbeiten Sie in Gruppen: Stellen Sie sich gegenseitig Fragen, erkl¨aren Sie sich gegenseitig – auch dies mit Bleistift und Papier – die Inhalte. Was Sie erkl¨aren k¨onnen, das verstehen Sie auch! Vorwort xi • Versuchen Sie (gemeinsam) die ¨ Ubungsaufgaben zu l¨osen. Geben Sie nicht zu fr¨ uh auf, und schauen Sie nicht zu fr¨ uh in die L¨osungen. Falls Sie eine Aufgabe nicht l¨osen k¨onnen, ¨ uberlegen Sie, warum Sie das nicht k¨onnen, und wiederholen Sie den entsprechenden Stoff. • Im Text sind zu wesentlichen Themen jeweils Lernziele angegeben, die Sie durch das Studium der Abschnitte und Kapitel erreicht haben sollten. Falls das nicht der Fall ist, wiederholen Sie den entsprechenden Stoff. • Scheuen Sie sich nicht: Nehmen Sie die angebotenen Hilfen (Beratung, Tutorien) in Anspruch. Hier¨ uber werden Sie gesondert informiert. • Nehmen Sie weitere Literatur zur Hand. In den Kursen gibt es jeweils einschl¨agige bibliogra- phische Hinweise. Andere Arten der Darstellung sowie weitere Beispiele und Aufgaben helfen beim Verst¨andnis des Stoffes. Nun w¨ unsche ich Ihnen viel Erfolg beim Studium dieses Moduls, und ich hoffe, dass Sie trotz aller M¨ uhen und Schwierigkeiten bei Ihren Fortschritten auch ein wenig Freude empfinden, Freude ¨ uber Ihren Erkenntnisgewinn, Freude ¨ uber den Zuwachs Ihrer Kompetenz, Freude dar¨ uber, dass Sie einen schwierigen Stoff bew¨altigen. xii Vorwort Kleiner Griechisch-Kurs f ¨ ur Informatikerinnen und Informatiker In der Informatik, insbesondere in der Theoretischen Informatik, sowie in der Mathematik m¨ ussen vielen Dingen, wie z.B. Variablen, Mengen, Relationen, Funktionen, Vektoren, Matrizen, Gruppen, Ringen, K¨orpern, . . . Namen gegeben werden, damit man dar¨ uber reden und schreiben kann. Da es ziemlich ungeeignet ist, daf¨ ur menschliche Namen oder Tiernamen zu vergeben, wie z.B. Angela, Christian, Heike oder Kurt bzw. Hasso, Fenja, Bello oder Lassie nimmt man in aller Regel einzelne Buchstaben daf¨ ur. Da aber f¨ ur die vielen, vielen Dinge, die zu bezeichnen sind, die 26 Buchstaben, bzw. bei Verwendung von kleinen und großen Buchstaben, die 52 Buchstaben des deutschen Al- phabetes nicht ausreichen, werden Buchstaben des alten deutschen Alphabetes (S¨ utterlin), ja sogar hebr¨aische Buchstaben, insbesondere aber griechische Buchstaben verwendet. Man sagt: Mathematiker sind Menschen, die zehn Alphabete beherrschen, aber keine Sprache. Da ich in meinen Lehrveranstaltungen außer deutschen Buchstaben haupts¨achlich noch griechische verwende, liste ich die kleinen und großen griechischen Buchstaben mit ihren Namen und ihren Symbolen zum Kennenlernen in der Tabelle 1 auf. Goethe soll gesagt haben: Die Mathematiker sind eine Art Franzosen: redet man mit ihnen, so ¨ ubersetzen sie es in ihre Sprache, und dann ist es alsobald ganz etwas anderes. alpha α A iota ι I rho ρ, P beta β B kappa κ I sigma σ, ς Σ gamma γ Γ lambda λ Λ tau τ T delta δ ∆ m¨ u µ M ypsilon υ Y epsilon ε, E n¨ u ν N phi ϕ, φ Φ zeta ζ Z xi ξ Ξ chi χ X eta η H omikron o O psi ψ Ψ theta ϑ, θ Θ pi π, Π omega ω Ω Tabelle 1: Griechisches Alphabet. xiii xiv Griechisch-Kurs Um zu pr¨ ufen, ob das zutrifft, und als kleine ¨ Ubung zum Einpr¨agen der Symbole und deren Namen finden Sie im Folgenden einen Brief, den eine Studienanf¨angerin nach dem Besuch der ersten Vorlesungen an ihren Freund geschrieben hat. Lieber ϕlipp, gestern habe ich schon telefonisch oologisch geschildert, was iχn den ersten beiden Wochen bei meinem Mathe-Prof erlebt habe. Heute m¨ocht ich nun Dir ein paar Worte schreiben. Der Prof ist schon ein bisschen ¨alter, aber noch nicht βgt, kaum seξ. Als Erstes fragte er uns, ob wir in der Schule Grieχsch gelernt h¨atten. Alle waren verwundert ¨ uber die Frage, und nur einer hat sich gemeldet. Daraufhin hat er gesagt: ” Immer dasselbe. Wenn Sie Grieχsch gelernt h¨atten, dann k¨onnte ich jetzt gleich richtig loslegen und µsste Ihnen nicht erst die grieχschen Buchstaben erkl¨aren, die brauchen wir n¨amlich.“ Er erkl¨arte dann, dass man in der Mathematik mit τsenden von Begriffen rummacht und nur ein Idιllen einen richtigen Namen geben w¨ urde wie z.B. Mη oder πtter oder Stuψ. Sondern φl νtzlicher w¨are es, Buchstaben zu benutzen. Da es aber so φle Begriffe gibt, dass die Buchstaben des deutschen αbetes nicht ausreichen, µsse man andere Sprachen zur Hilfe nehmen. Besonders emσche man von den grieχschen Buchstaben Gebrauch. N¨achste Woche haben wir kein Mathe, da ist der Prof auf einer Maθgung im hohen Norden und anschließend auf einer Nordκrty. Wir sollen die Zeit nutzen und uns die grieχschen Buchstaben einpr¨agen, hat er uns nachdr¨ ucklich mit eρbenem Zeigefinger aufgegeben. Da habe ich gedacht, schreib’ ϕlipp einen Brief und verwende dabei gleich deine Kenntnisse. Ob es Tωl ist, wenn wir am Samstag etwas sp¨ater zu seiner Limωparty kommen? Ich muss ja lernen. Ich w¨ urde ja lieber Pεgdrinks mit Mηxa trinken als den ganzen Abend Limo. Naja, so brauchen wir wenigstens kein Taξ. Seine Nuδschen sind ja immer meγechtig. Atζdelt ihn deswegen ja auch immer. Ob auch Saλ ist, der studiert doch auch Mathe, den µsste ich mal etwas fragen. Hoffentlich kommt µriam nicht, diese Bιnte kann einen ganz d¨oσchen mit ihrer gr¨ unen ϕlosoφ. ¨ Ubrigens, alle meine Radιsten sind kapput, werde sie ausτschen µssen. Hast Du eigentlich den Tυoch gefunden, den Du letzten Samstag vergeblich im Web gesucht hast? Was willst Du eigentlich mit einem Silo? Naja, kannst es mir ja am Samstag erz¨ahlen. Bis dann, liebe Gr¨ uße Deine πψ Teil I Mengen und Logik 1 3 Ausgangspunkt unserer ersten ¨ Uberlegungen soll der Begriff Menge sein. Bei welchen Gelegen- heiten verwenden Sie diesen Begriff? Denken Sie einen Moment nach, bilden Sie zwei, drei S¨atze mit diesem Begriff! Mir fallen spontan S¨atze ein, wie ” Letztes Wochenende, auf dem Altstadtfest, da war eine Menge los, und wir haben eine Menge Bier getrunken.“, ” Von Popmusik versteht sie eine Menge.“, ” Bis Du mit Deiner Ausbildung fertig bist, wird noch eine Menge Wasser den Rhein runterlaufen.“, ” Eine große Menschenmenge versammelte sich auf dem Marienplatz und wartete auf die Ankunft des neuen Deutschen Meisters.“ In welchem Sinn wird in diesen S¨atzen der Begriff ” Menge“ verwendet? Doch eher um auszu- dr¨ ucken, dass man nicht genau weiß, wie groß etwas ist oder wie viel von irgendetwas vorhanden ist. Genaueres kann oder will man nicht angeben; jedenfalls m¨ochte man mitteilen, dass es sich um viel oder Großes handelt. In der Mathematik und in der Informatik wird der Begriff Menge im Gegensatz zum umgangs- sprachlichen Gebrauch in einem pr¨azisem Sinn benutzt. Er dient dazu, Objekte zu einer neuen Ein- heit zusammenzufassen, so dass diese Einheit als Ganzes betrachtet und weiterverwendet werden kann. Typische Beispiele in der Informatik sind Dateien und Datenbanken. Eine Kundendatenbank enth¨alt etwa die f¨ ur ein Unternehmen wichtigen Daten ihrer Kunden. Anfragen und Auswertun- gen einer Datenbank liefern als Ergebnis wieder Mengen. Um festzustellen, welche Kunden ihre Rechnungen bis zum Ende des letzten Quartals noch nicht bezahlt haben, m¨ ussen m¨oglicherweise die Kundendatei mit der Bestelldatei und der Rechnungsdatei geeignet verkn¨ upft werden, um die f¨ ur das Versenden von Mahnungen notwendige Menge von Daten zu finden. Die Eigenschaften der Ergebnismenge m¨ ussen in einer formalen Sprache pr¨azise beschrieben werden, damit das Daten- banksystem die gew¨ unschte Ergebnismenge bestimmen kann. Solche Sprachen benutzen in aller Regel logische Ausdr¨ ucke. So werden wir zun¨achst den Begriff der Menge pr¨azisieren und kennen lernen, wie Mengen fest- gelegt werden k¨onnen. F¨ ur formale Beschreibungen von Mengen eignen sich logische Ausdr¨ ucke. Deshalb werden wir uns mit der Aussagenlogik und mit der Pr¨adikatenlogik besch¨aftigen. Dabei werden wir sehen, wie formale Sprachen festgelegt werden k¨onnen. Formale Sprachen sind ein we- sentliches Werkzeug in der Informatik. Informatikerinnen und Informatiker m¨ ussen diese Werkzeuge nicht nur geeignet anwenden k¨onnen, sondern Sie m¨ ussen auch in der Lage sein, formale Sprachen selbst zu schaffen, und zwar so, dass Problemstellungen und L¨osungsverfahren damit so beschrieben werden k¨onnen, dass Sie mithilfe von Rechnersystemen gel¨ost bzw. ausgef¨ uhrt werden k¨onnen. Wir werden anhand der Aussagenlogik an einem einfachen Beispiel sehen, wie die Konstruktion einer formalen Sprache im Prinzip erfolgen kann. Des Weiteren benutzen wir die logische Ausdr¨ ucke, um Beziehungen zwischen Mengen und Operationen auf Mengen zu definieren sowie Eigenschaften dieser Beziehungen und Operationen zu zeigen. Das ist z.B. wichtig f¨ ur den oben bereits erw¨ahnten Anwendungsbereich der Datenbanken. Hier m¨ ussen Mengen in Beziehung gesetzt und miteinander verkn¨ upft werden. Ein Datenbanksystem muss mit Mengen rechnen k¨onnen. Genau wie uns beim Rechnen mit Zahlen ” nach Adam Riese“ bestimmte Eigenschaften helfen, wie z.B. das Ausklammern von gemeinsamen Faktoren, gibt es auch f¨ ur das Rechnen mit Mengen Gesetze, die das Datenbanksystem benutzt, um korrekt und effizient Ergebnismengen zu berechnen. Durch Abstraktion gelangen wir am Schluss dieses Teils zu der Rechenstruktur einer Booleschen Algebra. Wir werden sehen, dass die vorher betrachtete Aussagenlogik und die ebenfalls vorher 4 betrachteten Teilmengen einer Menge mit logischen Verkn¨ upfungen bzw. mit Mengenverkn¨ upfungen als Rechenoperationen spezielle Prototypen solcher Algebren sind. Abstraktion ist eines der Probleml¨ose-Hilfsmittel in der Mathematik und in der Informatik. So ist man in aller Regel nicht an der L¨osung eines sehr speziellen Problems interessiert, sondern an Me- thoden, Verfahren und Werkzeugen, die in m¨oglichst vielen Anwendungsbereichen zur L¨osung von Problemen eingesetzt werden k¨onnen. Mit einem Datenbankmanagementsystem sollten Datenban- ken nicht nur in einem Anwendungsbereich, sondern bei unterschiedlichen Anwendungen realisiert werden k¨onnen – unabh¨angig von der der Art der Daten. Das Suchen von Elementen in Mengen, die Verkn¨ upfung von Mengen und die Darstellung von Mengen muss unabh¨angig von den konkreten Elementen einer Menge gel¨ost werden. Ein Sortieralgorithmus sollte unabh¨angig sein vom Typ der Werte nach denen sortiert werden soll. Er sollte eine Menge von Daten korrekt und effizient sortieren unabh¨angig davon, ob es sich z.B. um Kundennamen, Datumsangaben oder Rechnungsnummern handelt. Kapitel 1 Definition und Darstellung von Mengen In diesem Kapitel wollen wir den Begriff der Menge in einer f¨ ur die weiteren Betrachtungen hinrei- chenden Art und Weise pr¨azisieren. Wir lernen, wie Mengen dargestellt und beschrieben werden, wir vereinbaren Bezeichner f¨ ur g¨angige Zahlenmengen, und wir werden sehen, dass unser Mengenbegriff zu Schwierigkeiten f¨ uhren kann. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • den Cantorschen Begriff der Menge verstehen, • die Darstellungen von Mengen sowie die Bezeichner f¨ ur die g¨angigen Zahlenmengen kennen, • die Russelsche Antinomie erkl¨aren k¨onnen. 1.1 Ein Mengenbegriff Ausgangspunkt unserer Erkl¨arung des Begriffes Menge soll die folgende Festlegung sein: 1 Eine Menge ist eine Zusammenfassung bestimmter, wohlunterschiedener Dinge unserer Menge Element Anschauung oder unseres Denkens, welche Elemente der Menge genannt werden, zu einem Ganzen. Diese Festlegung ist mehr eine informelle Vereinbarung, denn eine pr¨azise mathematische Defini- tion. Sie setzt ein einheitliches Verst¨andnis der darin verwendeten Begriffe voraus, und sie wird zu den schon angek¨ undigten Schwierigkeiten f¨ uhren. Eine axiomatische, ” mathematisch saubere“ Einf¨ uhrung des Mengenbegriffs, welche diese Schwierigkeiten vermeidet, w¨are aber im Hinblick dar- auf, wie wir diesen verwenden wollen, viel zu aufw¨andig. Immerhin haben zu Beginn des letzten Jahrhunderts eine Reihe von hervorragenden Logikern und Mathematikern viele Anstrengungen unternommen und geraume Zeit daf¨ ur ben¨otigt, um zu einer formal zufrieden stellenden Fundie- rung dieses Begriffes zu gelangen. F¨ ur die g¨angigen Betrachtungen in Mathematik und Informatik 1 Diese Festlegung geht auf Georg Cantor (1845 - 1918) zur¨ uck, der als Begr¨ under der Mengenlehre gilt und der wichtige Beitr¨age zur ” modernen“ Mathematik geliefert hat. 5 6 KAPITEL 1. DEFINITION UND DARSTELLUNG VON MENGEN reicht das Verst¨andnis dieses Begriffes, welches wir mithilfe der folgenden weiteren Festlegungen bekommen werden, vollkommen aus. Die Notation einer Menge, also ” die Zusammenfassung von Dingen zu einem Ganzen“, erfolgt in der Art ¦ . . . ¦ Die Elemente der Menge werden durch die Mengenklammern ¦ und ¦ zu einem Ganzen zusammen- gefasst. ” . . .“ legt eindeutig fest, welche Dinge Elemente der Menge sind. Um auf Mengen Bezug nehmen zu k¨onnen, geben wir diesen in aller Regel einen Namen. Dazu verwenden wir zumeist große Buchstaben. Die Namensgebung erfolgt mithilfe eines Gleichheitszeichens: M = ¦ . . . ¦ Ist ein Ding a Element einer Menge M, dann schreiben wir a ∈ M. Ist ein Ding a kein Element einer Element Menge, dann schreiben wir a / ∈ M. Wenn wir ausdr¨ ucken wollen, dass mehrere Elemente zu einer Menge geh¨oren, dann schreiben wir das auch, indem wir diese Elemente durch Kommata getrennt auflisten und daf¨ ur die Zugeh¨origkeit angeben. So schreiben wir z.B. anstelle von a ∈ M, b ∈ M, c ∈ M k¨ urzer a, b, c ∈ M. Entsprechend schreiben wir a, b, c / ∈ M, anstelle von a / ∈ M, b / ∈ M, c / ∈ M, falls a, b und c keine Elemente der Menge M sind. Anschaulich kann man sich Mengen als Beh¨alter, z.B. als Schachteln oder als S¨acke, vorstellen. Der Beh¨alter wird durch die Mengenklammern dargestellt. Genau wie Schachteln weitere Schachteln enthalten k¨onnen, kann eine Menge weitere Mengen enthalten, und diese Mengen k¨onnen wiederum Mengen enthalten. Und genau wie eine Schachtel leer sein kann, kann auch eine Menge leer sein. Aus der Art der oben vereinbarten Mengennotation folgt, dass die leere Menge durch ¦¦ dargestellt Leere Menge wird. Die leere Menge wird auch durch das Symbol ∅ dargestellt. Ist die Menge M leer, so notieren wir M = ∅ oder M = ¦¦. Offensichtlich gilt a / ∈ ∅ f¨ ur jedes Ding a. Beispiel 1.1. a) Die Menge A = ¦ 1, 2, 3, 4, 5 ¦ enth¨alt als Elemente die Zahlen 1, 2, 3, 4 und 5. Es gilt also z.B. 2, 5 ∈ A sowie 0, 6, 13 / ∈ A. b) Die Menge B = ¦ 1, 2, ¦ 3, 4, 5, 6 ¦ ¦ enth¨alt drei Elemente: die Zahlen 1 und 2 sowie die Menge ¦ 3, 4, 5, 6 ¦, die selbst vier Elemente enth¨alt, n¨amlich die Zahlen 3, 4, 5 und 6. Machen Sie sich dies an der Schachtel-Metapher klar: Die Schachtel B enth¨alt die Elemente 1, 2 sowie eine weitere Schachtel, die die Elemente 3, 4, 5 und 6 enth¨alt. B kann in diese Schachtel nicht ” hineinschauen“. Deutlich wird das, wenn wir der inneren Schachtel einen Namen geben, etwa C = ¦ 3, 4, 5, 6 ¦. Dann ergibt sich die Darstellung B = ¦ 1, 2, C ¦, woraus man unmittelbar sieht, das B drei und nicht sechs Elemente enth¨alt. Es gilt C ∈ B, d.h. ¦ 3, 4, 5, 6 ¦ ∈ ¦ 1, 2, ¦ 3, 4, 5, 6 ¦ ¦. Die Schachtel C ist ein Element der Schachtel B, und es gilt 3 ∈ C, aber 3 / ∈ B. c) Die Gleichung x 2 = −1 besitzt in der Menge der reellen Zahlen keine L¨osung, d.h. ihre L¨osungs- menge L = ¦ x [ x ist reelle Zahl und x 2 = −1 ¦ ist leer: L = ∅. d) Die Menge D = ¦¦¦¦ 1.1. EIN MENGENBEGRIFF 7 enth¨alt genau ein Element, n¨amlich die leere Menge. Somit ist die Menge D selbst nicht leer. Auch dies kann man sich mit der Schachtel-Metapher veranschaulichen. Die Schachtel D ist nicht leer, denn sie enth¨alt ein Element, n¨amlich die leere Schachtel. Es gilt ¦¦ ∈ D. Wenn wir E = ¦¦ setzen, dann ist D = ¦E¦, wodurch auch in der mathematischen Notation deutlich wird, dass D nicht die leere Menge ist. 2 ¨ Ubung 1.1. Sei M eine Menge sowie A = ¦ 3, 4, ¦ 5, 6 ¦ ¦ und B = ¦ 5, 6 ¦. Setzen Sie ∈ oder / ∈ korrekt ein: (1) ∅ . . . ∅, (2) ∅ . . . ¦∅¦, (3) M . . . ¦ ¦ 1, 2 ¦, M¦, (4) 1 . . . ¦ ¦ 1, 2 ¦, M¦, (5) 3 . . . A, (6) ¦ 4 ¦ . . . A, (7) ¦ 5, 6 ¦ . . . A, (8) ¦ B¦ . . . A, (9) B. . . A, (10) 6 . . . A, (11) 6 . . . B. 2 ¨ Ubung 1.2. Bestimmen Sie, ob folgende Aussagen wahr oder falsch sind und begr¨ unden Sie Ihre Antworten! (1) ∅ ∈ ∅, (2) ∅ ∈ ¦∅¦, (3) ¦ a, b ¦ ∈ ¦ a, b, c, ¦ a, b ¦ ¦, (4) ¦ a, b, c ¦ ∈ ¦ a, b, c, ¦ a, b ¦ ¦, (5) ¦ a, b ¦ ∈ ¦¦ a, b ¦¦, (6) a ∈ ¦ a, b, ¦ a, b ¦ ¦. 2 8 KAPITEL 1. DEFINITION UND DARSTELLUNG VON MENGEN 1.2 Darstellung von Mengen Unsere Festlegung des Mengenbegriffs besagt, dass die Elemente einer Menge bestimmt sein m¨ ussen. Dazu verwenden wir zwei Arten der Darstellung von Mengen: die aufz¨ahlende und die beschreibende Darstellung. Bei der aufz¨ahlenden Darstellung werden die Elemente der Menge explizit angegeben. In dieser Art und Weise haben wir bereits die Mengen im Beispiel 12.1 sowie in den ¨ Ubungen 1.1 und 1.2 dargestellt. Beispiel 1.2. Wir geben einige weitere Beispiele f¨ ur die aufz¨ahlende Darstellung von Mengen an: A = ¦ 2, 3, 5, 7, 11 ¦ B = ¦ 1, 2, . . . , 50 ¦ C = ¦ 1, 2, . . . ¦ D = ¦ 43, 44, . . . ¦ Die Menge A enth¨alt f¨ unf Elemente, n¨amlich die Primzahlen kleiner gleich 11. Bei den drei anderen Aufz¨ahlende Darstellung von Mengen Mengen wird ein Problem der aufz¨ahlenden Darstellung von Mengen offensichtlich. Falls sie viele Elemente enthalten oder falls sie unendlich viele Elemente enthalten, ist ihre komplette Aufz¨ahlung aufw¨andig bzw. unm¨oglich. In diesen F¨allen helfen wir uns mit der ” . . .“-Schreibweise. Dabei muss durch die explizit angegebenen Elemente eindeutig klar sein, f¨ ur welche Elemente ” . . .“ steht. In B sind offensichtlich die ganzen Zahlen von 1 bis 50 gemeint, in C die nat¨ urlichen Zahlen ohne die Null und in D die nat¨ urlichen Zahlen gr¨oßer gleich 43. 2 Bei der Menge E = ¦ 3, 5, 7, . . . ¦ k¨onnte nicht klar sein, welche Menge gemeint ist: die Menge der positiven ungeraden Zahlen gr¨oßer gleich 3 oder die Menge der Primzahlen gr¨oßer gleich 3. Die explizite Aufz¨ahlung eines weiteren Elementes k¨onnte Aufkl¨arung bringen: 9 im ersten Fall bzw. 11 im zweiten Fall. Die allgemeine Form der aufz¨ahlenden Darstellung von Mengen ist also M = ¦ a 1 , a 2 , . . . , a n ¦ f¨ ur endliche Mengen sowie M = ¦ a 1 , a 2 , . . . ¦ f¨ ur unendliche Mengen. ¨ Ubung 1.3. Geben Sie folgende Mengen in aufz¨ahlender Form an: (1) M 1 = Menge aller nicht negativen ganzen Zahlen, die Kubikzahlen von ganzen Zahlen und kleiner als 100 sind. (2) M 2 = Menge aller ganzen Zahlen zwischen 10 und 50, die durch 3 aber nicht durch 4 teilbar sind. (3) M 3 = Menge aller Mengen, die man aus den drei Elementen a, b und c bilden kann. 2 Erf¨ ullt die Menge F = ¦ 3, 4, 5, 3, 6 ¦ unsere Festlegung des Mengenbegriffs? Nein, denn Ihre Ele- Multimenge mente sind nicht wohlunterschieden, da 3 mehr als einmal vorkommt. Wohlunterschieden bedeutet, dass jedes Element nur einmal in der Menge vorkommen darf. In der Informatik gibt es durchaus 1.2. DARSTELLUNG VON MENGEN 9 Anwendungen, in denen Mengen ein Element auch mehrfach enthalten k¨onnen sollten. Man spricht dann von Multimengen oder Bags. Die Menge M = ¦ 1, 1, 2, 3, 3, 3, 3, 4, 5, 5, 5 ¦ ist ein Beispiel einer Multimenge. Durch unterschiedliche Kenntlichmachung gleicher Elemente – etwa durch fortlaufende Indizierung oder durch Angabe der H¨aufigkeit – kann man diese unter- scheidbar machen und so Multimengen durch Mengen darstellen. Nach Indizierung sieht die Menge M wie folgt aus M = ¦ 1 1 , 1 2 , 2 1 , 3 1 , 3 2 , 3 3 , 3 4 , 4 1 , 5 1 , 5 2 , 5 3 ¦ sowie bei Angabe der H¨aufigkeit M = ¦ 1(2), , 2(1), 3(4), 4(1), 5(3) ¦ Die sp¨ater folgenden Definitionen zu Teilmengen und Operationen auf Mengen k¨onnen mithilfe solcher Kennzeichnungen auf Multimengen ¨ ubertragen werden. Wir betrachten im Folgenden in aller Regel keine Multimengen, sondern Mengen, die jedes Ele- ment genau einmal enthalten. Dabei sei beispielhaft auf eine Problematik hingewiesen, die entstehen kann, falls die Elemente Variablen sind und keine ” konkreten“ Elemente (Konstanten). Sind etwa a, b, c und d Variable f¨ ur ganze Zahlen, und bilden wir damit die Menge M = ¦ a, b, c, d ¦, dann h¨angt der Inhalt dieser Menge von der Belegung der Variablen ab. Haben z.B. a und c beide den Wert 5 und b den Wert 1 und d den Wert 2, dann ist M = ¦ 1, 2, 5 ¦, d.h. M enth¨alt in diesem Fall drei Elemente. F¨ ur den Fall, dass alle Variablen denselben Wert haben, enth¨alt M genau ein Element. Bei der beschreibenden Darstellung werden die Elemente nicht explizit aufgez¨ahlt, sondern es Beschreibende Darstellung von Mengen wird eine sie definierende Eigenschaft angegeben. Die allgemeine Form ist M = ¦ x [ p(x) ¦ (1.1) Dabei ist x ein Platzhalter (eine Variable) f¨ ur die Elemente der Menge, und p(x) ist eine f¨ ur x informal oder formal angegebene Eigenschaft. Genau die Dinge, die die Eigenschaft erf¨ ullen, sind Elemente der Menge. Auf M¨oglichkeiten die definierende Eigenschaft formal durch Pr¨adikate anzugeben, gehen wir im Kapitel 3 ein. Beispiel 1.3. Beispiele f¨ ur die beschreibende Darstellung von Mengen sind: A = ¦ x [ x ist eine Primzahl kleiner gleich 11 ¦ G = ¦ x [ x ist eine positive ganze Zahl und x +x = 10 ¦ H = ¦ (x, y) [ x und y sind positive ganze Zahlen und x +y = 6 ¦ T 64 = ¦ y [ y ist ein positiver Teiler von 64 ¦ S = ¦ st [ st studiert Informatik in Sankt Augustin¦ Dabei haben wir die Eigenschaften, welche die Elemente festlegen sollen, ” halbformal“ ausgedr¨ uckt, d.h. umgangssprachlich unter Verwendung von mathematischen Ausdr¨ ucken. In aufz¨ahlender Dar- 10 KAPITEL 1. DEFINITION UND DARSTELLUNG VON MENGEN stellung gilt offensichtlich: A = ¦ 2, 3, 5, 7, 11 ¦ G = ¦ 5 ¦ H = ¦ (0, 6), (1, 5), (2, 4), (3, 3), (4, 2), (5, 1), (6, 0) ¦ T 64 = ¦ 1, 2, 4, 8, 16, 32, 64 ¦ 2 ¨ Ubung 1.4. Geben Sie folgende Mengen in beschreibender Form an: (1) M 1 = ¦ 1, 2, 4, 8, 16, 32, 64 ¦, (2) M 2 = ¦ 4, 9, 25, 49, 121 ¦, (3) M 3 = ¦ 1, 8, 27, 64 ¦, (4) M 4 = ¦ 1, 3, 5, 7, . . . ¦. 2 Enth¨alt eine Menge M endlich viele Elemente, etwa m St¨ uck, dann schreiben wir [M[ = m und Kardinalit¨at einer Menge nennen M eine endliche Menge. [M[ heißt die Kardinalit¨at von M. Nicht endliche Mengen heißen unendlich, und wir notieren [M[ = ∞. Es gilt also z.B. [A[ = 5, [B[ = 50, [D[ = ∞ f¨ ur die Mengen A, B und D aus Beispiel 1.2 auf Seite 8 sowie [G[ = 1, [H[ = [T 64 [ = 7 f¨ ur die Mengen G und H aus Beispiel 1.3. Offensichtlich gilt [∅[ = 0. 1.3 Bezeichner f¨ ur Zahlenmengen G¨angige Zahlenmengen besitzen feste Bezeichner. Wir listen diese im Folgenden auf und verwenden sie so fortan. N = ¦ 1, 2, 3, . . . ¦ nat¨ urliche Zahlen N 0 = ¦ 0, 1, 2, 3, . . . ¦ nat¨ urliche Zahlen mit 0 N k = ¦ k, k + 1, k + 2, . . . ¦ nat¨ urliche Zahlen ab k, k ∈ N 0 N u,o = ¦ u, u + 1, u + 2, . . . , o ¦ nat¨ urliche Zahlen zwischen u und o, u, o ∈ N 0 Beispiele f¨ ur die zwei letzten Notationen sind N 17 = ¦ 17, 18, 19, . . . ¦ N 35,53 = ¦ 35, 36, . . . , 53 ¦ 1.4. RUSSELLSCHE ANTINOMIE 11 Des Weiteren gilt N u,o = ∅, falls u gr¨oßer als o ist. Z = ¦ . . . , −2, −1, 0, 1, 2, . . . ¦ ganze Zahlen G + = ¦ 0, 2, 4, . . . ¦ nicht negative gerade Zahlen G − = ¦ −2, −4, . . . ¦ negative gerade Zahlen G = ¦ −4, −2, 0, 2, 4, . . . ¦ gerade Zahlen U + = ¦ 1, 3, 5, . . . ¦ positive ungerade Zahlen U − = ¦ −1, −3, −5 . . . ¦ negative ungerade Zahlen U = ¦ −5, −3, −1, 1, 3, 5, . . . ¦ ungerade Zahlen P = ¦ 2, 3, 5, 7, 11, . . . ¦ Primzahlen Q = _ p q [ p ∈ Z und q ∈ N _ rationale Zahlen (Br¨ uche) Q + rationale Zahlen gr¨oßer gleich 0 Q − rationale Zahlen kleiner 0 R reelle Zahlen R + reelle Zahlen gr¨oßer gleich 0 R − reelle Zahlen kleiner 0 C = ¦ a +bi [ a, b ∈ R und i 2 = −1 ¦ komplexe Zahlen Wie setzen an dieser Stelle die angegebenen Zahlenmengen in dem Sinne als bekannt voraus, als dass man sie aus der Schule und dem t¨aglichen Leben kennt. Im Teil IV geben wir formale Definitionen f¨ ur die Mengen der nat¨ urlichen, ganzen und rationalen Zahlen an und betrachten einige ihrer wesentlichen Eigenschaften. 1.4 Russellsche Antinomie Unsere Festlegung des Mengenbegriffs l¨asst es zu, dass Mengen Elemente von Mengen sein k¨onnen (siehe z.B. Beispiel 12.1 und ¨ Ubungen 1.1 und 1.2 auf den Seiten 7 und 7). Kann eine Menge sich auch selbst enthalten? In aller Regel fallen uns nur Beispiele von Mengen ein, die sich nicht selbst enthalten, wie z.B. die Menge D aller rechtwinkligen Dreiecke in der Ebene. Offensichtlich ist D kein Element von D, denn die Menge D ist kein rechtwinkliges Dreieck. Betrachten wir nun die Menge D aller Elemente, die keine rechtwinkligen Dreiecke sind. Da die Menge D offensichtlich kein rechtwinkliges Dreieck ist, muss sie selbst zur Menge D geh¨oren, denn diese enth¨alt ja alle Elemente, die keine rechtwinkligen Dreiecke sind. Nun betrachten wir die Menge M, welche alle Mengen enth¨alt. M ist selbst eine Menge, al- so muss M sich selbst enthalten, denn M enth¨alt ja alle Mengen. Unsere auf der Cantorschen Definition basierende Festlegung des Mengenbegriffs l¨asst diese Mengenbildungen zu und f¨ uhrt zu keinen Schwierigkeiten, insbesondere ist die in der Festlegung geforderte Bestimmtheit der Elemente gegeben. Nun betrachten wir die Menge M aller Mengen, die sich nicht selbst enthalten, formal M = ¦ A [ A / ∈ A¦ und stellen die Frage, ob M sich selbst enth¨alt: M ∈ M ? Gem¨aß der Cantorschen Mengendefintion muss bestimmt werden k¨onnen, ob eine Ding zu einer Menge geh¨ort oder nicht. F¨ ur die Frage, ob M ∈ M gilt, muss also entweder die Antwort ” ja“ oder die Antwort ” nein“ zutreffen, und die richtige Antwort muss anhand der beschreibenden Eigenschaft entschieden werden k¨onnen. 12 KAPITEL 1. DEFINITION UND DARSTELLUNG VON MENGEN Bevor wir diese Frage beantworten, betrachten wir als Vorbereitung darauf das folgende Para- doxon: Sei S die Schlange, die all diejenigen Schlangen in den Schwanz beißt, die sich nicht selbst in den Schwanz beißen. Frage: Beißt S sich selbst in den Schwanz? Es gibt zwei M¨oglichkeiten: S beißt sich selbst in den Schwanz oder nicht. Nehmen wir an, S beiße sich in den Schwanz. Dann geh¨ort sie zu den Schlangen, die sich selber in den Schwanz beißen und die deshalb nicht von S in den Schwanz gebissen werden. Dies bedeutet aber, dass S nicht von S gebissen wird, also beißt S sich nicht selbst in den Schwanz. Nehmen wir an, S beiße sich nicht in den Schwanz. Dann geh¨ort sie zu den Schlangen, die sich nicht selber in den Schwanz beißen. Diese werden aber gerade von S gebissen, also beißt S sich selbst in den Schwanz. In beiden m¨oglichen F¨allen f¨ uhrt die jeweilige Annahme zu einem Widerspruch, d.h. die Frage kann nicht beantwortet werden. Es liegt ein sogenanntes Paradoxon vor. Kehren wir zur Frage ” M ∈ M ?“ zur¨ uck und gehen zu deren Beantwortung wie beim Schlangen- Paradoxon vor: Nehmen wir an, dass M ∈ M gelte. Dann geh¨ort M zu den Mengen, die sich nicht selbst enthalten. Daraus folgt aber M / ∈ M . Nehmen wir an, dass M / ∈ M gelte. Dann enth¨alt M sich nicht selbst, d.h. M geh¨ort zu den Mengen, die sich nicht selbst enthalten. Daraus folgt aber M ∈ M . Wir stellen also fest, dass auch diese Frage nicht beantwortet werden kann. Dieses Paradoxon ist bekannt als Russelsche Antinomie. 2 Es zeigt die Unzul¨anglichkeit der Cantorschen Mengendefiniti- on. Eine Mengendefinition sollte in jedem Fall die eindeutige Beantwortung der Frage erm¨oglichen, ob ein Ding in einer Menge enthalten ist oder nicht. Die axiomatische Mengenlehre vermeidet An- tinomien. Hierauf gehen wir, wie eingangs des Kapitels bereits angemerkt, nicht ein, da f¨ ur unsere Zwecke im Folgenden die Cantorsche Mengendefinition ausreicht, Widerspr¨ uche treten nicht auf. 2 Benannt nach Bertrand Russell (1872 - 1970), britischer Logiker, Philosoph, Schriftsteller und Pazifist. Er lieferte wesentliche Beitr¨age zur Logik und Philosophie. Mit Abert Einstein initiierte er die Pugwash-Bewegung, mit Jean- Paul Sartre das Vietnam-Tribunal, das erste sogenannte Russelsche Tribunal. 1950 erhielt er den Nobelpreis f¨ ur Literatur. Kapitel 2 Aussagenlogik Aussagen- und Pr¨adikatenlogik sind von grundlegender Bedeutung in der Informatik. Programm- und Prozessabl¨aufe sind in aller Regel abh¨angig vom Erf¨ ullt- oder Unerf¨ ulltsein von miteinan- der verkn¨ upften Bedingungen. So ist z.B. die Steuerung eines ¨ Uberdruckventils eines Heizkessels abh¨angig von seiner aktuellen Stellung, der Temperatur und des Drucks. Bei einer Datenbankab- frage m¨ ussen der erwarteten Antwort entsprechende Bedingungen formuliert werden wie z.B.: ” Alle Kunden, die bis zum Ende des letzten Quartals ihre Rechnungen noch nicht bezahlt haben und keine Stammkunden sind, m¨ ussen eine Zahlungserinnerung bekommen.“ Wir werden, wie im Abschnitt 1.2 angek¨ undigt, Pr¨adikate verwenden, um darstellende Beschrei- bungen von Mengen zu formulieren (siehe (1.1) auf Seite 9). Außerdem benutzen wir Pr¨adikate, um im Kapitel 5 Teilmengenbeziehungen und Mengenverkn¨ upfungen zu definieren und deren Ei- genschaften zu beweisen. Wir beginnen in diesem Kapitel mit der Aussagenlogik und behandeln im n¨achsten Kapitel einf¨ uhrend die Pr¨adikatenlogik. Wir wollen die Aussagenlogik – m¨oglicherweise anders, als Sie diese bisher kennen gelernt haben – als eine Sprache betrachten. Sprachen, etwa formale Sprachen, wie Programmier- oder Dialogsprachen in der Informatik, oder nat¨ urliche Sprachen, wie die deutsche oder die englische Sprache, oder k¨ unstlerische Sprachen, wie die Poesie oder die Musik, werden festgelegt durch • ein Alphabet, welches ein endlicher Zeichenvorrat ist, aus dem die W¨orter und S¨atze einer Sprache zusammengesetzt sind, • die Syntax, die festlegt, welche mit den Elementen des Alphabets gebildete Zeichenketten als W¨orter oder S¨atze zur Sprache geh¨oren, • die Semantik, welche den W¨ortern und S¨atzen der Sprache eine Bedeutung zuordnet. Nach Durcharbeiten dieses Kapitels sollten Sie Lernziele • den syntaktischen Aufbau aussagenlogischer Formeln kennen, • den Wahrheitswert aussagenlogischer Formeln sowohl mit dem Interpretationsoperator als auch mithilfe von Wahrheitstafeln berechnen k¨onnen, 13 14 KAPITEL 2. AUSSAGENLOGIK • aussagenlogische Grundbegriffe wie Erf¨ ullbarkeit, Modell, logische Folgerung, logische ¨ Aquiva- lenz, Kalk¨ ul, Normalformen und logische Basen sowie Widerspruchsfreiheit und Vollst¨andig- keit von Kalk¨ ulen erl¨autern k¨onnen, • den Resolutionskalk¨ ul erkl¨aren und anwenden k¨onnen. 2.1 Alphabet der Aussagenlogik Das Alphabet der Aussagenlogik besteht aus zwei Mengen: • aus der Menge der aussagenlogischen Operatorsymbole Aussagen- logische Operator- symbole O = ¦ 0, 1, , ∧, ∨, (, ) ¦ • sowie aus der Menge ¦ x, [ ¦ zur Generierung der aussagenlogischen Variablen. Die Menge V Aussagen- logische Variablen der aussagenlogischen Variablen kann wie folgt rekursiv definiert werden: (1) x ist eine Variable: x ∈ V . (2) Falls α ein Variable ist, dann auch α[, d.h., ist α ∈ V , dann ist auch α[ ∈ V . Mithilfe dieser Regeln ergibt sich: V = ¦ x, x[, x[[, x[[[, . . . ¦ Wenn wir die Anzahl der Striche als Index notieren, dann ist V = ¦ x 0 , x 1 , x 2 , x 3 , . . . ¦ Wir werden in aller Regel nicht konkrete Elemente aus V , also indizierte x, in den aussa- genlogischen Formeln verwenden, sondern dazu Variablenbezeichner benutzen, die bei Bedarf mit konkreten Elementen aus V belegt werden k¨onnen. Als Variablenbezeichner verwenden wir kleine Buchstaben vom Ende des deutschen Alphabetes, z.B. p, q, r, v, y und z, bei Bedarf auch indiziert. Mit der Aussage v ∈ V ist dann gemeint, dass v anstelle irgendeiner aussagenlogischen Variable x i ∈ V steht (v ist Platzhalter f¨ ur x i ). 2.2 Syntax aussagenlogischer Formeln Die Sprache / der Aussagenlogik, deren Elemente – ihre W¨orter – aussagenlogische Formeln heißen, Aussagen- logische Formeln ist durch folgende Syntax-Regeln festgelegt: (i) Die Operatorsymbole 0, 1 ∈ O, die so genannten aussagenlogischen Konstantenbezeichner, Aussagen- logische Konstanten- bezeichner sind W¨orter in /: 0, 1 ∈ /. (ii) Jede aussagenlogische Variable ist auch eine aussagenlogische Formel: F¨ ur jedes v ∈ V ist v ∈ /. 2.3. SEMANTIK AUSSAGENLOGISCHER FORMELN 15 (iii) Als Variablenbezeichner f¨ ur aussagenlogische Formeln verwenden wir kleine Buchstaben vom Anfang des griechischen Alphabetes: α, β, γ – bei Bedarf auch indiziert, z.B. α 1 , α 2 , . . . Aus bereits vorhandenen aussagenlogischen Formeln werden mithilfe der Operator- und der Klammersymbole neue Formeln gebildet: Sind α, β ∈ /, dann sind auch (α∧β), (α∨β), α ∈ /. 1 (iv) Genau die gem¨aß den Regeln (i) - (iii) bildbaren Zeichenketten geh¨oren zu /. Konstanten und Variablen heißen auch atomare Formeln. Die unter Verwendung von Regel (iii) Atomare Formeln gebildeten Formeln heißen zusammengesetzt. Die Formeln der Gestalt v sowie die der Gestalt v Zusammengesetzte Formeln mit v ∈ V heißen Literale. Literale sind also Variable sowie mit dem Operator versehene Variable. Literale Beispiel 2.1. Es gilt: a) (p ∧ q) ∈ /. b) (((p ∨ (q ∧ r)) ∧ (q ∨ r)) ∨ 0) ∈ /. c) p(q ∨ r) / ∈ /. Wir zeigen, dass b) gilt: (1) 0, p, q, r ∈ / gem¨aß Regel (i) bzw. Regel (ii). (2) Gem¨aß (1) und Regel (iii) ist r ∈ /. (3) Gem¨aß (1) und Regel (iii) ist (q ∧ r) ∈ /. (4) Gem¨aß (1,2) und Regel (iii) ist (q ∨ r) ∈ /. (5) Gem¨aß (4) und Regel (iii) ist (q ∨ r) ∈ /. (6) Gem¨aß (1,3) und Regel (iii) ist (p ∨ (q ∧ r)) ∈ /. (7) Gem¨aß (4,6) und Regel (iii) ist ((p ∨ (q ∧ r)) ∧ (q ∧ r)) ∈ /. (8) Gem¨aß (1,7) und Regel (iii) ist (((p ∨ (q ∧ r)) ∧ (q ∧ r)) ∨ 0) ∈ /. Durch schrittweises Anwenden der Regeln (i) - (iii) haben wir die aussagenlogische Formel (((p ∨ (q ∧ r)) ∧ (q ∧ r)) ∨ 0) konstruiert. Diese Formel enth¨alt die vier Literale p, q, r sowie r. 2 Wir werden im Folgenden, falls dadurch keine Missverst¨andnisse auftreten, die ¨außeren Klam- mern einer Aussage weglassen. Wir schreiben also p∧q anstelle von (p∧q) und ((p∨(q ∧r)) ∧(q ∨ r)) ∨ 0 anstelle von (((p ∨ (q ∧ r)) ∧ (q ∨ r)) ∨ 0). 16 KAPITEL 2. AUSSAGENLOGIK 2.3 Semantik aussagenlogischer Formeln Die Bedeutung von aussagenlogischen Formeln wollen wir durch die Werte 0 f¨ ur ” falsch“ und 1 f¨ ur ” wahr“ angeben. Die Menge dieser beiden aussagenlogischen Konstanten bzw. Wahrheitswerte bezeichnen wir mit B. Dabei legen wir auf B = ¦ 0, 1 ¦ eine Ordnung fest: 0 sei kleiner als 1, d.h. Aussagenlogische Konstanten Wahrheitswerte das Maximum der beiden Wahrheitswerte ist 1, was wir durch max¦ 0, 1 ¦ = 1 ausdr¨ ucken, dass Minimum ist 0, d.h. min¦ 0, 1 ¦ = 0. Außerdem legen wir als Operationen auf B fest: 1−1 = 0 sowie 1 −0 = 1. F¨ ur diese Operationen gelten die beiden folgenden Beziehungen: min¦ x, y ¦ = 1 −max¦ 1 −x, 1 −y ¦ (2.1) max¦ x, y ¦ = 1 − min¦ 1 −x, 1 −y ¦ (2.2) Wir k¨onnen also eine der beiden Operationen min bzw. max durch die jeweils andere und die ” −“- Operation ausdr¨ ucken, wir k¨onnten also auf min oder auf max verzichten. Aus schreibtechnischen Gr¨ unden und der besseren Lesbarkeit wegen werden wir aber beide Operationen verwenden. Wir k¨onnen (B, max, min, −) als eine abstrakte Maschine auffassen, die die Werte 0 und 1 zur Abstrakte Maschine Verf¨ ugung stellt und darauf die Operationen max, min und ” −“ ausf¨ uhren kann. Wir ben¨otigen jetzt noch eine Vorschrift, die festlegt, wie eine aussagenlogische Formel – abh¨angig von Eingaben – von dieser Maschine berechnet wird. ¨ Ubung 2.1. Beweisen Sie die Beziehungen (2.1) und (2.2)! 2 2.3.1 Interpretation aussagenlogischer Formeln Wir haben die Syntax der aussagenlogischen Formeln induktiv definiert: Die atomaren Formeln werden als gegeben angenommen und mit diesen und bereits konstruierten Formeln werden mithilfe von Operatoren und Klammern neue Formeln konstruiert. Induktion ist eine Konstruktionmethode Induktion mit fundamentaler Bedeutung in der Informatik, insbesondere beim Entwurf von Datenstrukturen und Algorithmen sowie in der Programmierung. Wir werden im Teil III noch ausf¨ uhrlicher auf Induktion eingehen. Es ist nun ” nat¨ urlich“ die Semantik aussagenlogischer Formeln rekursiv entlang der induktiven Definition ihrer Syntax zu definieren. Zun¨achst muss den atomaren Formeln, also den Konstantenbe- zeichnern und Variablen einer Formel ein Wahrheitswert zugewiesen werden und daraus wird dann der Wahrheitswert der gesamten Formel entsprechend ihres induktiven Aufbaus rekursiv berechnet. Die Zuweisung von Wahrheitswerten zu Variablen einer Formel γ ∈ / geschieht mit einer Belegung Belegung 1 ( ” Eingabe“), und die Berechnung des Wahrheitswertes von γ geschieht durch die Interpretation Interpretation 1 ∗ Sei γ ∈ / eine aussagenlogische Formel, dann sei V γ die Menge der Variablen in γ. Jeder Variablen v in γ, also jedem v ∈ V γ , wird genau ein Wahrheitswert zugewiesen. Formal: 1 : V γ →B mit 1(v) ∈ B. F¨ ur jede Variable v ∈ V γ gibt es zwei m¨ogliche Belegungen: 1(v) = 0 oder 1(v) = 1. Ist n die Anzahl der Variablen in γ, also [V γ [ = n, dann gibt es 2 n m¨ogliche Belegungen 1 : V γ →B. Diese fassen wir in der Menge 1 γ = B Vγ = ¦ 1 [ 1 : V γ →B¦ 1 Anstelle von ¬α ist auch die Notation α ¨ ublich. 2.3. SEMANTIK AUSSAGENLOGISCHER FORMELN 17 zusammen. Mit einer gew¨ahlten Belegung 1 ∈ 1 γ wird die Interpretation 1 ∗ (γ) der aussagenlogischen Formel γ ∈ / gem¨aß den folgenden Regeln berechnet (dabei erfolgt die Festlegung der Regeln rekursiv entsprechend der induktiven Definitionen (i) - (iii) der Syntax der aussagenlogischen Formeln im vorigen Abschnitt): (i) 1 ∗ (0) = 0 und 1 ∗ (1) = 1: Die Konstantenbezeichner werden unabh¨angig von der gegebenen Formel durch fest zugewiesene Wahrheitswerte interpretiert. (ii) 1 ∗ (v) = 1(v), f¨ ur ein 1 ∈ 1 γ : Die Variablen der Formel γ werden durch die gew¨ahlte Belegung 1 interpretiert. (iii) Die Interpretation zusammengesetzter Formeln wird gem¨aß folgender Regeln berechnet: Ist γ = α ∧ β mit α, β ∈ /, dann ist 1 ∗ (γ) = 1 ∗ (α ∧ β) = min¦ 1 ∗ (α), 1 ∗ (β) ¦ Ist γ = α ∨ β mit α, β ∈ /, dann ist 1 ∗ (γ) = 1 ∗ (α ∨ β) = max¦ 1 ∗ (α), 1 ∗ (β) ¦ Ist γ = α mit α ∈ /, dann ist 1 ∗ (γ) = 1 ∗ (α) = 1 −1 ∗ (α) Beispiel 2.2. Wir betrachten die Formel γ = ((p ∨ (q ∧ r)) ∧ (q ∨ r)) ∨ 0 aus Beispiel 2.1 (Seite 15). Es ist V γ = ¦ p, q, r ¦. Wir w¨ahlen die Belegung 1(p) = 1, 1(q) = 0 sowie 1(r) = 1. Mit dieser Belegung ergibt sich gem¨aß den obigen Regeln folgende Interpretation: 1 ∗ (γ) = 1 ∗ (((p ∨ (q ∧ r)) ∧ (q ∨ r)) ∨ 0) = max¦1 ∗ ((p ∨ (q ∧ r)) ∧ (q ∨ r)), 1 ∗ (0)¦ = max¦min¦1 ∗ (p ∨ (q ∧ r)), 1 ∗ ((q ∨ r))¦, 0)¦ = max¦min¦max¦1 ∗ (p), 1 ∗ (q ∧ r)¦, 1 −1 ∗ (q ∨ r)¦, 0¦ = max¦min¦max¦1(p), min¦1 ∗ (q), 1 ∗ (r)¦¦, 1 −max¦1 ∗ (q), 1 ∗ (r)¦¦, 0¦ = max¦min¦max¦1, min¦1(q), 1(r)¦¦, 1 −max¦1(q), 1 −1 ∗ (r)¦¦, 0¦ = max¦min¦max¦1, min¦0, 1¦¦, 1 −max¦0, 1 −1(r)¦¦, 0¦ = max¦min¦max¦1, min¦0, 1¦¦, 1 −max¦0, 1 −1¦¦, 0¦ = max¦min¦max¦1, 0¦, 1 −0¦, 0¦ = max¦min¦1, 1¦, 0¦ = max¦1, 0¦ = 1 F¨ ur die gew¨ahlte Belegung 1 ist der Wert der aussagenlogischen Formel also 1. Berechnen Sie den Wert f¨ ur weitere der insgesamt 2 3 = 8 m¨oglichen Belegungen! 2 18 KAPITEL 2. AUSSAGENLOGIK Wir werden im Folgenden, da wir die Operatoren 0 und 1 fest mit den Werten 0 bzw. 1 belegt haben, ¨außerlich nicht mehr zwischen den Operatoren und ihren Werten unterscheiden und 0 anstelle von 0 bzw. 1 anstelle von 1 schreiben. Wir k¨onnen das Tripel (/, B, 1 ∗ ) auch als eine Programmiersprache auffassen: Jedes α ∈ / ist Programmier- sprache ein Programm, B enth¨alt die m¨oglichen Eingaben f¨ ur die Variablen sowie die m¨oglichen Ausgaben, die eine Interpretation in Abh¨angigkeit der Eingaben berechnen kann. 1 legt eine konkrete Eingabe fest, und 1 ∗ ist der Interpreter, der jedes Programm bei gegebener Eingabe ausf¨ uhrt. Die Maschine, auf der dieser Interpreter ausgef¨ uhrt werden kann, ben¨otigt als Maschinenbefehle max, min sowie 1 −0 und 1 −1, mit diesen k¨onnen alle aussagenlogischen Formeln berechnet werden. Am obigen Beispiel sieht man, dass die Berechnung einer Interpretation noch effizienter gestaltet werden kann. Im Beispiel werden ” stur“ die Regeln schrittweise von links nach rechts ausgef¨ uhrt. Ist man z.B. bei einem Ausdruck der Form min¦ 1 ∗ (α), 0 ¦ angekommen, so kann man diesen wegen der Definition von min sofort durch 0 ersetzen, ohne dass 1 ∗ (α) noch ausgerechnet werden muss. Ins- besondere, wenn α noch ein komplexer Ausdruck ist, wird dadurch viel Zeit bei der Berechnung der Interpretation eingespart. ¨ Uberlegen Sie sich weitere M¨oglichkeiten zur Effizienzsteigerung bei der Auswertung! Wir werden an dieser Stelle nicht weiter darauf eingehen. Ein Gebiet der Informatik, welches sich mit solchen Fragestellungen besch¨aftigt ist der Compilerbau. 2.3.2 Wahrheitstafeln Die Semantik aussagenlogischer Formeln und der Wert einer aussagenlogischen Formel kann auch mithilfe sogenannter Wahrheitstafeln festgelegt bzw. berechnet werden. Seien α, β ∈ / zwei aussa- genlogische Formeln. Die folgenden Tabellen legen jeweils f¨ ur alle m¨oglichen Werte dieser beiden Formeln die Werte ihrer Verkn¨ upfungen mit den Operationen , ∧ und ∨ fest: α α 1 0 0 1 α β α ∧ β 1 1 1 1 0 0 0 1 0 0 0 0 α β α ∨ β 1 1 1 1 0 1 0 1 1 0 0 0 Jede Zeile legt den Wert f¨ ur genau eine Belegung fest. Wir sehen, dass die Verkn¨ upfung zweier Formeln mit ∧ genau dann 1 ergibt, wenn beide For- meln den Wert 1 besitzen. Diese Verkn¨ upfung heißt Und-Verkn¨ upfung oder Konjunktion. Die Ver- Konjunktion kn¨ upfung zweier Formeln mit ∨ ergibt genau dann 0, wenn beide Formeln den Wert 0 besitzen. Diese Verkn¨ upfung heißt Oder-Verkn¨ upfung oder Disjunktion. Die Verkn¨ upfung heißt Negation. Disjunktion Negation Beispiel 2.3. Die Wahrheitstafel der Formel γ = ((p ∨ (q ∧ r)) ∧ (q ∨ r)) ∨ 0 2.3. SEMANTIK AUSSAGENLOGISCHER FORMELN 19 aus Beispiel 2.1 (Seite 15) ist: (p ∨ (q ∧ r)) ((p ∨ (q ∧ r)) p q r 0 ¬r q ∧ r q ∨ ¬r ¬(q ∨ ¬r) p ∨ (q ∧ r) ∧¬(q ∨ ¬r) ∧¬(q ∨ ¬r)) ∨ 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 Anstelle der Auswertung einer aussagenlogischen Formel durch 1 ∗ k¨onnen also auch die Wahr- heitstabellen zu ihrer Berechnung verwendet werden. Dabei enth¨alt jede Zeile gerade die Berech- nung f¨ ur genau eine Belegung 1 der Variablen. So entspricht die dritte Zeile der obigen Tabelle der Belegung und der Berechung der Formel γ im Beispiel 2.2 auf Seite 17. 2 Wenn eine aussagenlogische Formel n Variable enth¨alt, dann gibt es 2 n m¨ogliche Belegungen, d.h. die Wahrheitstabelle f¨ ur eine Formel mit n Variablen enth¨alt 2 n Zeilen. 2.3.3 Aussagenlogische Operationen Neben den bereits bekannten aussagenlogischen Operationen Negation, Konjunktion und Disjunk- tion f¨ uhren wir noch drei weitere Operationen ein: die Subjunktion, die Bijunktion und das exklusive Oder. Seien α, β ∈ / aussagenlogische Formeln, dann sind auch die Subjunktion α →β (in Worten Subjunktion ” wenn α, dann β“ oder ” aus α folgt β“), die Bijunktion α ↔ β (in Worten ” α genau dann, wenn Bijunktion β“) sowie das exklusive Oder (α ⊕β) (in Worten ” entweder α oder β“) aussagenlogische Formeln. Exklusives Oder Wir geben ihre Semantik in den folgenden Wahrheitstafeln an: α β α →β 1 1 1 1 0 0 0 1 1 0 0 1 α β α ↔β 1 1 1 1 0 0 0 1 0 0 0 1 α β α ⊕β 1 1 0 1 0 1 0 1 1 0 0 0 Rechnen Sie nach, dass die folgenden Folgerungen korrekt sind. Folgerung 2.1. a) F¨ ur jede Belegung 1 der Variablen in den aussagenlogischen Formeln α, β ∈ / gilt: 1 ∗ (α →β) = 1 ∗ (α ∨ β) (2.3) 1 ∗ (α ↔β) = 1 ∗ ((α →β) ∧ (β →α)) (2.4) 1 ∗ (α ⊕β) = 1 ∗ ((α ∧ β) ∨ (α ∧ β)) (2.5) Die Operationen Subjunktion, Bijunktion und exklusives Oder erweitern also die semantischen M¨oglichkeiten von / nicht, denn sie k¨onnen mithilfe der bereits bekannten Operationen Negation, Konjunktion und Disjunktion ausgedr¨ uckt werden. Sie stellen syntaktische Hilfsmittel dar, um gegebenenfalls Ausdr¨ ucke k¨ urzer darzustellen. 20 KAPITEL 2. AUSSAGENLOGIK b) Wir kennen nun sechs verschiedene aussagenlogische Verkn¨ upfungen. Wie viele zweistellige ver- schiedene aussagenlogische Verkn¨ upfungen gibt es? Jede Wahrheitstafel f¨ ur zweistellige Verkn¨ upfun- gen besteht aus vier Zeilen, welche die vier m¨oglichen Belegungen von zwei Variablen darstellen. Jede Belegung f¨ uhrt zu einem Ergebnis, welches jeweils 0 oder 1 ist. Damit gibt es 2 4 = 16 m¨ogliche Ergebnisse ¨ uberhaupt, und damit gibt es genau sechzehn verschiedene zweistellige aussagenlogi- sche Verkn¨ upfungen. In a) haben wir bereits gesehen, dass wir mithilfe der Negation zweistellige Operationen durch andere zweistellige Operationen ausdr¨ ucken k¨onnen. Im Kapitel 2.7 werden wir uns mit der Frage besch¨aftigen, wie viele und welche zweistelligen Operationen ausreichen, um alle sechzehn zweistelligen Operationen darstellen zu k¨onnen. 2 ¨ Ubung 2.2. Zeigen Sie, dass f¨ ur jede Belegung 1 der aussagenlogischen Formeln α, β ∈ / 1 ∗ (α ∧ β) = 1 ∗ ((α →β)) (2.6) gilt! 2 Es gilt 1 ∗ (α ∧ β) = min¦ 1 ∗ (α), 1 −1 ∗ (β) ¦ = 1 −max¦ 1 −1 ∗ (α), 1 ∗ (β) ¦ wegen (2.1) = 1 −1 ∗ (α ∨ β) = 1 −1 ∗ (α →β) wegen (2.3) = 1 ∗ ((α →β)) 2.3.4 Erf¨ ullbarkeit aussagenlogischer Formeln F¨ ur die folgenden Definitionen, die Begriffe f¨ ur wichtige Eigenschaften aussagenlogischer Formeln festlegen, erweitern wir Belegungen von einzelnen Formeln auf Formelmengen. Sei T eine endliche Menge von Formeln aus /, dann sei V F die Menge der Variablen, die entsteht, wenn alle Variablen aller Formeln in T zu einer Menge zusammengefasst werden. Die Belegung 1 : V F →B ordnet dann jeder Variablen v ∈ V F eine Belegung 1(v) ∈ B zu. Wir verallgemeinern entsprechend 1 γ zu 1 F = B V F = ¦ 1 [ 1 : V F →B¦ und nennen 1 ∈ 1 F dann eine Belegung von T. Beispiel 2.4. F¨ ur die Formelmenge T 1 = ¦ p ∨ q, q ∧ r, (p ∧ q) ∨ (q → r) ¦ gilt V F1 = ¦ p, q, r ¦. W¨ahlt man etwa die Belegung 1(p) = 1(q) = 1 und 1(r) = 0, dann besitzen alle drei Formeln in T 1 den Wert 1. 2 Definition 2.1. Sei α ∈ / eine aussagenlogische Formel und T eine endliche Menge aussagenlogi- scher Formeln aus /. a) α heißt erf¨ ullbar genau dann, wenn eine Belegung 1 von α existiert mit 1 ∗ (α) = 1. Erf¨ ullbarkeit b) α heißt Tautologie oder allgemeing¨ ultig (auch g¨ ultig) genau dann, wenn f¨ ur jede Belegung 1 von Tautologie α gilt 1 ∗ (α) = 1. c) α heißt Kontradiktion oder widerspruchsvoll (auch unerf¨ ullbar) genau dann, wenn f¨ ur jede Bele- Kontradiktion gung 1 von α gilt 1 ∗ (α) = 0. d) T heißt erf¨ ullbar genau dann, wenn es eine Belegung 1 von T gibt, so dass 1 ∗ (γ) = 1 f¨ ur alle Modell γ ∈ T ist. 1 heißt ein Modell f¨ ur T. Gibt es zu T kein Modell, dann heißt T unerf¨ ullbar. 2 Unerf¨ ullbar- keit 2.4. LOGISCHE FOLGERUNG 21 Beispiel 2.5. a) Die Formeln p ∧ q und (p ∧ q) ∨ (q → r) sowie die Formel aus Beispiel 2.4 sind erf¨ ullbar aber keine Tautologien. b) Die Formeln p ∨ p und (p →q) ↔(p ∨ q) sind Tautologien. c) Die Formel p ∧ p ist eine Kontradiktion. d) Die Menge T 1 = ¦ p ∨ q, q ∧ r, (p ∧ q) ∨ (q → r) ¦ ist erf¨ ullbar, denn sie besitzt, wie bereits in Beispiel 2.4 festgestellt, das Modell 1(p) = 1(q) = 1, 1(r) = 0. e) Die Menge T 2 = ¦ p, p →q, q ¦ ist unerf¨ ullbar, denn sie besitzt kein Modell, da f¨ ur eine Belegung 1, f¨ ur die jede Formel in T 2 den Wert 1 haben soll, 1(p) = 1 und 1(q) = 0 sein muss. F¨ ur diese Belegung ist aber 1(p →q) = 0. Es gibt also keine Belegung, die T 2 erf¨ ullt. 2 Folgerung 2.2. a) Eine Formel ist genau dann erf¨ ullbar, wenn in der Ergebnisspalte ihrer Wahr- heitstafel mindestens eine 1 vorkommt. b) Eine Formel ist genau dann allgemeing¨ ultig, wenn in der Ergebnisspalte ihrer Wahrheitstafel nur Einsen vorkommen. c) Eine Formel ist genau dann widerspruchsvoll, wenn in der Ergebnisspalte ihrer Wahrheitstafel nur Nullen vorkommen. 2 2.4 Logische Folgerung F¨ ur das Beweisen von mathematischen Behauptungen ist der logische Folgerungsbegriff elementar. Diesen legt die folgende Definition fest. Definition 2.2. Sei α ∈ / eine aussagenlogische Formel und T eine endliche Menge aussagenlo- Logische Folgerung gischer Formeln aus /. α heißt logische Folgerung von T genau dann, wenn 1 ∗ (α) = 1 f¨ ur jedes Modell 1 von T ist. Wir schreiben T [= α und sprechen ” aus T folgt α (logisch)“. 2 Beispiel 2.6. a) F¨ ur T = ¦ p, q ¦ gilt T [= p ∧ q, denn f¨ ur jedes Modell 1 von T muss gelten 1(p) = 1 und 1(q) = 1, damit ist aber auch 1 ∗ (p ∧ q) = 1. b) F¨ ur T = ¦ p →q, q →r ¦ gilt T [= p →r, denn T besitzt die folgenden vier Modelle (1) 1(p) = 1 1(q) = 1 1(r) = 1 (2) 1(p) = 0 1(q) = 1 1(r) = 1 (3) 1(p) = 0 1(q) = 0 1(r) = 1 (4) 1(p) = 0 1(q) = 0 1(r) = 0 und f¨ ur alle diese Modelle gilt jeweils 1 ∗ (p →r) = 1. Aus den Formeln p →q und q →r folgt also logisch die Formel p →r. 2 Folgerung 2.3. Es sei T eine endliche Menge von aussagenlogischen Formeln und α, β ∈ / mit T [= α und T [= β. Dann gilt T [= α ∨ β. Beweis Sei 1 ein Model von T, welches α erf¨ ullt, d.h. es gilt 1 ∗ (α) = 1, und es sei 1 ein Model von T, welches β erf¨ ullt, d.h. es gilt 1 ∗ (β) = 1, dann gilt sowohl 1 ∗ (α ∨ β) = 1 als auch 1 ∗ (α ∨ β) = 1, d.h. alle Modelle von T erf¨ ullen α ∨ β. 2 22 KAPITEL 2. AUSSAGENLOGIK Der folgende Satz macht eine Aussage ¨ uber den Zusammenhang von Allgemeing¨ ultigkeit und Unerf¨ ullbarkeit von Formeln. Diese Aussage ist wichtig f¨ ur die Programmierung von automatischen Beweisern, welche die G¨ ultigkeit von Formeln nachweisen sollen. Satz 2.1. a) Eine Formel α ∈ / ist allgemeing¨ ultig genau dann, wenn α unerf¨ ullbar ist. b) Sei T = ¦ α 1 , α 2 , . . . , α n ¦ eine Menge aussagenlogischer Formeln und β ∈ /. Dann gilt T [= β genau dann, wenn ¦ α 1 , α 2 , . . . , α n , β ¦ unerf¨ ullbar ist. Beweis a) α ist allgemeing¨ ultig genau dann, wenn 1 ∗ (α) = 1 f¨ ur jede Belegung 1 der Variablen von α gilt. 1 ∗ (α) = 1 gilt genau dann, wenn 1 ∗ (α) = 1 −1 ∗ (α) = 0 gilt. F¨ ur jede Belegung 1 von α ist 1 ∗ (α) = 0 genau dann, wenn α unerf¨ ullbar ist. Damit haben wir die Behauptung gezeigt. b) Wir beweisen die Behauptung in zwei Schritten, indem wir zeigen: (i) Wenn T [= β gilt, dann ist ¦ α 1 , α 2 , . . . , α n , β ¦ unerf¨ ullbar. (ii) Wenn ¦ α 1 , α 2 , . . . , α n , β ¦ unerf¨ ullbar ist, dann gilt T [= β. Zu (i): Sei 1 ein Modell f¨ ur T, d.h. 1 ∗ (α i ) = 1 f¨ ur alle i. Da T [= β gilt, ist 1 ∗ (β) = 1 f¨ ur 1, d.h. 1 ∗ (β) = 0 f¨ ur 1. Somit gibt es also keine Belegung 1, f¨ ur die 1 ∗ (α i ) = 1 f¨ ur alle i und 1 ∗ (β) = 1 ist. Daraus folgt, dass ¦ α 1 , α 2 , . . . , α n , β ¦ unerf¨ ullbar ist. Zu (ii): Sei 1 ein Modell f¨ ur T, d.h. 1 ∗ (α i ) = 1 f¨ ur alle i. Da ¦ α 1 , α 2 , . . . , α n , β ¦ unerf¨ ullbar ist, kann 1 kein Modell f¨ ur β sein, d.h. es gilt 1 ∗ (β) = 0 und damit gilt 1 ∗ (β) = 1 f¨ ur die Belegung 1. Hieraus folgt, dass jedes Modell von T auch ein Modell von β ist, d.h. T [= β gilt. 2 Die Aussage a) des Satzes ist ein Spezialfall der Aussage b), wir brauchen nur T = ∅ zu w¨ahlen. Der Satz gibt im ¨ Ubrigen eine Beweismethode an: Um zu zeigen, dass die Behauptung β aus den Voraussetzungen T logisch folgt, kann man zeigen, dass die Negation der Behauptung mit den Voraussetzungen unvereinbar ist. Folgerung 2.4. a) α ∈ / ist allgemeing¨ ultig genau dann, wenn ∅ [= α gilt. 2 b) Ist T eine unerf¨ ullbare Menge von Formeln, dann gilt T [= α f¨ ur jede Formel α ∈ /. Dies bedeutet, dass man aus jeder unerf¨ ullbaren Formelmenge jede beliebige Formel folgern kann. Beweis a) F¨ ur T = ∅ besagt Satz 2.1 b), dass ∅ [= α genau dann gilt, wenn α unerf¨ ullbar ist. Nach Satz 2.1 a) ist α uner¨ ullbar genau dann, wenn α allgemeing¨ ultig ist. Insgesamt folgt: ∅ [= α gilt genau dann, wenn α allgemeing¨ ultig ist – was zu zeigen war. b) Sei T = ¦ α 2 , . . . , α n ¦ unerf¨ ullbar, d.h. T besitzt kein Modell 1. Wir betrachten nun f¨ ur ein α ∈ / zwei F¨alle: (i) α ist allgemeing¨ ultig und (ii) α ist nicht allgemeing¨ ultig. (i) Sei α ∈ /allgemeing¨ ultig, d.h. gem¨aß Satz 2.1 a) ist α unerf¨ ullbar. Es folgt, dass ¦ α 1 , . . . , α n , α¦ unerf¨ ullbar ist, woraus mit Satz 2.1 b) T [= α folgt. (ii) Sei nun α nicht allgemeing¨ ultig, d.h. α ist erf¨ ullbar, d.h. es gibt Modelle 1 f¨ ur α. Diese sind aber keine Modelle f¨ ur T, da T unerf¨ ullbar ist. Es folgt, dass ¦ α 1 , . . . , α n , α¦ unerf¨ ullbar ist. Daraus folgt mit Satz 2.1 b) T [= α. F¨ ur beide F¨alle kann also die Behauptung gezeigt werden. 2 Der n¨achste Satz gibt weitere Beweismethoden an: die Deduktion und die Modus ponens-Regel. 2 Anstelle von ∅ |= α schreibt man auch |= α. 2.4. LOGISCHE FOLGERUNG 23 Satz 2.2. a) F¨ ur jede Menge T = ¦ α 1 , α 2 , . . . , α n ¦ aussagenlogischer Formeln und f¨ ur alle Formeln β, γ ∈ / gilt ¦ α 1 , α 2 , . . . , α n , β ¦ [= γ genau dann, wenn T [= (β →γ) gilt. Deduktionstheorem b) F¨ ur alle Formeln α, β ∈ / gilt ¦ α, α →β ¦ [= β. Modus ponens- Regel Beweis a) Es gilt: ¦ α 1 , . . . , α n ¦ [= β →γ genau dann, wenn ¦ α 1 , . . . , α n , (β →γ) ¦ unerf¨ ullbar (wegen Satz 2.1 b) genau dann, wenn ¦ α 1 , . . . , α n , β ∧ γ ¦ unerf¨ ullbar (wegen ¨ Ubung 2.2) genau dann, wenn ¦ α 1 , . . . , α n , β, γ ¦ unerf¨ ullbar genau dann, wenn ¦ α 1 , . . . , α n , β ¦ [= γ (wegen Satz 2.1 b) b) Es gilt: ¦ α, α →β ¦ [= β genau dann, wenn ¦ α, α →β, β ¦ unerf¨ ullbar (wegen Satz 2.1 b) Da wegen Beispiel 2.5 e) ¦ α, α →β, β ¦ unerf¨ ullbar ist, ist die Behauptung gezeigt. 2 Definition 2.3. Gilt f¨ ur aussagenlogische Formeln α 1 , α 2 , . . . , α n und β, dass die Subjunktion (α 1 ∧ α 2 ∧ . . . ∧ α n ) → β eine Tautologie ist, dann heißt diese Subjunktion Implikation, und wir schreiben (α 1 ∧ α 2 ∧ . . . ∧ α n ) ⇒β und sprechen ” α 1 , α 2 , . . . , α n implizieren β“. 2 Implikation Beispiel 2.7. Es seien α, β, γ ∈ /. Rechnen Sie nach, dass die folgenden Implikationen gelten: a) Abschw¨achung der Nachbedingung: α ⇒(α ∨ β). Abschw¨achung der Nachbe- dingung b) Versch¨arfung der Vorbedingung: (α ∧ β) ⇒α. Versch¨arfung der Vorbe- dingung c) Kettenschluss: (α →β) ∧ (β →γ) ⇒(α →γ). 2 Kettenschluss Der folgende Satz besagt, dass die logische Folgerung und die Implikation in dem Sinne ¨aquiva- lente Folgerungsbegriffe sind, als dass die logische Folgerung ¦ α 1 , α 2 , . . . , α n ¦ [= β auch nachgewiesen werden kann, indem man zeigt, dass die Implikation (α 1 ∧ α 2 ∧ . . . ∧ α n ) ⇒β gilt, und umgekehrt. Satz 2.3. F¨ ur die aussagenlogischen Formeln α 1 , α 2 , . . . , α n und β gilt ¦ α 1 , α 2 , . . . , α n ¦ [= β genau dann, wenn (α 1 ∧ α 2 ∧ . . . ∧ α n ) ⇒β gilt. Beweis Wir setzen T = ¦ α 1 , α 2 , . . . , α n ¦ und zeigen: (i) Wenn T [= β gilt, dann gilt auch (α 1 ∧ α 2 ∧ . . . ∧ α n ) ⇒β. 24 KAPITEL 2. AUSSAGENLOGIK (ii) Wenn (α 1 ∧ α 2 ∧ . . . ∧ α n ) ⇒β gilt, dann auch T [= β. Zu (i): F¨ ur alle Modelle 1 von T ist 1 ∗ (α i ) = 1 f¨ ur 1 ≤ i ≤ k. F¨ ur diese Modelle muss, da T [= β vorausgesetzt ist, 1 ∗ (β) = 1 sein. F¨ ur diese Belegungen ist die Subjunktion (α 1 ∧α 2 ∧. . . ∧α n ) →β immer wahr. F¨ ur Belegungen von T, die keine Modelle sind, ist 1 ∗ (α i ) = 0 f¨ ur mindestens ein i. Dann gilt 1 ∗ (α 1 ∧α 2 ∧. . . ∧α n ) = 0 und damit ist die Subjunktion (α 1 ∧α 2 ∧. . . ∧α n ) →β ebenfalls wahr und zwar unabh¨angig vom Wert von β. Die Subjunktion (α 1 ∧ α 2 ∧ . . . ∧ α n ) →β ist also in jedem Falle wahr und damit eine Implikation, was zu zeigen war. Zu (ii): (α 1 ∧ α 2 ∧ . . . ∧ α n ) → β ist eine Tautologie genau dann, wenn entweder alle α i und β den Wert 1 haben oder mindestens ein α i den Wert 0 hat. Hieraus folgt, dass in beiden F¨allen die Formelmenge ¦ α 1 , α 2 , . . . , α n , β ¦ unerf¨ ullbar ist. Gem¨aß Satz 2.1 b) folgt daraus, dass T [= β gilt, was zu zeigen war. 2 2.5 Kalk¨ ule Die beiden bisher vorgestellten Folgerungsbegriffe, logische Folgerung (Definition 2.2) und Impli- kation (Definition 2.3), sind semantische Folgerungsbegriffe. Das soll heißen, dass in beiden F¨allen die Werte der beteiligten Formeln berechnet werden m¨ ussen um zu entscheiden, ob die gegebenen Formeln eine logische Folgerung bzw. eine Implikation bilden. Es ist also notwendig, die Interpreta- tionen der beteiligten Formeln bzw. die Wahrheitstafel der betreffenden Subjunktion zu betrachten. Wir wollen nun eine andere M¨oglichkeit der Folgerung, die syntaktische Folgerung, betrachten. Syntaktische Folgerung heißt, dass eine Folgerung vorgenommen wird, ohne die Semantik der betei- ligten Formeln, sei es durch Interpretationen oder sei es durch die Wahrheitstafel, zu berechnen. Die Folgerung geschieht, indem in einer Formel Teilformeln durch andere Formeln ersetzt werden. Die Ersetzung von Formeln geschieht dabei mithilfe sogenannter Ableitungsregeln, auch Inferenzregeln genannt. Definition 2.4. a) Seien α 1 , α 2 , . . . , α n und β ausagenlogische Formeln, f¨ ur die die Implikation Ableitungsregel Inferenzregel (α 1 ∧ α 2 ∧ . . . ∧ α n ) ⇒β gilt. Dann heißt α 1 , α 2 , . . . , α n β Ableitungs- oder Inferenzregel. b) Sei γ eine aussagenlogische Formel, T = ¦ α 1 , α 2 , . . . , α n ¦ eine Menge aussagenlogischer Formeln, ¦ β 1 , β 2 , . . . , β k ¦ irgendeine Auswahl von Formeln aus T und ¦ γ 1 , γ 2 , . . . , γ m , ¦ die Menge der nicht ausgew¨ahlten Formeln aus T sowie β1,β2,...,β k γ eine Inferenzregel, dann heißt ¦ γ 1 , γ 2 , . . . , γ m , γ ¦ ableitbar aus T, und wir schreiben T ¬ ¦γ 1 , γ 2 , . . . , γ m , γ¦. c) Eine aussagenlogische Formel γ ist ableitbar aus einer Menge T von aussagenlogischen Formeln, Logische Ableitung falls es Mengen aussagenlogischer Formeln T 1 , T 2 , . . ., T r , r ≥ 0, gibt mit: T ¬ T 1 ¬ T 2 ¬ . . . ¬ T r ¬ ¦γ¦ Wir notieren dann T ¬ γ und sagen, dass γ logisch aus T ableitbar ist. 2 2.5. KALK ¨ ULE 25 Beispiel 2.8. Es seien α, β, γ ∈ /. a) - d) sind Beispiele f¨ ur Ableitungsregeln. e) ist ein Beispiel f¨ ur eine logische Ableitung mithilfe der Regeln a) und b). a) Modus ponens-Regel: α, α→β β (siehe auch Satz 2.2 b). Modus po- nens b) Modus tollens-Regel: α→β, ¬β ¬α . Modus tol- lens c) Reductio ad absurdum-Regel: (γ∨α)→β, (γ∨α)→¬β ¬α . Reductio ad absurdum d) Kettenschluss: α→β,β→γ α→γ (siehe auch Beispiel 2.7 c auf Seite 23). Kettenschluss e) Es gilt ¦ α →β, β, α →γ ¦ ¬ ¦ α, α →γ ¦ ¬ ¦γ¦ und damit ¦ α →β, β, α →γ ¦ ¬ γ Die erste Ableitung erfolgt mithilfe der Modus tollen-Regel, die zweite mithilfe der Modus ponens- Regel. 2 Die logische Ableitung geschieht also, indem eine Menge von aussagenlogischen Formeln auf- grund von Inferenzregeln oder bereits durchgef¨ uhrten logischen Ableitungen ver¨andert wird. Dabei wird die Semantik der Formeln bei keinem Ableitungschritt betrachtet. Die korrekte Semantik wird nur – einmalig – f¨ ur die benutzten Inferenzregeln vorausgesetzt (Definition 2.4 a). Solche syntaktischen Ableitungssysteme werden auch Kalk¨ ule genannt. Kalk¨ ule sind gut geeignet f¨ ur die Logischer Kalk¨ ul Programmierung von logischen Schlussfolgerungsmechanismen auf Rechnern. Dabei sollte ein aus- sagenlogischer Kalk¨ ul den folgenden beiden Qualit¨atskriterien mindestens gen¨ ugen: • Widerspruchsfreiheit (auch Korrektheit): Jede mit dem Kalk¨ ul ableitbare Formel ist eine lo- Widerspruchs- freiheit Korrektheit gische Folgerung. Ist also T eine Menge aussagenlogischer Formeln, α eine aussagenlogische Formel und gilt T ¬ α, dann folgt, dass auch T [= α gilt. Der Kalk¨ ul kann also keine Folge- rungen produzieren, die semantisch nicht korrekt sind. Mit Folgerung 2.4 (siehe Seite 22) gilt f¨ ur einen widerspruchsfreien Kalk¨ ul: Alle ableitbaren Formeln sind allgemeing¨ ultig, d.h., gilt ¬ α, dann gilt auch [= α. • Vollst¨andigkeit: Jede logische Folgerung ist auch mit dem Kalk¨ ul ableitbar. Ist also T eine Vollst¨andig- keit Menge aussagenlogischer Formeln, α eine aussagenlogische Formel und gilt T [= α, dann folgt, dass auch T ¬ α gilt. Der Kalk¨ ul kann also alle logischen Folgerungen syntaktisch ableiten. Mit Folgerung 2.4 gilt f¨ ur einen vollst¨andigen Kalk¨ ul: Alle allgemeing¨ ultigen Formeln sind ableitbar, d.h., gilt [= α, dann gilt auch ¬ α. F¨ ur einen widerspruchsfreien und vollst¨andigen aussagenlogischen Kalk¨ ul gilt also T ¬ α genau dann, wenn T [= α gilt, bzw. ¬ α gilt genau dann, wenn [= α gilt. In Abschnitt 2.8 stellen wir einen widerspruchsfreien und vollst¨andigen Kalk¨ ul f¨ ur die Aussa- genlogik vor. 26 KAPITEL 2. AUSSAGENLOGIK 2.6 Aussagenlogische ¨ Aquivalenzen Interessant f¨ ur ” das Rechnen“ mit aussagenlogischen Formeln ist, in ihnen Teilformeln durch gleich- wertige Teilformeln ersetzen zu k¨onnen, um ” kalk¨ ulm¨aßig“ – also rein syntaktisch – Formeln in gleichwertige Formeln transformieren zu k¨onnen. Dazu m¨ ussen wir zun¨achst die Gleichwertigkeit oder ¨ Aquivalenz von aussagenlogischen Formeln definieren. Definition 2.5. Zwei aussagenlogische Formeln α, β ∈ / heißen logisch ¨aquivalent, falls f¨ ur jede Aussagenlogische ¨ Aquivalenz Belegung 1 von α und β gilt: 1 ∗ (α) = 1 ∗ (β). Schreibweise: α ≡ β. 2 Beispiel 2.9. Aus Folgerung 2.1 a) (Seite 19) folgt unmittelbar, dass f¨ ur α, β ∈ / folgende ¨ Aqui- valenzen gelten: α →β ≡ α ∨ β α ↔β ≡ (α →β) ∧ (β →α) α ⊕β ≡ (α ∧ β) ∨ (α ∧ β) Der folgende Satz listet wichtige aussagenlogische ¨ Aquivalenzen auf. Satz 2.4. Es seien α, β, γ ∈ / aussagenlogische Formeln. Dann gelten die auf Seite 27 in Tabelle 2.4 aufgelisteten ¨ Aquivalenzen: ¨ Ubung 2.3. Beweisen Sie die im Satz 2.4 aufgelisteten logischen ¨ Aquivalenzen! 2 Definition 2.6. Gilt f¨ ur aussagenlogische Formeln α und β, dass die Bijunktion α ↔ β eine ¨ Aquivalenz Tautologie ist, dann heißt diese Bijunktion eine ¨ Aquivalenz, und wir schreiben α ⇔β. 2 Dass die logische ¨ Aquivalenz (siehe Definition 2.5) und die ¨ Aquivalenz (Definition 2.6) gleich- bedeutend sind, besagt der folgende Satz (vergleiche auch Satz 2.3 auf Seite 23). Satz 2.5. Seien α, β ∈ / aussagenlogische Formeln, dann gilt α ≡ β genau dann, wenn α ⇔β gilt, und genau dann, wenn [= α ⇔β gilt ¨ Ubung 2.4. Beweisen Sie Satz 2.5! 2 Satz 2.6. a) Seien α, β ∈ / mit α ≡ β, und sei γ ∈ / eine aussagenlogische Formel, die α als Teilformel enth¨alt. γ sei eine Formel, die aus γ entsteht, indem α durch β ersetzt wird. Dann gilt: γ ≡ γ . b) Eine aussagenlogische Formel α ∈ / ist allgemeing¨ ultig genau dann, wenn α ≡ 1 (oder α ⇔1) gilt. 2 ¨ Ubung 2.5. Beweisen Sie Satz 2.6! 2 Der Satz 2.6 bildet zusammen mit den in Satz 2.4 (Tabelle 2.4) aufgelisteten ¨ Aquivalenzen die M¨oglichkeit, die ¨ Aquivalenz von aussagenlogischen Formeln bzw. die Allgemeing¨ ultigkeit von aussagenlogischen Formeln rein syntaktisch durch Ersetzen von Teilformeln durch ¨aquivalente nach- zuweisen. 2.6. AUSSAGENLOGISCHE ¨ AQUIVALENZEN 27 α ≡ α →0 (Einf¨ uhrung der Negation) α ≡ α (Doppelte Negation) α ∨ α ≡ α (Idempotenz) α ∧ α ≡ α α ∨ β ≡ β ∨ α (Kommutativit¨at) α ∧ β ≡ β ∧ α α ∨ (β ∨ γ) ≡ (α ∨ β) ∨ γ (Assoziativit¨at) α ∧ (β ∧ γ) ≡ (α ∧ β) ∧ γ α ∨ (β ∧ γ) ≡ (α ∨ β) ∧ (α ∨ γ) (Distributivit¨at) α ∧ (β ∨ γ) ≡ (α ∧ β) ∨ (α ∧ γ) α ∨ (α ∧ β) ≡ α (Absorption) α ∧ (α ∨ β) ≡ α (α ∨ β) ≡ α ∧ β (De Morgansche Regeln) (α ∧ β) ≡ α ∨ β 1 ∨ α ≡ 1 (Tautologieregeln) 1 ∧ α ≡ α α ∨ α ≡ 1 0 ∨ α ≡ α (Unerf¨ ullbarkeitsregeln) 0 ∧ α ≡ 0 α ∧ α ≡ 0 Tabelle 2.1: Aussagenlogische ¨ Aquivalenzen. 28 KAPITEL 2. AUSSAGENLOGIK Beispiel 2.10. Seien α, β, γ ∈ /. Wir zeigen rein syntaktisch, dass die aussagenlogische Formel (α →β) ∨ (β →γ) allgemeing¨ ultig ist: (α →β) ∨ (β →γ) ⇔(α ∨ β) ∨ (β ∨ γ) (gem¨aß Definition der Subjunktion) ⇔α ∨ (β ∨ β) ∨ γ (wegen der Assoziativit¨at der Disjunktion) ⇔α ∨ 1 ∨ γ (wegen der Tautologieregel) ⇔(α ∨ γ) ∨ 1 (wegen Kommutativit¨at und Assoziativit¨at) ⇔1 (wegen der Tautologieregel) 2.7 Normalformen und aussagenlogische Basen Wir kennen bisher folgende f¨ unf zweistellige Verkn¨ upfungen: Disjunktion ∨, Konjunktion ∧, Sub- junktion →, Bijunktion ↔ und Exklusives Oder ⊕. F¨ ur die weiteren Betrachtungen f¨ uhren wir f¨ ur α, β ∈ / noch zwei weitere Verkn¨ upfungen ein: α ↑ β (NAND) und α ↓ β (NOR) definiert durch NAND NOR α β α ↑ β 1 1 0 1 0 1 0 1 1 0 0 1 bzw. α β α ↓ β 1 1 0 1 0 0 0 1 0 0 0 1 Folgerung 2.5. F¨ ur aussagenlogische Formeln α, β ∈ / gilt: a) α ↑ β ⇔(α ∧ β). b) α ↓ β ⇔(α ∨ β). 2 ¨ Ubung 2.6. Beweisen Sie die Aussagen in Folgerung 2.5! 2 In Folgerung 2.1 b) (Seite 19) haben wir bereits ¨ uberlegt, wie viele zweistellige Verkn¨ upfungen es geben kann. Der folgende Satz verallgemeinert diese Aussage und beantwortet die Frage, wie viele n-stellige Verkn¨ upfungen es prinzipiell geben kann. Satz 2.7. Es gibt 2 2 n n-stellige aussagenlogische Verkn¨ upfungen. Beweis Eine Wahrheitstafel besitzt f¨ ur n aussagenlogische Variablen 2 n Zeilen, da jede Variable die Werte 0 oder 1 annehmen kann. Jede dieser 2 n Zeilen kann als Ergebnis (in der letzten Spalte) ebenfalls die Werte 0 oder 1 haben. Das bedeutet, dass es genau 2 2 n verschiedene Ergebnisspalten gibt. Also gibt es prinzipiell 2 2 n verschiedene n-stellige aussagenlogische Verkn¨ upfungen. 2 Folgerung 2.6. Als Spezialfall gilt f¨ ur n = 2, dass es, wie wir bereits in Folgerung 2.1 b) festgestellt haben, 2 2 2 = 16 verschiedene zweistellige aussagenlogische Verkn¨ upfungen gibt. 2 2.7. NORMALFORMEN UND AUSSAGENLOGISCHE BASEN 29 Wir gehen nun auf die bereits in Folgerung 2.1 b) gestellte Frage ein, ob man tats¨achlich 16 verschiedene zweistellige Operationen braucht oder ob man einige Operationen mithilfe anderer ¨aquivalent darstellen kann. Nicht nur theoretisch, sondern auch aus praktischen Gr¨ unden ist diese Fragestellung von Interesse. So ist z.B. im Hinblick auf den Entwurf logischer Schaltungen die Frage nach einer minimalen Anzahl logischer Grundbausteine interessant, mit der alle logischen Schaltungen realisierbar sind. Beispiel 2.11. a) Es seien α, β ∈ / aussagenlogische Formeln. Aus Folgerung 2.1 a) (Seite 19) kennen wir folgende ¨ Aquivalenzen: (α →β) ⇔(α ∨ β) (α ↔β) ⇔((α →β) ∧ (β →α)) ⇔((α ∨ β) ∧ (β ∨ α)) (α ⊕β) ⇔((α ∧ β) ∨ (α ∧ β)) Subjunktion, Bijunktion und exklusives Oder sind also durch Negation, Disjunktion und Konjunk- tion darstellbar. b) Mithilfe der Doppelten Negation und der De Morganschen Regeln (siehe Satz 2.4 bzw. Tabelle 2.4, Seite 27) gelten die folgenden ¨ Aquivalenzen: α ∧ β ⇔(α ∧ β) ⇔(α ∨ β) (2.7) α ∨ β ⇔(α ∨ β) ⇔(α ∧ β) (2.8) Die Konjunktion l¨asst sich also durch Negation und Disjunktion, die Disjunktion durch Negation und Konjunktion darstellen. c) Mithilfe von Idempotenz (siehe Satz 2.4) und Folgerung 2.5 b) (Seite 28) gilt α ⇔(α ∨ α) ⇔α ↓ α (2.9) Die Negation l¨asst sich also durch NOR ausdr¨ ucken. d) Mithilfe von ¨ Aquivalenz (2.7), Folgerung 2.5 b) und der ¨ Aquivalenz (2.9) gilt α ∧ β ⇔(α ∨ β) ⇔α ↓ β ⇔(α ↓ α) ↓ (β ↓ β) Die Konjunktion l¨asst sich also alleine durch NOR ausdr¨ ucken. ¨ Ubung 2.7. Zeigen Sie: a) Die Negation l¨asst sich alleine durch NAND ausdr¨ ucken. b) Die Konjunktion l¨asst sich alleine durch NAND ausdr¨ ucken. c) Die Disjunktion l¨asst sich alleine durch NOR ausdr¨ ucken. d) Die Disjunktion l¨asst sich alleine durch NAND ausdr¨ ucken. 2 Definition 2.7. Eine Menge O aussagenlogischer Verkn¨ upfungen heißt aussagenlogische Basis, Aussagenlogische Basis falls sich jede aussagenlogische Formel ¨aquivalent in eine aussagenlogische Formel transformieren l¨asst, welche nur Verkn¨ upfungen aus O enth¨alt. 2 Auf die oben gestellten Fragen gibt nun der folgende Satz eine Antwort. 30 KAPITEL 2. AUSSAGENLOGIK Satz 2.8. Die folgenden Mengen aussagenlogischer Verkn¨ upfungen bilden aussagenlogische Basen: 3 Boolesche Basis ¦ , ∨, ∧¦ De Morgan-Basis ¦, ∨¦ und ¦, ∧¦ Frege-Basis ¦, →¦ NOR-Basis ¦↓¦ NAND-Basis ¦↑¦ ¨ Ubung 2.8. Beweisen Sie Satz 2.8! 2 Definition 2.8. a) Eine aussagenlogische Formel α ∈ / ist in disjunktiver Normaform (DNF), Disjunktive Normalform falls gilt: α = α 1 ∨. . . ∨α n mit α i = p i1 ∧. . . ∧p iki , 1 ≤ i ≤ n, wobei alle p ij , 1 ≤ j ≤ k i , 1 ≤ i ≤ n, Literale sind. b) Eine aussagenlogische Formel α ∈ / ist in konjunktiver Normaform (KNF), falls gilt α = Konjunktive Normalform α 1 ∧. . . ∧α n mit α i = p i1 ∨. . . ∨p iki , 1 ≤ i ≤ n, wobei alle p ij , 1 ≤ j ≤ k i , 1 ≤ i ≤ n, Literale sind. 2 Beispiel 2.12. Die Formel α = (p ∧ q ∧ r) ∨ (p ∧ q) ∨ (p ∧ q ∧ r) ∨ (q ∧ r) ist ein Beispiel f¨ ur eine Formel in disjunktiver Normalform. Die Formel β = (p ∨ q ∨ r) ∧ (p ∨ q) ∧ (p ∨ q ∨ r) ist ein Beispiel f¨ ur eine Formel in konjunktiver Normalform. 2 Eine Formel in disjunktiver Normalform ist also eine Disjunktion von Konjunktionen von Lite- ralen, eine Formel in konjunktiver Normalform entsprechend eine Konjunktion von Disjunktionen von Literalen. Satz 2.9. a) Jede aussagenlogische Formel l¨asst sich in eine ¨aquivalente aussagenlogische Formel in disjunktiver Normalform transformieren. b) Jede aussagenlogische Formel l¨asst sich in eine ¨aquivalente aussagenlogische Formel in konjunk- tiver Normalform transformieren. 2 ¨ Ubung 2.9. Beweisen Sie Satz 2.9! 2 Satz 2.10. Ersetzt man in einer aussagenlogischen Formel α ∈ /, in der nur die Operatoren , Dualit¨ats- prinzip der Aussa- genlogik ∨ und ∧ vorkommen, jedes Vorkommen von ∧ durch ∨, jedes Vorkommen von ∨ durch ∧, jedes Vorkommen von 0 durch 1, jedes Vorkommen von 1 durch 0 sowie jedes Vorkommen eines Literals durch seine Negation, dann gilt f¨ ur die so entstehende Formel β: α ⇔β. ¨ Ubung 2.10. Beweisen Sie Satz 2.10! 2 3 Die Frege-Basis ist benannt nach dem Mathematiker, Logiker und Philosoph Gottlob Frege (1848 - 1925). Dieser lieferte bedeutende Betr¨age zur mathematischen Grundlagenforschung und beeinflusste durch seine sprachanalyti- schen Untersuchungen Philosophie und Linguistik. Frege gilt als Begr¨ under der modernen Logik. In seiner Arbeit ” Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens“ stellte er als Erster einen leistungsf¨ahigen Kalk¨ ul f¨ ur die Pr¨adikatenlogik vor. Die Boolesche Basis ist nach George Boole und die De Morgan-Basis ist nach Augustus de Morgan benannt, zu beiden werden in Kapitel 6 bzw. in Kapitel 5 noch Angaben gemacht. 2.8. RESOLUTIONSKALK ¨ UL 31 Folgerung 2.7. Sei α ∈ / eine aussagenlogische Formel, dnf(α) ihre disjunktive und knf(α) ihre konjunktive Normalform, dann gilt dnf(α) ⇔knf(α) sowie knf(α) ⇔dnf(α) ¨ Ubung 2.11. Beweisen Sie Folgerung 2.7! 2 2.8 Resolutionskalk¨ ul Im Abschnitt 2.5 haben wir grundlegende Begriffe f¨ ur Kalk¨ ule und wesentliche Eigenschaften von Kalk¨ ulen kennen gelernt. Wir wollen nun kurz auf den Resolutionskalk¨ ul eingehen, der in der Logi- schen Programmierung und in der K¨ unstlichen Intelligenz eine wichtige Rolle spielt. Der Resoluti- onskalk¨ ul ist ein widerspruchsfreier und vollst¨andiger Kalk¨ ul, mit dem die (Un-) Erf¨ ullbarkeit einer Menge von Klauseln nachgewiesen werden kann. Definition 2.9. Sei Klausel α = (p 11 ∨ . . . ∨ p 1k1 ) ∧ . . . ∧ (p n1 ∨ . . . ∨ p nkn ) die in konjunktiver Normalform gegebene aussagenlogische Formel α ∈ /. Dann heißen die Mengen ¦p i1 , . . . , p iki ¦, 1 ≤ i ≤ n, der jeweils disjunktiv verkn¨ upften Literale die Klauseln von α, und die Menge ihrer Klauseln Klauselmenge M α = ¦ ¦ p 11 , . . . , p 1k1 ¦, . . . , ¦ p n1 , . . . , p nkn ¦ ¦ heißt Klauselmenge von α. 2 Beispiel 2.13. F¨ ur die Formel β aus Beispiel 2.12 (Seite 30) gilt: M β = ¦ ¦ p, q, r ¦, ¦ p, q ¦, ¦ p, q, r ¦ ¦ Satz 2.11. Seien α 1 und α 2 zwei ¨aquivalente aussagenlogische KNF-Formeln mit V α1 = V α2 . Dann gilt M α1 = M α2 . 2 Beispiel 2.14. Die folgenden drei Formeln sind ¨aquivalent α 1 = (p ∨ p) ∧ (q ∨ r) α 2 = (r ∨ q) ∧ p α 3 = p ∧ (q ∨ r ∨ q) und es gilt M α1 = M α2 = M α3 = ¦ ¦p¦, ¦ q, r ¦ ¦. 2 Eine Klauselmenge abstrahiert von ¨aquivalenten Umformungen mit Kommutativit¨ats-, Assozia- tivit¨ats- und Dsitributivit¨atsregeln. Da es sich bei der Klauselmenge einer Formel also nur um eine andere Darstellung dieser For- mel handelt, k¨onnen die Begriffe Belegung, Interpretation, Ableitungsregel, (Un-) Erf¨ ullbarkeit, Folgerung und ¨ Aquivalenz auf Klauselmengen entsprechend ¨ ubertragen werden. In Vorbereitung auf die folgenden ¨ Uberlegungen betrachten wir folgendes Beispiel. 32 KAPITEL 2. AUSSAGENLOGIK Beispiel 2.15. Es sei α = (p ∨ q ∨ r) ∧ (r ∨ s) Es ist also M α = ¦ ¦ p, q, r ¦, ¦ r, s ¦ ¦ Ist α bzw. M α erf¨ ullbar? M α ist erf¨ ullbar genau dann, wenn beide Klauseln K 1 = ¦ p, q, r ¦ und K 2 = ¦ r, s ¦ erf¨ ullbar sind. Beide Klauseln sind erf¨ ullbar genau dann, wenn 1(p) = 1 oder 1(q) = 1 und jedem Fall 1(s) = 0 gesetzt wird. Die Belegung des Literals r ist f¨ ur die Erf¨ ullbarkeit von K 1 und K 2 unerheblich, da r in K 1 und die Negation r in K 2 auftritt. r und r ” neutralisieren“ sich quasi hinsichtlich der Erf¨ ullbarkeit von M α . Aus unserer ¨ Uberlegung folgt, dass M α genau dann erf¨ ullbar ist, wenn die Klauselmenge M α = ¦ ¦ p, q, r ¦, ¦ r, s ¦, ¦ p, q, s ¦ ¦ erf¨ ullbar ist, es ist also M α ≡ M α . 2 Diese beispielhafte ¨ Uberlegung ist die Grundlage f¨ ur folgende Ableitungsregel, auf welcher der Resolutionskalk¨ ul basiert. Definition 2.10. Die Resolution erfolgt mithilfe der Ableitungregel Resolution p 1 ∨ . . . ∨ p m ∨ r, q 1 ∨ . . . ∨ q n ∨ r p 1 ∨ . . . ∨ p m ∨ q 1 ∨ . . . ∨ q n oder in ” Klauselnotation“ ¦ p 1 , . . . , p m , r ¦, ¦ q 1 , . . . , q n , r ¦ ¦ p 1 , . . . , p m , q 1 , . . . , q n ¦ Aus schreibtechnischen Gr¨ unden f¨ uhren wir eine neue Schreibweise ein: F¨ ur die Klauselmengen K 1 = ¦ p 1 , . . . , p m , r ¦ und K 2 = ¦ q 1 , . . . , q n , r ¦ ist Resolvente K = ¦ p 1 , . . . , p m , q 1 , . . . , q n ¦ eine Resolvente von K 1 und K 2 . Schreibweise: K = R(K 1 , K 2 ). 2 Beispiel 2.16. a) Es seien K 1 = ¦ p, q, r ¦ und K 2 = ¦ r, s ¦ die beiden Klauseln aus Beispiel 2.15 (Seite 32), dann ist R(K 1 , K 2 ) = ¦ p, q, s ¦ die einzige Resolvente von K 1 und K 2 . b) Es sei K 1 = ¦ p, q, r ¦ und K 2 = ¦ q, r ¦, dann sind R(K 1 , K 2 ) = ¦ p, r, r ¦ sowie R(K 2 , K 1 ) = ¦ p, q, q ¦ m¨ogliche Resolventen von K 1 und K 2 . c) Die Resolvente von K 1 = ¦p¦ und K 2 = ¦p¦ ist leer: R(K 1 , K 2 ) = ∅. 2 Bemerkung 2.1. Zu beachten ist, dass die Definition 2.10 immer nur das Resolvieren genau eines Literals zul¨asst. Zwei Klauseln k¨onnen also mehrere verschiedene Resolventen haben (siehe Beispiel 2.16 b). 2 2.8. RESOLUTIONSKALK ¨ UL 33 Satz 2.12. Sei α ∈ / in konjunktiver Normalform, K 1 , K 2 ∈ M α seien Klauseln von α und Resolutionslemma K = R(K 1 , K 2 ) eine Resolvente von K 1 und K 2 . Dann gilt M α ≡ M α ∪ ¦K¦. Dabei ist M α ∪ ¦K¦ die Menge von Klauseln bestehend aus allen Klauseln von M α und der Klausel K. Beweis Es sei K 1 = ¦ p 1 , . . . , p m , r ¦, K 2 = ¦ q 1 , . . . , q n , r ¦ sowie K = R(K 1 , K 2 ) = ¦ p 1 , . . . , p m , q 1 , . . . , q n ¦ Es ist offensichtlich, dass, wenn 1 ein Modell f¨ ur M α ∪ ¦K¦ ist, dann ist 1 auch ein Modell f¨ ur M α . Ist umgekehrt 1 ein Modell f¨ ur M α , dann ist 1 auch ein Modell f¨ ur jede Klausel in M α , also auch f¨ ur die Klauseln K 1 und K 2 . Wir betrachten zwei F¨alle: (1) 1(r) = 1 sowie (2) 1(r) = 0. Zu (1), 1(r) = 1: Dann ist 1(r) = 0 und da 1 Modell f¨ ur K 2 ist, muss 1 ein Modell f¨ ur ¦ q 1 , . . . , q n ¦ sein, und damit ist 1 ein Modell f¨ ur K = ¦ p 1 , . . . , p m , q 1 , . . . , q n ¦. Zu (2), 1(r) = 0: Dann muss, da 1 Modell f¨ ur K 1 ist, 1 auch ein Modell f¨ ur ¦ p 1 , . . . , p m ¦ sein, und damit ist 1 ein Modell f¨ ur K = ¦ p 1 , . . . , p m , q 1 , . . . , q n ¦. In jedem Fall ist also ein Modell 1 von M α auch ein Modell f¨ ur K und damit f¨ ur M α ∪ ¦ K¦.2 Wir definieren nun die fortgesetzte Anwendung des Resolutionsoperators R auf eine Klausel- menge. Definition 2.11. Sei M α die Klauselmenge einer aussagenlogischen Formel α ∈ / in konjunktiver Normalform. Dann gilt R(M α ) = M α ∪ ¦ R(K 1 , K 2 ) [ K 1 , K 2 ∈ M α ¦ Dabei bedeutet M α ∪ ¦ R(K 1 , K 2 ) [ K 1 , K 2 ∈ M α ¦, dass zur Klauselmenge M α alle m¨oglichen Resolventen von allen m¨ogichen Paaren von Klauseln aus M α hinzugef¨ ugt werden. Wir wenden nun den Operator R wiederholt auf M α an: R 0 (M α ) = M α R n+1 (M α ) = R(R n (M α )), n ≥ 0 R(M α ) bedeutet also die Anwendung des Operators R auf alle Paare von Klauseln aus M α , und f¨ ur k ∈ N 0 bedeutet R k (M α ), dass der R Operator k-mal angewendet wird, zun¨achst auf M α , dann auf das Ergebnis dieser Anwendung, dann auf dessen Ergebnis usw.: R k (M α ) = R(R(. . . R . ¸¸ . k-mal (M α ) . . .)) Aus dem Resolutionslemma (Satz 2.12, Seite 33) folgt unmittelbar Folgerung 2.8. Sei M α die Klauselmenge einer aussagenlogischen Formel α ∈ / in konjunktiver Normalform. Dann gilt a) M α ≡ R i (M α ) f¨ ur alle i ≥ 0, b) R i (M α ) ≡ R j (M α ) f¨ ur alle i, j ≥ 0. 2 Beispiel 2.17. Wir betrachten die Formel α = (r ∨ p ∨ q) ∧ (p ∨ q ∨ r) ∧ (q ∨ p) 34 KAPITEL 2. AUSSAGENLOGIK Es ist also M α = ¦ ¦ p, q, r ¦, ¦ p, q, r ¦, ¦ p, q ¦¦. Es gilt: R(M α ) = ¦ ¦ p, q, r ¦, ¦ p, q, r ¦, ¦ p, q ¦, ¦ p, q ¦, ¦ p, r ¦, ¦ p, r ¦ ¦ R 2 (M α ) = R(R(M α )) = ¦ ¦ p, q, r ¦, ¦ p, q, r ¦, ¦ p, q ¦, ¦ p, q ¦, ¦ p, r ¦, ¦ p, r ¦, ¦p¦ ¦ R 3 (M α ) = R(R 2 (M α )) = ¦ ¦p, q, r ¦, ¦ p, q, r ¦, ¦ p, q ¦, ¦ p, q ¦, ¦ p, r ¦, ¦ p, r ¦, ¦p¦ ¦ Es ist also R 3 (M α ) = R 2 (M α ) und damit R l (M α ) = R 2 (M α ) f¨ ur alle l ≥ 2. Nach zweimaligem Anwenden des Operators wird die Klauselmenge station¨ar, d.h. ver¨andert sich nicht mehr. 2 Dass die fortgesetzte Anwendung des Operators R auf eine Klauselmenge nach endlich vielen Schritten station¨ar wird, d.h. keine neuen Klauseln mehr produziert, ist einsichtig, denn bei jeder Anwendung von R kommen h¨ochstens Klauseln hinzu, die ein Literal weniger enthalten. Da es nur endlich viele Klauseln und in jeder Klausel nur endlich viele Literale gibt, muss dieser Prozess stoppen. Es gilt der folgende Satz. Satz 2.13. Sei M α Klauselmenge einer aussagenlogischen Formel α ∈ / in konjunktiver Normal- form. Dann gibt es ein t ∈ N 0 , so dass R t (M α ) = R l (M α ) ist f¨ ur alle l ≥ t. 2 Die Klauselmenge R t (M α ), f¨ ur die R t (M α ) = R l (M α ) f¨ ur alle l ≥ t gilt, bezeichnen wir mit R ∗ (M α ). Beispiel 2.18. Im obigen Beispiel 2.17 gilt: R ∗ (M α ) = R 2 (M α ). 2 Aus dem Satz 2.13 und dem Resolutionslemma, Satz 2.12 (Seite 33), folgt unmittelbar Folgerung 2.9. Sei M α Klauselmenge einer aussagenlogischen Formel α ∈ / in konjunktiver Normalform, dann ist a) M α ≡ R ∗ (M α ), b) M α (un-) erf¨ ullbar genau dann, wenn R ∗ (M α ) (un-) erf¨ ullbar ist. 2 Als Vorbereitung auf den n¨achsten Satz betrachten wir folgendes Beispiel. Beispiel 2.19. F¨ ur die Formel α = (p ∨ q ∨ r) ∧ p ∧ (p ∨ q ∨ r) ∧ (p ∨ q) mit der Klauselmenge M α = ¦ ¦ p, q, r ¦, ¦ p ¦, ¦ p, q, r ¦, ¦ p, q ¦¦ gilt: R(M α ) = ¦ ¦ p, q, r ¦, ¦ p ¦, ¦ p, q, r ¦, ¦ p, q ¦, ¦ q, r ¦, ¦ p, q ¦, ¦ p, r ¦, ¦ q, r ¦, ¦ q ¦, ¦ p, r ¦ ¦ R 2 (M α ) = R(R(M α )) = ¦ ¦ p, q, r ¦, ¦ p ¦, ¦ p, q, r ¦, ¦ p, q ¦, ¦ q, r ¦, ¦ p, q ¦, ¦ p, r ¦, ¦ q, r ¦, ¦ q ¦, ¦ p, r ¦ ¦ q ¦, ¦ r ¦, ¦ r ¦, ¦ p ¦ ¦ 2.8. RESOLUTIONSKALK ¨ UL 35 Diese Klauselmenge enth¨alt die beiden Klauseln r und r – im ¨ Ubrigen auch noch p und p sowie q und q –, d.h. die entsprechende Formel hat die Gestalt α = . . . ∧ p ∧ . . . ∧ q ∧ . . . ∧ q ∧ r ∧ r ∧ p Alleine wegen der Teilformel r ∧ r und ebenso wegen der Teilformeln p ∧ p und q ∧ q ist die Formel α und damit die Klauselmenge R 2 (M α ) unerf¨ ullbar, denn r und r sind widerspr¨ uchlich (siehe Satz 2.4 bzw. Tabelle 2.4 auf Seite 27). Werden r und r resolviert, dann entsteht die leere Menge: R(¦ r ¦, ¦ r ¦) = ∅, gleiches gilt f¨ ur p und p sowie f¨ ur q und q. Es folgt ∅ ∈ R 3 (M α ). 2 Aus dem Beispiel k¨onnen wir ableiten, dass R k (M α ) f¨ ur ein k ≥ 1 erstmalig die leere Klausel enth¨alt, falls in R k−1 (M α ) eine Klausel genau aus einem Literal besteht und eine weitere Klausel genau aus dessen Negation. Damit ist R k−1 (M α ) eine unerf¨ ullbare Klauselmenge. Wegen Folgerung 2.9 b) (Seite 34) ist damit auch M α und damit α unerf¨ ullbar. Im folgenden Satz fassen wir dieses Ergebnis zusammen, und wir zeigen im Beweis des Satzes, dass der Resolutionskalk¨ ul hinsichtlich des Nachweises der Unerf¨ ullbarkeit einer aussagenlogischen Formel korrekt und vollst¨andig ist (siehe Abschnitt 2.5). Satz 2.14. Sei M α die Klauselmenge der aussagenlogischen Formel α ∈ / in konjunktiver Nor- Resolutionssatz der Aussa- genlogik malform. Dann gilt: M α (und damit α) ist unerf¨ ullbar genau dann, wenn ∅ ∈ R ∗ (M α ) ist. Beweis Wir zeigen zuerst die Korrektheit, d.h., ist ∅ ∈ R ∗ (M α ), dann ist M α unerf¨ ullbar, womit gezeigt ist, dass der Resolutionskalk¨ ul keine erf¨ ullbare Formel als unerf¨ ullbar ermittelt. Sei also ∅ ∈ R ∗ (M α ). Wie wir oben im Anschluss an Beispiel 2.19 ¨ uberlegt haben, kann die leere Klausel nur durch Resolution zweier Klauseln K 1 = ¦ l ¦ und K 2 = ¦ l ¦, wobei l ein Literal ist, entstehen. Gem¨aß Folgerung 2.8 auf Seite 33 gilt M α ≡ R i (M α ) ≡ R j (M α ) f¨ ur alle i, j ≥ 0. Ist also ∅ ∈ R ∗ (M α ), dann muss es ein k ≥ 1 geben mit ∅ ∈ R k (M α ) und K 1 , K 2 ∈ R k−1 (M α ). Da es keine Belegung gibt, die sowohl K 1 als auch K 2 erf¨ ullt, ist R k−1 (M α ) unerf¨ ullbar und damit, da R k (M α ) ≡ M α ist, ist auch M α unerf¨ ullbar. Wir zeigen nun die Vollst¨andigkeit, d.h., ist α unerf¨ ullbar, dann ist ∅ ∈ R ∗ (M α ), womit gezeigt ist, dass alle unerf¨ ullbaren Formeln durch den Resolutionskalk¨ ul auch als solche erkannt werden. Wir zeigen die Behauptung mithilfe einer so genannten vollst¨andigen Induktion ¨ uber die Anzahl n der atomaren Formeln in einer Klauselmenge. Vollst¨andige Induktion bedeutet, dass man die Behauptung zun¨achst f¨ ur einen Anfangswert f¨ ur n zeigt, dann annimmt, dass die Behauptung f¨ ur n gilt, und schließlich mithilfe dieser Annahme zeigt, dass die Behauptung dann auch f¨ ur n+1 gilt. Auf vollst¨andige Induktion gehen wir im Teil III noch ausf¨ uhrlich ein. Sei also n = 1, d.h. α enth¨alt genau eine Variable p. Da M α unerf¨ ullbar ist, m¨ ussen in M α die Klauseln ¦ p ¦ und ¦ p ¦ vorkommen. Diese resolvieren zur leeren Klausel, also ist ∅ ∈ R ∗ (M α ). Wir nehmen nun an, dass f¨ ur jede unerf¨ ullbare Klauselmenge M α mit n atomaren Formeln p 1 , . . . , p n gilt, dass ∅ ∈ R ∗ (M α ) ist. Sei nun M β eine Klauselmenge mit den atomaren Formeln p 1 , . . . , p n+1 . Wir bilden aus M β zwei Klauselmengen M β und M β wie folgt: M β entsteht aus M β durch Streichen jedes Vorkommens von p n+1 in einer Klausel sowie durch Streichen aller Klauseln, in denen p n+1 vorkommt. M β ist somit ¨aquivalent zu der Klauselmenge, die entsteht, wenn man in M β die atomare Formel p n+1 fest mit 0 belegt. M β entsteht aus M β in analoger Weise, nur mit vertauschten Rollen von p n+1 und p n+1 . M β und M β m¨ ussen notwendigerweise unerf¨ ullbar sein. Denn, wenn wir annehmen, dass M β erf¨ ullbar ist, dann gibt es eine erf¨ ullende Belegung 1 : ¦ p 1 , . . . , p n ¦ →¦ 0, 1 ¦. Dann ist 1 mit 1 (x) = _ 1(x), falls x ∈ ¦ p 1 , . . . , p n ¦ 0, falls x = p n+1 36 KAPITEL 2. AUSSAGENLOGIK ein Modell f¨ ur M β , was aber einen Widerspruch zur Unerf¨ ullbarkeit von M β bedeutet. In analoger Weise f¨ uhrt die Annahme, dass M β erf¨ ullbar ist, ebenfalls zu diesem Widerspruch. M β und M β sind also unerf¨ ullbare Klauselmengen mit n atomaren Formeln. Wegen der Induktionsannahme, dass f¨ ur jede unerf¨ ullbare Klauselmenge M α mit n atomaren Formeln ∅ ∈ R ∗ (M α ) gilt, ist also ∅ ∈ R ∗ (M β ) und ∅ ∈ R ∗ (M β ). Aus ∅ ∈ R ∗ (M β ) folgt, dass es Klauseln K 1 , . . . , K r gibt mit K r = ∅, und es ist K i ∈ M β oder K i ist Resolvent zweier Klauseln K a undK b mit a, b < i und 1 ≤ i ≤ r. Gleichermaßen muss es eine solche Folge K 1 , . . . , K s f¨ ur M β geben. Einige Klauseln K i sind aus Klauseln in M β durch Streichen von p n+1 entstanden. Wir machen dieses Streichen r¨ uckg¨angig, K i ∪ ¦ p n+1 ¦, und ber¨ ucksichtigen p n+1 beim Resolvieren. Aus der Folge K 1 , . . . , K r entsteht dann eine neue Folge, und es folgt, dass ∅ ∈ R ∗ (M β ) oder dass ¦ p n+1 ¦ ∈ R ∗ (M β ) ist. Analog folgt durch Wiedereinf¨ ugen von p n+1 in die Klauseln von K 1 , . . . , K s , aus denen wir dieses Literal gestrichen haben, dass ∅ ∈ R ∗ (M β ) oder dass ¦ p n+1 ¦ ∈ R ∗ (M β ) ist. Ist ∅ ∈ R ∗ (M β ), dann ist nichts mehr zu zeigen. Ist ¦ p n+1 ¦ ∈ R ∗ (M β ) und ¦ p n+1 ¦ ∈ R ∗ (M β ), dann gilt nach dem n¨achsten Resolutionsschritt ∅ ∈ R ∗ (M β ). Damit haben wir insgesamt die Behauptung gezeigt. 2 Der Resolutionssatz ist die Grundlage f¨ ur das Resolutionsverfahren: Gegeben sei eine Formel Resolutions- verfahren α ∈ / in KNF. 1. Bilde die Klauselmenge M α zu α. 2. Wende den Resolutionsoperator R fortgesetzt auf M α an, bis ein t erreicht ist, so dass R l (M α ) = R t (M α ) f¨ ur l ≥ t, d.h. bestimme R ∗ (M α ). Solch ein t existiert gem¨aß Satz 2.13 (Seite 34). 3. Falls ∅ ∈ R ∗ (M α ) ist, dann ist α unerf¨ ullbar, sonst erf¨ ullbar. Das Verfahren muss nicht immer so lange ausgef¨ uhrt werden, bis die erneute Anwendung des R- Operators keine neue Klauseln mehr erzeugt. Der Operator braucht nicht mehr angewendet zu werden, falls die leere Klausel ∅ bereits erzeugt wurde. Zu diesem Zeitpunkt steht bereits fest, dass α unerf¨ ullbar ist. Definition 2.12. Eine Deduktion der leeren Klausel aus einer Klauselmenge M α , α ∈ / in KNF, Deduktion der leeren Klau- sel ist eine Folge K 1 , K 2 , . . . , K t von Klauseln, so dass gilt: (1) K t ist die leere Klausel und (2) K i , 1 ≤ i ≤ t, ist entweder eine Klausel aus M α oder eine Resolvente von Klauseln K r , K s mit r, s ≤ i. 2 Aus dem Resolutionssatz 2.14 (Seite 35) folgt unmittelbar Folgerung 2.10. Eine Formel α ∈ / in KNF ist unerf¨ ullbar genau dann, wenn eine Deduktion der leeren Klausel aus M α m¨oglich ist. 2 Beispiel 2.20. Wir betrachten die Formel (siehe auch Beispiel 2.19, Seite 34) α = (r ∨ p ∨ q) ∧ p ∧ (p ∨ q ∨ r) ∧ (q ∨ p) 2.8. RESOLUTIONSKALK ¨ UL 37 Es ist also M α = ¦ ¦ p, q, r ¦, ¦ p ¦, ¦ p, q, r ¦, ¦ p, q ¦ ¦. Es gilt: K 1 = ¦p, q, r ¦ (Klausel aus M α ) K 2 = ¦p, q, r¦ (Klausel aus M α ) K 3 = ¦ p, q¦ (Resolvent von K 1 und K 2 ) K 4 = ¦ p, q¦ (Klausel aus M α ) K 5 = ¦ p ¦ (Resolvent von K 3 und K 4 ) K 6 = ¦ p ¦ (Klausel aus M α ) K 7 = ∅ (Resolvent von K 5 und K 6 ) Die Klauselfolge K 1 , . . . , K 7 erf¨ ullt die Bedingungen von Definition 2.12. Es existiert also eine Deduktion der leeren Klausel aus M α , α ist somit gem¨aß Folgerung 2.10 unerf¨ ullbar. 2 Eine Deduktion kann mithilfe eines Resolutionsgraphen dargestellt werden. Im Folgenden ist der Resolutionsgraph Resolutionsgraph f¨ ur die Deduktion in Beispiel 2.20 gezeichnet. ¦ p, q, r ¦ - ¦ p, q, r ¦ ¦ p, q ¦ - ¦ p, q ¦ ¦ p ¦ - ¦ p ¦ ∅ ¨ Ubung 2.12. Sei α = (p ∨ q ∨ r) ∧ (q ∨ r) ∧ (p ∨ r) ∧ (q ∨ r) ∧ r (1) Geben Sie M α an! (2) Berechnen Sie R ∗ (M α )! (3) Ist α erf¨ ullbar? (4) Falls α unerf¨ ullbar ist, dann geben Sie eine Deduktion f¨ ur die leere Klausel an und zeichnen Sie den entsprechenden Resolutionsgraphen! 2 38 KAPITEL 2. AUSSAGENLOGIK 2.9 Hornlogik Trotz aller Kalk¨ ule bleibt das Erf¨ ullbarkeitproblem der Aussagenlogik, auch SAT-Problem 4 genannt, Erf¨ ullbar- keitsproblem der Aus- sagenlogik d.h. das Problem zu entscheiden, ob eine aussagenlogische Formel erf¨ ullbar ist oder nicht, gem¨aß dem derzeitigen Stand der Erkenntnis ein schwieriges Problem. Nach diesem Erkenntnisstand gibt es kein Entscheidungsverfahren, welches im Allgemeinen f¨ ur eine aussagenlogische Formel mit n Variablen in weniger als 2 n Schritten feststellt, ob die Formel erf¨ ullbar ist oder nicht. Manche praktische Anwendungen erfordern allerdings gar nicht, dass die gesamte Sprache / der aussagenlogischen Formeln zur Verf¨ ugung steht, sondern kommen mit einer Untermenge davon aus. Solche Anwendungen sind z.B. die Logikprogrammierung sowie deduktive Datenbanken. Eine Logik- program- mierung Deduktive Datenbanken solche Datenbank besteht aus Fakten und Schlussregeln, mit denen aus den Fakten darin vorhan- denes Wissen abgeleitet werden kann. Betrachten wir als Beispiel ein Autobahnnetz, welches die Großst¨adte eines Landes miteinander verbindet. Als Fakten k¨onnte die Datenbank Aussagen ¨ uber die unmittelbare Verbindung von zwei St¨adten durch (mindestens) eine Autobahnstrecke enthal- ten. Die Aussage c(A, B) soll z.B. bedeuten, dass von der Stadt A nach der Stadt B eine direkte Autobahnverbindung existiert. Die Datenbank enth¨alt neben diesem extensionalen Wissen auch intensionales Wissen, n¨amlich z.B. dass, wenn B von A direkt ¨ uber eine Autobahn erreicht wer- den kann, B auch direkt von A ¨ uber eine Autobahn erreicht werden kann oder dass es, wenn n(A, B) und n(B, C) 5 gilt, eine (indirekte) Verbindung von A nach C gibt; das Wissen ¨ uber alle m¨oglichen Erreichbarkeiten von Großst¨adten untereinander ¨ uber Autobahnen steckt in der Daten- bank. Dies k¨onnte man durch Schlussfolgerungsregeln beschreiben. So beschreibt die Subjunktion n(x, y) → n(y, x) die Symmetrie der Relation n, und die Subjunktionen n(x, y) → e(x, y) und e(x, y), e(y, z) → e(x, z) 6 beschreiben deren Transitivit¨at und damit alle m¨oglichen Erreichbarkei- ten in dem Autobahnnetz. Logische Formeln α ∈ /, die in diesen Anwendungen von Bedeutung sind, haben die folgenden Formen: • α = p ∈ V : α ist eine (atomare) Aussage, die ein Faktum beschreibt. α ist ¨aquivalent zur Formel 1 →p. In deduktiven Datenbanken bilden diese Fakten das extensionale Wissen. • α = p ∨ q 1 ∨ . . . ∨ q k , p, q i ∈ V , 1 ≤ i ≤ k. Die Formel α ist ¨aquivalent zu der Formel (q 1 ∧ . . . ∧ q k ) → p. α ist also eine Schlussfolgerung, die beschreibt, dass von den Fakten q 1 , . . . , q k auf die Aussage p geschlossen werden kann. Diese Schlussfolgerungen stellen das intensionale Wissen der Datenbank bereit. • α = q 1 ∨ . . . ∨ q k , q i ∈ V , 1 ≤ i ≤ k. α ist ¨aquivalent zu der Formel 0 ∨ q 1 ∨ . . . ∨ q k und damit zu (q 1 ∧ . . . ∧ q k ) → 0. α beschreibt also, dass nicht alle Aussagen q i , 1 ≤ i ≤ k, zutreffen. Wie wir sehen, lassen sich alle diese aussagenlogischen Formeln als Subjunktionen darstellen: 1 →p (q 1 ∧ . . . ∧ q k ) →p (q 1 ∧ . . . ∧ q k ) →0 4 SAT steht f¨ ur Satisfiability. 5 n(X, Y ) steht f¨ ur die Aussage ” Es gibt eine direkte Autobanhstrecke von X nach Y“. 6 e(x, y) steht f¨ ur ” y ist von x im Autobahnnetz erreichbar“. 2.9. HORNLOGIK 39 Die folgende Definition fasst diese F¨alle zusammen und zeichnet dadurch eine Untermenge von / aus. Definition 2.13. Eine aussagenlogische Formel α ∈ / in konjunktiver Normalform heißt Hornfor- mel 7 genau dann, wenn jede Klausel h¨ochstens eine nicht negierte Varaible enth¨alt. Solche Klauseln Hornformel Hornklausel werden Hornklauseln genannt. Mit H bezeichnen wir die Menge aller Hornformeln in /. 2 Beispiel 2.21. a) Die Formel α = (p ∨ q) ∧ (p ∨ q ∨ r ∨ s) ∧ (q ∨ r) ∧ p ∧ r ist eine Hornformel, in Klauselform α = ¦ ¦ p, q ¦, ¦ p, q, r, s ¦, ¦ q, r ¦, ¦ p ¦, ¦ r ¦ ¦ und als Subjunktionen α = (q →p) ∧ ((p ∧ q ∧ r) →p) ∧ ((q ∧ r) →0) ∧ (p →0) ∧ (1 →r) Die Formel (p ∨ q ∨ s) ∧ (p ∨ q ∨ r ∨ q) ist keine Hornformel, da in der zweiten Klausel zwei nicht negierte Variablen vorkommen. 2 Das Erf¨ ullbarkeitsproblem f¨ ur Hornformeln, HORNSAT, ist deutlich effizienter l¨osbar als das Erf¨ ullbarkeitsproblem SAT im Allgemeinen. W¨ahrend, wie eingangs des Kapitels erw¨ahnt, beim derzeitigen Kenntnisstand die Erf¨ ullbarkeit einer Formel α ∈ / im Allgemeinen exponentiellen Aufwand abh¨angig von der Anzahl der Variablen in α erfordert, gibt es Verfahren, mit denen die Erf¨ ullbarkeit von Hornformeln β ∈ H in polynomieller Zeit gepr¨ uft werden kann (etwa in der Gr¨oßenordnung m n, wenn m die Anzahl der Klauseln und n die Anzahl der Literale in β sind). Das Schema eines Verfahrens, mit dem gepr¨ uft werden kann, ob eine Formel α ∈ H erf¨ ullbar ist, ist in Abbildung 2.1 gegeben. Beispiel 2.22. Gegeben sei die Hornformel α = p ∧ (p ∨ q) ∧ (p ∨ q ∨ r) ∧ (s ∨ p) ∧ (t ∨ s) Wir wandeln die Klauseln um in Subjunktionen: 1 →p (2.10) p →q p ∧ q →r s ∧ p →0 t →s 7 Die Hornlogik ist benannt nach Alfred Horn (1918 – 2001), einem amerikanischen Mathematiker, der diese Variante der Aussagenlogik einf¨ uhrte. Die Hornlogik bildet die Grundlage f¨ ur das logische Programmieren und logische Programmiersprachen, wie z.B. die Sprache Prolog ( ” Programming in Logic“). 40 KAPITEL 2. AUSSAGENLOGIK (1) Enth¨alt α eine Teilformel 1 →p, dann markiere alle Vorkommen von p in α. (2) F¨ uhre die folgenden Schritte so lange aus, bis diese nicht mehr anwendbar sind: (i) Ist (q 1 ∧ ∧q k ) →p eine Teilformel von α und alle q i , 1 ≤ i ≤ k, sind bereits markiert und p ist nicht markiert, dann markiere jedes Vorkommen von p in α. (ii) Ist (q 1 ∧ ∧q k ) →0 eine Teilformel von α und alle q i , 1 ≤ i ≤ k, sind bereits markiert, dann stoppe das Verfahren – die Formel α ist unerf¨ ullbar. (3) Stoppe das Verfahren – die Formel α ist erf¨ ullbar, und die Belegung 1(q) = 1 f¨ ur alle mar- kierten Variablen q und 1(p) = 0 f¨ ur alle unmarkierten Variablen p in α ist ein Modell f¨ ur α. Abbildung 2.1: Entscheidungsverfahren f¨ ur die Erf¨ ullbarkeit von Hornformeln. Wegen der Klausel (2.10) erhalten wir mit Verfahrensschritt (1) folgende roten Markierungen: 1 →p p →q (2.11) p ∧ q →r s ∧ p →0 t →s Anwendung von Verfahrensschritt (2i) f¨ uhrt wegen der Klausel (2.11) zu folgenden blauen Markie- rungen: 1 →p p →q p ∧ q →r (2.12) s ∧ p →0 t →s Anwendung von Verfahrensschritt (2i) f¨ uhrt wegen der Klausel (2.12) zu folgender gr¨ unen Markie- rung: 1 →p p →q p ∧ q →r s ∧ p →0 t →s Es ist kein Verfahrensschritt mehr anwendbar, die Formel ist erf¨ ullbar, und die Belegung 1(p) = 1(q) = 1(r) = 1 sowie 1(s) = 1(t) = 0 ist ein Modell f¨ ur α. 2 2.9. HORNLOGIK 41 ¨ Ubung 2.13. Testen Sie mit dem vorgestellten Verfahren die Erf¨ ullbarkeit der folgenden Hornfor- meln: (1) α = (r ∨ p ∨ q) ∧ (s ∨ t) ∧ (p ∨ t) ∧ p ∧ (p ∨ q) (2) β = p ∧ (p ∨ q) ∧ (q ∨ r ∨ s) ∧ (p ∨ r) ∧ s 2 Zu (1): Umwandlung der Klauseln in Subjunktionen: p ∧ q →r s →t p ∧ t →0 1 →p (2.13) p →q Wegen der Klausel (2.13) erhalten wir mit Verfahrensschritt (1) folgende roten Markierungen: p ∧ q →r s →t p ∧ t →0 1 →p p →q (2.14) Anwendung von Verfahrensschritt (2i) f¨ uhrt wegen der Klausel (2.14) zur folgenden blauen Mar- kierung: p ∧ q →r (2.15) s →t p ∧ t →0 1 →p p →q Anwendung von Verfahrensschritt (2i) f¨ uhrt wegen der Klausel (2.15) zur folgenden gr¨ unen Mar- kierung: p ∧ q →r s →t p ∧ t →0 1 →p p →q Es ist kein Verfahrensschritt mehr anwendbar, die Formel ist erf¨ ullbar, und die Belegung 1(p) = 1(q) = 1(r) = 1 sowie 1(s) = 1(t) = 0 ist ein Modell f¨ ur α. 42 KAPITEL 2. AUSSAGENLOGIK Zu (2): Umwandlung der Klauseln in Subjunktionen: 1 →p (2.16) p →q q ∧ s →r p ∧ r →0 1 →s (2.17) Wegen der Klauseln (2.16) und (2.17) erhalten wir mit Verfahrensschritt (1) folgende roten Mar- kierungen: 1 →p p →q (2.18) q ∧ s →r p ∧ r →0 1 →s Anwendung von Verfahrensschritt (2i) f¨ uhrt wegen der Klausel (2.18) zur folgenden blauen Mar- kierung: 1 →p p →q q ∧ s →r (2.19) p ∧ r →0 1 →s Anwendung von Verfahrensschritt (2i) f¨ uhrt wegen der Klausel (2.19) zur folgenden gr¨ unen Mar- kierung: 1 →p p →q q ∧ s →r p ∧ r →0 (2.20) 1 →s Wegen Klausel (2.20) besagt Verfahrensschritt (2ii), dass die Formel β unerf¨ ullbar ist. Satz 2.15. Das in Abbildung 2.1 angegebene Verfahren entscheidet in korrekter Weise, ob eine Formel α ∈ H erf¨ ullbar ist oder nicht. Werden die dabei markierten Variablen mit 1 belegt, dann stellt diese Belegung ein Modell f¨ ur α dar. 2 Folgerung 2.11. Enth¨alt eine Formel α ∈ H keine Klausel der Art (q 1 ∨. . . ∨q k ) 8 , k ≥ 1, dann ist α erf¨ ullbar. 2 Im Unterschied zu aussagenlogischen Formeln besitzen Hornformeln eindeutige kleinste Modelle. 1 ∈ 1 α ist ein kleinstes Modell f¨ ur eine Formel α, falls f¨ ur jede Variable v ∈ V α und jedes weitere Kleinstes Modell Modell 1 ∈ 1 α gilt: Ist 1 ∗ (v) = 1, dann ist auch 1 ∗ (v) = 1. 8 Als Subjunktion geschrieben: q 1 ∧ . . . ∧ q k → 0. 2.9. HORNLOGIK 43 Beispiel 2.23. a) Die Formel p ∨q ist keine Hornformel. Sie besitzt zwei kleinste Modelle: 1 1 mit 1 1 (p) = 1 und 1 1 (q) = 0 sowie 1 2 mit 1 2 (p) = 0 und 1 2 (q) = 1. b) Die in Beispiel 2.22 und ¨ Ubung 2.13 (1) gefundenen Modelle sind kleinste Modelle, denn min- destens die Variablen p, q und r (in beiden F¨allen auch nicht mehr) m¨ ussen mit 1 belegt werden. c) Betrachten wir die Hornformel mit den folgenden Klauseln: 1 →s r →s r →t s →q q ∧ t →p Dann ist 1(s) = 1(q) = 1 das kleinste Modell. 2 44 KAPITEL 2. AUSSAGENLOGIK Kapitel 3 Pr ¨ adikatenlogik Die Aussagenlogik erm¨oglicht die Verkn¨ upfung von elementaren und zusammengesetzten Aussagen zu neuen zusammengesetzten Aussagen. Die Belegung der Variablen mit einem Wahrheitswert er- laubt die Berechnung des Wahrheitswertes der gesamten Aussage. Die Aussagenlogik ist allerdings zu arm, um z.B. zu beschreiben, dass die Addition nat¨ urlicher Zahlen kommutativ ist: ” F¨ ur alle nat¨ urlichen Zahlen x und y gilt x+y = y +x“. x und y sind hier keine aussagenlogischen Variablen, die als Werte die Wahrheitswerte 0 und 1 annehmen k¨onnen, sondern Variable f¨ ur andere Werte wie z.B. Zahlenwerte. Operationssymbole wie + dr¨ ucken keine logische Verkn¨ upfung aus, und das Symbol = dr¨ uckt eine Relation aus. Außerdem haben wir – umgangssprachlich – noch ausgedr¨ uckt, dass die Beziehung f¨ ur alle x und y gelten sollen. Wir erweitern nun die Sprache der Aussagenlogik so, dass wir solche und weitere Eigenschaften ausdr¨ ucken k¨onnen. Diese neue Sprache heißt Pr¨adikatenlogik (erster Stufe). Wir gehen dabei in gleicher Weise wie bei der Definition der Aussagenlogik vor, indem wir nacheinander das Alphabet, die Syntax und schließlich die Semantik der Pr¨adikatenlogik festlegen. Dabei werden wir nicht ganz so streng formal vorgehen, wie wir das bei der Aussagenlogik getan haben. Mithilfe von pr¨adikatenlogischen Notationen werden wir dann in der Folge beschreibende Darstellungen von Mengen angeben. Ein Grund f¨ ur die Besch¨aftigung mit Aussagen- und Pr¨adikatenlogik ist, in der beschreibenden Darstellung M = ¦ x [ p(x) ¦ einer Menge M die Eigenschaft p, welche festlegt, ob ein x zu M geh¨ort oder nicht, m¨oglichst pr¨azise anzugeben. Nach Durcharbeiten dieses Kapitels sollten Sie Lernziele • den syntaktischen Aufbau der Pr¨adikatenlogik erster Stufe kennen, • wissen, wie die Semantik pr¨adikatenlogischer Formeln berechnet werden kann. 3.1 Alphabet der Pr¨adikatenlogik Das Alphabet der Pr¨adikatenlogik besteht aus • Symbolen f¨ ur Individuenvariablen, daf¨ ur verwenden wir in der Regel kleine Buchstaben vom Ende des deutschen Alphabetes: x, y, z, x 1 , x 2 , . . . • Symbolen f¨ ur Individuenkonstanten, daf¨ ur verwenden wir in der Regel kleine Buchstaben vom Anfang des deutschen Alphabetes: a, b, c, a 1 , a 2 , . . .. 45 46 KAPITEL 3. PR ¨ ADIKATENLOGIK • k-stellige Funktionssymbole, die wir in der Regel mit f k , g k , h k , f k 1 , f k 2 , . . . notieren. Dabei ist k ∈ N 0 . • k-stellige Pr¨adikatensymbole, die wir in der Regel mit P k , Q k , R k , P k 1 , P k 2 , . . . notieren. Dabei ist k ∈ N 0 . • den Symbolen , ∧, ∨ f¨ ur logische Junktoren. • den Quantorsymbolen ∀ (Allquantor, gesprochen ” f¨ ur alle“) und ∃ (Existenzquantor, gespro- chen ” es existiert“). • den Klammersymbolen ( und ). 3.2 Syntax pr¨adikatenlogischer Formeln Definition 3.1. Die Menge der pr¨adikatenlogischen Terme ist gegeben durch: Pr¨adikaten- logische Terme (1) Jede Individuenvariable und jede Individuenkonstante ist ein Term. (2) Sind t 1 , . . . , t n pr¨adikatenlogische Terme und ist f n ein n-stelliges Funktionssymbol, dann ist f n (t 1 , . . . , t n ) ein pr¨adikatenlogischer Term. (3) Genau die mit den Regeln (1) und (2) bildbaren Zeichenketten sind pr¨adikatenlogische Terme. 2 Beispiel 3.1. Die Individuenvariable x und die Individuenkonstante b sind Terme ebenso wie f 2 (x, b), f 2 (x, f 2 (b, x)) und g 3 (x, f 2 (b, b), h 4 (x, y, a, z)). 2 Definition 3.2. Die Menge der atomaren Formeln ist gegeben durch: Atomare Formeln (1) Sind t 1 , . . . , t n pr¨adikatenlogische Terme und ist P n ein n-stelliges Pr¨adikatensymbol, dann ist P n (t 1 , . . . , t n ) eine atomare Formel. (2) Genau die Zeichenketten, die mit der Regel (1) gebildet werden k¨onnen, sind atomare Formeln. 2 Beispiel 3.2. Die Zeichenketten P 2 (a, b), P 2 (a, f 2 (a, b)), R 4 (x, y, g 2 (f 2 (x, a), z)), Q 2 (f 2 (x, y), f 2 (y, x)) sind atomare Formeln. 2 Definition 3.3. Die Menge der pr¨adikatenlogischen Formeln ist gegeben durch: Pr¨adikaten- logische Formeln (1) Jede atomare Formel ist eine pr¨adikatenlogische Formel. (2) Sind α und β pr¨adikatenlogische Formeln, dann auch α, (α ∧ β) sowie (α ∨ β). (3) Ist α eine pr¨adikatenlogische Formel, dann auch (∀xα) sowie (∃xα). (4) Genau die mit den Regeln (1) - (3) bildbaren Zeichenketten sind pr¨adikatenlogische Formeln. 2 3.2. SYNTAX PR ¨ ADIKATENLOGISCHER FORMELN 47 Beispiel 3.3. Die Zeichenketten (∀x(P 1 (x))) (∀x(P 2 (a, f 2 (a, b)) ∧ Q 3 (x, a, c)) (∀x(∃y (P 3 (x, y, z)))) (∀x(∀y Q 2 (f 2 (x, y), f 2 (y, x)))) sind pr¨adikatenlogische Formeln. 2 Variablen, die sich im Wirkungsbereich eines Quantors befinden, heißen gebunden, nicht gebun- Gebundene, freie Variable dene Variablen heißen frei. So sind in der Formel (∀x(∃y (P 3 (x, y, z)))) die Variablen x und y gebunden, z ist frei. Eine Formel heißt geschlossen, falls sie keine freie Variable enth¨alt. Die Formel (∀x(∀y Q 2 (f 2 (x, y), f 2 (y, x)))) Geschlossene Formel ist ein Beispiel f¨ ur eine geschlossene Formel. Geschlossene Formeln sind Aussagen, die wahr oder falsch sein k¨onnen. Gebundene Variablen k¨onnen beliebig umbenannt werden, solange die Umbennung nicht zu einer freien Variablen f¨ uhrt. So kann in der Formel (∃x(P 2 (f 2 (x, y), z))) die Variable x in q umbenannt werden: (∃q (P 2 (f 2 (q, y), z))). Eine Umbennung in z ist nicht erlaubt, denn die Formel bekommt dadurch eine andere Bedeutung: (∃z (P 2 (f 2 (z, y), z))). Wie in der Aussagenlogik f¨ uhren wir zwei weitere logische Verkn¨ upfungen ein: Seien α und β zwei Formeln, dann schreiben wir (α →β) f¨ ur (α ∨ β) sowie (α ↔β) f¨ ur ((α →β) ∧ (β →α)). Sofern Bindungen von Quantoren und Junktoren eindeutig sind, wollen wir entsprechende Klam- mern weglassen. Wenn man zudem festlegt, dass die Quantoren die h¨ochste Priorit¨at besitzen, dass h¨ohere Priorit¨at als ∧, ∧ h¨ohere Priorit¨at als ∨ und ∨ h¨ohere Priorit¨at als →und ↔hat, k¨onnen weitere entsprechende Klammern weggelassen werden. Mit diesen Vereinbarungen kann z.B. anstelle der Formel (∀x((P 1 (x)) ∨ Q 1 (x))) die Formel ∀x(P 1 (x) ∨ Q 1 (x)) und anstelle von (∀x(∀y (P 2 (x, y)) ∨ (Q 2 (y, z) ∧ (R 2 (x, z))))) kann ∀x(∀y P 2 (x, y) ∨ Q 2 (y, z) ∧ R 2 (x, z)) geschrieben werden. 2 Die Aussagenlogik kann als ” Spezialfall“ der Pr¨adikatenlogik aufgefasst werden: Wenn man in der Pr¨adikatenlogik keine Individuenvariablen zul¨asst, wodurch die Quantoren ¨ uberfl¨ ussig werden, und außerdem keine Individuenkonstanten, keine Funktionssymbole und nur 0-stellige Pr¨adikate zul¨asst, erh¨alt man genau die Aussagenlogik. Die 0-stelligen Pr¨adikatensymbole ¨ ubernehmen dabei die Rolle der aussagenlogischen Variablen. 48 KAPITEL 3. PR ¨ ADIKATENLOGIK 3.3 Semantik der Pr¨adikatenlogik Um die Bedeutung einer pr¨adikatenlogischen Formel zu bestimmen, m¨ ussen zun¨achst Belegungen vorgenommen werden: • Es muss eine Grundmenge (auch Universum genannt) ausgew¨ahlt werden. Mit ihren Elemen- Grundmenge Universum ten m¨ ussen Individuenkonstanten und freie Individuenvariablen belegt werden. • Jedem k-stelligen Funktionssymbol muss eine k-stellige Funktion ¨ uber der Grundmenge zu- geordnet werden, und • jedem k-stelligen Pr¨adikatensymbol muss eine k-stellige Relation ¨ uber der Grundmenge zu- geordnet werden. Beispiel 3.4. a) W¨ahlen wir als Grundmenge N 0 und ordnen wir dem Funktionssymbol f 2 die Addition + sowie dem Pr¨adikatensymbol die Gleichheitsrelation = zu, dann interpretieren wir die geschlossene Formel ∀x∀y (Q 2 (f 2 (x, y), f 2 (y, x))) durch ∀x∀y (= (+(x, y), +(y, x))) Schreiben wir Gleichheits- und Additionssymbol wie ¨ ublich infix, d.h. zwischen die Operanden, dann erhalten wir die Formel ∀x∀y x +y = y +x die das Kommutativgesetz der Addition in der Menge der nat¨ urlichen Zahlen ausdr¨ uckt. b) Betrachten wir die Formel ∃x∀y R 2 (f 2 (a, x), y)) und ordnen dem Pr¨adikatensymbol R 2 die Re- lation < zu, dem Funktionssymbol f 2 die Multiplikation und der Individuenkonstante die Zahl 5, dann erhalten wir die Formel ∃x∀y 5x < y. W¨ahlen wir als Grundmenge N, dann ist diese Formel nicht wahr, denn z.B. zu y = 1 gibt es keine nat¨ urliche Zahl x, so dass 5x < 1 ist. W¨ahlen wir als Grundmenge N 0 oder Z, dann ist diese Formel wahr. 2 Wenn die Grundmenge U ausgew¨ahlt wurde und Belegungen 1 der Individuenkonstanten, der freien Individuenvariablen, der Funktionssymbole sowie der Pr¨adikatensymbole vorgenommen sind, geschieht die Berechnung 1 ∗ des Wahrheitswertes analog zur Interpretation aussagenlogischer For- meln: (i) F¨ ur einen pr¨adikatenlogischen Term f k (t 1 , . . . , t k ) gilt 1 ∗ (f k (t 1 , . . . , t k )) = 1(f k )(1 ∗ (t 1 ), . . . , 1 ∗ (t k )) Die Belegung 1(f k ) des Funktionssymbols f k wird auf das Ergebnis der Interpretationen der Terme t 1 , . . . , t k angewendet. (ii) F¨ ur eine atomare Formel P m (t 1 , . . . , t m ) gilt 1 ∗ (P m (t 1 , . . . , t m )) = _ 1, ((1 ∗ (t 1 ), . . . , 1 ∗ (t m )) ∈ 1(P m ) 0, sonst Falls die Interpretationen der Terme in der Relation stehen, die sich durch die Belegung 1(P m ) des Pr¨adikatensymbols ergibt, liefert die Interpretation der atomaren Formel den Wahrheits- wert 1, sonst den Wahrheitswert 0. 3.3. SEMANTIK DER PR ¨ ADIKATENLOGIK 49 (iii) Nachdem die Interpretation der atomaren Bestandteile von pr¨adikatenlogischen Formeln fest- gelegt ist, erfolgt nun die Berechnung zusammengesetzter Formeln. Seien α und β pr¨adika- tenlogische Formeln, dann gilt: (1) 1 ∗ (α) = 1 −1 ∗ (α). (2) 1 ∗ (α ∧ β) = min¦1 ∗ (α), 1 ∗ (β)¦. (3) 1 ∗ (α ∨ β) = max¦1 ∗ (α), 1 ∗ (β)¦. (4) 1 ∗ (∃xα) = _ 1, falls ein a ∈ U existiert mit 1 ∗ x,a (α) = 1 0, sonst (5) 1 ∗ (∀xα) = _ 1, falls f¨ ur alle a ∈ U gilt 1 ∗ x,a (α) = 1 0, sonst Dabei gilt 1 ∗ x,a (y) = _ 1(y), y ,= x a, sonst 1 ∗ x,a (α) f¨ ur a ∈ U bedeutet also, dass jedes Vorkommen von x in α mit dem Wert a aus der Grundmenge U belegt wird. Wir werden in den folgenden Kapiteln pr¨adikatenlogische Formeln benutzen, um mathematische Sachverhalte zu beschreiben. Dabei werden wir die Formeln ” pragmatisch“ verwenden, d.h. wir werden in der Regel nicht mit Individuenkonstanten, Funktions- und Pr¨adikatensymbolen arbeiten, sondern in den Formeln direkt konkrete Belegungen, d.h. Werte und Funktionen bzw. Relationen notieren. Ebenso liegt in der Regel durch den gegbenen Kontext fest, welche Grundmenge jeweils vorliegt. Oft werden wir die Grundmenge auch in der Formel selbst angeben. Im ¨ Ubrigen werden die Formulierungen in Definitionen, S¨atzen usw. selten rein formal sein, sondern aus formalen und informalen Teilen bestehen. Als Beispiel f¨ ur unsere Sprech- und Schreibweise sei der Satz ¨ uber die Division mit Rest ganzer Zahlen hier aufgef¨ uhrt: ∀a ∈ Z und ∀b ∈ N ∃q ∈ Z und ∃r ∈ N 0 , so dass gilt: a = bq +r mit 0 ≤ r < b. Ausschließlich in Worten: Zu jeder ganzen Zahl a und zu jeder nat¨ urlichen Zahl b un- gleich Null existieren zwei ganze Zahlen q und r, so dass a bei Division durch b den ganzzahligen Quotienten q ergibt mit einem positiven Rest r, der kleiner als der Divisor b ist. Anstelle von ∀x ∈ M f¨ ur eine Menge M schreiben wir im Folgenden auch x ∈ M. Insbesondere k¨onnen wir nun darstellende Beschreibungen von Mengen pr¨aziser als bisher ange- ben. Im Abschnitt 1.2 haben wir die allgemeine Form der beschreibenden Darstellung angegeben: M = ¦ x [ p(x) ¦. x ist ein Platzhalter – eine Variable – f¨ ur die Elemente von M, und p ist ein Pr¨adikat. Alle Elemente einer Grundmenge, die das Pr¨adikat wahr machen, geh¨oren zu M. 50 KAPITEL 3. PR ¨ ADIKATENLOGIK Beispiel 3.5. Wir geben f¨ ur die in Beispiel 1.3 auf Seite 9 ” halbformal“ dargestellten Mengen formale Beschreibungen an: A = ¦ x [ x ∈ P ∧ x ≤ 11 ¦ G = ¦ x [ x ∈ N 0 ∧ 2x = 10 ¦ H = ¦ (x, y) [ x ∈ N 0 ∧ y ∈ N 0 ∧ x +y = 6 ¦ T 64 = ¦ y [ (y ≥ 0) ∧ (∃q ∈ N(k q = 64)) ¦ Da die formalen Beschreibungen zumeist aus konjunktiv verkn¨ upften Teilformeln bestehen, l¨asst man das Symbol ∧ weg und schreibt an dessen Stelle ein Komma. So stellt man H wie folgt dar H = ¦ (x, y) [ x ∈ N 0 , y ∈ N 0 , x +y = 6 ¦ oder noch k¨ urzer H = ¦ (x, y) [ x, y ∈ N 0 , x +y = 6 ¦ In der ” allt¨aglichen Praxis“ werden beschreibende Mengendarstellungen in der Regel in einer Mi- schung von informalen und formalen Beschreibungen angegeben, wie z.B. A = ¦ x [ x prim, x ≤ 11 ¦ Maßstab f¨ ur die Art und Weise der Beschreibung einer Menge M ist, dass aus der Beschreibung – m¨oglicherweise zudem mithilfe des Kontextes – klar wird, welche Elemente zu M geh¨oren. 2 Man kann die Begriffe Erf¨ ullbarkeit, Modell, Tautologie, Kontradiktion, Implikation (syntakti- sche und semantische Folgerungsbegriffe) und ¨ Aquivalenz nun auch f¨ ur pr¨adikatenlogische Formeln analog zu aussagenlogischen Formeln einf¨ uhren. Viele Ergebnisse, die wir f¨ ur die Aussagenlogik in Kapitel 2 betrachtet haben, gelten analog auch f¨ ur die Pr¨adikatenlogik, insbesondere auch die ¨ Aquivalenzen aus Satz 2.4 bzw. Tabelle 2.4 auf Seite 27. Dar¨ uber hinaus gelten in der Pr¨adikatenlogik noch folgende ¨ Aquivalenzen. ∀x∀y α ⇔∀y∀xα ∃x∃y α ⇔∃y∃xα ∀xα ∧ ∀xβ ⇔∀x(α ∧ β) ∃xα ∧ ∃xβ ⇔∃x(α ∧ β) ∀xα ⇔∃α ∃xα ⇔∀α Im Gegensatz zur Aussagenlogik ist die Erf¨ ullbarkeit der Pr¨adikatenlogik nicht entscheidbar, sofern sie die Arithmetik nat¨ urlicher Zahlen umfasst. Mithilfe einer Wahrheitstafel oder mithilfe des Resolutionskalk¨ uls kann z.B. festgestellt werden, ob eine aussagenlogische Formel erf¨ ullbar ist oder nicht. Man kann hingegen beweisen, dass es f¨ ur die Pr¨adikatenlogik keinen Algorithmus geben kann, der f¨ ur jede beliebige pr¨adikatenlogische Formel feststellt, ob diese erf¨ ullbar ist oder nicht. Neben der Aussagenlogik und der Pr¨adikatenlogik 1. Stufe gibt es weitere Logiken, die nicht nur von theoretischem sondern auch von praktischem Interesse sind. 3.3. SEMANTIK DER PR ¨ ADIKATENLOGIK 51 In der Pr¨adikatenlogik 2. Stufe ist es unter anderem auch erlaubt, ¨ uber Mengen, Funktionen und Pr¨adikaten zu quantifizieren. In der Pr¨adikatenlogik 1. Stufe darf nur ¨ uber Individuenvariablen quantifiziert werden. Bei der Informations- und Wissensverarbeitung oder der Konzipierung und Implementierung verteilter Prozesse finden Logiken wie modale, nichtmonotone, temporale, mehrwertige oder Fuzzy- Logiken Anwendung. In modalen Logiken gibt es neben Quantoren und ” klassischen“ Junktoren Operatoren wie [ ] und 3 mit folgender Bedeutung: F¨ ur eine Formel α bedeutet [α], dass α notwendigerweise wahr ist, und 3α bedeutet, dass α m¨oglicherweise gilt. Mit diesen Operatoren kann man z.B. zeitliches Planen beschreiben: [α] modelliert, dass α immer gilt oder dass α sicheres Wissen beschreibt. 3α modelliert, dass α manchmal gilt oder dass α Meinungen beschreibt. ” Klassische“ Logiken wie die Aussagenlogik und die Pr¨adikatenlogiken sind monoton. Das bedeu- tet, wenn f¨ ur Klauselmengen A, B und C gilt, dass alle Klauseln von A auch zu B geh¨oren und A ¬ C gilt, dass dann auch B ¬ C gilt. Konklusionen gelten also weiter, wenn man zu den Pr¨amissen Klau- seln hinzuf¨ ugt. Bei realen Problemen gibt es aber oft Ausnahmen, welche diese Monotonie zerst¨oren. So trifft die Aussage ” alle V¨ogel fliegen“, die etwa durch die Formel ∀x(Vogel(x) → Fliegen(x)), beschrieben werden kann, zwar auf fast alle V¨ogel zu, aber es gibt Vogelarten wie Strauße und Pin- guine, die nicht fliegen k¨onnen. Um solche Anwendungen ad¨aquat modellieren zu k¨onnen, m¨ ussen nicht monotone Schlussfolgerungen m¨oglich sein. Mehrwertige Logiken lassen mehr als zwei Wahrheitswerte und Verkn¨ upfungen daf¨ ur zu, und in der Fuzzy-Logik werden Wahrheitswerte durch (stetige) Funktionen beschrieben, die den Zu- geh¨origkeitsgrad eines Elementes zu einer Menge festlegen. 52 KAPITEL 3. PR ¨ ADIKATENLOGIK Kapitel 4 Beweismethoden Wie bereits erw¨ahnt benutzen wir die Pr¨adikatenlogik, um Begriffe mathematisch zu definieren, Eigenschaften daf¨ ur zu formulieren und diese zu beweisen, d.h. deren G¨ ultigkeit herzuleiten. In diesem Kapitel stellen wir g¨angige Beweisverfahren vor. Die meisten mathematischen S¨atze (Theoreme; Hilfss¨atze, Lemmata; Folgerungen, Korrollare) Mathematischer Satz Theorem haben die Form: α ⇒β Dabei sind α und β Formeln. α heißt Voraussetzung (Vorbedingung, Hypothese) und β Behauptung Voraussetzung Behauptung (Nachbedingung, Folgerung) des Satzes. S¨atze, die ¨ Aquivalenzen behaupten (α ⇔β) sind ¨aquivalent zu Folgerungen in beide Richtungen (α ⇒β ∧β ⇒α), so dass wir uns auf Folgerungen beschr¨anken k¨onnen. Zu zeigen, dass α ⇒β gilt, bedeutet zu zeigen, dass α →β eine Tautologie ist, d.h. dass α →β immer wahr ist. Wir geben im Folgenden vier Verfahren an, die dazu verwendet werden k¨onnen: 1. direkter Beweis, 2. indirekter Beweis, 3. Widerspruchsbeweis, 4. Beweis durch Ringschluss. Eine weitere sehr wichtige Beweismethode, das Prinzip der vollst¨andigen Induktion, mit dem gezeigt werden kann, dass ein Pr¨adikat P(n) wahr wird f¨ ur alle nat¨ urlichen Zahlen n ∈ N 0 wird in Kapitel 12 behandelt. Nach Durcharbeiten dieses Kapitels sollten Sie Lernziele • die oben aufgelisteten Beweismethoden erkl¨aren und anwenden k¨onnen. 4.1 Direkter Beweis Ein direkter Beweis eines Theorems α ⇒β ist eine Folge von Aussagen γ 1 , γ 2 , . . . , γ n = β 53 54 KAPITEL 4. BEWEISMETHODEN wobei f¨ ur jedes i mit 1 ≤ i ≤ n gilt: γ i = α oder γ i ist eine (bereits bewiesene) bekannte Aussage oder γ j1 ∧γ j2 ∧. . .∧γ jr ⇒γ i mit j 1 , j 2 , . . . , j r < i. Bei den Zwischenschritten k¨onnen also Kombinationen von vorher – im Beweis selbst oder im Rahmen anderer Beweise – etablierten Aussagen verwendet werden. Beispiel 4.1. Wir wollen den Satz ” Ist eine nat¨ urliche Zahl durch 2 und durch 3 teilbar, dann ist sie auch durch 6 teilbar“ direkt beweisen. Zun¨achst formalisieren wir diesen umgangssprachlich formulierten Satz: x 2 ∈ N 0 ∧ x 3 ∈ N 0 ⇒ x 6 ∈ N 0 Dabei ist α = _ x 2 ∈ N 0 ∧ x 3 ∈ N 0 _ die Voraussetzung und β = _ x 6 ∈ N 0 _ die Behauptung. Wir betrachten nun die folgenden Aussagen: γ 1 = (∃y ∈ N 0 (x = 2y) ∧ ∃z ∈ N 0 (x = 3z)) γ 2 = (∃y, z ∈ N 0 (2y = 3z)) γ 3 = (∃k ∈ N 0 (z = 2k)) γ 4 = ∃z, k ∈ N 0 (x = 3z ∧ z = 2k) γ 5 = ∃k ∈ N 0 (x = 2 3 k)) γ 6 = ∃k ∈ N 0 (x = 6k)) Die beiden Folgerungen: α ⇒γ 1 und γ 1 ⇒γ 2 gelten offensichtlich. Da 2y = 3z, muss 3z und damit z eine gerade Zahl sein, also gilt: γ 2 ⇒ γ 3 . Die Folgerungen γ 3 ⇒ γ 4 , γ 4 ⇒ γ 5 und γ 5 ⇒ γ 6 sind offensichtlich. Insgesamt erhalten wir: α ⇒γ 1 ⇒γ 2 ⇒γ 3 ⇒γ 4 ⇒γ 5 ⇒γ 6 ⇒β und damit α ⇒β, was zu beweisen war (w.z.b.w.). 1 2 4.2 Indirekter Beweis Dem indirekten Beweis liegt die folgende ¨ Aquivalenz zugrunde: (α ⇒β) ⇔(β ⇒α) Manchmal ist es tats¨achlich einfacher, bequemer oder schneller, die rechte anstelle der linken Fol- gerung zu beweisen. 1 Auch: qed f¨ ur quod erat demonstrandum. 4.3. BEWEIS DURCH WIDERSPRUCH 55 Beispiel 4.2. Als Beispiel wollen wir eine weitere Teilbarkeitsregel beweisen: Wenn die letzten beiden Ziffern einer nat¨ urlichen Zahl z als Zahl betrachtet durch 4 teilbar sind, dann ist auch die Zahl z durch 4 teilbar. Wir formalisieren: α = (x ∈ N 0,99 ) ∧ _ x 4 ∈ N 0 _ ∧ (y ∈ N 0 ) β = (x ∈ N 0,99 ) ∧ (y ∈ N 0 ) ∧ _ 100y +x 4 ∈ N 0 _ Anstelle α ⇒β direkt zu beweisen, beweisen wir β ⇒α. Es ist: β = (x / ∈ N 0,99 ) ∨ (y / ∈ N 0 ) ∨ _ 100y +x 4 / ∈ N 0 _ α = (x / ∈ N 0,99 ) ∨ _ x 4 / ∈ N 0 _ ∨ (y / ∈ N 0 ) Da sowohl x / ∈ N 0,99 als auch y / ∈ N 0 mit falsch zu bewerten sind, wird in beiden Disjunktionen der Wahrheitswert durch den jeweils verbleibenden Teilausdruck bestimmt (siehe Satz 2.4 bzw. Tabelle 2.4 auf Seite 27, Unerf¨ ullbarkeitsregeln), d.h. wir m¨ ussen nur noch 100y +x 4 / ∈ N 0 ⇒ x 4 / ∈ N 0 beweisen. Dies tun wir direkt: 100y +x 4 / ∈ N 0 ⇒ 100y 4 + x 4 / ∈ N 0 ⇒25y + x 4 / ∈ N 0 ⇒ x 4 / ∈ N 0 Da jede Zahl z ∈ N 0 sich darstellen l¨asst als z = 100y + x mit y ∈ N 0 und x ∈ N 0,99 , ist die Behauptung bewiesen. 2 4.3 Beweis durch Widerspruch Dem Widerspruchsbeweis liegt die ¨ Aquivalenz (α →β) ⇔((α ∧ β) →α) (4.1) zugrunde. Um diesen Beweis zu f¨ uhren, nehmen wir also sowohl die Voraussetzung α als auch die Negation der Folgerung β, also β, als wahr an und versuchen, daraus einen Widerspruch zu α zu folgern. Beispiel 4.3. Ein ” klassisches“ Beispiel f¨ ur einen Widerspruchsbeweis ist zu zeigen, dass √ 2 keine rationale Zahl ist. Genauer lautet diese Aussage: Wenn p und q teilerfremde nat¨ urliche Zahlen sind, 56 KAPITEL 4. BEWEISMETHODEN dann ist √ 2 ,= p q . Es seien also: α = _ ∀k ∈ N 2 _ p k / ∈ N 0 ∨ q k / ∈ N 0 __ (p und q sind teilerfremd) (4.2) β = _ √ 2 ,= p q _ ( √ 2 ist nicht rational) Wir nehmen nun an, dass es teilerfremde Zahlen p und q gibt mit √ 2 = p q , d.h. wir nehmen an, dass α ∧ β gilt. Aus √ 2 = p q folgt, dass 2 = p 2 q 2 ist. Daraus folgt, dass p 2 = 2q 2 gilt, und daraus, dass 2 ein Teiler von p 2 ist, und daraus, dass 2 ein Teiler von p ist. Hieraus folgt, dass 2 2 ein Teiler von p p = p 2 und damit 4 ein Teiler von 2q 2 ist. Hieraus folgt, dass 2 ein Teiler von q 2 und damit ein Teiler von q ist. Aus diesen Schlussfolgerungen folgt, dass 2 ein Teiler von p und von q ist, womit p und q nicht teilerfremd sind, d.h.: ∃k ∈ N 2 _ p k ∈ N 0 ∧ q k ∈ N 0 _ (4.3) Diese Aussage ist gleich α, also ein Widerspruch zu α (vergleiche (4.2) und (4.3)). Damit haben wir (α∧β) ⇒α gezeigt, und damit ist wegen der ¨ Aquivalenz (4.1) die Folgerung α ⇒β bewiesen. 2 Varianten von Widerspruchsbeweisen basieren auf den ¨ Aquivalenzen: (α →β) ⇔((α ∧ β) →β) (α →β) ⇔((α ∧ β) →(γ ∧ γ)) (α →β) ⇔((α ∧ β) →0) 4.4 Ringschluss Um die ¨ Aquivalenz der Formeln α 1 , . . . , α k , d.h. α 1 ⇔α 2 ⇔. . . ⇔α k , k ≥ 2 zu beweisen, kann man anstelle der 2(k −1) Folgerungen α i ⇒α i+1 und α i+1 ⇒α i , 1 ≤ i ≤ k −1, die k −1 Folgerungen α i ⇒α i+1 , 1 ≤ i ≤ k −1, und die Folgerung α k ⇒α 1 zeigen. Insgesamt ist zum Beweis der ¨ Aquivalenz der Formeln α i , 1 ≤ i ≤ k, die Folge der k Implikationen α 1 ⇒α 2 ⇒. . . ⇒α k ⇒α 1 zu zeigen. Satz 4.1. Zeigen Sie: Sind α 1 , . . . , α k , k ≥ 2, pr¨adikatenlogische Formeln, dann ist α 1 ⇔α 2 ⇔. . . ⇔α k (4.4) ¨aquivalent zu α 1 ⇒α 2 ⇒. . . ⇒α k ⇒α 1 (4.5) 4.4. RINGSCHLUSS 57 Beweis Aus Beispiel 2.7 c) auf Seite 23 folgt: (α ⇒β ⇒γ) ⇒(α ⇒γ) (4.6) Wir zeigen zun¨achst, dass (4.5) aus (4.4) folgt. Aus (4.4) folgt, dass α k ⇒α k−1 ⇒. . . ⇒α 2 ⇒α 1 (4.7) und dass α 1 ⇒α 2 ⇒. . . ⇒α k−1 ⇒α k (4.8) gilt. Aus (4.6) und (4.7) folgt, dass α k ⇒α 1 gilt. Hieraus folgt mit (4.8), dass (4.5) gilt. Damit ist gezeigt, dass (4.5) aus (4.4) folgt. Jetzt zeigen wir, dass (4.4) aus (4.5) folgt. Aus (4.5) und (4.6) folgt α 1 ⇒ α i , 1 ≤ i ≤ k, und α j ⇒ α 1 , 1 ≤ j ≤ k, sowie α i ⇒ α j , 1 ≤ i, j ≤ k − 1, i ≤ j. Es folgt, dass α j ⇒ α 1 ⇒ α i f¨ ur 1 ≤ i, j ≤ k mit i ≤ j gilt. Es folgt, dass α k ⇒α k−1 ⇒. . . ⇒α 2 ⇒α 1 gilt. Mit der Voraussetzung (4.5) folgt hieraus die Behauptung (4.4). 2 ¨ Ubung 4.1. Beweisen Sie, dass f¨ ur a, b ∈ R + gilt a +b 2 ≥ √ a b (das arithmetische Mittel von zwei positiven Zahlen ist gr¨oßer gleich deren geometrischem Mittel)! 2 ¨ Ubung 4.2. Beweisen Sie die Behauptung aus obiger ¨ Ubung 4.1 durch Widerspruchsbeweis! 2 58 KAPITEL 4. BEWEISMETHODEN Kapitel 5 Operationen auf Mengen Wir kehren nun zu Mengen zur¨ uck und benutzen pr¨adikatenlogische Formeln, um Teilmengenbe- ziehungen zwischen Mengen sowie Verkn¨ upfungen von Mengen zu definieren. Dabei benutzen bei wir folgende formale Schreibweise bei der Definition von neuen Begriffen: α :⇔β Dabei ist β eine Formel, in der bereits definierte Begriffe und Symbole verwendet werden, um den neuen Begriff oder das neue Symbol oder die neue Schreibweise α pr¨azise festzulegen. In vielen Anwendungsbereichen m¨ ussen Datenmengen miteinander verkn¨ upft werden. Hat man z.B. eine Datenbasis, in der die Kunden pro Tag festgehalten werden und m¨ochte man daraus eine Auflistung aller Kunden einer Woche haben, dann m¨ ussen die Tagesmengen vereinigt werden. Oder m¨ochte man wissen, welche Kunden an allen Tagen Bestellungen aufgegeben haben, dann m¨ ussen die gemeinsamen Elemente der Tagesmengen bestimmt werden. In diesem Kapitel definieren wir mithilfe logischer Ausdr¨ ucke elementare Mengenoperationen und betrachten ihre grundlegenden Eigenschaften. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • den Teilmengenbegriff und dessen grundlegende Eigenschaften kennen, • wissen, wie die Potenzmenge einer Menge gebildet wird, • f¨ ur einfache Beispiele Element- bzw. Teilmengenbeziehungen entscheiden k¨onnen, • die Definitionen f¨ ur Vereinigung, Durchschnitt, Differenz und Komplement von Mengen ken- nen, • die grundlegenden Eigenschaften dieser Operationen kennen und beweisen k¨onnen, • diese Operationen anwenden k¨onnen. 59 60 KAPITEL 5. OPERATIONEN AUF MENGEN 5.1 Teilmengen Definition 5.1. a) Eine Menge A ist Teilmenge einer Menge B, falls jedes Element von A auch Teilmenge Element von B ist. Wir schreiben: A ⊆ B. Formal lautet die Definition: A ⊆ B :⇔x ∈ A ⇒x ∈ B (5.1) Ein synonymer Begriff f¨ ur Teilmenge ist Untermenge. Entsprechend nennt man, wenn A ⊆ B gilt, Untermenge Obermenge B Obermenge von A. b) Zwei Mengen A und B sind gleich, wenn jede Teilmenge der anderen ist: Gleichheit von Mengen A = B :⇔A ⊆ B ∧ B ⊆ A (5.2) Sind die Mengen A und B nicht gleich, gilt also (A = B), dann schreiben wir A ,= B. c) Eine Menge A ist eine echte Teilmenge einer Menge B, falls A Teilmenge von B ist, aber nicht Echte Teil- menge gleich B ist: A ⊂ B :⇔A ⊆ B ∧ A ,= B (5.3) 2 Beispiel 5.1. Es gilt: a) ¦ 2, 3, 4, 7 ¦ ⊆ ¦ 1, 2, 3, 4, 7, 13 ¦. b) ¦ 1, 2, 3 ¦ = ¦ 3, 2, 1 ¦ sowie ¦ 1, 2, 3 ¦ ⊆ ¦ 3, 2, 1 ¦, aber ¦ 1, 2, 3, 4 ¦ ,⊂ ¦ 3, 2, 4, 1 ¦. c) ¦ 2, 3, 4, 7 ¦ ⊂ ¦ 1, 2, 3, 4, 7, 13 ¦. 2 Folgerung 5.1. a) F¨ ur jede Menge A gilt ∅ ⊆ A, d.h. die leere Menge ist Teilmenge jeder Menge. b) F¨ ur jede Menge A gilt A ⊆ A, d.h. jede Menge ist Teilmenge von sich selbst. c) Seien A, B und C Mengen, dann gilt: A ⊆ B ∧ B ⊆ C ⇒A ⊆ C. Beweis a) Nach Definition 5.1 ist zu zeigen: x ∈ ∅ ⇒ x ∈ A, d.h. wir m¨ ussen zeigen, dass die Subjunktion x ∈ ∅ →x ∈ A immer wahr ist. Das Pr¨adikat x ∈ ∅ ist immer falsch, und das Pr¨adikat x ∈ A kann wahr oder falsch sein. Folgende Wahrheitstafel zeigt die beiden m¨oglichen Belegungen f¨ ur die Subjunktion: x ∈ ∅ x ∈ A x ∈ ∅ →x ∈ A 0 1 1 0 0 1 x ∈ ∅ →x ∈ A ist also immer wahr, d.h. es gilt x ∈ ∅ ⇒x ∈ A und damit die Behauptung ∅ ⊆ A. Der Beweis f¨ ur b) folgt analog (siehe folgende ¨ Ubung 5.1). c) Wir setzen α = (x ∈ A), β = (x ∈ B) sowie γ = (x ∈ C). Aus Beispiel 2.7 c) (Seite 23) wissen wir, dass (α ⇒β) ∧ (β ⇒γ) ⇒(α ⇒γ) gilt (Kettenschluss). Damit k¨onnen wir folgern A ⊆ B ∧ B ⊆ C ⇒((x ∈ A) ⇒(x ∈ B)) ∧ ((x ∈ B) ⇒(x ∈ C)) ⇒(α ⇒β) ∧ (β ⇒γ) ⇒(α ⇒γ) ⇒((x ∈ A) ⇒(x ∈ C)) ⇒A ⊆ C 5.2. POTENZMENGEN 61 womit die Behauptung gezeigt ist. 2 ¨ Ubung 5.1. Beweisen Sie Folgerung 5.1 b)! 2 5.2 Potenzmengen Definition 5.2. Sei M eine Menge. Dann heißt T(M) = ¦ A [ A ⊆ M¦, die Menge aller Teilmengen Potenzmenge von M, die Potenzmenge von M. Es gilt also: A ∈ T(M) :⇔A ⊆ M. Anstelle von T(M) schreiben wir auch 2 M . 2 Beispiel 5.2. Sei M = ¦ a, b, c ¦, dann gilt T(M) = ¦ ∅, ¦a¦, ¦b¦, ¦c¦, ¦ a, b ¦, ¦ a, c ¦, ¦ b, c ¦, ¦ a, b, c ¦ ¦ Aus Folgerung 5.1 a) und b) folgt unmittelbar Folgerung 5.2. Sei M eine Menge, dann gilt ∅ ∈ T(M) sowie M ∈ T(M). 2 Satz 5.1. Sei M eine Menge mit m Elementen, [M[ = m, dann hat T(M) 2 m Elemente: [T(M)[ = 2 |M| . Beweis Siehe Beispiel 12.1 c) auf Seite 115. 2 Mit T(M) bezeichnen wir die Menge der endlichen Teilmengen von M. F¨ ur endliche Mengen M gilt T(M) = T(M), f¨ ur unendliche Mengen M gilt T(M) ⊂ T(M). Es gilt z.B. G + ∈ T(Z), aber G + / ∈ T(Z). ¨ Ubung 5.2. Bestimmen Sie T(∅) sowie T(T(∅))! 2 ¨ Ubung 5.3. Bestimmen Sie die einzige Menge M, f¨ ur die M ∈ T(M) gilt! 2 5.3 Verkn¨ upfung von Mengen Definition 5.3. Es seien A und B zwei Mengen. a) Die Menge A ∪ B = ¦ x [ x ∈ A ∨ x ∈ B¦, welche alle Elemente von A und B enth¨alt, heißt Vereinigung Vereinigung von A und B. b) Die Menge A ∩ B = ¦ x [ x ∈ A ∧ x ∈ B¦, welche alle gemeinsamen Elemente von A und B Durchschnitt, Schnittmenge enth¨alt, heißt Durchschnitt (auch Schnittmenge) von A und B. c) Gilt A∩ B = ∅, dann heißen A und B disjunkt (auch elementfremd). Disjunktheit d) Die Menge A−B = ¦ x [ x ∈ A∧x / ∈ B¦, welche alle Elemente von A enth¨alt, die nicht Element Differenz von B sind, heißt Differenz von A und B. e) Die Menge A¸B = (A−B) ∪ (B −A), welche alle Elemente von A enth¨alt, die nicht Element Symmetrische Differenz von B sind, und alle Elemente von B enth¨alt, die nicht Element von A sind, heißt symmetrische Differenz von A und B. f ) Falls A ⊆ B ist, dann heißt ( B A = B −A das Komplement von A bez¨ uglich B. Falls die Menge Komplement B aus dem Zusammenhang heraus klar ist, schreibt man anstelle von ( B A auch A. 2 62 KAPITEL 5. OPERATIONEN AUF MENGEN Beispiel 5.3. Es sei A = ¦ 1, 2, 3, 4 ¦ und B = ¦ 3, 4, 5 ¦. Dann gilt: a) A∪ B = ¦ 1, 2, 3, 4, 5 ¦ b) A∩ B = ¦ 3, 4 ¦ c) A−B = ¦ 1, 2 ¦ d) A¸B = ¦ 1, 2, 5 ¦ e) ( N0 G = U 2 F¨ ur die Vereinigung bzw. f¨ ur den Durchschnitt von n Mengen A 1 , A 2 , . . ., A n , n ≥ 0, f¨ uhren wir noch folgende Schreibweisen ein: A 1 ∪ A 2 ∪ . . . ∪ A n = n _ i=1 A i A 1 ∩ A 2 ∩ . . . ∩ A n = n i=1 A i Diese Schreibweise kann man noch verallgemeinern f¨ ur den Fall, dass die Indizes nicht die Zahlen 1, 2, . . ., n sind, sondern Elemente einer – m¨oglicherweise unendlichen – Indexmenge I: _ i∈I A i bzw. i∈I A i Betrachten wir hierzu ein Beispiel: Sei tag = ¦ mo, di, mi, do, fr, sa ¦ eine Indexmenge, und sei K t die Menge der Kunden, die am Tag t kaufen, dann bezeichnet _ t∈tag K t die Menge der Kunden an allen Tagen, und t∈tag K t bezeichnet die Menge der Kunden, die jeden Tag gekauft haben. 5.4 Elementare Eigenschaften Im Folgenden werden die elementaren Eigenschaften der oben eingef¨ uhrten Mengenoperationen aufgelistet. Eine Reihe dieser Eigenschaften gelten, weil entsprechende Eigenschaften f¨ ur die die Operationen definierenden logischen Vekn¨ upfungen gelten (vergleiche Satz 2.4 bzw. Tabelle 2.4 auf Seite 27). Satz 5.2. F¨ ur alle Mengen A, B und C gelten die folgenden Gesetze: 5.4. ELEMENTARE EIGENSCHAFTEN 63 (1) Die Operationen Vereinigung, Durchschnitt und symmetrische Differenz sind kommutativ: A∪ B = B ∪ A A∩ B = B ∩ A A¸B = B ¸A (2) Falls A ⊆ B ist, dann gilt: A∪ B = B A∩ B = A A−B = ∅ A¸B = B −A (3) Vereinigung und Durchschnitt sind idempotente Verkn¨ upfungen: A∪ A = A A∩ A = A (4) Aus den Eigenschaften (1) - (3) folgt: A∪ ∅ = A A∩ ∅ = ∅ A−A = ∅ ∅ −A = ∅ A−∅ = A (5) F¨ ur Vereinigung, Durchschnitt und Mengendifferenz gilt: A ⊆ A∪ B B ⊆ A∪ B A∩ B ⊆ A A∩ B ⊆ B A−B ⊆ A (6) F¨ ur die symmetrische Differenz gilt: A¸B = (A∪ B) −(A∩ B) (7) Vereinigung und Durchschnitt sind assoziative Operationen: A∪ (B ∪ C) = (A∪ B) ∪ C A∩ (B ∩ C) = (A∩ B) ∩ C 64 KAPITEL 5. OPERATIONEN AUF MENGEN (8) Vereinigung und Durchschnitt sind distributiv: A∪ (B ∩ C) = (A∪ B) ∩ (A∪ C) (A∩ B) ∪ C = (A∪ C) ∩ (B ∪ C) A∩ (B ∪ C) = (A∩ B) ∪ (A∩ C) (A∩ B) ∪ C = (A∪ C) ∩ (B ∪ C) (9) Es gelten die De Morganschen Regeln: 1 A∪ B = A∩ B A∩ B = A∪ B (10) Es gelten die Absorptionsgesetze: A∪ (B ∩ A) = A A∩ (B ∪ A) = A (11) Doppelte Komplementbildung: A = A Beweis Bei allen Eigenschaften – bis auf (5) – sind Gleichheiten von Mengen zu zeigen. Gem¨aß Definition 5.1 b) auf Seite 60 sind zwei Mengen gleich, wenn jede Teilmenge der anderen ist. Mit dieser Methode zeigen wir die erste Gleichheit von (9), alle anderen Beweise sind Gegenstand von ¨ Ubung 5.4. Fast alle Gleichheiten lassen sich auf die ¨ Aquivalenz der Pr¨adikate zur¨ uckf¨ uhren, mithilfe derer die Mengenoperationen definiert sind (siehe Definition 5.3 auf Seite 61). Um A∪ B = A∩ B zu zeigen, m¨ ussen wir also A∪ B ⊆ A∩ B und A∩ B ⊆ A∪ B zeigen. A∪ B ⊆ A∩B gilt, falls die Implikation x ∈ A∪ B ⇒x ∈ A∩B g¨ ultig ist, was wir im Folgenden zeigen: x ∈ A∪ B ⇒x / ∈ A∪ B (gem¨aß Definiton des Komplements) ⇒(x ∈ A∪ B) (gem¨aß Definition von / ∈) ⇒(x ∈ A∨ x ∈ B) (gem¨aß Definition der Vereinigung) ⇒x / ∈ A∧ x / ∈ B (gem¨aß De Morganscher Regeln f¨ ur Konjunktion und Disjunktion, Tabelle 2.4, Seite 27) ⇒x ∈ A∧ x ∈ B (gem¨aß Definiton des Komplements) ⇒x ∈ A∩ B (gem¨aß Definition des Durchschnitts) Der Beweis von A∩ B ⊆ A∪ B geschieht durch Umkehrung dieser Implikationen. 2 1 Benannt nach Augustus De Morgan (1806 - 1871), britischer Mathematiker und Logiker. De Morgan leistete Beitr¨age zur Algebra und zur mathematischen Logik und begr¨ undete neben George Boole eine Algebra der Logik. 5.4. ELEMENTARE EIGENSCHAFTEN 65 ¨ Ubung 5.4. Beweisen Sie Satz 5.2! 2 Folgerung 5.3. a) F¨ ur zwei endliche Mengen A und B gilt: [A∪ B[ = [A[ +[B[ −[A∩ B[ b) Sind A und B endlich und disjunkt, dann gilt [A∪ B[ = [A[ +[B[. 2 Definition 5.4. Sei A eine nicht leere Menge, I eine Indexmenge und A i ⊆ A, i ∈ I, eine Familie Partition ¨ Uberdeckung Zerlegung von nicht leeren Teilmengen von A. Dann heißt ¦A i ¦ i∈I eine Partition von A genau dann, wenn gilt: (1) A i ∩ A j = ∅ f¨ ur i, j ∈ I mit i ,= j, (2) i∈I A i = A. Eine Partition zerlegt also eine Menge vollst¨andig in disjunkte Teilmengen. Man sagt auch, dass die Menge A von ¦A i ¦ i∈I (vollst¨andig und disjunkt) ¨ uberdeckt wird. 2 Beispiel 5.4. a) Die Mengen G + und U + bilden eine Partition von N 0 . b) Sei Σ = ¦ a, b, . . . , z ¦ die Menge der Kleinbuchstaben des deutschen Alphabets. Seien W a , W b , . . . , W z die Menge der W¨orter der deutschen Sprache, die mit a, mit b usw. oder mit z beginnen. Dann bilden diese Mengen eine Partition der Menge D aller deutschen klein geschriebenen W¨orter, denn es gilt: α∈Σ W α = D und W α ∩ W β = ∅ f¨ ur α ,= β, α, β ∈ Σ. 2 66 KAPITEL 5. OPERATIONEN AUF MENGEN Kapitel 6 Boolesche Algebra Wenn wir Satz 2.4 (Seite 26) und Satz 5.2 (Seite 62) vergleichen, bemerken wir, dass sowohl f¨ ur Verkn¨ upfungen der Logik als auch f¨ ur Mengenverkn¨ upfungen gleiche Eigenschaften gelten. Wir wollen von den konkreten Operanden, aussagen- oder pr¨adikatenlogische Formeln bzw. Mengen ab- strahieren und Verkn¨ upfungsstrukturen betrachten, die Elemente einer Menge mit drei Operatoren verkn¨ upfen und dabei bestimmten Rechenregeln gen¨ ugen. Wir lernen damit eine erste abstrakte Re- chenstruktur kennen, von der wir bereits Beispiele, n¨amlich aussagenlogische Formeln und Mengen, betrachtet haben. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • den Begriff der Booleschen Algebra und dessen grundlegende Eigenschaften kennen, • den Begriff des Isomorphie Boolescher Algebren erkl¨aren k¨onnen, • wissen, dass die Boolesche Algebra der Wahrheitswerte ein Repr¨asentant f¨ ur alle minimalen Booleschen Algebren ist, • wissen, dass die Booleschen Algebren der Potenzmengen von endlichen Mengen Repr¨asentan- ten f¨ ur endliche Boolesche Algebren sind. 6.1 Definitionen und grundlegende Eigenschaften Definition 6.1. Eine Boolesche Algebra 1 / = (A, 0, 1, ⊕, ⊗, ) ist gegeben durch eine Menge A mit Boolesche Algebra zwei ausgezeichneten Elementen 0 (sogenanntes Nullelement) und 1 (sogenanntes Einselement) aus Nullelement Einselement A sowie den zweistelligen Operatoren ⊕ und ⊗, die angewendet auf zwei Elemente aus A wieder ein Element aus A ergeben, und den einstelligen Operator , der angewendet auf ein Element aus A wieder ein Element aus A liefert. Die Operatoren und beliebigen Elementen x, y, z ∈ A m¨ ussen dabei folgenden Gesetzen gen¨ ugen: 1 Der britische Mathematiker und Logiker George Boole (1815 - 1864) gilt als Begr¨ under der mathematischen Logik. Durch Formalisierung des mathematischen Denkens ( ” An investigation of the laws of thought“ ist eine ber¨ uhmte Schrift von Boole zu diesem Thema) entwickelte er eine Algebra der Logik, d.h. eine Logik, mit der man ” rechnen“ kann (siehe Kapitel 2 ¨ uber Aussagenlogik). 67 68 KAPITEL 6. BOOLESCHE ALGEBRA (i) Kommutativit¨at f¨ ur ⊕ und ⊗: x ⊕y = y ⊕x x ⊗y = y ⊗x (ii) Assoziativit¨at f¨ ur ⊕ und ⊗: x ⊕(y ⊕z) = (x ⊕y) ⊕z x ⊗(y ⊗z) = (x ⊗y) ⊗z (iii) Absorption: x ⊕(y ⊗x) = x x ⊗(y ⊕x) = x (iv) Distributivit¨at: x ⊕(y ⊗z) = (x ⊕y) ⊗(x ⊕z) x ⊗(y ⊕z) = (x ⊗y) ⊕(x ⊗z) (v) Eigenschaften von 0 und 1: x ⊕0 = x x ⊗0 = 0 x ⊕1 = 1 x ⊗1 = x (vi) Eigenschaften von : x ⊕x = 1 x ⊗x = 0 2 Die n¨achste Folgerung gibt zwei Boolesche Algebren an, die wir schon kennen. Folgerung 6.1. a) Sei M irgendeine Menge, dann bildet T M = (T(M), ∅, M, ∪, ∩, ( M ) eine Boolesche Algebra. b) B = (¦ 0, 1 ¦, 0, 1, ∨, ∧, ) mit 1 ∨ 1 = 1 1 ∨ 0 = 1 0 ∨ 1 = 1 0 ∨ 0 = 0 1 = 0 1 ∧ 1 = 1 1 ∧ 0 = 0 0 ∧ 1 = 0 0 ∧ 0 = 0 0 = 1 bildet ebenfalls eine Boolesche Algebra. 2 T M ist die Boolesche Algebra aller Teilmengen einer gegebenen Menge M. Die Operation ⊕ ist die Vereinigung, die Operation ⊗ ist der Durchschnitt und die Operation ist das Komplement bez¨ uglich M. Das Nullelement ist die leere Menge und das Einselement ist die Menge M selbst. 6.1. DEFINITIONEN UND GRUNDLEGENDE EIGENSCHAFTEN 69 Die Mengenverkn¨ upfungen gen¨ ugen den Bedingungen (i) - (vi) der Definition 6.1 f¨ ur eine Boolesche Algebra (siehe Satz 5.2, Seite 62). B ist die Boolesche Algebra der Wahrheitswerte in der Aussagenlogik. Die Operation ⊕ ist die Disjunktion, die Operation ⊗ ist die Konjunktion und die Operation ist die Negation. Das Null- element ist der Wahrheitswert 0 ( ” falsch“) und das Einselement ist der Wahrheitswert 1 ( ” wahr“). Die Junktoren gen¨ ugen den Bedingungen (i) - (vi) der Definition 6.1 f¨ ur eine Boolesche Algebra (siehe Satz 2.4 bzw. Tabelle 2.4, Seite 27). F¨ ur Boolesche Algebren allgemein gelten nat¨ urlich alle Eigenschaften, die wir f¨ ur die speziellen Booleschen Algebren B und T M f¨ ur eine Menge M bereits gezeigt haben (siehe S¨atze 2.4 und 5.2). Ebenso gilt f¨ ur jede Boolesche Algebra das Dualit¨atsprinzip, das wir in Satz 2.10 (Seite 30) f¨ ur die Aussagenlogik bereits formuliert haben. Satz 6.1. Ist eine Eigenschaft einer Booleschen Algebra / g¨ ultig, dann ist auch ihre duale Eigen- schaft in / g¨ ultig. Die duale Eigenschaft erh¨alt man, indem man jedes Vorkommen von ⊕ durch ⊗, jedes ⊗ durch ⊕, jedes Vorkommen von 0 durch 1 und jede 1 durch 0 ersetzt. 2 ¨ Uber die im Satz 2.4 bzw. im Satz 5.2 formulierten Eigenschaften hinaus gelten f¨ ur alle Boole- schen Algebren noch die im folgenden Satz aufgef¨ uhrten fundamentalen Eigenschaften. Satz 6.2. Sei / = (A, 0, 1, ⊕, ⊗, ) eine Boolesche Algebra. Dann sind durch die definierenden Eigenschaften in Definition 6.1 a) das Null- und das Einselement sowie b) a f¨ ur jedes a ∈ A eindeutig bestimmt. Beweis a) Wir nehmen an, es g¨abe außer 0 noch das davon verschiedene Nullelement z. z muss die Eigenschaft (v) aus Definition 6.1 erf¨ ullen. Es gilt also a ⊗ z = z f¨ ur alle a ∈ A, d.h. diese Gleichung gilt auch f¨ ur a = 0: 0 ⊗z = z (6.1) Andererseits gilt a ⊗0 = 0 f¨ ur alle a ∈ A, also auch f¨ ur a = z, d.h. z ⊗0 = 0 (6.2) Aus den Gleichungen (6.1) und (6.2) und mit der Kommutativit¨at von ⊗ folgt z = 0 ⊗z = z ⊗0 = 0 und damit z = 0. Der Beweis der Eindeutigkeit des Einselements erfolgt analog durch Dualisierung des obigen Beweises der Eindeutigkeit des Nullelementes. b) Wir nehmen an, es g¨abe zu x ∈ A außer x noch ein Element c x mit den Eigenschaften (vi) aus Definition 6.1. Es gilt also: x ⊕c x = 1 (6.3) x ⊗c x = 0 (6.4) 70 KAPITEL 6. BOOLESCHE ALGEBRA Es folgt: x = x ⊕0 (wegen Eigenschaft (v) von Definition 6.1) = x ⊕(x ⊗c x ) (wegen (6.4)) = (x ⊕x) ⊗(x ⊕c x ) (wegen Eigenschaft (iv) von Definition 6.1) = 1 ⊗(x ⊕c x ) (wegen Eigenschaft (vi) von Definition 6.1) = x ⊕c x (wegen Eigenschaft (v) von Definition 6.1) Es gilt also x = x ⊕c x (6.5) Dual zur Herleitung dieser Gleichung l¨asst sich mit x = x ⊗1 (wegen Eigenschaft (v) von Definition 6.1) = x ⊗(x ⊕c x ) (wegen (6.3)) = (x ⊗x) ⊕(x ⊗c x ) (wegen Eigenschaft (iv) von Definition 6.1) = 0 ⊕(x ⊗c x ) (wegen Eigenschaft (vi) von Definition 6.1) = x ⊗c x (wegen Eigenschaft (v) von Definition 6.1) die Gleichung x = x ⊗c x (6.6) herleiten. Mit diesen Ergebnissen folgt nun: x = x ⊗c x (wegen (6.6)) = (x ⊕c x ) ⊗c x (wegen (6.5)) = c x ⊗(x ⊕c x ) (wegen Eigenschaft (i) von Definition 6.1) = c x wegen Eigenschaft (iii) von Definition 6.1) Damit haben wir ausgerechnet, dass x = c x gilt. 2 6.2 Isomorphie Boolescher Algebren B ist im ¨ Ubrigen im folgenden Sinn die kleinste Boolesche Algebra: Jede Boolesche Algebra mit zwei Elementen ist strukturgleich zu B. Das bedeutet, dass es zum einen keine Boolesche Algebra mit nur einem Element geben kann, und zum anderen gibt es f¨ ur jede andere Boolesche Algebra B = (¦a, b¦, a, b, ⊕, ⊗, ) mit zwei Elementen eine eineindeutige Zuordnung ϕ : ¦ a, b ¦ →¦ 0, 1 ¦, so dass f¨ ur alle x, y ∈ ¦ a, b ¦ gilt Isomor- phismus ϕ(x ⊕y) = ϕ(x) ∨ ϕ(y) ϕ(x ⊗y) = ϕ(x) ∧ ϕ(y) ϕ(x ) = ϕ(x) 6.2. ISOMORPHIE BOOLESCHER ALGEBREN 71 Bis auf die Umbenennung ϕ der Elemente von B und der entsprechenden Umbenennung der Ope- ratoren sind also alle zweielementigen Booleschen Algebren identisch zu B. Diese Art der Struktur- gleichheit nennt man Isomorphismus. So wie die Boolesche Algebra der Wahrheitswerte B ein ” Prototyp“ f¨ ur alle minimalen Boole- schen Algebren ist, ist die Boolesche Algebra T n = (T(N 1,n ), ∪, ∩, ( N1,n ) der Teilmengen der Menge N 1,n = ¦ 1, . . . , n¦, n ≥ 1, ein Protoyp f¨ ur alle endlichen Booleschen Algebren. Dies besagt der folgenden Satz, den wir ohne Beweis angeben. Satz 6.3. Zu jeder endlichen Booleschen Algebra A = (X, 0, 1, ⊕, ⊗, ) gibt es eine Zahl n ∈ N, so dass A und T n isomorph zueinander sind, d.h. es gibt eine eineindeutige Zuordnung ( ” Umbennung“) ϕ : T(N 1,n ) →X, so dass f¨ ur alle A, B ∈ T(N 1,n ) gilt ϕ(A∪ B) = ϕ(A) ⊕ϕ(B) ϕ(A∩ B) = ϕ(A) ⊗ϕ(B) ϕ(( N1,n A) = (ϕ(A)) 2 Folgerung 6.2. a) Die Anzahl der Elemente einer endlichen Booleschen Algebra ist immer 2 n f¨ ur ein n ≥ 1. b) Je zwei endliche, isomorphe Boolesche Algebren haben in jedem Fall dieselbe Anzahl von Ele- menten. 2 72 KAPITEL 6. BOOLESCHE ALGEBRA Kapitel 7 Zusammenfassung und ¨ Ubungen 7.1 Zusammenfassung Mengen sind ein grundlegendes, wesentliches Hilfsmittel in der Mathematik und in der Informatik, um Dinge zusammenzufassen und dieser Zusammenfassung einen Namen zu geben. Die Dinge, die zu einer Menge zusammengefasst werden, heißen Elemente der Menge. Mengen k¨onnen auf zwei Arten dargestellt werden: aufz¨ahlend oder beschreibend. Bei der aufz¨ahlenden Darstellung werden die Elemente der Menge explizit angegeben. Dies ist bei Mengen mit vielen Elementen und erst recht bei unendlichen Mengen unm¨oglich. Man hilft sich dann durch die ” P¨ unktchennotation“, bei der einige Elemente angegeben werden. Aus den angegebenen Elementen und Informationen aus dem Zusammenhang muss bestimmt werden k¨onnen, ob ein Ding Element der Menge ist oder nicht. Bei der beschreibenden Darstellung werden die Eigenschaften, die die Elemente einer Menge haben, durch ein Pr¨adikat angegeben. Pr¨adikate werden in der Regel durch ” halbformale“ Ausdr¨ ucke angegeben, die neben logischen (Teil-) Ausdr¨ ucken auch nat¨ urliche Sprachkomponenten enthalten. Die ” klassische“ Cantorsche Mengendefinition kann zu Paradoxien f¨ uhren, was durch die Rus- selsche Antinomie deutlich wird. Die Sprache der Aussagenlogik besteht aus aussagenlogischen Ausdr¨ ucken (Formeln). Deren syntaktischer Aufbau kann durch rekursiv definierte Regeln festgelegt werden. Die Bedeutung der Ausdr¨ ucke in Abh¨angigkeit einer Belegung ihrer Variablen kann durch einen Interpreter festgelegt werden, der die belegten Formeln mithilfe einer abstrakten Maschine ausrechnet. Die Bedeutung von aussagenlogischen Verkn¨ upfungen kann auch mithilfe von Wahrheitstafeln festgelegt werden. Formeln bzw. Formelmengen heißen erf¨ ullbar, wenn sie mindestens eine wahre Interpretation besitzen. Solche Interpretationen heißen Modelle f¨ ur die Formeln bzw. Formelmengen. F¨ ur das Beweisen von Behauptungen in Mathematik und Informatik sowie f¨ ur das Ableiten von Wissen aus Wissensbasen (Expertensysteme, Wissensmanagementsysteme) sind Schlussfolgerungs- mechanismen von Bedeutung. Eine Formel kann aus einer Formelmenge logisch gefolgert werden, wenn alle Modelle der Formelmenge auch Modelle der Formel sind. Durch Implikationen, das sind immer wahre Subjunktionen, ist ein weiterer semantischer Fol- gerungsbegriff gegeben. Die logische Folgerung und die Implikation sind semantische Folgerungsbe- griffe, weil die Folgerung auf Interpretationen bzw. auf Wahrheitstafeln beruht, d.h. die Belegungen 73 74 KAPITEL 7. ZUSAMMENFASSUNG UND ¨ UBUNGEN der Formelmengen und Formeln werden betrachtet. Bei syntaktischen Folgerungsbegriffen wird f¨ ur m¨oglichst wenige (und ” kleine“) Schlussfolge- rungen deren G¨ ultigkeit gezeigt. Die Ableitung von Formeln aus Formelmengen geschieht dann, in dem Regeln eines Kalk¨ uls angewendet werden. Der Kalk¨ ul beschreibt, welche Formeln in einer Formelmenge durch welche Formeln ersetzt werden k¨onnen und zwar rein als Texte ( ” syntaktisch“), d.h. ohne dass Interpretationen oder Wahrheitstafeln berechnet werden m¨ ussen. Wichtigste Anforderungen an einen Kalk¨ ul sind Korrektheit und Vollst¨andigkeit. Korrektheit fordert, dass jede aus einer Formelmenge mit dem Kalk¨ ul ableitbare Formel auch eine logische Fol- gerung dieser Formelmenge ist. Vollst¨andigkeit bedeutet, dass jede logisch ableitbare Formel auch mit dem Kalk¨ ul abgeleitet werden kann. Ein korrekter und vollst¨andiger Kalk¨ ul ist der Resoluti- onskalk¨ ul. Es gibt 2 2 n n-stellige logische Verkn¨ upfungen, d.h. 16 zweistellige. Zwei Formeln bzw. Formel- mengen heißen ¨aquivalent, wenn alle ihre Interpretationen (bei identischen Belegungen gemeinsamer Variablen) denselben Wert haben. Man kann Formeln in ¨aquivalente Formeln transformieren, die nur Verkn¨ upfungen einer aussagenlogischen Basis enthalten. Aussagenlogische Basen f¨ ur zweistelli- ge Verkn¨ upfungen, mit deren Operationen jeweils alle anderen Verkn¨ upfungen ausgedr¨ uckt werden k¨onnen, sind z.B. die Boolesche Basis ¦ , ∨, ∧¦, die De Morgan-Basen ¦ , ∨¦ und ¦ , ∧¦, die Frege-Basis ¦ , →¦, die NOR-Basis ¦ ↓ ¦ und die NAND-Basis ¦ ↑ ¦. So l¨asst sich jede Formel in disjunktiver Normalform (Disjunktion von Konjunktionen) und in konjunktiver Normalform (Kon- junktion von Disjunktionen) darstellen. Aussagenlogische Ausdr¨ ucke bestehen aus Konstanten und Variablen, die mit aussagenlogischen Operationen miteinander verkn¨ upft werden k¨onnen. Damit k¨onnen aber nur sehr einfache Pr¨adi- kate formuliert werden. Um auch Aussagen ¨ uber Mengen und Beziehungen zwischen Elementen von Mengen auszudr¨ ucken, ben¨otigt man weitere sprachliche Mittel wie weitere Konstanten sowie Quantoren, Funktionen und Relationen. Pr¨adikatenlogische Ausdr¨ ucke werden – zusammen mit nat¨ urlichsprachlichen Formulierungen – verwendet, um beschreibende Darstellungen von Mengen anzugeben; so z.B. auch f¨ ur die Definition der Teilmengenbeziehung und der Mengenverkn¨ upfun- gen. Eigenschaften dieser Begriffe ergeben sich dann aus den entsprechenden Eigenschaften der definierenden Pr¨adikate. Eine mathematische Behauptung α ⇒ β mit der Voraussetzung α und der Behauptung β ist eine logische Schlussfolgerung, die bewiesen, d.h. deren G¨ ultigkeit gezeigt werden muss. Aufgrund von lgischen ¨ Aquivalenzen kann der direkte Beweis von α ⇒β auch mit anderen Methoden gezeigt werden wie indirekter Beweis und Widerspruchsbeweis. Eine ¨ Aquivalenz von mehreren Formeln kann durch einen Ringschluss gezeigt werden. Da die Verkn¨ upfungen von Mengen mithilfe von logischen Pr¨adikaten definiert werden, ist es nicht verwunderlich, dass logische Verkn¨ upfungen von Aussagen und Verkn¨ upfungen von Teilmen- gen einer Menge analoge Eigenschaften erf¨ ullen, wie z.B. Kommutativit¨at, Assoziativit¨at und Dis- tributivit¨at sowie die Existenz von ausgezeichneten Elementen wie die Menge selbst und die leere Menge bzw. die logische 1 und die logische 0. Es stellt sich heraus, dass die Rechenstruktur der Potenzmenge einer Menge mit den Mengenverkn¨ upfungen Vereinigung, Durchschnitt und Komple- ment quasi dieselbe ist wie aussagenlogischen Formeln, welche mit der Booleschen Basis gebildet werden. Eine Abstraktion f¨ ur solche Rechenstrukturen stellt die Boolesche Algebra dar. Die Po- tenzmenge einer n-elementigen Menge ist z.B. ein Prototyp f¨ ur eine endliche Boolesche Algebra. Daraus folgt, dass endliche Boolesche Algebren immer genau 2 n Elemente besitzen. 7.2. ¨ UBUNGEN 75 7.2 ¨ Ubungen 1. Geben Sie folgende Mengen in beschreibender Form an: (1) M 1 = ¦ 1, 2, 4, 8, 16, 32, 64 ¦, (2) M 2 = ¦ 4, 9, 25, 49, 121, . . . ¦, (3) M 3 = ¦ 1, 8, 27, 64 ¦, (4) U = ¦ 1, 3, 5, 7, . . . ¦, (5) G − = ¦ −2, −4, −6, . . . ¦. 2. Geben Sie folgende Mengen in aufz¨ahlender Form an: (1) die Menge M 1 aller ganzen Zahlen, die Kubikzahlen von ganzen Zahlen und kleiner als 100 sind, (2) die Menge M 2 aller ganzen Zahlen zwischen 10 und 50, die durch 3 aber nicht durch 4 teilbar sind, (3) die Menge M 3 = ¦ x[ x = √ y und 0 ≤ y ≤ 100 und x ∈ N¦, (4) die Menge M 4 = ¦ x[ 24 x ∈ N 0 ¦, (5) die Menge M 5 = ¦ x[ x = 2 und x = 4 ¦, (6) die Menge M 6 = ¦ x[ x = 2 oder x ∈ ¦ 1, 2, 3 ¦ ¦. 3. Seien K und M irgendwelche Mengen sowie A = ¦ 3, 4, ¦ 5, 6 ¦ ¦ und B = ¦ 5, 6 ¦. (1) Setzen Sie eines oder mehrere der Symbole ∈, / ∈, ⊆, ,⊆ richtig ein: (a) M . . . M, (b) ∅ . . . ¦ 0 ¦, (c) K . . . ¦ ¦ 1, 2 ¦, K¦, (d) ¦ 1 ¦ . . . ¦ ¦ 1, 2 ¦, K¦. (2) Welche der folgenden Aussagen sind wahr: (a) ¦ 3, 4 ¦ ⊆ A, (b) ∅ ∈ A, (c) ∅ ⊆ A, (d) B ⊆ A, (e) B ∈ A, (f) 6 ∈ A, (g) ¦ 6 ¦ ⊆ A? 4. Beweisen Sie Folgerung 2.1 auf Seite 19! 5. Zeigen Sie die Allgemeing¨ ultigkeit der Formel (α →β) →(β →α) f¨ ur α, β ∈ /! 6. Zeigen Sie, dass die Bauernregel ” Wenn der Hahn kr¨aht auf dem Mist, dann ¨andert sich das Wetter oder es bleibt, wie es ist eine Tautologie ist! 7. Beweisen Sie Beispiel 2.5 a- c) auf Seite 21! 8. Beweisen Sie Beispiel 2.7 a - c) auf Seite 23! 9. Beweisen Sie Satz 2.4, d.h. die in Tabelle 2.4 auf Seite 27 aufgelisteten ¨ Aquivalenzen! 10. Beweisen Sie Satz 2.5 auf Seite 26! 11. Beweisen Sie Folgerung 2.5 auf Seite 28! 12. Zeigen Sie, dass ¦ ↓ ¦ eine aussagenlogische Basis bildet! 13. Zeigen Sie, dass ¦ ↑ ¦ eine aussagenlogische Basis bildet! 76 KAPITEL 7. ZUSAMMENFASSUNG UND ¨ UBUNGEN 14. Pr¨ ufen Sie mit Hilfe der Resolutionsmethode, ob die aussagenlogische Formel α = (((p →q) ∧ (q →r) ∧ (r →p) ∧ (p ∨ q ∨ r)) →(p ∧ q ∧ r)) erf¨ ullbar ist oder nicht! 15. Berechnen Sie R ∗ (M α ) f¨ ur α = (p ∨ β) ∧ (p ∨ β)! 16. Pr¨asident I weiß: (i) ” Wenn Professor W eine Vorlesung h¨alt, dann kommen viele Studierende, falls kein sch¨ones Wetter ist.“ (ii) ” Wenn Professor W eine Vorlesung h¨alt, dann ist schlechtes Wetter.“ (iii) I vermutet, dass die Aussage ” Wenn Professor W eine Vorlesung h¨alt, dann kommen viele Studierende.“ zutrifft. K¨onnen Sie best¨atigen, dass die Vermutung von Pr¨asident I zutrifft? Gehen Sie wie folgt vor: 0) Benutzen Sie die Variablen P, S und W f¨ ur die Aussagen – P: ” Professor W h¨alt eine Vorlesung.“ – S: ” Viele Studierende kommen.“ – W: ” Es ist sch¨ones Wetter.“ a) Formulieren Sie die Aussagen (i) - (iii) durch geeignete aussagenlogische Verkn¨ upfungen dieser Variablen! b) Transformieren Sie diese Verkn¨ upfungen in Disjunktionen! c) Geben Sie eine Klauselmenge an, die die Vermutung von Pr¨asident I beschreibt! d) Wenden Sie das Resolutionsverfahren an und beantworten Sie mithilfe des Ergebnisses die Frage, ob die Vermutung von Pr¨asident I zutrifft. 17. Ist die Formel α = (((p →q) ∧ (q →r) ∧ (r →p) ∧ (p ∨ q ∨ r) ∧ (p ∨ q ∨ r)) erf¨ ullbar? 18. Beweisen Sie: a, b ∈ R + ⇒ (a+b) 2 4 ≥ a b! 19. Beweisen Sie: a, b ∈ R + ⇒ a+b 2 ≥ √ ab! 20. Beweisen Sie durch direkten sowie durch Widerspruchsbeweis, dass das Produkt zweier unge- rader Zahlen wieder ungerade ist: x, y ∈ U + ⇒xy ∈ U + ! 21. Beweisen Sie: F¨ ur jede Menge A gilt: A ⊆ A (siehe Folgerung 1.8)! 22. Bestimmen Sie T(∅) sowie T(T(∅))! 7.2. ¨ UBUNGEN 77 23. F¨ ur welche Mengen M gilt M ∈ T(M) und M ⊆ T(M)? 24. Beweisen Sie Satz 5.2 auf Seite 62! 25. Zeigen Sie, dass die Mengendifferenz im Allgemeinen keine kommutative Verkn¨ upfung ist! F¨ ur welche Mengen A und B gilt A−B = B −A? 26. Beweisen Sie Folgerung 5.3 auf Seite 65! 78 KAPITEL 7. ZUSAMMENFASSUNG UND ¨ UBUNGEN Teil II Relationen und Funktionen 79 81 Relationen und Funktionen als spezielle Relationen spielen in der Informatik eine sehr wich- tige Rolle. Relationen setzen Werte aus verschiedenen Mengen in Beziehung. Betrachten wir zur Einf¨ uhrung eine kleine relationale Datenbank. Diese soll Daten ¨ uber Studierende und ¨ uber Profes- sorinnen und Professoren enthalten. F¨ ur die Datenbank sollen bei den Studierenden die Merkmale Matrikelnummer, Name, Wohnort und Studienfach, und f¨ ur die Professorinnen und Professoren sollen die Merkmale Name, Fachbe- reich, Raum und Telefonnummer gespeichert werden. Außerdem soll festgehalten werden, welche Studierende bei welchen Professorinnen oder Professoren in welchem Semester welche Vorlesung mit welchen Pr¨ ufungsergebnissen geh¨ort haben. Diese Anwendung k¨onnen wir durch drei Beziehungen modellieren: 1. Die Relation Studis setzt f¨ ur jeden Studierenden die entsprechenden Werte der oben genannten Merkmale in Beziehung. Wir k¨onnen diese wie folgt als Tabelle darstellen: Studis Matr Name Wohnort Studienfach 123456 Schmitz Bonn Informatik 790123 M¨ uller Berlin Mathematik 456789 Meier Dresden Mathematik . . . . . . . . . . . . 2. Die Relation Profs setzt f¨ ur jede Professorin und jeden Professor die entsprechenden Werte ihrer oben genannten Merkmale in Beziehung. Folgende Tabelle zeigt m¨ogliche Daten: Profs Name Fachbereich Raum Telefon Einstein Physik C 123 4567 Noether Mathematik A 890 1234 Codd Informatik B 567 8901 . . . . . . . . . . . . 3. Die Relation h¨ort bei setzt Studierende und Professorinnen oder Professoren mit entspre- chenden Werten der oben daf¨ ur genannten Merkmale in Beziehung. Folgende Tabelle zeigt m¨ogliche Daten: h¨ort bei Studi Prof Semester Vorlesung Ergebnis 123456 Codd WS 00/01 Datenbanken 2,0 790123 Noether SS 00 Verbandstheorie 1,0 456789 Einstein WS00/01 Math. Physik I 3,0 . . . . . . . . . . . . . . . Den Merkmalen sind Wertebereiche zugeordnet, und eine Relation setzt Kombinationen von Werten den Merkmalen entsprechender Wertebereiche in Beziehung. Im Beispiel ist dem Merkmal Matr als Wertebereich die Menge sechsstelliger Ziffernfolgen zugeordnet, Name, Wohnort und Studienfach sind jeweils Zeichenketten als Werte zugeordnet. Die Relation Studis setzt Kombinationen von Werten dieser Wertebereiche in Beziehung, jede Zeile der obigen Tabelle Studis ist eine solche Kombination. Tabellen sind eine M¨oglichkeit zur Darstellung von Relationen. 82 F¨ ur die beiden anderen Tabellen bzw. Relationen gilt Entsprechendes. Zur Tabelle h¨ort bei sei bemerkt, dass Werte des Merkmals Studi Werte sind, die als Werte des Merkmals Matr in der Tabelle Studis vorkommen und dass Werte des Merkmals Prof Werte sind, die als Werte des Merkmals Name in der Tabelle Profs vorkommen. Bedingung daf¨ ur ist, dass Matr ein identifizierendes Merkmals f¨ ur Studis und Name ein identifizierendes Merkmals f¨ ur Profs ist. Matr und Name heißen auch Schl¨ usselmerkmale f¨ ur Studis bzw. f¨ ur Profs. Studi und Prof heißen Fremdschl¨ ussel in h¨ort bei. Der Entwurf, die Implementierung und die Anwendung relationaler Datenbanksysteme basieren auf soliden mathematischen Grundlagen. Relationale Datenbanksystem-Technologien sind heutzu- tage die weltweit am verbreitesten eingesetzten Technologien zur Speicherung und Verwaltung von Daten. Funktionen sind eindeutige Relationen in dem Sinne, dass ein Element einer Menge mit h¨ochstens einem Element einer anderen Menge in Beziehung stehen darf. Funktionale Beziehungen treten bei vielen Ph¨anomenen in Natur- und Ingenieurwissenschaften auf, sie sind ein wichtiges Hilfsmittel zu deren Modellierung und Analyse. In diesem Teil II f¨ uhren wir die Begriffe Relation und Funktion sowie ihre grundlegenden Ei- genschaften ein. Sie sind elementare und wesentliche Begriffe in vielen Modulen der Informatik- Studieng¨ange. Kapitel 8 Relationen Relationen sind ein wichtiges Hilfsmittel um Beziehungen zwischen Elementen von Mengen aus- zudr¨ ucken. So kann man, wie z.B. in der Einleitung von Teil II angedeutet, den Entwurf und die Implementierung von Datenbanken mithilfe von Relationen realisieren. Weitere Beispiele f¨ ur die Verwendung des Relationsbegriffs in der Informatik sind: das Ableiten von Formelmengen mithilfe von Kalk¨ ulen (siehe Kapitel 2.5 und 2.8), die Ableitung von W¨ortern mithilfe von Grammatiken, die Konfigurations¨ uberg¨ange von Automaten beim Abarbeiten von W¨orten, die Ausf¨ uhrung von Programmen auf (abstrakten) Maschinen. In diesem Kap¨ıtel werden grundlegende Begriffe und Eigenschaften f¨ ur Relationen vorgestellt. Nach dem Durcharbeiten des Kapitels sollten Sie Lernziele • die Begriffe kartesisches Produkt und Relation kennen sowie die Eigenschaften Reflexivit¨at, Symmetrie, Antisymmetrie und Transitivit¨at erkl¨aren k¨onnen, • den Begriff der Ordnung kennen und nachweisen k¨onnen, ob eine Relation eine Ordnung ist, • erkl¨aren k¨onnen, was totale und was dichte Ordnung bedeutet, • den Begriff der ¨ Aquivalenzrelation kennen und nachweisen k¨onnen, ob eine Relation eine ¨ Aqui- valenzrelation ist, und gegebenenfalls die ¨ Aquivalenzklassen der Relation bestimmen k¨onnen, • wissen, was der Begriff Partitionierung bedeutet und dessen Zusammenhang zu ¨ Aquivalenz- relationen verstehen, • die Begriffe Umkehrrelation und Komposition von Relationen kennen, • wissen, was die reflexiv-transitive bzw. die transitive H¨ ulle einer Relation ist. 8.1 Kartesisches Produkt Zun¨achst definieren wir als weitere Mengenverkn¨ upfung das kartesische Produkt. Definition 8.1. F¨ ur n Mengen A 1 , . . . , A n , n ≥ 0, heißt die Menge A 1 . . . A n = ¦ (x 1 , . . . , x n ) [ x i ∈ A i , 1 ≤ i ≤ n¦ 83 84 KAPITEL 8. RELATIONEN n-stelliges kartesisches Produkt von A 1 , . . . , A n . Anstelle von A 1 . . . A n schreiben wir auch Kartesisches Produkt n i=1 A i . Falls A i = ∅ f¨ ur mindestens ein i, 1 ≤ i ≤ n, ist, dann ist n i=1 A i = ∅. (x 1 , . . . , x n ) heißt n-Tupel, f¨ ur n = 2 sprechen wir von Paaren, f¨ ur n = 3 von Tripeln und f¨ ur n-Tupel Paar, Tripel Quadrupel Quintupel n = 4 oder n = 5 auch von Quadrupeln bzw. von Quintupeln. x i , 1 ≤ i ≤ n, heißt die i-te Komponente von (x 1 , . . . , x n ). 2 i-te Kompo- nente Tupel entsprechen den Zeilen in den Tabellen in der Einleitung zu Teil II, welche die Relationen unserer ” Hochschuldatenbank“ darstellen. Beispiel 8.1. F¨ ur die Mengen A = ¦ 1, 2 ¦, B = ¦ a, b, c ¦ und C = ¦ 2, 3 ¦ ist AB = ¦ (1, a), (1, b), (1, c), (2, a), (2, b), (2, c) ¦ und AB C = ¦ (1, a, 2), (1, a, 3), (1, b, 2), (1, b, 3), (1, c, 2), (1, c, 3), (2, a, 2), (2, a, 3), (2, b, 2), (2, b, 3), (2, c, 2), (2, c, 3) ¦ Folgerung 8.1. Ist [A i [ = m i , 1 ≤ i ≤ n, n ≥ 0, dann gilt [A 1 . . . A n [ = m 1 . . . m n 2 Sind alle A i identisch, d.h. A i = A i+1 , 1 ≤ i ≤ n −1, n ≥ 1, dann heißt A 1 . . . A n = A. . . A . ¸¸ . n−mal n-faches kartesisches Produkt von A. Abk¨ urzend benutzen wir daf¨ ur auch die Potenzschreibweise: A n . Es gilt dann A 1 = A. Das n-fache kartesische Produkt von A k¨onnen wir auch wie folgt rekursiv definieren: A 1 = A A n+1 = A n A, n ≥ 1 Ist [A[ = m, dann ist [A n [ = m n . 1 8.2 Relation Ein n-stelliges kartesisches Produkt setzt alle Elemente der zugrunde liegenden Mengen miteinander in Beziehung. Sollen nur bestimmte Elemente der zugrunde liegenden Mengen in Beziehung gesetzt werden, wie etwa bei der ” Hochschul-Datenbank“ in der Einleitung von Teil II, dann sprechen wir von Relationen. Jede Teilmenge R ⊆ A 1 . . . A n heißt n-stellige Relation ¨ uber A 1 , . . . , A n . 2 1 N k u bedeutet gem¨aß den Vereinbarungen von Kapitel 1.3 ¨ uber die Notation von Zahlenmemgen die Menge der nat¨ urlichen Zahlen von u bis k. Nach der hier getroffenen Vereinbarung kann damit auch das k-fache kartesiche Produkt der Menge Nu der nat¨ urlichen Zahlen gr¨oßer gleich u gemeint sein. Im Folgenden wird jeweils aus dem Zusammenhang klar, welche dieser beiden Bedeutungen f¨ ur N k u gemeint ist. 8.2. RELATION 85 Beispiel 8.2. Es sei A = ¦ −3, −2, −1, 0, 1, 2, 3 ¦. a) F¨ ur die Relation R 1 = ¦ (x, y) ∈ AA [ x y > 2 ¦ gilt R 1 = ¦ (−3, −3), (−3, −2), (−3, −1), (−2, −3), (−2, −2), (−1, −3), (1, 3), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3) ¦ b) F¨ ur die Relation R 2 = ¦ (x, y, z) ∈ A 3 [ x +y = z ¦ gilt R 2 = ¦ (−3, 0, −3), (−3, 1, −2), (−3, 2, −1), (−3.3, 0), (−2, −1, −3), . . . , (−2, 3, 1), (−1, −2, −3), . . . , (−1, 3, 2), (0, −3, −3), . . . , (0, 3, 3), (1, −3, −2), . . . , (1, 2, 3), (2, −3, −1), . . . , (2, 1, 3), (3, −3, 0), . . . , (3, 0, 3) ¦ 2 Endliche zweistellige Relationen R ⊆ AB lassen sich auch als Boolesche Matrizen darstellen: Die Zeilen werden mit den Elementen aus A gekennzeichnet, die Spalten mit den Elementen aus B. Ist A = ¦a 1 , . . . , a m ¦ und B = ¦b 1 , . . . , b n ¦, dann tragen wir am Kreuzungspunkt der Zeile i und der Spalte j genau dann eine 1 ein, falls (a i , b j ) ∈ R ist, ansonsten tragen wir dort 0 ein. Die Relation R 1 aus dem obigen Beispiel kann also durch folgende Matrix dargestellt werden: x \y −3 −2 −1 0 1 2 3 −3 1 1 1 0 0 0 0 −2 1 1 0 0 0 0 0 −1 1 0 0 0 0 0 0 −0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 0 0 0 0 0 1 1 3 0 0 0 0 1 1 1 Bei zweistelligen Relationen R ⊆ A B wollen wir die Tatsache, dass ein Paar (x, y) ∈ A B zu R geh¨ort ( ” in der Beziehung R steht“) ausdr¨ ucken, indem wir die normale Elementschreibweise (x, y) ∈ R, die Pr¨afixschreibweise R(x, y) oder die Infixschreibweise xRy verwenden. Bei einer zweistelligen Relation R ⊆ AB nennen wir Adie Ausgangsmenge und B die Zielmenge Ausgngsmenge Zielmenge von R. Ist A = B, dann heißt A die Grundmenge von R. Grundmenge Ist R = ∅, dann heißt R Nullrelation. Ist R = A B, dann heißt R vollst¨andig. Ist R ⊆ A A Nullrelation Vollst¨andige Relation mit R = ¦ (x, x) [ x ∈ A¦, dann ist R die identische Relation ¨ uber A, diese wird in der Regel mit Identische Relation id A bezeichnet. Im Folgenden betrachten wir Eigenschaften zweistelliger Relationen ¨ uber einer Grundmenge A. Dabei kann A selbst strukturiert sein, etwa ein kartesisches Produkt A = A 1 . . . A k sein. Definition 8.2. Sei R ⊆ AA eine zweistellige Relation ¨ uber der Grundmenge A. Dann heißt R a) reflexiv genau dann, wenn xRx f¨ ur alle x ∈ A gilt. Bei einer reflexiven Relation muss also jedes Reflexivit¨at 86 KAPITEL 8. RELATIONEN Element der Grundmenge mit sich selber in Relation stehen. b) irreflexiv genau dann, wenn R nicht reflexiv ist. Irreflexivit¨at c) symmetrisch genau dann, wenn gilt: xRy ⇒ yRx. Eine Relation ist symmetrisch, wenn gilt: Symmetrie Steht x mit y in Relation, dann muss auch y mit x in der Relation stehen. d) asymmetrisch genau dann, wenn gilt: Ist xRy, dann yRx. Asymmetrie e) antisymmetrisch genau dann, wenn gilt: xRy ∧yRx ⇒x = y. Eine Relation ist antisymmetrisch, Anti- symmetrie wenn gilt: Steht x mit y in Relation und y mit x, dann muss notwenidgerweise x = y sein. f ) transitiv genau dann, wenn gilt: xRy ∧yRz ⇒xRz. Eine Relation ist transitiv, wenn gilt: Stehen Transitivit¨at x mit y und y mit z in Relation, dann steht auch ist x mit z in Relation. g) linkseindeutig oder injektiv genau dann, wenn gilt: Ist x 1 Ry 1 , x 2 Ry 2 und x 1 ,= x 2 , dann muss Injektivit¨at y 1 ,= y 2 gelten. h) rechtseindeutig genau dann, wenn gilt: Ist x 1 Ry 1 , x 2 Ry 2 und y 1 ,= y 2 , dann muss x 1 ,= x 2 Rechts- eindeutige Relation gelten. Rechtseindeutige Relationen werden in der Regel Funktionen genannt. Funktionen werden Funktion im Allgemeinen mit den Buchstaben f, g und h bezeichnet, und anstelle f ⊆ AA wird f : A →A geschrieben sowie anstelle von xfy wird f(x) = y notiert. i) linkstotal oder total genau dann, wenn gilt: F¨ ur alle x ∈ A existiert ein y ∈ A mit xRy. Totale Relation k) rechtstotal oder surjektiv genau dann, wenn gilt: F¨ ur alle y ∈ A existiert ein x ∈ A mit xRy. Surjektivit¨at l) bijektiv genau dann, wenn R total, injektiv, rechtseindeutig und surjektiv ist. Eine Bijektion ist Bijektivit¨at eine eineindeutige Zuordnung zwischen den Elementen von Ausgangs- und Zielmenge. Die Definitionen g) – l) gelten analog auch f¨ ur Relationen R ⊆ AB, d.h. f¨ ur Relationen, bei denen Ausgangs- und Zielmenge verschieden sind. 2 ¨ Ubung 8.1. Sei R ⊆ AA. Zeigen Sie das Folgendes gilt: (1) R ist antisymmetrisch genau dann, wenn gilt: Ist xRy und x ,= y, dann gilt yRx. (2) R ist injektiv genau dann, wenn gilt: Ist x 1 Ry und x 2 Ry, dann ist x 1 = x 2 , d.h. verschiedene Elemente der Ausgangsmenge k¨onnen nicht mit demselben Element der Zielmenge in Relation stehen. (3) R ist rechtseindeutig genau dann, wenn gilt: Ist xRy 1 und xRy 2 , dann ist y 1 = y 2 . Ein Element der Ausgangsmenge kann h¨ochstens mit einem Element der Zielmenge in Relation stehen. 2 Beispiel 8.3. Wir definieren die Relation ≤⊆ N 0 N 0 durch x ≤ y genau dann, wenn es ein c ∈ N 0 gibt, so dass x +c = y Es gilt z.B. 3 ≤ 5, denn es gibt ein c = 2, so dass 3 + 2 = 5. ≤ ist eine reflexive Relation, denn f¨ ur jedes x ∈ N 0 gibt es c = 0, so dass x +0 = x ist, d.h. f¨ ur alle x ∈ N 0 gilt x ≤ x. ≤ ist nicht symmetrisch, denn es gilt z.B. 3 ≤ 5, aber nicht 5 ≤ 3. ≤ ist antisymmetrisch: Sei x ≤ y und y ≤ x, d.h. es gibt ein c x ∈ N 0 mit x+c x = y, und es gibt ein c y ∈ N 0 mit y +c y = x. Aus den beiden Gleichungen folgt x +c x +c y = x und daraus c x +c y = 0. 8.3. ORDNUNGEN 87 Da c x , c y ∈ N 0 , kann c x +c y = 0 nur gelten, wenn c x = c y = 0 gilt. Das bedeutet aber, dass x = y ist. ≤ ist transitiv: Sei x ≤ y und y ≤ z. Wir m¨ ussen zeigen, dass dann auch x ≤ z gilt. Da x ≤ y ist, gibt es ein c x ∈ N 0 mit x + c x = y, und da y ≤ z ist, gibt es ein c y ∈ N 0 mit y + c y = z. Hieraus folgt unmittelbar, dass es ein c z = c x +c y gibt mit x +c z = z, d.h. es gilt x ≤ z. 2 ¨ Ubung 8.2. Sei D die Menge der W¨orter der deutschen Sprache. Die Relation α ⊆ D D sei definiert durch: xαy genau dann, wenn x und y denselben Anfangsbuchstaben haben. ¨ Uberlegen Sie, dass α eine reflexive, symmetrische und transitive Relation ist! 2 8.3 Ordnungen Definition 8.3. Eine Relation R ⊆ A A heißt Ordnung ¨ uber A genau dann, wenn R reflexiv, Ordnung antisymmetrisch und transitiv ist. 2 Beispiel 8.4. a) Die Relation ≤ aus dem Beispiel 8.3 ist eine Ordnung ¨ uber N 0 . b) Sei M = ¦ a, b, c ¦ und S ⊆ T(M) T(M) definiert durch xSy genau dann, wenn x ⊆ y Die Teilmenge x ⊆ M steht also in Relation S zur Teilmenge y ⊆ M, falls x eine Teilmenge von yist. S ist eine Ordnung ¨ uber T(M), denn S ist reflexiv, antisymmetrisch und transitiv: S ist reflexiv, denn jede Menge ist Teilmenge von sich selbst (siehe Folgerung 5.1 b) auf Seite 60), und damit gilt x ⊆ x f¨ ur jedes x ∈ T(M) und damit xSx f¨ ur jedes x ∈ T(M). S ist antisymmetrisch: Gilt xSy und ySx, d.h. x ⊆ y und y ⊆ x, dann gilt (siehe Definition 5.1 b) auf Seite 60) x = y. S ist transitiv: Sei xSy und ySz, dann muss auch xSz gelten. xSy bedeutet x ⊆ y und ySz bedeutet y ⊆ z. Hieraus folgt (siehe Folgerung 5.1 c) auf Seite 60), dass x ⊆ z und damit xSz. 2 Ist R eine partielle Ordnung ¨ uber A, dann schreibt man daf¨ ur auch (A, R) und nennt A eine geordnete Menge. F¨ ur unsere bisherigen Beispiele 8.3 und 8.4 b) k¨onnen wir also schreiben: (N 0 , ≤) Geordnete Menge bzw. (T(¦ a, b, c ¦), S) oder f¨ ur Letzteres auch (T(¦ a, b, c ¦), ⊆) Definition 8.4. Sei (A, R) eine Ordnung und x, y ∈ A. a) Gilt xRy oder yRx, dann heißen x und y vergleichbar. Gilt xRy und yRx, dann heißen x und y unvergleichbar. b) Sei B ⊆ A, B ,= ∅. x ∈ B heißt minimales Element von B, falls xRy f¨ ur alle y ∈ B gilt. x ∈ B Minimales Element heißt maximales Element von B, falls yRx f¨ ur alle y ∈ B gilt. Maximales Element c) K ⊆ A, K ,= ∅, heißt Kette genau dann, wenn f¨ ur alle x, y ∈ K gilt, dass x und y vergleichbar Kette sind. d) (A, R) heißt totale Ordnung oder auch lineare Ordnung (A, R) genau dann, wenn A eine Kette Totale Ordnung bildet. e) Eine totale Ordnung (A, R) heißt Wohlordnung genau dann, wenn falls jede Teilmenge K ∈ A, Wohlordnung K ,= ∅, ein minimales Element besitzt. 2 88 KAPITEL 8. RELATIONEN Beispiel 8.5. a) Die Ordnung (N 0 , ≤) ist total, denn f¨ ur zwei nat¨ urliche Zahlen x und y gilt x ≤ y oder y ≤ x. Diese Ordnung ist zudem eine Wohlordnung. b) Wenn wir die Ordnung aus Beispiel 8.3 auf ganze Zahlen erweitern, dann bildet (Z, ≤) eine totale Ordnung, aber keine Wohlordnung, denn die Teilmenge der geraden Zahlen besitzt kein minimales Element. Wenn wir die ganzen Zahlen aber anders ordnen, z.B. in der Reihenfolge 0, 1, −1, 2, −2, . . . dann liegt eine Wohlordnung vor. Um diese formal zu beschreiben, verwenden wird die Bijektion ϕ : Z →N 0 definiert durch ϕ(x) = _ 2x, falls x ≥ 0 −(2x + 1), falls x < 0 (8.1) und definierten die Relation ≤ Z Z damit wie folgt: x ≤ ϕ y genau dann, wenn ϕ(x) ≤ ϕ(y) Die Bijektion ϕ nimmt also eine eineindeutige Umbennenung der ganzen Zahlen durch nat¨ urliche Zahlen vor und ¨ ubertr¨agt quasi die Relation ≤ von den nat¨ urlichen Zahlen auf die ganzen Zahlen. Damit bildet (Z, ≤ ϕ ) eine Wohlordnung. c) Die Ordnung (T(¦ a, b, c ¦), ⊆) ist nicht total, denn es gibt Teilmengen von ¦ a, b, c ¦, die nicht in Beziehung zueinander stehen. Es gilt z.B. weder ¦ a, b ¦ ⊆ ¦ b, c ¦ noch ¦ b, c ¦ ⊆ ¦ a, b ¦. 2 ¨ Ubung 8.3. (1) ¨ Uberlegen Sie, f¨ ur welche Mengen M die Ordnung (T(M), ⊆) total ist! (2) Beweisen Sie, dass die in (8.1) definierte Relation tats¨achlich eine Bijektion ist! 2 Da die ≤-Relation auf allen Zahlenmengen eine totale Ordnung festlegt, gilt sie als Prototyp f¨ ur totale Ordnungen. Deshalb benutzt man das Symbol ≤ auch allgemein als Symbol f¨ ur totale Ordnungen. Wird also (A, ≤) f¨ ur irgendeine Menge A notiert, soll dies bedeuten, dass eine total geordnete Menge A vorliegt. Wenn wir im Folgenden von Ordnungen oder geordneten Mengen sprechen, sind totale Ordnungen bzw. total geordnete Mengen gemeint. Definition 8.5. Sei (A, ≤) eine Ordnung. A heißt dicht bez¨ uglich ≤ genau dann, wenn f¨ ur alle Dichte Menge x, y ∈ A mit x ,= y und x ≤ y ein z ∈ A existiert mit z ,= x, z ,= y und x ≤ z ≤ y. 2 Eine geordnete Menge ist also dicht, falls zwischen zwei Elementen dieser Menge immer noch ein drittes liegt. Beispiel 8.6. a) (N 0 , ≤) und (Z, ≤) sind nicht dicht, denn zwischen zwei benachbarten nat¨ urlichen (ganzen) Zahlen x und y = x + 1 liegt keine weitere nat¨ urliche (ganze) Zahl. b) Die Menge der rationalen Zahlen (Br¨ uche) (Q, ≤) ist dicht. Betrachten wir z.B. a, b ∈ Q mit a ≤ b und a ,= b, dann ist auch 1. a+b 2 ∈ Q, 2. a ,= a+b 2 und b ,= a+b 2 und 8.4. ¨ AQUIVALENZRELATIONEN 89 3. a = a+a 2 ≤ a+b 2 ≤ b+b 2 = b. Zwischen zwei rationalen Zahlen a und b existiert also immer eine weitere rationale Zahl, z.B. die Zahl a+b 2 . 2 ¨ Ubung 8.4. ¨ Uberlegen Sie, dass in einer dichten Menge A zwischen zwei verschiedenen Elementen a, b ∈ A unendlich von a und b verschiedene Elemente liegen! 8.4 ¨ Aquivalenzrelationen Definition 8.6. Eine Relation R ⊆ A A heißt ¨ Aquivalenzrelation ¨ uber A genau dann, wenn R ¨ Aquivalenz- relation reflexiv, symmetrisch und transitiv ist. 2 Beispiel 8.7. a) Die Relation α in ¨ Ubung 8.2 ist eine ¨ Aquivalenzrelation. b) Die Relation ≡ 3 ⊆ Z Z sei definiert durch x ≡ 3 y genau dann, wenn x −y 3 ∈ Z Die zwei ganzen Zahlen x und y stehen in der Relation ≡ 3 genau dann, wenn die Differenz x − y durch 3 teilbar ist. Diese Relation ist eine ¨ Aquivalenzrelation, denn sie ist reflexiv, symmetrisch und transitiv: ≡ 3 ist reflexiv: F¨ ur alle x ∈ Z gilt x−x 3 = 0 ∈ Z, also gilt x ≡ 3 x f¨ ur alle x ∈ Z und damit ist ≡ 3 reflexiv. ≡ 3 ist symmetrisch, denn es gilt: x ≡ 3 y ⇒ x −y 3 ∈ Z ⇒(−1) x −y 3 ∈ Z ⇒ y −x 3 ∈ Z ⇒y ≡ 3 x ≡ 3 ist transitiv, denn es gilt: x ≡ 3 y ∧ y ≡ 3 z ⇒ x −y 3 ∈ Z ∧ y −z 3 ∈ Z ⇒ x −y 3 + y −z 3 ∈ Z ⇒ x −z 3 ∈ Z ⇒ x ≡ 3 z 2 Definition 8.7. Sei R ⊆ AA eine ¨ Aquivalenzrelation und x ∈ A. Dann heißt die Menge ¨ Aquivalenz- klasse Repr¨asen- tant Index [x] R = ¦ y ∈ A [ xRy ¦ aller Elemente von A, mit denen x in der Beziehung R steht, ¨ Aquivalenzklasse von R. x heißt Repr¨asentant der ¨ Aquivalenzklasse [x] R . Die Anzahl der ¨ Aquivalenzklassen von R heißt der Index von R. 2 90 KAPITEL 8. RELATIONEN Beispiel 8.8. a) F¨ ur die ¨ Aquivalenzrelation α aus ¨ Ubung 8.2 gilt z.B. [Boot] α = ¦ Boot, Buch, Ball, Badesalz, boxen, . . . ¦ [Boot] α enth¨alt W¨orter, die mit B oder b beginnen: Alle diese W¨orter haben denselben Anfangsbuch- staben (abgesehen von Groß- und Kleinschreibung). Offensichtlich kann jedes Element von [Boot] α als Repr¨asentant dieser ¨ Aquivalenzklasse gew¨ahlt werden, denn es gilt z.B. [Boot] α = [boxen] α . Die ¨ Aquivalenzklassen von α werden durch die Anfangsbuchstaben bestimmt. Es gibt somit 26 ¨ Aquivalenzklassen, der Index von α ist also 26. b) F¨ ur die ¨ Aquivalenzrelation ≡ 3 aus Beispiel 8.7 b) gilt: [0] ≡3 = ¦ 0, 3, −3, 6, −6, . . . ¦ = ¦ x [ x = 3y, y ∈ Z¦ [1] ≡3 = ¦ 1, −2, 4, −5, 7, −8, . . . ¦ = ¦ x [ x = 3y + 1, y ∈ Z¦ [2] ≡3 = ¦ 2, −1, 5, −4, 8, −7, . . . ¦ = ¦ x [ x = 3y + 2, y ∈ Z¦ [0] ≡3 enth¨alt die durch 3 teilbaren ganzen Zahlen, [1] ≡3 enth¨alt die ganzen Zahlen, die bei Division durch 3 den Rest 1 lassen, und [2] ≡3 enth¨alt die ganzen Zahlen, die bei Division durch 3 den Rest 2 lassen. Weitere ¨ Aquivalenzklassen gibt es nicht, denn bei Division durch 3 k¨onnen nur drei Reste auftreten. Der Index von ≡ 3 ist also 3. Auch in diesem Beispiel sieht man sofort, dass jedes Element einer ¨ Aquivalenzklasse als ihr Repr¨asentant gew¨ahlt werden kann. Die ¨ Aquivalenzklassen von ≡ 3 heißen auch Restklassen modulo 3 von Z. 2 Restklasse Die Elemente einer ¨ Aquivalenzklasse sind ¨aquivalent zueinander, d.h. sie sind durch die ” Brille“ (den ” Filter“) der ¨ Aquivalenzrelation betrachtet ununterscheidbar. Die Relation α projiziert alle W¨orter der deutschen Sprachen nur auf den Anfangsbuchstaben. So gesehen gibt es nur 26 W¨orter. Die Relation ≡ 3 betrachtet f¨ ur alle Zahlen nur die Reste, die bei Division durch 3 bleiben, alle Zahlen mit demselben Rest werden zusammengefasst. So betrachtet gibt es nur 3 Zahlen: [0] ≡3 , [1] ≡3 und [2] ≡3 , die man jetzt der einfacheren Notation wegen auch wieder mit 0, 1 bzw. 2 bezeichnen k¨onnte. Satz 8.1. Sei R ⊆ AA eine ¨ Aquivalenzrelation. Dann gilt: a) F¨ ur alle x ∈ A ist [x] R ,= ∅, d.h. ¨ Aquivalenzklassen sind niemals leer. b) F¨ ur alle y ∈ [x] R gilt [x] R = [y] R , d.h. jede ¨ Aquivalenzklasse ist unabh¨angig von ihrem Re- pr¨asentanten. c) Falls (x, y) / ∈ R, dann ist [x] R ∩[y] R = ∅, d.h. die ¨ Aquivalenzklassen nicht in Relation stehender Repr¨asentanten sind disjunkt. d) A = x∈A [x] R , d.h. die ¨ Aquivalenzklassen bilden eine ¨ Uberdeckung von A. Beweis: a) Wegen der Reflexivit¨at von R gilt xRx f¨ ur alle x ∈ A und damit x ∈ [x] R f¨ ur alle x ∈ A. 8.5. UMKEHRRELATIONEN 91 b) Sei z ∈ [x] R , d.h. es ist xRz. Nach Voraussetzung ist y ∈ [x] R , also xRy, und damit, da R als ¨ Auivalenzrelation symmetrisch ist, gilt auch yRx. Da R transitiv ist, folgt, da yRx und xRz gilt, dass auch yRz gilt, d.h. es gilt z ∈ [y] R . Wir haben gezeigt, dass gilt: z ∈ [x] R ⇒ z ∈ [y] R und damit [x] R ⊆ [y] R . Sei z ∈ [y] R , d.h. es ist yRz. Nach Voraussetzung ist y ∈ [x] R , also xRy. Da R transitiv ist, folgt xRz, d.h. es gilt z ∈ [x] R . Wir haben gezeigt, dass gilt: z ∈ [y] R ⇒z ∈ [x] R und damit [y] R ⊆ [x] R . Insgesamt folgt die Behauptung [x] R = [y] R . c) Wir nehmen an, dass [x] R ∩ [y] R ,= ∅. Es gibt also mindestens ein z ∈ [x] R ∩ [y] R , d.h. es ist z ∈ [x] R und z ∈ [y] R . Es folgt, dass xRz und yRz, und wegen Symmetrie von R gilt xRz und zRy, und wegen Transitivit¨at gilt dann xRy. Dies ist ein Widerspruch zur Voraussetzung (x, y) / ∈ R, womit unsere Annahme falsch ist. d) Sei z ∈ A, dann ist z ∈ [z] R und damit z ∈ x∈A [x] R . Also ist A ⊆ x∈A [x] R . Sei z ∈ x∈A [x] R . Dann gibt es ein x ∈ A mit z ∈ [x] R . Da [x] R ⊆ A f¨ ur jedes x ∈ A, folgt, dass z ∈ A. Also gilt x∈A [x] R ⊆ A Insgesamt haben wir gezeigt: A = x∈A [x] R . 2 Die Aussagen c) und d) des Satzes besagen, dass eine ¨ Aquivalenzrelation R ¨ uber der Grundmenge A eine Partition (siehe Definition 5.4 auf Seite 65) dieser Menge in die ¨ Aquivalenzklassen von R induziert. Die n¨achste Folgerung bsagt in ihren Aussagen a) und b), dass ¨ Aquivalenzrelationen und Partitionen ¨aquivalente Zerlegungskonzepte sind. Folgerung 8.2. a) Jede ¨ Aquivalenzrelation R ⊆ AA legt eine Partition von A fest. b) Jede Partition von A definiert eine ¨ Aquivalenzrelation auf A. c) Die identische Relation id A ⊆ A A definiert durch xid A y genau dann, wenn x = y, legt Identische Relation die ” feinste“ Partition von A fest, denn jedes Element bildet genau eine ¨ Aquivalenzklasse: Es ist Feinste Partiton [x] R = ¦ x¦ f¨ ur alle x ∈ A. d) Die Relation R = A A legt die ” gr¨obste“ Partition auf A fest, denn es gibt genau eine Gr¨obste Partiton ¨ Aquivalenzklasse: Es ist [x] R = A f¨ ur alle x ∈ A. 2 ¨ Ubung 8.5. Beweisen Sie Folgerung 8.2! 2 Beispiel 8.9. a) Die Relation α aus Beispiel 5.4 b) auf Seite 65 partitioniert die Menge D der W¨orter der deutschen Sprache in 26 disjunkte W¨ortermengen nach dem ersten Buchstaben, wie es in der Regel in W¨orterb¨ uchern vorzufinden ist (siehe auch Beispiel 8.8 a) auf Seite 90). b) Die ¨ Aquivalenzklassen [0] ≡3 , [1] ≡3 und [2] ≡3 der Relation ≡ 3 (siehe auch Beispiele 8.7 b) auf Seite 89 bzw. 8.8 b) auf Seite 90) sind disjunkt, und sie ¨ uberdecken die Grundmenge Z: Z = [0] ≡3 ∪ [1] ≡3 ∪ [2] ≡3 2 8.5 Umkehrrelationen Definition 8.8. Seien A und B zwei Mengen. F¨ ur die Relation R ⊆ A B heißt die Relation Umkehrrelation 92 KAPITEL 8. RELATIONEN R −1 ⊆ B A definiert durch yR −1 x genau dann, wenn xRy die Umkehrrelation zu R. 2 Folgerung 8.3. a) Die Umkehrrelation R −1 zu einer Relation R ⊆ A B enth¨alt genau die ” umgedrehten“ Paare von R: R −1 = ¦(y, x) ∈ B A[ (x, y) ∈ R¦ b) Ist R eine ¨ Aquivalenzrelation ¨ uber der Grundmenge A, dann ist auch R −1 eine ¨ Aquivalenzrelation ¨ uber A. 2 c) Ist R ⊆ AA eine ¨ Aquivalenzrelation, dann gilt R = R −1 . ¨ Ubung 8.6. Beweisen Sie diese Folgerungen! 2 8.6 Komposition von Relationen Definition 8.9. Seien A, B und C Mengen sowie R 1 ⊆ AB und R 2 ⊆ B C Relationen. Dann Komposition heißt die Relation R 2 ◦ R 1 ⊆ AC definiert durch R 2 ◦ R 1 = ¦ (x, z) ∈ AC [ ∃y ∈ B : xR 1 y ∧ yR 2 z ¦ die Komposition von R 1 und R 2 . 2 Beispiel 8.10. Es seien die Relationen R 1 , R 2 ⊆ N N definiert durch xR 1 y genau dann, wenn y = 2x, sowie xR 2 y genau dann, wenn y = 3x, gegeben. Es gilt also R 1 = ¦ (1, 2), (2, 4), (3, 6), . . . ¦ R 2 = ¦ (1, 3), (2, 6), (3, 9), . . . ¦ Die Komposition von R 1 und R 2 ergibt R 2 ◦ R 1 = ¦ (1, 6), (2, 12), (3, 18), . . . ¦ d.h. xR 2 ◦ R 1 y genau dann, wenn y = 6x. Es gilt n¨amlich aR 2 ◦ R 1 b genau dann, wenn es ein c gibt mit aR 1 c und cR 2 b, d.h. wenn es ein c gibt mit c = 2a bzw. mit b = 3c, und hieraus folgt, dass b = 6a ist. 2 Der folgende Satz begr¨ undet die Berechtigung des Begriffes ” Umkehrrelation“. Satz 8.2. Seien A und B Mengen und R ⊆ AB. Dann gilt R −1 ◦ R = id A R ◦ R −1 = id B ¨ Ubung 8.7. Beweisen Sie Satz 8.2! 2 Der folgende Satz besagt, wie die Umkehrung einer Kompositon von Relationen berechnet wird. 8.7. REFLEXIV-TRANSITIVE H ¨ ULLEN 93 Satz 8.3. Seien A, B und C Mengen sowie R ⊆ AB und S ⊆ B C. Dann gilt: (S ◦ R) −1 = R −1 ◦ S −1 ¨ Ubung 8.8. Beweisen Sie Satz 8.3! 2 8.7 Reflexiv-transitive H¨ ullen Wir betrachten jetzt fortgesetzte Kompositionen einer Relation R ⊆ AA. Definition 8.10. Sei A eine Menge und R ⊆ AA eine zweistellige Relation ¨ uber A. F¨ ur R setzen wir fest: (i) R 0 = id A = ¦(x, x) [ x ∈ A¦ (ii) R 1 = R (iii) R n = R n−1 ◦ R, n ≥ 1 (iv) R ∗ = R 0 ∪ R 1 ∪ R 2 ∪ . . . = i≥0 R i (v) R + = R ∗ −R 0 R ∗ heißt die reflexiv-transitive H¨ ulle von R, und R + ist die transitive H¨ ulle von R. 2 Reflexiv- transitive H¨ ulle Transitive H¨ ulle Beispiel 8.11. Sei R ⊆ N N definiert durch: xRy genau dann, wenn y = 2x. Es gilt (i) R 0 = ¦ (1, 1), (2, 2), (3, 3), . . . ¦ = ¦ (x, y) [ x = y ¦ (ii) R 1 = R = ¦ (1, 2), (2, 4), (3, 6), . . . ¦ = ¦ (x, y) [ y = 2x¦ (iii) Fortgesetzte Komposition von R: R 2 = R ◦ R = ¦ (1, 4), (2, 8), (3, 12), . . . ¦ = ¦ (x, y) [ y = 4x¦ R 3 = R 2 ◦ R = ¦ (1, 8), (2, 16), (3, 24), . . . ¦ = ¦ (x, y) [ y = 8x¦ R 4 = R 3 ◦ R = ¦ (1, 16), (2, 32), (3, 48), . . . ¦ = ¦ (x, y) [ y = 16x¦ . . . . . . . . . F¨ ur n ∈ N 0 ergibt sich: R n = R n−1 ◦ R = ¦ (1, 2 n 1), (2, 2 n 2), (3, 2 n 3), . . . ¦ = ¦ (x, y) [ y = 2 n x¦ (iv) R ∗ = ¦ (x, y) [ y = 2 n x, n ∈ N 0 ¦ (v) R + = ¦ (x, y) [ y = 2 n x, n ∈ N¦ 2 94 KAPITEL 8. RELATIONEN Kapitel 9 Funktionen In diesem Kapitel betrachten wir Relationen R ⊆ A B, bei denen einem Element aus der Aus- gangsmenge A h¨ochstens ein Element aus der Zielmenge B zugeordnet sein darf. Solche Relationen werden Funktionen genannt. Nach dem Durcharbeiten des Kapitels sollten Sie Lernziele • feststellen k¨onnen, ob eine Relation eine Funktion ist, • Definitions- und Wertebereiche von Funktionen bestimmen k¨onnen, • feststellen k¨onnen, ob eine Funktion total, injektiv, surjektiv, bijektiv ist, • den Begriff Pr¨adikat erkl¨aren k¨onnen. 9.1 Begriff der Funktion Definition 9.1. Seien A und B Mengen. Die Relation R ⊆ A B heißt Funktion, falls R recht- Rechtseindeutige Relation Funktion seindeutig ist, d.h. falls gilt: xRy 1 ∧ xRy 2 ⇒y 1 = y 2 In einer rechtseindeutigen Relation darf ein x aus der Ausgangsmenge A also h¨ochstens mit einem y der Zielmenge B in Relation stehen. 2 Beispiel 9.1. a) Die Relation R ⊆ N N definiert durch xRy genau dann, wenn y x ∈ N ist keine Funktion. Es gilt z.B. 2R4 und 2R6, R ist also nicht rechtseindeutig. b) Die Relation sqr ⊆ N N definiert durch xsqr y genau dann, wenn y = x 2 , ist rechtseindeutig. Die Umkehrrelation sqr −1 ist ebenfalls rechtseindeutig. c) Die Relation sqr ⊆ Z Z definiert durch xsqr y genau dann, wenn y = x 2 , ist rechtseindeutig. Die Umkehrrelation sqr −1 ist in diesem Fall nicht rechtseindeutig, denn es gilt z.B. 4 sqr −1 2 und 4 sqr −1 −2, aber 2 ,= −2. 2 An diesen Beispielen k¨onnen wir sehen, dass die Rechtseindeutigkeit einer Relation nicht alleine von der Vorschrift abh¨angt, die festlegt, welche Objekte in Beziehung stehen, sondern auch von der Wahl der Ausgangs- oder der Zielmenge. Aus diesem Grund f¨ uhren wir den Begriff der Abbildung ein, der außer der Funktionsvorschrift die Wahl der Mengen mit einbezieht. 95 96 KAPITEL 9. FUNKTIONEN Definition 9.2. Seien A und B Mengen. Eine Abbildung φ = (A, B, f) besteht aus den beiden Abbildung Mengen A und B sowie aus der Funktion f. Bei Funktionen schreiben wir in der Regel nicht f ⊆ AB wie bei Relationen, sondern f : A → B, und anstelle von xfy oder von (x, y) ∈ f wie bei Relationen, notieren wir in der Regel y = f(x). 2 Beispiel 9.2. Durch die Festlegung ist nun gekl¨art, dass φ 1 = (N, N, sqrt) mit y = sqrt(x) = √ x eine Abbildung ist, da √ auf N rechtseindeutig ist, w¨ahrend φ 2 = (Z, Z, sqrt) mit xsqrt y genau dann, wenn y 2 = x, keine Abbildung ist. 2 Nachdem wir den Unterschied zwischen den Begriffen Abbildung und Funktion gekl¨art haben, werden wir im Folgenden beide Begriffe – wie durchaus in der Literatur ¨ ublich – synonym verwenden. 9.2 Eigenschaften von Funktionen F¨ ur Abbildungen f : A →B legen wir jetzt noch ein paar Begriffe und Schreibweisen fest: Definition 9.3. Es sei f : A →B eine Funktion. (1) A heißt Ausgangsmenge von f, und B heißt Zielmenge von f Ausgangsmenge Zielmenge (2) D(f) = ¦ x ∈ A [ ∃y ∈ B : y = f(x) ¦, die Menge aller Elemente der Ausgangsmenge, f¨ ur die Definitionsbereich Argument f tats¨achlich definiert ist, heißt Definitionsbereich von f. Die Elemente von D(f) heißen die Argumente von f. (3) W(f) = ¦ y ∈ B [ ∃x ∈ A : y = f(x) ¦, die Menge aller Elemente der Zielmenge, denen Wertebereich Wert tats¨achlich Argumente von f zugeordnet werden, heißt Wertebereich von f. Die Elemente von W(f) heißen Werte von f. (4) f heißt total, falls f f¨ ur jedes Element der Ausgangsmenge definiert ist, d.h. falls D(f) = A Totale Funk- tion ist. (5) f heißt surjektiv, falls jedes Element der Zielmenge als Wert von f vorkommt, d.h. falls Surjektive Funktion W(f) = B ist. (6) f heißt linkseindeutig oder injektiv, falls jeder Wert von f nur ein Argument hat, d.h. falls Linkseindeutige, injektive Funktion gilt: f(x 1 ) = y ∧ f(x 2 ) = y ⇒x 1 = x 2 . (7) f heißt bijektiv oder eineindeutig, falls f total, injektiv und surjektiv ist. 2 Eineindeutige, bijektive Funktion ¨ Ubung 9.1. Zeigen Sie, dass eine Funktion f : A → B injektiv ist genau dann, wenn gilt: x 1 ,= x 2 ⇒f(x 1 ) ,= f(x 2 ). 2 Der folgende Satz beantwortet die Frage, unter welcher Voraussetzung die Umkehrrelation f −1 Umkehrfunktion einer Funktion f ebenfalls eine Funktion ist. Satz 9.1. a) Sei f : A → B eine Funktion, dann ist f −1 : B → A eine Funktion, falls f injektiv ist. b) Ist die Funktion f : A →B bijektiv, dann ist auch f −1 : B →A bijektiv. 2 9.3. PR ¨ ADIKATE 97 ¨ Ubung 9.2. Beweisen Sie Satz 9.1!. 2 n-stellige Funktionen, sind Funktionen, bei denen die Ausgangsmenge ein n-stelliges kartesisches Produkt ist. Funktionen dieser Art heißen auch n-stellige Operationen, Operatoren oder Verkn¨ upfun- n-stellige Operation gen. Sie haben die Gestalt f : A 1 . . . A n →B, n ≥ 0 In f(x 1 , . . . , x n ) = y heißen die x i ∈ A i , 1 ≤ i ≤ n, Operanden von f. Die Begriffe der Definition Operand 9.3 werden analog auf n-stellige Operatoren ¨ ubertragen. 0-stellige Funktionen entsprechen Konstanten. Betrachten wir z.B. die 0-stellige Funktion f :→N Konstante Funktion definiert durch f() = 17, dann k¨onnen wir diese Funktion mit der Zahl 17 identifizieren, d.h. wir h¨atten f auch 17 nennen k¨onnen: 17 :→N definiert durch 17() = 17. Bei Rechenstrukturen, wie z.B. bei Booleschen Algebren (siehe 6.1 auf Seite 67) treten ¨ uberwie- gend ein- oder zweistellige Operationen auf, bei denen zudem alle Ausgangsmengen und die Ziel- menge identisch sind, d.h. es handelt sich um Funktionen der Art f : A →A bzw. f : AA →A. Beispiele sind arithmetische Operationen wie +, −, usw., die Zahlen miteinander verkn¨ upfen und deren Ergebnis wieder eine Zahl ist, oder aussagenlogische Junktoren wie , ∨ und ∧, die Wahrheits- werte zu Wahrheitswerten verkn¨ upfen, oder die Mengenverkn¨ upfungen ∪, ∩ und (, die Teilmengen einer Menge zu Teilmengen dieser Menge verkn¨ upfen. Bei den Notationen ein- oder zweistelliger Verkn¨ upfungen der Art f : A → A bzw. der Art f : AA →A unterscheidet man generell drei Schreibweisen: 1. Infixschreibweise: Der Operator steht zwischen den Operanden: xfy = z, z.B. x + y = z bei Infixschreibweise arithmetischen Verkn¨ upfungen von Zahlen. 2. Pr¨afixschreibweise: Der Operator steht vor dem Argument: fx = y, z.B. beim Logarithmus Pr¨afix- schreibweise log x = y. 3. Postfixschreibweise: Der Operator steht hinter dem Argument: xf = y, z.B. x! = 1 2 . . . x Postfixschreibweise (sprich: ” x Fakult¨at“). Dar¨ uber hinaus gibt es noch Schreibweisen, die nicht unmittelbar einer dieser drei aufgelisteten zugeordnet werden k¨onnen, wie z.B. f(x, y) = x y , f(x, y) = x y oder f(x) = √ x. Wie Relationen k¨onnen Funktionen komponiert werden. F¨ ur die n-fache Komposition einer Funktion f mit sich selbst schreiben wir wie bei Relationen f n und es gilt auch hier f 0 = id. 9.3 Pr¨adikate n-stellige Funktionen Pr¨adikat f : A 1 . . . A n →B, n ≥ 0 mit der Zielmenge B = ¦ 0, 1 ¦ heißen auch Pr¨adikate. Beispiel 9.3. a) Die Funktion d : N N N →B definiert durch d(x, y, z) = _ 1, x +y = z 0, sonst 98 KAPITEL 9. FUNKTIONEN ist ein Pr¨adikat, welches testet, ob die Summe von x und y gleich z ist. b) F¨ ur das dreistellige Pr¨adikat ∆ : N 0 N 0 N 0 →B definiert durch ∆(x, y, z) = _ 1, falls x, y, z Seitenl¨angen eines Dreiecks sein k¨onnen 0, sonst gilt z.B. ∆(3, 4, 5) = 1 und ∆(3, 1, 1) = 0. 2 Es sind prinzipiell zwei 0-stellige Pr¨adikate m¨oglich: true : → ¦ 0, 1 ¦ mit true() = 1 sowie false : → ¦ 0, 1 ¦ mit false() = 0 welche als Wahrheitswerte interpretiert werden k¨onnen. Die Festlegung der Funktionen true und false k¨onnte nat¨ urlich auch umgekehrt erfolgen, was aber un¨ ublich ist. Im Kapitel 2.3 haben wir true mit 1 und false mit 0 benannt. Jedes total definierte n-stellige Pr¨adikat f : A 1 . . . A n →B, n ≥ 1, legt eine n-stellige Relation R f ⊆ A 1 . . . A n wie folgt fest: R f = ¦ (x 1 , . . . , x n ) ∈ A 1 . . . A n [ f(x 1 , . . . , x n ) = 1 ¦ Auf diese Weise erfolgt in Kapitel 3.3 die Interpretation von Pr¨adikatensymbolen. Einem n-stelligen Pr¨adikatensymbol P n wird als Bedeutung eine n-stellige Relation R P n zugeordnet, 1 ∗ (P n ) = R P n, und es gilt 1 ∗ (P n )(x 1 . . . , x n ) = _ 1, falls (1 ∗ (x 1 ), . . . , 1 ∗ (x n )) ∈ R P n 0, sonst R f = ¦ (x 1 , . . . , x n ) ∈ A 1 . . . A n [ f(x 1 , . . . , x n ) = 1 ¦ heißt auch die L¨osungsmenge von f. Dabei L¨osungsmen- ge eines Pr¨adi- kats schreiben wir anstelle von f(x 1 , . . . , x n ) = 1 nur f(x 1 , . . . , x n ) um auszudr¨ ucken, dass das Pr¨adikat f auf das Argument (x 1 , . . . , x n ) zutrifft. Bei der beschreibenden Darstellung von Mengen haben wir das bisher auch so praktiziert: M = ¦ (x 1 , . . . , x n [ P(x 1 , . . . , x n ) ¦ (siehe Festlegung (1.1) auf Seite 9 in Kapitel 1.2). Es gilt M = R P . Kapitel 10 Zusammenfassung und ¨ Ubungen 10.1 Zusammenfassung Relationen setzen Elemente von Mengen in Beziehung. Wichtige Eigenschaften von Relationen sind Refexivit¨at, Symmetrie, Antisymmetrie und Transitivit¨at. Mithilfe von reflexiven, antisymme- trischen und transitiven Relationen werden Mengen geordnet. Geordnete Mengen M werden im Allgemeinen mit (M, ≤) bezeichnet. Gilt f¨ ur a, b ∈ M a ≤ b oder b ≤ a, dann heißt diese Ordnung total. Gibt es zu a, b ∈ M mit a ≤ b und a ,= b ein c ∈ M mit a ,= c, b ,= c und a ≤ c ≤ b, dann heißt die Ordnung dicht. Relationen, die reflexiv, symmetrisch und transitiv sind, heißen ¨ Aquivalenzrelationen. Eine ¨ Aqui- valenzrelation partitioniert die Grundmenge vollst¨andig in disjunkte ¨ Aquivalenzklassen. Die Anzahl der Klassen heißt Index der Relation. Die Identit¨at auf einer Grundmenge A induziert die feinste Partition von A, das kartesische Produkt AA legt die gr¨obste Partition von A fest. Durch die ” Bril- le“ einer ¨ Aquivalenzrelation betrachtet sind die Elemente einer ¨ Aquivalenzklasse ununterscheidbar – jedes Element einer Klasse kann als ihr Repr¨asentant gew¨ahlt werden. Werden alle durch eine Relation R (reflexiv und) transitiv in Beziehung stehenden Elemente zu einer Relation zusammengefasst, entsteht die so genannte (reflexiv-) transitive H¨ ulle (R ∗ ) R + von R. Bei rechtseindeutigen Relationen steht ein Element der Ausgangsmenge mit h¨ochstens einem Element der Zielmenge in Beziehung. Solche Beziehungen werden funktional genannt. Der Defini- tionsbereich einer Funktion enth¨alt alle Elemente der Ausgangsmenge, denen die Funktion einen Wert zuweist. Diese Elemente heißen auch Argumente der Funktion. Der Wertebereich einer Funk- tion enth¨alt alle Elemente der Zielmenge, die tats¨achlich als Werte der Funktion auftreten, d.h. zu denen es mindestens ein Argument gibt. Ist der Definitionsbereich gleich der Ausgangsmenge, ist also die Funktion auf allen Elementen der Ausgangsmenge definiert, dann heißt die Funktion total. Wenn alle Elemente der Zielmenge als Werte auftreten, d.h. wenn der Wertebereich gleich der Zielmenge ist, dann heißt die Funktion surjektiv. Ist die Funktion linkseindeutig, d.h. hat jeder Wert der Funktion genau ein Argument, dann heißt sie injektiv. Die Umkehrrelation einer linkseindeutigen, also injektiven Funktion ist rechtseindeutig, also wieder eine Funktion. Funktionen, die total, surjektiv und injektiv sind, heißen eineindeutig oder bijektiv. 99 100 KAPITEL 10. ZUSAMMENFASSUNG UND ¨ UBUNGEN Pr¨adikate sind Funktionen, welche den Argumenten boolesche Werte zuweisen. Sie werden z.B. f¨ ur die beschreibende Darstellung von Mengen verwendet. 10.2 ¨ Ubungen 1. Sei A = B = ¦ x ∈ Z [ −3 ≤ x ≤ 3 ¦. Geben Sie die folgenden Relationen ¨ uber A B in aufz¨ahlender Form an: (1) R 1 = ¦ (x, y) [ y < 2x + 2 ¦ (2) R 2 = ¦ (x, y) [ y < x + 1 ¦ (3) R 3 = ¦ (x, y) [ 2x +y > 1 ¦ ∪ ¦ (x, y) [ x = y ¦ (4) R 4 = ¦ (x, y) [ 2x +y > 1 ¦ ∩ ¦ (x, y) [ x = y ¦ (5) R 5 = ¦ (x, y) [ 3 −x 2 ≤ y ¦ ∩ ¦ (x, y) [ x 2 ≥ y + 3 ¦ Welche der Relationen sind Funktionen? 2. Sei D die Menge der W¨orter der deutschen Sprache. Die Relation α ⊆ D D sei definiert durch: xαy genau dann, wenn x und y denselben Anfangsbuchstaben haben. Zeigen Sie, dass α eine reflexive, symmetrische und transitive Relation ist! 3. Sei die Relation suc ⊆ N 0 N 0 definiert durch: (x, y) ∈ suc genau dann, wenn y = x + 1. Ist suc eine Ordnung? Ist suc eine ¨ Aquivalenzrelation? Beweisen Sie Ihre Anworten! 4. Sei A eine endliche Menge. Die Relation R sei ¨ uber der Grundmenge A definiert durch: R = AA. Ist R eine Ordnung? Ist R eine ¨ Aquivalenzrelation? Beweisen Sie Ihre Aussagen! Falls R eine ¨ Aquivalenzrelation ist, dann geben Sie ihre ¨ Aquivalenzklassen an! 5. Sei A eine endliche Menge. Die identische Relation id A ¨ uber der Grundmenge A ist defi- niert durch: id A = ¦ (x, x) [ x ∈ A¦. Ist id A eine Ordnung? Ist id A eine ¨ Aquivalenzrelation? Beweisen Sie Ihre Aussagen! Falls id A eine ¨ Aquivalenzrelation ist, dann geben Sie ihre ¨ Aqui- valenzklassen an! 6. ¨ Uberlegen Sie, f¨ ur welche Mengen M die Ordnung (T(M), ⊆) total ist! 7. Es sei m ∈ N. Zeigen Sie, dass die Relation ≡ m ⊆ Z Z definiert durch x ≡ m y genau dann, wenn x −y m ∈ Z eine ¨ Aquivalenzrelation ist! Geben Sie die ¨ Aquivalenzklassen und den Index von ≡ m an! 8. Beweisen Sie Folgerung 8.2 a) und b) auf Seite 91! 9. Beweisen Sie Folgerung 8.3 auf Seite 92! 10. Beweisen Sie Satz 8.2 auf Seite 92! 11. Beweisen Sie Satz 8.3 auf Seite 93! 10.2. ¨ UBUNGEN 101 12. Aus den drei Eigenschaften surjektiv, injektiv und total kann man sechs Kombinationen bil- den. Geben Sie Funktionen an, die jeweils genau eine solche Kombination von Eigenschaften erf¨ ullt! 13. Zeigen Sie, dass eine Funktion f : A →B injektiv ist genau dann, wenn gilt: x ,= y ⇒f(x) ,= f(y)! 14. Beweisen Sie Satz 9.1 auf Seite 96! 15. Geben Sie f¨ ur die Funktion f : R →R definiert durch f(x) = 1 x D(f) und W(f) an! Ist f total, surjektiv, injektiv? Geben Sie f −1 an! Ist f −1 eine Funktion? 16. Geben Sie f¨ ur die Funktion f : R →R definiert durch f(x) = 1 x 2 D(f) und W(f) an! Ist f total, surjektiv, injektiv? Geben Sie f −1 an! Ist f −1 eine Funktion? 102 KAPITEL 10. ZUSAMMENFASSUNG UND ¨ UBUNGEN Teil III Induktion und Rekursion 103 105 Induktion und Rekursion sind elementare Prinzipien zum Einen f¨ ur die Definition von Begriffen und zum Anderen f¨ ur das L¨osen von Problemen. Wir haben bereits in Teil I dieses Prinzip mehrfach bei Definitionen angewendet, etwa bei der Definition der Menge V der aussagenlogischen Variablen und bei der Festlegung der Syntax der aussagenlogischen Formeln in Kapitel 2.2, und die Definiti- on der Semantik dieser Formeln folgt deren rekursiver Definition (siehe Kapitel 2.3). Wir werden in diesem Teil weitere f¨ ur die Informatik wichtige Begriffe mithilfe von rekursiven Definitionen einf¨ uhren. Rekursion ist aber auch eine sehr wichtige (und ” elegante“) Probleml¨osemethode. Deren grund- legendes Prinzip ist, dass die L¨osung eines Problems auf die L¨osung einfacherer, kleinerer Probleme zur¨ uck gef¨ uhrt wird. Hierzu werden wir in diesem Teil grundlegende Ans¨atze kennen lernen und Beispiele dazu betrachten. Beginnen werden wir mit Vollst¨andiger Induktion, einer Beweismethode, mit der gezeigt werden kann, dass ein Pr¨adikat auf die Menge der nat¨ urlichen Zahlen zutrifft. 106 Kapitel 11 Die Menge der nat ¨ urlichen Zahlen ” Die nat¨ urlichen Zahlen sind von Gott gegeben, alles andere hat der Mensch gemacht“. Diese ¨ Außerung wird Ernst Eduard Kummer zugeschrieben. 1 Diese Position werden wir auch einnehmen. In diesem Kapitel f¨ uhren wir die Menge der nat¨ urlichen Zahlen und das Rechnen mit ihnen quasi als gegeben ein und deuten dabei nur an, wie diese auch axiomatisch eingef¨ uhrt werden k¨onnten. Mit den Problematiken, die dabei auftreten k¨onnen, wollen wir uns aber nicht weiter ” belasten“, weil das f¨ ur die folgenden Betrachtungen keine Rolle spielt. So betrachten wir also zun¨achst die nat¨ urlichen Zahlen als gegeben und listen die bekannten Rechenregeln f¨ ur nat¨ urliche Zahlen auf. Nat¨ urliche Zahlen sind die Zahlen, die naturgem¨aß zum Z¨ahlen verwendet werden. So liegt es also nahe, die Menge der nat¨ urlichen Zahlen als Referenzmenge f¨ ur die Abz¨ahlbarkeit von Mengen zu betrachten. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • die axiomatische Einf¨ uhrung der Menge der nat¨ urlichen Zahlen verstehen, • die Rechenregeln f¨ ur nat¨ urliche Zahlen kennen, • das Summationssymbol kennen und anwenden k¨onnen, • den Begriff der Abz¨ahlbarkeit verstehen und anwenden k¨onnen. 11.1 Einf¨ uhrung der Menge der nat¨ urlichen Zahlen Man kann Zahlen, und so sind diese vielleicht auch in der Menschheitsgeschichte entstanden, als Abstraktionen von Mengen mit derselben Anzahl von Elementen betrachten. Sieben ¨ Apfel, sieben Birnen, sieben Ziegen bilden Mengen mit 7 Elementen, welches man z.B. durch sieben Kerben in einem Holzstab oder sieben Striche im Sand oder durch die Symbole 7 oder VII notieren kann. 1 Ernst Eduard Kummer (1810 - 1893) lieferte fundamentale Beitr¨age zu vielen Gebieten der Mathematik, insbe- sondere zur Zahlentheorie und zur Funktionentheorie. Zusammen mit Leopold Kronecker (1823 - 1891, fundamentale Beitr¨ae zur Algebra, Zahlentheorie, Analysis und Funktionentheorie) und Karl Weierstraß (1812 - 1897, fundamentale Beitr¨age zur Analysis und Funktionentheoriemachte, zur Theorie elliptischer Funktionen, zur Differentialgeometrie und zur Variationsrechnung) machte er Berlin zum Ende des 19. Jahrhunderts zu einem Weltzentrum der Mathema- tik. 107 108 KAPITEL 11. DIE MENGE DER NAT ¨ URLICHEN ZAHLEN Was braucht man nun ” wirklich“ zum Z¨ahlen? Nun, wir brauchen eine unendliche Menge, deren Elemente zum Z¨ahlen verwendet werden k¨onnen (Strichfolgen, Zahlensymbole, . . .). Dann brauchen wir eine Zahl, bei der das Z¨ahlen beginnt, eine ” kleinste“ Zahl, und wir m¨ ussen festlegen, dass verschiedene Zahlensymbole auch verschiedene Anzahlen angeben. Diese grundlegenden Eigenschaften des Z¨ahlens wollen wir mathematisch mithilfe einer Z¨ahl- Z¨ahlstruktur struktur festlegen: (o, 0, s) Dabei sei o eine nicht leere Menge, 0 ∈ o ein ausgezeichnetes Element, welches wir Null nennen, sowie s : o → o eine Funktion, die wir Nachfolgerfunktion nennen. Die Z¨ahlstruktur soll dabei folgende Axiome erf¨ ullen: (P1) F¨ ur alle x ∈ o gilt: s(x) ,= 0, d.h. 0 kann kein Nachfolger einer Zahl sein. Damit wird 0 quasi als kleinste Zahl festgelegt. (P2) s ist injektiv, d.h. f¨ ur alle x, y ∈ o gilt: Ist x ,= y, dann ist auch s(x) ,= s(y), verschiedene Zahlen haben verschiedene Nachfolger. Das bedeutet allgemeiner, dass verschiedene Zahlen auch verschiedene Anzahlen bedeuten. (P3) F¨ ur jede Teilmenge M von o gilt: Ist 0 ∈ M und folgt daraus, dass x ∈ M ist, auch, dass Induktionsaxiom s(x) ∈ M ist, dann gilt M = o. Dieses ist das sogenannte Induktionsaxiom. Diese Axiome gehen auf Dirichlet 2 und Peano 3 zur¨ uck. Deswegen wird (o, 0, s) auch Dedekindtripel, Dedekindtripel Peano- Axiome und die Axiome P1 - 3 geh¨oren auch zu den Peano-Axiomen zur Definition der Menge der nat¨ urlichen Zahlen. Folgende konkrete Strukturen erf¨ ullen diese Axiome, sind also Beispiele f¨ ur Z¨ahlstrukturen: Beispiel 11.1. a) (o 1 , 0 1 , s 1 ) mit o 1 = ¦ε, [, [[, [[[, . . . , ¦, 0 1 = ε, die leere Strichfolge, und s 1 (x) = x[. b) (o 2 , 0 2 , s 2 ) mit o 2 = ¦∅, ¦∅¦, ¦∅, ¦∅¦¦, ¦∅, ¦∅¦, ¦∅, ¦∅¦¦¦, . . .¦ mit 0 2 = ∅ und s 2 (x) = x∪¦x¦. 2 Wir wollen zwei Peano-Strukturen (o 1 , 0 1 , s 1 ) und (o 2 , 0 2 , s 2 ) strukturgleich oder isomorph nen- Isomorphie nen, falls es eine bijektive Abbildung ϕ : o 1 →o 2 gibt, f¨ ur die ϕ(s 1 (x)) = s 2 (ϕ(x)) f¨ ur alle x ∈ o 1 (11.1) gilt. Die Abbildung ϕ ordnet also jedem Element der einen genau ein Element der anderen Struktur zu, und diese Zuordnung ist vertr¨aglich mit den Nachfolgerfunktionen in beiden Strukturen. Das bedeutet, dass, wenn x ∈ o 1 dem Element y ∈ o 2 zugeordnet wird, dann werden auch ihre Nach- folger s 1 (x) ∈ o 1 und s 2 (y) ∈ o 2 einander zugeordnet. Sind o 1 und o 2 isomorph, so schreiben wir: (o 1 , 0 1 , s 1 ) ∼ = (o 2 , 0 2 , s 2 ). 2 Johann Peter Gustav Lejeune-Dirichlet (1805 - 1859), deutscher Mathematiker, lieferte zu vielen Gebieten der Mathematik (Theorie algebraischer Zahlen, Randwertprobleme, Variationsrechnung, geometrische Funktionentheorie, Theorie unendlicher Reihen, Fourier-Reihen) fundamentale Beitr¨age. 3 Giuseppe Peano (1858 - 1932), italienischer Mathematiker und Logiker, besch¨aftigte sich mit axiomatische Ans¨atzen zur Beschreibung von Mengen und Strukturen. 11.1. EINF ¨ UHRUNG DER MENGE DER NAT ¨ URLICHEN ZAHLEN 109 Beispiel 11.2. Wir zeigen, dass die beiden Z¨ahlstrukturen aus Beispiel 11.1 isomorph sind. Dazu legen wir die Abbildung ϕ : o 1 →o 2 wie folgt rekursiv fest: ϕ(ε) = ∅ ϕ(x[) = ϕ(x) ∪ ¦ϕ(x)¦ Wir berechnen mithilfe dieser rekursiven Definition z.B. ϕ([[[) schrittweise: ϕ([) = ϕ(ε) ∪ ¦ϕ(ε)¦ = ∅ ∪ ¦∅¦ = ¦∅¦ ϕ([[) = ϕ([) ∪ ¦ϕ([)¦ = ¦∅¦ ∪ ¦¦∅¦¦ = ¦∅, ¦∅¦¦ ϕ([[[) = ϕ([[) ∪ ¦ϕ([[)¦ = ¦∅, ¦∅¦¦ ∪ ¦¦∅, ¦∅¦¦¦ = ¦∅, ¦∅¦, ¦∅, ¦∅¦¦¦ Diese Abbildung ϕ ist bijektiv und sie erf¨ ullt die Bedingung (11.1): ϕ(s 1 (x)) = ϕ(x[) = ϕ(x) ∪ ¦ϕ(x)¦ = s 2 (ϕ(x)) Es gilt also: (o 1 , ε, s 1 ) ∼ = (o 2 , ∅, s 2 ). 2 Durch Verallgemeinerung der ¨ Uberlegungen in obigem Beispiel kann man beweisen, dass alle Z¨ahlstrukturen isomorph zueinander sind: Zu je zwei Strukturen, die die Peano-Axiome erf¨ ullen, l¨asst sich eine bijektive Abbildung finden, die die Bedingung (11.1) erf¨ ullt. Außerdem gilt, dass diese Abbildung in jedem Fall die beiden Nullen einander zuordnet. Satz 11.1. F¨ ur alle Z¨ahlstrukturen (o 1 , 0 1 , s 1 ) und (o 2 , 0 2 , s 2 ) gilt (o 1 , 0 1 , s 1 ) ∼ = (o 2 , 0 2 , s 2 ) und f¨ ur alle Isomorphismen ϕ zwischen diesen Strukturen gilt ϕ(0 1 ) = 0 2 2 ¨ Ubung 11.1. Zeigen Sie, dass f¨ ur zwei isomorphe Z¨ahlstrukturen (o 1 , 0 1 , s 1 ) und (o 2 , 0 2 , s 2 ) und f¨ ur einen Isomorphismus ϕ zwischen diesen Strukturen ϕ(0 1 ) = 0 2 gelten muss! 2 Gem¨aß Satz 11.1 sind also alle Z¨ahlstrukturen bis auf die Benennung ihrer Elemente identisch. Wir k¨onnen f¨ ur den t¨aglichen Gebrauch also irgendeine Z¨ahlstruktur ausw¨ahlen. Da die Notation der Elemente der Z¨ahlstrukturen in Beispiel 11.1 in Bezug auf ihr Hinschreiben, ihr Lesen oder in Bezug auf das Rechnen mit ihnen sehr umst¨andlich ist, stellt sich die Frage nach geeigneten Zahlen- symbolen. Im Verlaufe der Geschichte hat es hier unterschiedliche Entwicklungen gegeben, wie z.B. die r¨omischen Zahlen oder die arabischen Zahlen. Die arabischen Zahlen haben sich durchgesetzt, weil sie auf einem Stellenwertsystem basieren, woraus sich eine systematische Notation ergibt sowie einfache Verfahren zur Durchf¨ uhrung von Rechenoperationen. 110 KAPITEL 11. DIE MENGE DER NAT ¨ URLICHEN ZAHLEN Wenn wir nun von der Struktur (o 1 , ε, s 1 ) im Beispiel 11.1 ausgehen und f¨ ur eine Folge von Die Menge der nat¨ urlichen Zahlen n Strichen das arabische Zahlensymbol f¨ ur n und den Nachfolger s(n) von n mit n + 1 notieren, erhalten wir die Menge der uns bekannten nat¨ urlichen Zahlen N 0 = ¦ 0, 1, 2, 3, . . . ¦ als weitere Z¨ahlstruktur (N 0 , 0, s). Da man gelegentlich Aussagen ¨ uber alle nat¨ urlichen Zahlen ohne die Null machen m¨ochte, f¨ uhren wir N als Symbol f¨ ur diese Menge ein: N = N 0 −¦0¦ = ¦ 1, 2, 3, . . . ¦ Mithilfe der Nachfolgerfunktion s lassen sich nun die elementaren arithmetischen Operationen Addition und Multiplikation nat¨ urlicher Zahlen f¨ ur nat¨ urliche Zahlen, Addition und Multiplikation, rekursiv definieren (siehe auch Kapitel 13 und 14). (1) Wir f¨ uhren die Addition zweier Zahlen x und y auf die y-fache Addition der 1 zu x zur¨ uck: add : N 0 N 0 →N 0 definiert durch add(x, 0) = x add(x, s(y)) = s(add(x, y)) Mit dieser Berechnungsvorschrift ergibt sich z.B. add(2, 3) = add(2, s(2)) = s(add(2, 2)) = s(add(2, s(1))) = s(s(add(2, 1))) = s(s(add(2, s(0)))) = s(s(s(add(2, 0)))) = s(s(s(2))) = s(s(3)) = s(4) = 5 (2) Mithilfe der Addition k¨onnen wir nun die Multiplikation mult : N 0 N 0 →N 0 definieren: mult(x, 0) = 0 mult(x, s(y)) = add(mult(x, y), x) Die Multiplikation von x und y wird hier durch y-fache Addition von x mit sich selbst be- rechnet. (3) Analog k¨onnen wir nun die Potenzfunktion mithilfe der Multiplikation definieren: exp : N 0 N 0 →N 0 mit exp(x, 0) = 1 exp(x, s(y)) = mult(exp(x, y), x) Die Potenzierung von x mit y wird hier durch y-fache Multiplikation von x mit sich selbst berechnet. In analoger Art und Weise k¨onnen weitere arithmetische Operationen definiert werden, die letzt- endlich immer auf der Addition und damit auf der Addition der 1, d.h. auf der Nachfolgerfunktion s – also auf dem Z¨ahlen – basieren. Und zu diesem Zweck, n¨amlich zum Z¨ahlen, haben wir die nat¨ urlichen Zahlen ja gerade eingef¨ uhrt. 11.2. RECHENREGELN IN N 0 111 ¨ Ubung 11.2. a) Berechnen Sie mult(2, 3)! b) Berechnen Sie exp(2, 3)! 2 Im Folgenden schreiben wir x+y anstelle von add(x, y) und x y oder xy anstelle von mult(x, y) sowie x y f¨ ur exp(x, y). Die nat¨ urlichen Zahlen sind abgeschlossen bez¨ uglich der Addition und Multiplikation. Das be- Abgeschlos- senheit von Addition und Multiplika- tion deutet, dass die Summe bzw. das Produkt zweier nat¨ urlicher Zahlen wieder eine nat¨ urliche Zahl ist. Die nat¨ urlichen Zahlen sind nicht abgeschlossen gegen¨ uber Subtraktion und Division, denn die Differenz bzw. der Quotient zweier nat¨ urlicher Zahlen muss keine nat¨ urliche Zahl sein. 11.2 Rechenregeln in N 0 Mithilfe vollst¨andiger Induktion und bereits bewiesener Eigenschaften kann man beweisen, dass f¨ ur beliebige Zahlen x, y, z ∈ N 0 folgende bekannte Rechenregeln gelten: (A1) Assoziativgesetz der Addition: (x + y) + z = x + (y + z), d.h. bei der Addition von mehr Rechenregeln als zwei Zahlen kommt es nicht auf die Reihenfolge der Ausf¨ uhrung dieser Operation an. Deshalb k¨onnen die Klammern auch weggelassen werden: x +y +z. (A2) Kommutativgesetz der Addition: x + y = y + x, d.h. das Ergebnis einer Addition ist un- abh¨angig von der Reihenfolge der Operanden. (A3) Neutrales Element der Addition: x + 0 = 0 +x = x, d.h. die Addition mit 0 ver¨andert den anderen Operanden nicht. (M1) Assoziativgesetz der Multiplikation: (xy)z = x(yz). (M2) Kommutativgesetz der Multiplikation: xy = yx. (M3) Neutrales Element der Multiplikation: x1 = 1x = x, d.h. die Multiplikation mit 1 ver¨andert den anderen Operanden nicht. (D1) Distributivgesetz 1: x(y +z) = xy +xz. (D2) Distributivgesetz 2: (x +y)z = xz +yz. In gewissem Rahmen sind auch die Umkehroperationen Subtraktion und Division zur Addition bzw. zur Multiplikation f¨ ur nat¨ urliche Zahlen definiert: • Subtraktion: Gilt x + y = z, dann gilt x = z − y. x heißt dann auch die Differenz von z und y. Mithilfe des Kommutativgesetzes (A2) kann man im ¨ Ubrigen sofort ableiten, dass auch y = z −x gelten muss. • Division: Gilt xy = z, dann gilt x = z : y. x heißt dann auch der Quotient von z und y. Anstelle von z : y notieren wir auch z/y oder z y . Die Relation ≤⊆ N 0 N 0 definiert durch x ≤ y genau dann, wenn eine Zahl d ∈ N 0 existiert mit x + d = y legt auf N 0 eine totale Ordnung fest (siehe Kapitel 8.3). F¨ ur diese Ordnung gelten die beiden folgenden Vertr¨aglichkeitsregeln, auch Monotonieregeln genannt: 112 KAPITEL 11. DIE MENGE DER NAT ¨ URLICHEN ZAHLEN (O1) sind x, y, z ∈ N 0 und ist x ≤ y, dann gilt auch x +z ≤ y +z, Monotonieregeln (O2) sind x, y, z ∈ N 0 und ist x ≤ y, dann gilt auch xz ≤ yz. Anstelle von x ≤ y schreiben wir auch y ≥ x. Zur Notation der Summe von mehreren Summanden x 1 , x 2 , . . . , x n verwendet man oft auch das Summations- symbol Summationssymbol : x 1 +x 2 +. . . +x n = n i=1 x i L¨auft der Summationsindex i nicht zwischen den Grenzen 1 und n, sondern zwischen u und o mit u, o ∈ N 0 und u ≤ o, dann notieren wir x u +x u+1 +. . . +x o = o i=u x i u heißt untere und o heißt obere Index- oder Summationsgrenze. F¨ ur den Fall u > o legen wir o i=u x i = 0 fest. Analog wird f¨ ur die Multiplikation mehrerer Faktoren x u , x u+1 , . . . x o Multiplikations- symbol x u x u+1 . . . x o = o i=u x i geschrieben. F¨ ur den Fall u > o legen wir o i=u x i = 0 fest. Sowohl bei der Addition als auch bei der Multiplikation kann die Anzahl der Summanden bzw. die Anzahl der Faktoren unendlich sein, d.h. es kann o = ∞ sein. Man spricht dann von einer unendlichen Summe bzw. von einem unendlichen Produkt. Aus den Distributivgesetzen l¨asst sich das folgende verallgemeinerte Distributivgesetz ableiten: Verallgemeinertes Distributiv- gesetz _ m i=1 x i _ _ _ n j=1 y j _ _ = (x 1 +x 2 +. . . +x m )(y 1 +y 2 +. . . +y n ) = x 1 y 1 +x 1 y 2 +. . . +x 1 y n + x 2 y 1 +x 2 y 2 +. . . +x 2 y n . . . + x m y 1 +x m y 2 +. . . +x m y n = m i=1 n j=1 x i y j Wegen der Kommutativit¨at der Addition gilt nat¨ urlich m i=1 n j=1 x i y j = n j=1 m i=1 x i y j 11.3. DER BEGRIFF DER ABZ ¨ AHLBARKEIT 113 11.3 Der Begriff der Abz¨ahlbarkeit Die Menge der nat¨ urlichen Zahlen ist ja gerade zum Abz¨ahlen geschaffen worden. Insofern erscheint es als ” nat¨ urlich“ diese Menge als Referenzmenge f¨ ur abz¨ahlbare Mengen zu w¨ahlen. Wir wollen eine Menge abz¨ahlbar nennen, falls ihre Elemente eindeutig mit nat¨ urlichen Zahlen nummeriert werden k¨onnen. Definition 11.1. Eine Menge M heißt abz¨ahlbar genau dann, wenn sie endlich ist oder wenn Abz¨ahlbar- keit es eine bijektive (d.h. totale, injektive und surjektive) Abbildung f : M → N 0 gibt, d.h. jedem Element m ∈ M kann eineindeutig eine nat¨ urliche Zahl f(m) zugeordnet werden. Ist f(m) = i, dann schreiben wir auch m i . Die Elemente aus M besitzen eine eindeutige Nummer, k¨onnen also abgez¨ahlt werden: m 0 , m 1 , m 2 , . . . Eine unendliche abz¨ahlbare Menge M kann als gleichm¨achtig zur Menge der nat¨ urlichen Zah- len verstanden werden, denn jedem Element aus M kann genau eine nat¨ urliche Zahl und jeder Gleichm¨achtig- keit nat¨ urlichen Zahl kann genau ein Element aus M zugeordnet werden. Ist eine Menge nicht abz¨ahlbar, dann nennen wir sie ¨ uberabz¨ahlbar. 2 ¨ Uberabz¨ahl- barkeit Folgerung 11.1. F¨ ur den Begriff der Abz¨ahlbarkeit gelten einsichtigerweise die folgenden Eigen- schaften: a) Jede Teilmenge einer abz¨ahlbaren Menge ist abz¨ahlbar. b) Jede Obermenge einer nicht abz¨ahlbaren Menge ist nicht abz¨ahlbar. 2 Beispiel 11.3. a) Die Menge der positiven geraden Zahlen G + = ¦ n [ n = 2k, k ∈ N 0 ¦ ist abz¨ahlbar, da G + eine Teilmenge von N 0 ist. Eine m¨ogliche Abz¨ahlung ist z.B. f : G + → N 0 definiert durch f(2k) = k f¨ ur k ∈ N 0 . f ist eine bijektive Abbildung, welche die geraden Zahlen in ihrer nat¨ urlichen Reihenfolge abz¨ahlt: 0, 2, 4, . . . b) Die Potenzmenge T(N) der Menge der nat¨ urlichen Zahlen ist ¨ uberabz¨ahlbar. Wir zeigen dies ¨ Uberabz¨ahl- barkeit der Potenzmenge von NNN durch einen Widerspruchsbeweis. Wir nehmen also an, dass T(N) abz¨ahlbar ist, d.h. es gibt eine bijektive Abbildung f : T(N) → N 0 , die T(N) abz¨ahlt. M 0 , M 1 , M 2 . . . sei die durch f festgelegte Abz¨ahlung von T(N). N 0 ist abz¨ahlbar, und x 0 , x 1 , x 2 . . . sei eine solche Abz¨ahlung. Mit den beiden Abz¨ahlungen k¨onnen wir folgende Matrix betrachten: x 0 x 1 x 2 . . . x j . . . M 0 b 00 b 01 b 02 . . . b 0j . . . M 1 b 10 b 11 b 12 . . . b 1j . . . M 2 b 20 b 21 b 22 . . . b 2j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M i b i0 b i1 b i2 . . . b ij . . . . . . . . . . . . . . . . . . . . . . . . 114 KAPITEL 11. DIE MENGE DER NAT ¨ URLICHEN ZAHLEN Dabei sei b ij = _ 1, falls x j ∈ M i 0, falls x j / ∈ M i Wir definieren mithilfe der Diagonalen dieser Matrix die Menge D wie folgt: Diagonalisierung x k ∈ D genau dann, wenn b kk = 0 ist (11.2) x k ist also in D enthalten, falls x k nicht in M k enthalten ist, und x k ist nicht in D enthalten, falls x k in M k enthalten ist. Die Menge D ist also so konstruiert, dass sie sich mindestens in einem Element, was durch die Diagonale der Matrix bestimmt wird, von jeder Menge M i unterscheidet. Das f¨ uhrt nun gerade im Folgenden zum Widerspruch. Zun¨achst stellen wir fest, dass D eine Menge nat¨ urlicher Zahlen ist, d.h. es muss D ∈ T(N) sein. Das bedeutet aber, dass D in der Abz¨ahlung M 0 , M 1 , M 2 , . . . von T(N) vorkommen muss. Damit muss es eine Nummer s geben mit f(s) = D, d.h. mit D = M s . F¨ ur die Zahl s gibt es nun zwei F¨alle: x s ∈ M s oder x s / ∈ M s . (1) Sei x s ∈ M s , dann gilt b ss = 1 und damit wegen (11.2) x s / ∈ D, woraus wegen D = M s folgt x s / ∈ M s . (2) Sei x s / ∈ M s , dann gilt b ss = 0 und damit wegen (11.2) x s ∈ D, woraus wegen D = M s folgt x s ∈ M s . In beiden F¨allen erhalten wir also einen Widerspruch, d.h. wir k¨onnen herleiten, dass x s ∈ D gilt genau dann, wenn x s / ∈ D gilt, was offensichtlich einen Widerspruch darstellt. Unsere Annahme muss also falsch sein. Damit haben wir bewiesen, dass T(N) ¨ uberabz¨ahlbar ist. 2 11.4 Aufz¨ahlbare und entscheidbare Mengen Im Kapitel 14 haben wir den Begriff der Berechenbarkeit f¨ ur Funktionen f : N k 0 → N 0 einf¨ uhrend betrachtet. Wir werden diesen Begriff nun auf Mengen ¨ ubertragen, wobei in diesen Zusammen- hang von Entscheidbarkeit von Mengen gesprochen wird. Wir werden unterschiedliche Grade von Entscheidbarkeit kennenlernen, und wir werden Zusammenh¨ange zur Abz¨ahlbarkeit von Mengen herstellen, wobei wir dabei von berechenbaren Abz¨ahlungen, sogenannten Aufz¨ahlungen ausgehen werden. Des Weiteren werden wir nicht berechenbare Funktionen und nicht entscheidbare Mengen kennenlernen. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • x Kapitel 12 Vollst ¨ andige Induktion Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • das Prinzip der Vollst¨andigen Induktion verstehen, • Behauptungen mithilfe Vollst¨andiger Induktion beweisen k¨onnen. Vollst¨andige Induktion ist eine Methode, mit der bewiesen werden kann, dass ein Pr¨adikat auf die Menge der nat¨ urlichen Zahlen zutrifft, d.h. dass ein Pr¨adikat P : N 0 → B die L¨osungsmenge R P = N 0 besitzt, d.h. dass P von allen nat¨ urlichen Zahlen erf¨ ullt wird (siehe 9.3). Die Menge der nat¨ urlichen Zahlen wird in Kapitel 11.1 eingef¨ uhrt. Grundlage f¨ ur die Vollst¨andige Induktion ist dabei das Axiom P3 (siehe Seite 108). Ein Beweis mit vollst¨andiger Induktion gen¨ ugt dementsprechend folgendem Schema: • Induktionsanfang: Zeige, dass P(0) gilt, d.h. dass 0 ∈ R P gilt. Induktionsanfang • Induktionsschritt: Zeige: ∀n ∈ N 0 : P(n) ⇒ P(n + 1). Dabei heißt P(n) Induktionsannahme Induktionsschritt Induktionsannahme oder Induktionsvoraussetzung und P(n + 1) Induktionsbehauptung. Induktions- behauptung Haben wir f¨ ur ein Pr¨adikat P : N 0 → B Induktionsanfang und Induktionsschritt gezeigt, dann wissen wir, dass P(n) f¨ ur alle n ∈ N 0 gilt, d.h. dass R P = ¦ n ∈ N 0 [ P(n)¦ = N 0 gilt: Das Pr¨adikat P trifft auf alle nat¨ urlichen Zahlen zu. Bemerkung 12.1. Veranschaulichen kann man diese Methode an folgendem Problem: Wann bin ich in der Lage, eine (unendliche) Leiter hinauf zu steigen. Nun, ich werde es schaffen, wenn ich in der Lage bin, die folgenden beiden Schritte zu tun: Ich muss die erste Sprosse besteigen k¨onnen (das entspricht dem Induktionsanfang), und wenn ich auf irgendeiner Stufe stehe (Induktionsannahme), dann muss ich auf die n¨achste Sprosse steigen k¨onnen (Induktionsschritt). 2 Beispiel 12.1. a) Zeige: ∀n ∈ N 0 : n i=0 i = n(n+1) 2 . Das Pr¨adikat P(n) = n i=0 i = n(n + 1) 2 (12.1) 115 116 KAPITEL 12. VOLLST ¨ ANDIGE INDUKTION behauptet also, dass sich n i=0 i, die Summe der Zahlen von 0 bis n, f¨ ur jede nat¨ urliche Zahl n durch den Ausdruck n(n+1) 2 berechnen l¨asst. Wir beweisen die Behauptung mit vollst¨andiger Induktion gem¨aß dem obigen Schema: Induktionsanfang: Zeige, dass P(0) gilt. Es ist 0 i=0 i = 0 = 0(0 + 1) 2 also gilt P(0). Induktionsschritt: Zeige unter der Annahme, dass P(n) gilt, auch P(n + 1) gilt. In unserem Fall m¨ ussen wir also zeigen, dass P(n + 1) = n+1 i=0 i = (n + 1)(n + 2) 2 gilt unter der Vorraussetzung, dass P(n) = n i=0 i = n(n + 1) 2 gilt. Die Summe der Zahlen von 0 bis n +1 ist gleich der Summe der Zahlen von 1 bis n plus n +1, d.h. es ist n+1 i=0 i = n i=0 i + (n + 1) (12.2) Es gilt nun: n+1 i=0 i = n i=0 i + (n + 1) wegen (12.2) = n(n + 1) 2 + (n + 1) wegen der Induktionsannahme = n(n + 1) + 2(n + 1) 2 = (n + 1)(n + 2) 2 Damit haben wir den Induktionsschritt durchgef¨ uhrt. Insgesamt haben wir also gezeigt, dass unser Pr¨adikat (12.1) f¨ ur alle nat¨ urlichen Zahlen erf¨ ullt ist. b) Zeige, dass f¨ ur jede nat¨ urliche Zahl n die Zahl (2n + 1) 2 bei Division durch 8 den Rest 1 l¨asst. Zun¨achst formulieren wir diese Behauptung als Pr¨adikat: P(n) = ∀n ∈ N 0 ∃q ∈ N 0 : (2n + 1) 2 = 8q + 1 (12.3) 117 Wir beweisen diese Behauptung durch vollst¨andige Induktion: Induktionsanfang: Zeige, dass P(0) gilt, d.h. zeige, dass eine nat¨ urliche Zahl q existiert, so dass (2 0 + 1) 2 = 8q + 1 ist. Da f¨ ur q = 0 diese Gleichung erf¨ ullt ist, gilt P(0). Induktionsschritt: Zeige unter der Annahme, dass P(n) gilt, auch P(n + 1) gilt. In unserem Fall m¨ ussen wir also zeigen, dass P(n + 1) = ∃q ∈ N 0 : (2(n + 1) + 1) 2 = 8q + 1 gilt unter der Voraussetzung, dass P(n) = ∃q ∈ N 0 : (2n + 1) 2 = 8q + 1 (12.4) gilt. Dazu ¨ uberlegen wir wie folgt: ∃q ∈ N 0 : (2(n + 1) + 1) 2 = 8q + 1 ⇔ ∃q ∈ N 0 : (2n + 3) 2 = 8q + 1 ⇔ ∃q ∈ N 0 : 4n 2 + 12n + 9 = 8q + 1 ⇔ ∃q ∈ N 0 : (4n 2 + 4n + 1) + (8n + 8) = 8q + 1 ⇔ ∃q ∈ N 0 : (2n + 1) 2 + 8(n + 1) = 8q + 1 (12.5) Nach der Induktionsvoraussetzung (12.4) gibt es ein q, so dass (2n + 1) 2 = 8q + 1 gilt. Mit (12.5) erhalten wir daraus: ∃q, q ∈ N 0 : 8q + 1 + 8(n + 1) = 8q + 1 ⇔∃q, q ∈ N 0 : 8(q +n + 1) + 1 = 8q + 1 Damit haben wir gezeigt, dass es mit der Induktionsvoraussetzung (12.4) zu jedem n ∈ N 0 ein q = q+n+1 gibt mit (2(n+1)+1) 2 = 8q +1. Damit haben wir den Induktionsschritt durchgef¨ uhrt. Insgesamt haben wir also gezeigt, dass unser Pr¨adikat (12.3) f¨ ur alle nat¨ urlichen Zahlen erf¨ ullt ist. c) In Satz 5.1 auf Seite 61 haben wir behauptet, dass, wenn eine Menge M m Elemente hat, die Potenzmenge T(M) von M 2 m Elemente hat. Wir formalisieren diese Behauptung als Pr¨adikat: P(m) = ∀m ∈ N 0 : [M[ = m ⇒[T(M)[ = 2 m Induktionsanfang: Zeige P(0). Sei also m = 0, d.h. M = ∅ und damit T(M) = ¦ ∅ ¦, woraus folgt: [T(M)[ = 1. Da 2 0 = 1, gilt also die Behauptung f¨ ur m = 0. Induktionsschritt: Zeige, dass [M[ = m + 1 ⇒ [T(M)[ = 2 m+1 gilt, unter der Voraussetzung, dass [T(M)[ = 2 m gilt f¨ ur [M[ = m. Sei M = ¦a 1 , a 2 , . . . , a m , a m+1 ¦ sowie M = ¦b 1 , b 2 , . . . , b m ¦, b i ∈ M, 1 ≤ i ≤ m, und ¦a¦ = M −M . Nach Induktionsvoraussetzung ist [T(M )[ = 2 m . Sei etwa T(M ) = ¦D 1 , D 2 , . . . , D 2 m¦. Alle D j ∈ T(M ), 1 ≤ j ≤ 2 m , sind auch Elemente von T(M). Es fehlen noch die Elemente D j ∪ ¦a¦, 1 ≤ j ≤ 2 m . Insgesamt enth¨alt T(M) also 2 m + 2 m = 2 2 m = 2 m+1 Elemente. Damit ist der Induktionsschritt gezeigt. 118 KAPITEL 12. VOLLST ¨ ANDIGE INDUKTION d) Sei x ∈ R, x > −1, x ,= 0, dann gilt: ∀n ∈ N 2 : (1 +x) n > 1 +nx. 1 Wir beweisen diese Behauptung mit vollst¨andiger Induktion: Induktionsanfang: Zeige P(2). F¨ ur n = 2 gilt (1 +x) 2 = 1 + 2x +x 2 > 1 + 2x, da x 2 > 0 Induktionsschritt: Zeige, dass (1 +x) n+1 > 1 +(n +1)x gilt, unter Voraussetzung, dass (1 +x) n > 1 +nx gilt, f¨ ur x ∈ R, x > −1, x ,= 0. Es gilt: (1 +x) n+1 = (1 +x) n (1 +x) > (1 +nx)(1 +x) (nach Induktionsvoraussetzung) = 1 +x +nx +nx 2 > 1 +nx +x (da nx 2 > x) = 1 + (n + 1)x e) Als letztes Beispiel wollen wir das Pr¨adikat P(n) = ∀n ∈ N 7 : 2n 2 + 1 < 2 n beweisen. Induktionsanfang: Zeige P(7). Es gilt 2 7 2 + 1 = 99 und 2 7 = 128, und damit P(7). Induktionsschritt: Wir nehmen an, dass P(n) = 2n 2 + 1 < 2 n gilt, und zeigen, dass dann auch P(n + 1) = 2(n + 1) 2 + 1 < 2 n+1 gilt. Es ist 2(n + 1) 2 + 1 = 2(n 2 + 2n + 1) + 1 = 2n 2 + 1 + 4n + 2 < 2 n + 4n + 2 (wegen der Induktionsannahme) < 2 n + 2 n (da 4n + 2 < 2 n f¨ ur n ≥ 7) = 2 n+1 2 Bei den beiden letzten Beispielen ist der Induktionsanfang nicht P(0), sondern P(2) bzw. P(7). F¨ ur kleinere Werte von n gilt die Behauptung n¨amlich nicht. Dies ist aber unerheblich und kein prinzipieller Verstoß gegen das Prinzip der Vollst¨andigen Induktion, denn wir k¨onnen jedes Pr¨adikat P(n), f¨ ur welches der Induktionsanfang P(c) f¨ ur ein c ∈ N 0 gilt, transformieren in ein Pr¨adikat P‘(n), indem jedes Vorkommen von n durch n +c ersetzt wird. In Beispiel d) w¨are die transformierte Behauptung also P (n) = (1 +x) n+2 > 1 +(n +2)x, und in Beispiel e) w¨are die transformierte Behauptung P (n) = 2(n + 7) 2 + 1 < 2 n+7 . 1 Diese Ungleichung wird als Bernoullische Ungleichung bezeichnet, benannt nach Jakob Bernoulli (1654 - 1705), einer der Mitglieder der ber¨ uhmten schweizerischen Gelehrtenfamilie Bernoulli (niederl¨andischer Herkunft), die im 17. und 18. Jahrhundert als Mathematiker, Physiker, Mediziner und Theologen hervorragende Beitr¨age zu diesen Wissenschaften geliefert haben. Kapitel 13 Rekursion Die induktive Definition der Menge der nat¨ urlichen Zahlen erm¨oglicht induktive bzw. rekursive Definitionen von Funktionen und Relationen ¨ uber dieser Menge. Die Grundidee der rekursiven Definition ist: Der Funktionswert f(n+1) einer Funktion f : N 0 →N 0 ergibt sich durch Verkn¨ upfung bereits vorher berechneter Werte f(n), f(n −1), . . . Falls außerdem die Funktionswerte von f f¨ ur hinreichend viele Startargumente bekannt sind, kann jeder Funktionswert von f berechnet werden. Nach Durcharbeiten dieses Kapitels sollten Sie Lernziele • das Prinzip der rekursiven Definition von Funktionen verstehen, • rekursive Definitionen f¨ ur Funktionen angeben k¨onnen. 13.1 Rekursive Definition arithmetischer Funktionen Betrachten wir als erstes Beispiel die Funktion sum : N 0 →N 0 definiert durch sum(n) = 0 + 1 + 2 +. . . +n (13.1) sum(n) berechnet die Summe der ersten n Zahlen. Aus Beispiel 12.1 a) wissen wir, dass sum(n) = n(n+1) 2 gilt. sum l¨asst sich aber auch anders berechnen. Dazu betrachten wir (13.1) etwas genauer: sum(n) = 0 + 1 + 2 +. . . + (n −1) +n = 0 + 1 + 2 +. . . + (n −1) . ¸¸ . =sum(n−1) +n = sum(n −1) +n Die Summe der ersten n Zahlen l¨asst sich also berechnen, indem man die Summe der ersten n −1 Zahlen berechnet und dazu die Zahl n addiert. 119 120 KAPITEL 13. REKURSION Falls man nun noch als Rekursionsanfang sum(0) = 0 festlegt, l¨asst sich sum(x) f¨ ur jedes x ∈ N 0 mithilfe folgender rekursiver Definition berechnen: sum(n) = _ 0, n = 0 (Rekursionsanfang) sum(n −1) +n, n ≥ 1 (Rekursionsschritt) Es gilt z.B. sum(3) = sum(2) + 3 (Rekursionsschritt) = sum(1) + 2 + 3 (Rekursionsschritt) = sum(0) + 1 + 2 + 3 (Rekursionsschritt) = 0 + 1 + 2 + 3 (Rekursionsanfang) = 6 In analoger Weise l¨asst sich die Fakult¨atsfunktion ! : N 0 →N 0 die das Produkt der ersten n Zahlen festlegt n! = 1 2 . . . n rekursiv definieren: n! = _ 1, n = 0 (Rekursionsanfang) (n −1)! n, n ≥ 1 (Rekursionsschritt) ¨ Ubung 13.1. Berechnen Sie nach dieser Vorschrift 3! (Fakult¨at von 3)! 2 Wir wollen nun einige Beispiele rekursiver Definitionen von mehrstelligen Funktionen betrachten. Dabei setzen wir die Sukzessorfunktion suc : N 0 →N 0 definiert durch suc(n) = n + 1 f¨ ur alle n ∈ N 0 , voraus. (1) Wir f¨ uhren die Addition zweier Zahlen x und y auf die y-fache Addition der 1 zu x zur¨ uck: add : N 0 N 0 →N 0 definiert durch add(x, 0) = x add(x, suc(y)) = suc(add(x, y)) 13.1. REKURSIVE DEFINITION ARITHMETISCHER FUNKTIONEN 121 Mit dieser Berechnungsvorschrift ergibt sich z.B. add(2, 3) = add(2, suc(2)) = suc(add(2, 2)) = suc(add(2, suc(1))) = suc(suc(add(2, 1))) = suc(suc(add(2, suc(0)))) = suc(suc(suc(add(2, 0)))) = suc(suc(suc(2))) = suc(suc(3)) = suc(4) = 5 (2) Mithilfe der Addition k¨onnen wir nun die Multiplikation definieren: mult : N 0 N 0 →N 0 mit mult(x, 0) = 0 (13.2) mult(x, suc(y)) = add(mult(x, y), x) (13.3) Die Multiplikation von x und y wird hier durch y-fache Addition von x mit sich selbst be- rechnet. ¨ Ubung 13.2. Berechnen Sie mit dieser Vorschrift z.B. mult(2, 3)! 2 (3) Analog k¨onnen wir nun die Potenzfunktion mithilfe der Multiplikation definieren: exp : N 0 N 0 →N 0 mit exp(x, 0) = 1 exp(x, suc(y)) = mult(exp(x, y), x) Die Potenzierung von x mit y wird hier durch y-fache Multiplikation von x mit sich selbst berechnet. ¨ Ubung 13.3. Berechnen Sie mit dieser Vorschrift z.B. exp(2, 3)! Die hier beispielhaft durchgef¨ uhrte Definition von rekursiv festgelegten Funktionen ist eine grunds¨atzliche Vorgehensweise in der funktionalen Programmierung. Ausgehend von einigen ge- gebenen Funktionen, wie z.B. in unserem Fall die Fallunterscheidung und die Sukzessorfunktion, werden schrittweise neue Funktionen definiert, mithilfe derer weitere Funktionen definiert werden k¨onnen. 122 KAPITEL 13. REKURSION Ein Ansatz, den Begriff der Berechenbarkeit formal, d.h. mathematisch, zu pr¨azisieren, beruht ebenfalls auf dieser Vorgehensweise. Man geht von ganz wenigen, ” einfachen“ Funktionen aus, die per se als berechenbar angesehen werden. Mit weiteren Funktionen werden dann aus diesen so ge- nannten Grundfunktionen weitere Funktionen zusammengesetzt. Alle Funktionen, die sich auf diese Weise darstellen lassen, gelten dann in diesem Berechenbarkeitskonzept als berechenbar. Hierauf gehen wir in Kapitel 14 noch n¨aher ein. 13.2 Fibonacci-Zahlen In diesem Kapitel wollen wir die Fibonacci-Folge betrachten. Diese taucht interessanterweise auf die eine oder andere Art bei vielen Ph¨anomenen in Mathematik, Informatik und Naturwissenschaften aber auch in Bereichen der Kunst auf. Wir betrachten die Fibonacci-Folge hier nur als weiteres Beispiel einer rekursiv definierten Funktion, und wir werden nur ein paar wenige ihrer Eigenschaften betrachten. Die Folge wird in der Regel auf das ber¨ uhmte ” Kaninchenproblem“ zur¨ uckgef¨ uhrt. Dieses Pro- blem wird im Liber Abbaci von dem wohl gr¨oßten europ¨aischen Mathematiker vor der Renaissance, Leonardo Pisano (Leonardo von Pisa, genannt Leornado Fibonacci, als Abk¨ urzung von Filius Bo- naccii, 1170 - 1240) als ¨ Ubungsaufgabe gestellt: Die Vermehrung von Kaninchenpaaren geschehe wie folgt: Am Anfang gebe es kein Paar, nach dem ersten Monat sei ein Paar – durch wen auch immer geschaffen – da. Jedes Kaninchenpaar ist nach dem zweiten Monat seiner Existenz geschlechtsreif, und jedes Kaninchenpaar bringe von da an jeden Monat ein weiteres Paar zur Welt. Frage: Wie viele Kaninchenpaare F n gibt es nach n Monaten? Zum Zeitpunkt 0 gibt es kein Paar, also ist F 0 = 0. Nach einem Monat gibt es ein Paar P 1 , also ist F 1 = 1. Nach zwei Monaten ist dieses Paar geschlechtsreif geworden, wir nennen es P g 1 , und es ist F 2 = 1. Nach drei Monaten hat P g 1 ein neues Paar P 2 gezeugt, so dass F 3 = 2 ist. Nach vier Monaten hat P g 1 ein weiteres Paar P 3 gezeugt, und P 2 ist geschlechtsreif geworden, was wir mit P g 2 notieren. Es ist F 4 = 3. Nach f¨ unf Monaten haben P g 1 und P g 2 je ein Paar, P 4 und P 5 , gezeugt, und P 3 ist geschlechtsreif geworden, was wir wieder entsprechend kennzeichnen: P g 3 . Es ist F 5 = 5. ¨ Ubung 13.4. ¨ Uberlegen Sie selbst in dieser Art weiter! Sie werden herausfinden, dass F 6 = 8 und F 7 = 13 ist. 2 Gibt es eine Gesetzm¨aßigkeit, mit der sich F n f¨ ur jedes n ∈ N 0 berechnen l¨asst? Im n-ten Monat gibt es alle Paare, die es auch im vorhergehenden Monat n − 1 gegeben hat, sowie so viele Paare, wie es im Monat n−2 gegeben hat, denn diese sind im Monat n alle geschlechtsreif und bekommen je ein Paar Nachwuchs. Aus dieser ¨ Uberlegung ergibt sich die folgende rekursive Definition f¨ ur die Fibonacci-Funktion F : N 0 N 0 →N 0 die f¨ ur jeden Monat n die Anzahl der Kaninchenpaare F n angibt: 1 F 0 = 0, F 1 = 1, F n = F n−1 +F n−2 , n ≥ 2 (13.4) 1 Es ist ¨ ublich bei der Fibonacci-Funktion die eher bei Folgen ¨ ubliche Schreibweise Fn anstelle der Funktions- schreibweise F(n) zu verwenden. 13.2. FIBONACCI-ZAHLEN 123 Es gilt also z.B. F 2 = F 1 + F 0 = 1 + 0 = 1 F 3 = F 2 + F 1 = 1 + 1 = 2 F 4 = F 3 + F 2 = 2 + 1 = 3 F 5 = F 4 + F 3 = 3 + 2 = 5 F 6 = F 5 + F 4 = 5 + 3 = 8 F 7 = F 6 + F 5 = 8 + 5 = 13 F 8 = F 7 + F 6 = 13 + 8 = 21 F 9 = F 8 + F 7 = 21 + 13 = 34 F 10 = F 9 + F 8 = 34 + 21 = 55 Mithilfe analytischer Methoden aus der Theorie der Differenzengleichungen, auf die wir im Rahmen dieses Buches nicht eingehen, kann man einen geschlossenen Ausdruck zur Berechnung von F n herleiten: F n = 1 √ 5 (φ n −φ n ) (13.5) Dabei ist φ = 1 2 (1 + √ 5) = 1, 6180339 . . . φ = 1 2 (1 − √ 5) = −0, 6180339 . . . Es gilt sogar: 2 F n = round _ 1 √ 5 φ n _ Die Anzahl der Kaninchenpaare F n w¨achst also exponentiell in der Anzahl der Monate n. Die Zahl φ stellt den Goldenen Schnitt dar. Ein geometrisches Verh¨altnis von Gr¨oßen in Kunst- Goldener Schnitt oder Bauwerken galt von alters her (bei Euklid; in der Renaissance ” g¨ottliche Proportion“) als ¨asthetisch, falls es durch diese Zahl ausgedr¨ uckt werden konnte. 3 Die Fibonacci-Zahlen k¨onnen auch durch fortgesetzte Multiplikation der Matrix _ F 0 F 1 F 1 F 2 _ = _ 0 1 1 1 _ berechnet werden. Dazu erkl¨aren wir zun¨achst, wie zwei 2 2-Matrizen miteinander multipliziert werden: _ a b c d _ _ e f g h _ = _ ae +bg af +bh ce +dg cf +dh _ (13.6) Es gilt nun f¨ ur alle n ≥ 1 _ F n−1 F n F n F n+1 _ = _ F 0 F 1 F 1 F 2 _ n = _ 0 1 1 1 _ n 2 round ist die bekannte Rundungsfunktion. 3 Eine Strecke AB wird durch einen Teilpunkt C gem¨aß dem Goldenen Schnitt geteilt, falls gilt |AC| |CB| = |CB| |AB| . Dabei bedeutet |XY | die L¨ange der Strecke XY . Wenn man |AC| = 1 und |CB| = x setzt, dann wird das Streckenverh¨altnis durch 1 x = x 1+x , umgeformt durch x 2 −x −1 = 0 ausgedr¨ uckt. L¨osen wir diese Gleichung auf, dann erhalten wir als L¨osungen φ und φ . 124 KAPITEL 13. REKURSION Wir beweisen dies durch vollst¨andige Induktion ¨ uber n: Induktionsanfang: F¨ ur n = 1 gilt: _ F 1−1 F 1 F 1 F 1+1 _ = _ F 0 F 1 F 1 F 2 _ 1 = _ 0 1 1 1 _ Induktionsschritt: Es gilt _ 0 1 1 1 _ n+1 = _ 0 1 1 1 _ n _ 0 1 1 1 _ = _ F n−1 F n F n F n+1 _ _ 0 1 1 1 _ wegen Induktionsvoraussetzung = _ F n F n−1 +F n F n+1 F n +F n+1 _ wegen (13.6) = _ F n F n+1 F n+1 Fn+ _ wegen (13.4) 13.3 Ackermannfunktion Als weitere Beispiele zu rekursiv definierten Funktionen betrachten wir die Ackermannfunktion und Varianten davon. Die Ackermannfunktion ist von großer Bedeutung in der Berechenbarkeitstheorie (siehe Kapitel 14.3). Sie ist eine Funktion, die mit Z¨ahlschleifen nicht berechnet werden kann, weil sie schneller als alle Funktionen w¨achst, die mit Z¨ahlschleifen berechnet werden k¨onnen. Einen Eindruck dieses Wachstums geben die folgenden Betrachtungen. Definition 13.1. Die Ackermannfunktion A : N 0 N 0 →N 0 ist definiert durch Ackermann- funktion A(x, y) = _ ¸ _ ¸ _ y + 1, x = 0 A(x −1, 1), x ,= 0 ∧ y = 0 A(x −1, A(x, y −1)), sonst 2 ¨ Ubung 13.5. Berechnen Sie, um einen ersten Eindruck von dieser Funktion zu bekommen, A(3, 3)! 2 Folgerung 13.1. F¨ ur alle n ≥ 0 gilt: a) A(1, n) = n + 2, b) A(2, n) = 2n + 3, c) A(3, n) = 2 n+3 −3, d) A(4, n) = 2 2 . . . 2 . ¸¸ . n+3 Zweien −3. 2 13.3. ACKERMANNFUNKTION 125 ¨ Ubung 13.6. Beweisen Sie Folgerung 13.1! 2 Wir definieren nun die Familie ¦ A i ¦ i≥0 von Funktionen A i : N 0 →N 0 rekursiv wie folgt: A 0 (x) = _ ¸ _ ¸ _ 1, x = 0 2, x = 1 x + 2, sonst A n+1 (x) = A x n (1) = A n (A n (. . . A n . ¸¸ . x-mal (1) . . .)) Und mithilfe dieser Funktionen legen wir die Funktion ack : N 0 →N 0 fest: ack(x) = A x (x) (13.7) Gem¨aß diesen Definitionen gilt nun: ack(0) = A 0 (0) = 1 ack(1) = A 1 (1) = A 1 0 (1) = 2 ack(2) = A 2 (2) = A 2 1 (1) = A 1 (A 1 (1)) = A 1 (2) = A 2 0 (1) = A 0 (A 0 (1)) = A 0 (2) = 2 + 2 = 4 ack(3) = A 3 (3) = A 3 2 (1) = A 2 (A 2 (A 2 (1))) = A 2 (A 2 (2)) = A 2 (4) = A 4 1 (1) = A 1 (A 1 (A 1 (A 1 (1)))) = A 1 (A 1 (A 1 (2))) = A 1 (A 1 (4)) = A 1 (A 1 (4)) = A 1 (A 4 0 (1)) = A 1 (A 0 (A 0 (A 0 (A 0 (1))))) = A 1 (A 0 (A 0 (A 0 (2)))) = A 1 (A 0 (A 0 (4))) = A 1 (A 0 (6)) = A 1 (8) = . . . . . . = 16 Zur Berechnung von ack(4) bestimmen wir zun¨achst (1) A 2 (x) und dann (2) A 3 (x). Zu (1): Es gilt: A 2 (x) = 2 x f¨ ur alle x ∈ N 0 (13.8) Wir beweisen dies mit vollst¨andiger Induktion: Induktionsanfang: Es gilt: A 2 (0) = A 0 1 (1) = 1 = 2 0 . F¨ ur x = 0 stimmt also die Behauptung. 126 KAPITEL 13. REKURSION Induktionsschritt: Es gilt A 2 (x + 1) = A x+1 1 (1) = A 1 (A x 1 (1)) = A 1 (A 2 (x)) = A 1 (2 x ) nach Induktionsvoraussetzung = A 2 x 0 (1) = A 0 (A 0 (. . . A 0 (A 0 . ¸¸ . 2 x -mal (1)) . . .)) = A 0 (A 0 (. . . A 0 . ¸¸ . (2 x −1)-mal (2) . . .)) = 2 + 2 +. . . + 2 . ¸¸ . 2 x -mal = 2 2 x = 2 x+1 womit der Induktionsschritt vollzogen ist. Zu (2): Die x-mal iterierte Zweierpotenz ist die Funktion iter 2 : N 0 →N 0 definiert durch iter 2 (0) = 1 iter 2 (n + 1) = 2 iter2(n) , n ≥ 1 Es gilt also z.B. iter 2 (1) = 2 iter2(0) = 2 1 = 2 = 2 (13.9) iter 2 (2) = 2 iter2(1) = 2 2 = 2 2 = 4 (13.10) iter 2 (3) = 2 iter2(2) = 2 4 = 2 2 2 = 16 (13.11) iter 2 (4) = 2 iter2(3) = 2 16 = 2 2 2 2 = 65 536 (13.12) iter 2 (5) = 2 iter2(4) = 2 65 536 = 2 2 2 2 2 = . . . (13.13) Man erkennt, dass iter 2 (x) die x-mal iterierte 2er-Potenz ist. Wir beweisen nun mit vollst¨andiger Induktion, dass gilt A 3 (x) = iter 2 (x) (13.14) Induktionsanfang: Es gilt: A 3 (0) = A 0 2 (1) = 1 = iter 2 (0). F¨ ur x = 0 stimmt also die Behauptung. Induktionsschritt: Es gilt A 3 (x + 1) = A x+1 2 (1) = A 2 (A x 2 (1)) = A 2 (A 3 (x)) = A 2 (iter 2 (x)) nach Induktionsvoraussetzung = 2 iter2(x) wegen (13.8) = iter 2 (x + 1) wegen der Definition von iter 2 13.4. VERALLGEMEINERTES REKURSIONSSCHEMA 127 womit der Induktionsschritt vollzogen ist. Nun k¨onnen wir ack(4) berechnen: ack(4) = A 4 (4) = A 4 3 (1) = A 3 3 (A 3 (1)) = A 3 3 (2) wegen (13.14) und (13.9) = A 2 3 (A 3 (2)) = A 2 3 (4)) wegen (13.14) und (13.10) = A 3 (A 3 (4)) = A 3 (65536) wegen (13.14) und (13.12) = iter 2 (65536) = 2 2 2 . . . 2 65536-mal iterierte Zweierpotenz Man sch¨atzt die Anzahl der Atome im ” bekannten“ Universum auf etwa 2 350 , im Vergleich zu ack(4) eine sehr kleine Zahl. Die Ackermannfunktion hat ein immenses Wachstumsverhalten. Man kann so- gar zeigen, dass die Ackermannfunktion st¨arker w¨achst als Funktionen, die mit Z¨ahlschleifen berech- net werden k¨onnen. Bei Z¨ahlschleifen liegt die Anzahl der Schleifendurchl¨aufe vor Ausf¨ uhrung der Schleife fest, d.h. die Schleifenbedingung kann – im Unterschied zu Bedingungsschleifen – w¨ahrend der Schleifenausf¨ uhrung nicht ver¨andert werden. 13.4 Verallgemeinertes Rekursionsschema Wir haben schon im Kapitel 2 rekursive Definitionen benutzt. So haben wir im Abschnitt 2.2 die Syntax der Aussagenlogik definiert, indem wir zun¨achst – als Rekursionsanfang – atomare Formeln festgelegt haben und anschließend – im Rekursionsschritt – beschrieben, wie aus bereits gegebenen Formeln neue gebildet werden k¨onnen. In der Definition 8.10 auf Seite 93 haben wir die n-fache Komposition einer Relation R mit sich selbst rekursiv definiert: Zun¨achst haben wir als Rekursionsanfang R = id festgelegt und im Rekursionsschritt, wie R n aus R n−1 berechnet wird. Tats¨achlich sind rekursive Definition und vollst¨andige Induktion nicht auf auf nat¨ urlichen Zahlen definierte Funktionen beschr¨ankt. Insbesondere in der Informatik sind viele wichtige Datenstruk- turen, wie z.B. Listen und B¨aume, rekursive Strukturen, auf denen Operationen wie Einf¨ ugen, L¨oschen und Suchen von Elementen entsprechend als rekursive Prozeduren programmiert werden k¨onnen. Rekursion ist ein allgmeines Probleml¨oseprinzip, welches in vielen F¨allen zu ” eleganten“ L¨osungen f¨ uhrt. Zum Abschluss des Kapitels betrachten wir ein verallgemeinertes Induktionsprinzip f¨ ur Pr¨adi- Verallgemeinertes Rekursionsschema kate ¨ uber induktiv definierte Mengen: Sei M eine induktiv definierte Menge und P : M → B ein totales Pr¨adikat. Falls gilt: • Induktionsanfang: Gilt P(x) f¨ ur alle explizit angegebenen Elemente von M und • Induktionsschritt: gilt ¨ ur alle x 1 , . . . , x k ∈ M und f¨ ur jedes daraus nach den Definitionsregeln von M erzeugbare y ∈ M: P(x 1 ), . . . , P(x k ) ⇒P(y), 128 KAPITEL 13. REKURSION dann gilt f¨ ur alle x ∈ M: P(x). Haben wir f¨ ur ein Pr¨adikat P : M → B Induktionsanfang und Induktionsschritt gezeigt, dann wissen wir, dass P f¨ ur alle Elemente von M zutrifft. Beispiel 13.1. Im Abschnitt 2.2 haben wir die Menge / der aussagenlogischen Formeln induk- tiv definiert. Wir beweisen nun das Pr¨adikat P ¨ uber dieser Menge, welches besagt, dass in jeder aussagenlogischen Formel, die Anzahl der ¨offnenden Klammern gleich der Anzahl der schließenden Klammern ist. Wir formalisieren zun¨achst dieses Pr¨adikat. F¨ ur eine Formel α ∈ / bezeichne α ( die Anzahl der ¨offnenden und α ) die Anzahl der schließenden Klammern in α. Unser Pr¨adikat lautet damit: P(α) = α ( = α ) . Mit dem verallgemeinerten Induktionsschema zeigen wir nun, dass f¨ ur alle α ∈ / gilt P(α). Induktionsanfang: Die explizit angegebenen Elemente von / sind die aussagenlogischen Konstanten 0 und 1 sowie die aussagenlogischen Variablen v ∈ V . Diese atomaren Formeln enthalten keine Klammern, d.h. es gilt 0 ( = 0 = 0 ) 1 ( = 0 = 1 ) v ( = 0 = v ) , f¨ ur alle v ∈ V Somit gilt P(0) und P(1) sowie P(v) f¨ ur alle v ∈ V . Damit ist der Induktionsanfang f¨ ur unser Pr¨adikat P gezeigt. Induktionsschritt: F¨ ur gegebene Formeln α, β ∈ / k¨onnen aufgrund der Definitionsregeln von / die Formeln (1) γ 1 = (α ∧ β, (2) γ 2 = α ∨ β sowie (3) γ 3 = α gebildet werden. Nach Induktionsvoraussetzung gelten P(α) und P(β), d.h. α ( = α ) bzw. β ( = β ) . Wir zeigen nun, dass auch P(γ i ), d.h. γ i( = γ i) , f¨ ur i = 1, 2, 3, gilt: Zu (1): Es gilt γ 1( = α ( +β ( + 1 = α ) +β ) + 1 wegen Induktionsvoraussetzung = γ 1) Zu (2): Der Beweis f¨ ur diesen Fall ist identisch zum Fall (1). Zu (3): Dieser Fall gilt offensichtlich, denn bei der Negation einer Formel kommen keine weiteren Klammern hinzu. Damit ist auch der Induktionsschritt f¨ ur alle F¨alle gezeigt, und damit gilt gem¨aß dem verallge- meinerten Induktionsprinzip: f¨ ur alle α ∈ /: P(α). 2 ¨ Ubung 13.7. F¨ ur die aussagenlogischen Formeln gilt nicht nur, dass die Anzahl der ¨offnenden gleich der Anzahl der schließenden Klammern ist, sondern auch dass in jedem Pr¨afix einer Formel die Anzahl der schließenden Klammern nicht gr¨oßer als die Anzahl der ¨offnenden Klammern ist. Beweisen Sie diese Aussage! 2 13.5. ALPHABETE, W ¨ ORTER, SPRACHEN 129 13.5 Alphabete, W¨orter, Sprachen In Kapitel 2 haben wir bereits Sprachen kennen gelernt: die Sprache der Aussagenlogik und die Sprache der Pr¨adikatenlogik. Daher kennen wir anhand dieser Beispiele schon die Begriffe Alphabet, Wort und Sprache. In diesem Abschnitt gehen wir allgemein auf diese Begriffe ein, zum Einen, um diese kennen zu lernen, und zum Anderen, weil wir dabei rekursive Definitionen benutzen und somit den Umgang mit Rekursion weiter ¨ uben k¨onnen. Die Symbole, aus denen W¨orter bestehen, fassen wir in einer Menge, dem Alphabet, zusammen. Alphabet Symbol Buchstabe Dabei wollen wir nur endliche Alphabete zulassen. Ihre Elemente heißen Symbole oder Buchstaben. Zur allgemeinen Bezeichnung von Alphabeten wird zumeist das Symbol Σ benutzt. Falls wir kein konkretes, sondern allgemein ein Alphabet Σ betrachten, dann benennen wir dessen Buchstaben in der Regel mit a, b, c oder mit a 1 , a 2 , . . . , a n : Σ = ¦ a 1 , a 2 , . . . , a n ¦, n ≥ 0. Dabei soll durch die Reihenfolge der Aufz¨ahlung der Buchstaben auf Σ eine (alphabetische) Ordnung festgelegt Alphabetische Ordnung sein: a i < a i+1 , 1 ≤ i ≤ n −1. Die endlich langen Zeichenfolgen, die ¨ uber einem Alphabet Σ gebildet werden k¨onnen, heißen W¨orter ¨ uber Σ. W¨orter entstehen, indem Symbole oder bereits erzeugte W¨orter aneinandergereiht W¨orter (miteinander verkettet, verklebt, konkateniert) werden. Σ ∗ , die Menge aller W¨orter, die ¨ uber dem Alphabet Σ gebildet werden kann, ist wie folgt definiert: (1) Jeder Buchstabe a ∈ Σ ist auch ein Wort ¨ uber Σ, d.h. a ∈ Σ ∗ . (2) Werden bereits existierende W¨orter hintereinandergeschrieben (konkateniert), entstehen neue Konkatenation W¨orter, d.h. sind v, w ∈ Σ ∗ , dann ist auch ihre Verkettung (Konkatenation) vw ∈ Σ ∗ . (3) ε, das leere Wort, ist ein Wort ¨ uber (jedem Alphabet) Σ, d.h. ε ∈ Σ ∗ . ε ist ein definiertes Leeres Wort Wort ohne ” Ausdehnung“. Es hat die Eigenschaft: εw = wε = w f¨ ur alle w ∈ Σ ∗ . Mit Σ + bezeichnen wir die Menge aller W¨orter ¨ uber Σ ohne das leere Wort, d.h. Σ + = Σ ∗ −¦ε¦. Wenn wir im Folgenden ein Wort w buchstabenweise notieren, w = w 1 . . . w n , n ≥ 0, sind die w i Buchstaben, also w i ∈ Σ, 1 ≤ i ≤ n. n = 0 bedeutet, dass w das leere Wort ist: w = ε. Beispiel 13.2. a) Sei Σ = ¦ a, b ¦, dann ist Σ ∗ = ¦ ε, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, . . . ¦ b) Sei Σ = ∅, dann gilt Σ ∗ = ¦ ε ¦. 2 Ist w = v v . . . v . ¸¸ . n−mal dann schreiben wir abk¨ urzend w = v n . v n heißt die n-te Potenz von v. Es ist v 0 = ε. In Beispiel 13.2 a) k¨onnen wir Σ ∗ also auch wie folgt schreiben: Σ ∗ = ¦ ε, a, b, a 2 , ab, ba, b 2 , a 3 , a 2 b, aba, ab 2 , ba 2 , bab, b 2 a, b 3 , . . . ¦ Die n-te Potenz des Wortes v ∈ Σ ∗ kann auch rekursiv definiert werden: v 0 = ε v n+1 = v n v, n ≥ 0 130 KAPITEL 13. REKURSION Ist w ∈ Σ ∗ ein Wort der Form w = xyz mit x, y, z ∈ Σ ∗ , dann heißt x Pr¨afix, y Infix und z Pr¨afix Infix Postfix, Suf- fix Postfix oder Suffix von w. Die L¨ange eines Wortes kann durch die Funktion l : Σ ∗ →N 0 definiert durch Wortl¨ange l(ε) = 0 l(wa) = l(w) + 1, f¨ ur w ∈ Σ ∗ , a ∈ Σ berechnet werden, die einem Wort ¨ uber Σ die Anzahl seiner Buchstaben als L¨ange zuordnet: Das leere Wort hat die L¨ange 0. Die L¨ange eines Wortes, das mindestens einen Buchstaben a sowie ein – m¨oglicherweise leeres – Pr¨afix w enth¨alt, wird berechnet, indem zur L¨ange des Pr¨afixes eine 1 addiert wird. Die L¨ange des Wortes aba ¨ uber Σ = ¦ a, b ¦ berechnet sich also rekursiv mit der Funktion l wie folgt: l(aba) = l(ab) + 1 = l(a) + 1 + 1 = l(ε) + 1 + 1 + 1 = 0 + 1 + 1 + 1 = 3 Eine andere g¨angige Notation f¨ ur die L¨ange l(w) eines Wortes w ist [w[. Auf Σ ∗ definieren wir eine lexikografische Ordnung ≺⊆ Σ ∗ Σ ∗ wie folgt: Sei v = v 1 . . . v m , Lexikografische Ordnung v i ∈ Σ, 1 ≤ i ≤ m, und w = w 1 . . . w n , w j ∈ Σ, 1 ≤ j ≤ n, dann gilt v ≺ w genau dann, (1) wenn m < n (d.h. [v[ < [w[) oder (2) wenn m = n ist und es ein k, 1 ≤ k < m, gibt, so dass v 1 . . . v k = w 1 . . . w k sowie v k+1 < w k+1 gilt. ≺ ordnet W¨orter also zun¨achst nach der L¨ange und innerhalb gleicher L¨angen alphabetisch, d.h. wie durch die Ordnung auf Σ vorgegeben. Ist etwa Σ = ¦ a, b ¦ (d.h. a < b), dann gilt z.B. • bb ≺ aaa wegen (1), • baab ≺ baba wegen (2). Sei Σ ein Alphabet, dann heißt jede Menge L ⊆ Σ ∗ eine (formale) Sprache ¨ uber Σ. Formale Sprache Sprachen sind also Mengen von W¨ortern und k¨onnen somit mit den ¨ ublichen Mengenoperatio- nen wie Vereinigung, Durchschnitt und Differenz miteinander verkn¨ upft werden. Wir wollen f¨ ur Sprachen eine weitere Verkn¨ upfung einf¨ uhren, die Konkatenation: Seien L 1 und L 2 zwei Sprachen Konkatenation von Sprachen ¨ uber Σ, dann ist die Konkatenation L 1 ◦ L 2 von L 1 und L 2 definiert durch L 1 ◦ L 2 = ¦ vw [ v ∈ L 1 , w ∈ L 2 ¦ Es werden also alle W¨orter aus L 1 mit allen W¨ortern aus L 2 konkateniert. Gelegentlich lassen wir wie bei der Konkatenation von W¨ortern auch bei der Konkatenation von Sprachen das Konkaten- ationssymbol ◦ weg, d.h. an Stelle von L 1 ◦ L 2 schreiben wir L 1 L 2 . Beispiel 13.3. Seien L 1 = ¦ ε, ab, abb ¦ und L 2 = ¦ b, ba ¦ zwei Sprachen ¨ uber ¦ a, b ¦, dann ist L 1 ◦ L 2 = ¦ b, ba, abb, abba, abbb, abbba ¦ sowie L 2 ◦ L 1 = ¦ b, bab, babb, ba, baab, baabb ¦ 13.5. ALPHABETE, W ¨ ORTER, SPRACHEN 131 Folgerung 13.2. F¨ ur zwei Sprachen L 1 , L 2 ⊆ Σ ∗ gilt: Falls ε ∈ L 1 , dann ist L 2 ⊆ L 1 ◦ L 2 , bzw. umgekehrt, falls ε ∈ L 2 , dann ist L 1 ⊆ L 1 ◦ L 2 . 2 ¨ Ubung 13.8. Beweisen Sie Folgerung 13.2! 2 Sei L eine Sprache ¨ uber Σ, dann ist die n-te Potenz von L definiert durch: L 0 = ¦ ε ¦ L n+1 = L n ◦ L, n ≥ 0 Beispiel 13.4. Sei L = ¦ a, ab ¦, dann ist L 0 = ¦ ε ¦ L 1 = L 0 ◦ L = ¦ ε ¦ ◦ ¦ a, ab ¦ = ¦ a, ab ¦ = L L 2 = L 1 ◦ L = ¦ a, ab¦ ◦ ¦a, ab ¦ = ¦ a 2 , a 2 b, aba, (ab) 2 ¦ L 3 = L 2 ◦ L = ¦ a 2 , a 2 b, aba, (ab) 2 ¦ ◦ ¦ a, ab ¦ = ¦ a 3 , a 3 b, a 2 ba, a 2 bab, aba 2 , aba 2 b, (ab) 2 a, (ab) 3 ¦ . . . 2 Das Kleene-Stern-Produkt L ∗ einer Sprache L ist die Vereinigung aller ihrer Potenzen L n , n ≥ 0: Kleene- Stern- Produkt L ∗ = _ n≥0 L n = L 0 ∪ L 1 ∪ L 2 ∪ L 3 ∪ . . . Das Kleene-Stern-Produkt von L ohne das leere Wort notieren wir mit L + bezeichnet, d.h. L + = L ∗ −L 0 . 132 KAPITEL 13. REKURSION Kapitel 14 Berechenbare Funktionen Im vorigen Kapitel 13 haben wir an vielen Beispielen gesehen, dass Rekursion ein sehr geeignetes Mittel zur L¨osung von Problemen ist. Im Allgemeinen kann man ein Problem π = (F, A, f π ) Problem Problemspezifikation formalisieren, indem man die Menge der m¨oglichen Fragen F, die Menge der m¨oglichen Antworten A sowie die Spezifikation f π : F →Aangibt, die jeder Frage x ∈ F, die richtige Antwort f π (x) = y ∈ A – soweit existierend – zuordnet. So kann man z.B. die Addition beschreiben durch add = (N 0 N 0 , N 0 , f add ) mit f add (x, y) = x +y Gesucht ist nun ein Algorithmus, der dieses Problem l¨ost, d.h. zu gegebenen zwei nat¨ urlichen Zahlen deren Summe berechnet. Berechnungsverfahren sind von alters her bekannt, sie wurden erfunden und angewendet, um Probleme des t¨aglichen Lebens oder in Naturwissenschaften und Technik zu l¨osen, ohne dass ¨ uber- haupt festgelegt worden w¨are, was denn ein Berechnungsverfahren, ein Algorithmus ¨ uberhaupt ist. Zu Beginn des letzten Jahrhunderts tauchte dann die Frage danach auf, was ¨ uberhaupt berechenbar ist. Ein solche Frage kann nat¨ urlich nicht beantwortet werden, wenn man den Begriff Algorithmus nicht formal pr¨azisiert. So wurde Ende der zwanziger Jahre und in den dreißiger Jahren des vorigen Jahrhunderts mit unterschiedlichen Ans¨atzen versucht, den Begriff der Berechenbarkeit mathema- tisch zu pr¨azisieren. Dabei betrachtete man Probleme auf nat¨ urlichen Zahlen, d.h. Probleme der Art π = (N k 0 , N 0 , f π ), k ≥ 0 Einer dieser Ans¨atze geht davon aus, dass es einige wenige, sehr einfache Funktionen gibt, die man per se als berechenbar ansieht. Aus diesen Funktionen k¨onnen dann mit rekursiven Konzepten neue Funktion konstruiert werden, die dann ebenfalls als berechenbar angesehen werden. Weil deshalb dieser Ansatz zum Thema Rekursion passt, wollen wir in diesem Kapitel einf¨ uhrend darauf eingehen. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • das Konzept der primitiv-rekursiven und der µ-rekursiven Funktionen zur Definition von Berechenbarkeit verstehen und erkl¨aren k¨onnen, • in der Lage sein f¨ ur einfache arithmetische Funktionen primitiv-rekursive oder n¨otigenfalls µ-rekursive Funktionen anzugeben. 133 134 KAPITEL 14. BERECHENBARE FUNKTIONEN 14.1 Primitiv-rekursive Funktionen Folgende Funktionen werden als berechenbar angesehen: Nullfunktion F¨ ur k ≥ 0 sind die k-stelligen Nullfunktionen O k : N k 0 →N 0 definiert durch O k (x 1 , . . . , x k ) = 0 berechenbar. Projektion F¨ ur k ≥ 1 sind die k-stelligen Projektionen π k i : N k 0 →N 0 , 1 ≤ i ≤ k definiert durch π k i (x 1 , . . . , x k ) = x i berechenbar. Nachfolgerfunktion Die Nachfolgerfunktion ν : N 0 →N 0 definiert durch ν(x) = x + 1 ist berechenbar. Aus diesen Grundfunktionen k¨onnen wie folgt weitere Funktionen zusammengesetzt werden: Komposition F¨ ur m ∈ N und k ∈ N 0 ist die Komposition einer berechenbaren Funktion g : N m 0 →N 0 mit berechenbaren Funktionen h 1 , . . . , h m : N k 0 →N 0 definiert durch die Funktion ( [g; h 1 , . . . , h m ] : N k 0 →N 0 mit ( [g; h 1 , . . . , h m ] (x 1 , . . . , x k ) = g(h 1 (x 1 , . . . , x k ), . . . , h m (x 1 , . . . , x k )) 14.1. PRIMITIV-REKURSIVE FUNKTIONEN 135 berechenbar. Der Komposition von Funktionen entspricht der Sequenz von Anweisungen in Programmen: y i = h i (x 1 , . . . , x k ), 1 ≤ i ≤ m, sind die Ergebnisse der Anweisungen h i , die dann in die Anweisung g einfließen, um y = g(y 1 , . . . , y m ) zu berechnen: y 1 = h 1 (x 1 , . . . , x k ) y 2 = h 2 (x 1 , . . . , x k ) . . . y m = h m (x 1 , . . . , x k ) y = g(y 1 , . . . , y m ) Etwas abstrakter ausgedr¨ uckt k¨onnen die h i als Unterprogramme aufgefasst werden, die vom Programm g aufgerufen werden. Primitive Rekursion F¨ ur k ∈ N 0 ist die primitive Rekursion der Funktionen g : N k 0 →N 0 und h : N k+2 0 →N 0 definiert durch die Funktion T¹/[g, h] : N k+1 0 →N 0 mit T¹/[g, h] (x 1 , . . . , x k , 0) = g(x 1 , . . . , x k ) T¹/[g, h] (x 1 , . . . , x k , ν(y)) = h(x 1 , . . . , x k , y, T¹/[g, h] (x 1 , . . . , x k , y)) Sei y = 2 = ν(1), dann gilt T¹/[g, h] (x 1 , . . . , x k , ν(1)) = h(x 1 , . . . , x k , 1, T¹/[g, h] (x 1 , . . . , x k , 1)) = h(x 1 , . . . , x k , 1, T¹/[g, h] (x 1 , . . . , x k , ν(0))) = h(x 1 , . . . , x k , 1, h(x 1 , . . . , x k , 0, T¹/[g, h] (x 1 , . . . , x k , 0))) = h(x 1 , . . . , x k , 1, h(x 1 , . . . , x k , 0, g(x 1 , . . . , x k ))) Dieses Rekursionsschema ist eine abstrakte, mathematische Beschreibung dessen, was eine Z¨ahl- schleife in prozeduralen Programmiersprachen bewirkt. Ist f = T¹/[g, h] dann bewirkt der Aufruf f(x 1 , . . . , x k , y) Folgendes: y wird als Z¨ahlvariable betrachtet. Am Schlei- fenanfang (y = 0) findet mithilfe von g eine Initialisierung statt. Deren Ergebnis geht in die erste 136 KAPITEL 14. BERECHENBARE FUNKTIONEN f := g(x 1 , . . . , x k ); for i := 0 to y −1 do f := h(x 1 , . . . , x k , i, f) endfor Abbildung 14.1: Primitive Rekursion als Z¨ahlschleife. Schleifenrunde ein. In jeder Schleifenrunde wird dann mit dem, was in der vorherigen Runde be- rechnet wurde, mit dem Z¨ahler y und den Schleifenvariablen x 1 , . . . , x k das Ergebnis dieser Runde berechnet. Die Schleife wird y-mal durchlaufen. In einer prozeduralen Programmiersprache k¨onnte die Schleife f(x 1 , . . . , x k , y) wie in Abbildung 14.1 dargestellt aussehen. Definition 14.1. Die Menge T¹ der primitiv-rekursiven Funktionen ist die kleinste Menge von Funktionen von N k 0 → N 0 , k ≥ 0, die alle Nullfunktionen, alle Projektionen und die Nachfolger- funktion enth¨alt und die unter Komposition und primitiver Rekursion abgeschlossen ist. 2 Beispiel 14.1. a) Die Konstante 1 : N 0 0 → N 0 definiert durch 1() = 1 ist eine primitiv-rekursive Funktion, denn es gilt 1 = ( _ ν; O 0 ¸ (14.1) mit 1() = C _ ν; O 0 ¸ () = ν(O 0 ()) = ν(0) = 1 b) Jede Konstante c : N 0 0 → N 0 definiert durch c() = c ist eine primitiv-rekursive Funktion, denn es gilt c = ( [ν; ( [ν; . . . ; ( [ν; . ¸¸ . c−mal O 0 ] . . .]] (14.2) mit c() = ( [ν; ( [ν; . . . ; ( [ν; . ¸¸ . c−mal O 0 ] . . .]] () = ν c (O 0 ()) = ν c (0) = c c) Die Identit¨at id : N 0 →N 0 definiert durch id(x) = x ist primitiv-rekursiv, denn es gilt id = π 1 1 mit id(x) = π 1 1 (x) = x d) Die Addition add : N 0 N 0 →N 0 definiert durch add(x, y) = x + y ist primitiv-rekursiv, denn es gilt add = T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (14.3) 14.1. PRIMITIV-REKURSIVE FUNKTIONEN 137 Es gilt z.B. add(3, 2) = T¹/ _ π 1 1 , ( _ ν, π 3 3 ¸¸ (3, 2) = ( _ ν; π 3 3 ¸ (3, 1, T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (3, 1)) = ν(π 3 3 (3, 1, T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (3, 1))) = ν(T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (3, 1)) = ν(( _ ν; π 3 3 ¸ (3, 0, T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (3, 0))) = ν(ν(π 3 3 (3, 0, T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (3, 0))) = ν(ν(T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ (3, 0))) = ν(ν(π 1 1 (3, 0))) = ν(ν((3)) = ν(4) = 5 e) Die Multiplikation mult : N 0 N 0 →N 0 definiert durch mult(x, y) = x y ist primitiv-rekursiv, denn es gilt mult = T¹/ _ O 1 , ( _ add; π 3 1 , π 3 3 ¸¸ (14.4) f ) Die Quadrierung sqr : N 0 →N 0 definiert durch sqr(x) = x 2 ist primitiv-rekursiv, denn es gilt sqr = ( _ mult; π 1 1 , π 1 1 ¸ (14.5) g) Die Vorg¨angerfunktion pre : N 0 →N 0 definiert durch pre(x) = _ 0, x = 0 x −1, x ≥ 1 ist primitiv-rekursiv, denn es gilt: pre = T¹/ _ O 0 , π 2 1 ¸ (14.6) h) Die Subtraktion minus : N 0 N 0 →N 0 definiertt durch minus(x, y) = _ x −y, x ≥ y 0, x < y ist primitiv-rekursiv, denn es gilt: minus = T¹/ _ id, ( _ pre; π 3 3 ¸¸ (14.7) i) Die Potenzfunktion exp : N 0 N 0 →N 0 definiert durch exp(b, x) = b x 138 KAPITEL 14. BERECHENBARE FUNKTIONEN ist primitiv-rekursiv, denn es gilt: exp = T¹/ _ 1, ( _ mult; π 3 1 , π 3 3 ¸¸ (14.8) j) Die Signumfunktion sign : N 0 →N 0 definiert durch sign(x) = _ 1, x > 0 0, x = 0 ist primitiv-rekursiv, denn es gilt sign = ( _ minus; π 1 1 , pre ¸ (14.9) oder in ” ¨ ublicher“ Notation sign(x) = x −pre(x) k) Der Test auf Gleichheit equal : N 0 N 0 →N 0 definiert durch equal (x, y) = _ 1, x = y 0, x ,= y ist primitiv-rekursiv, denn es gilt equal = ( _ minus; 1, ( _ sign; ( _ add; ( _ minus; π 2 1 , π 2 2 ¸ , ( _ minus; π 2 2 , π 2 1 ¸¸¸¸ (14.10) oder in ¨ ublicher Notation equal (x, y) = 1 −sign((x −y) + (y −x)) 2 ¨ Ubung 14.1. a) Berechnen Sie mit dem Schema (14.4) mult(3, 2)! b) Berechnen Sie mit dem Schema (14.6) pre(3)! c) Berechnen Sie mit dem Schema (14.7) minus(5, 2)! d) Berechnen Sie mit dem Schema (14.8) exp(2, 3)! 2 ¨ Ubung 14.2. a) Geben Sie eine primitv-rekursive Funktion an, die die Funktion sum : N 0 → N 0 definiert durch sum(n) = n i=0 i berechnet! b) Geben Sie eine primitv-rekursive Funktion an, die die Funktion ! : N 0 →N 0 definiert durch n! = _ 1, n = 0 n(n −1)!, n ≥ 1 berechnet! 2 14.2. µ-REKURSION 139 read(x 1 , . . . , x k ); y := 0; while f(x 1 , . . . , x k , y) ,= 0 do y := y + 1 endwhile; write(y) Abbildung 14.2: µ-Rekursion als Wiederholungsschleife. 14.2 µµµ-Rekursion Die Grundfunktionen, Nullfunktionen, Projektionen und Nachfolgerfunktion, sind totale Funktio- nen. Die Komposition und die primitive Rekursion erhalten diese Eigenschaft, d.h. jedes Element von T¹ist eine totale Funktion. Es gibt aber Funktionen, die wir sicherlich als berechenbar ansehen, die aber nicht total definiert sind. Beispiele sind die Wurzelfunktionen und die Logarithmen. Die Quadratwurzel etwa ist nur auf Quadratzahlen definiert und der Logarithmus zur Basis zwei nur f¨ ur Zweierpotenzen. Diese nur partiell definierten Funktionen k¨onnen also nicht primitiv-rekursiv sein. Wir ben¨otigen also noch ein weiteres Konzept, mit denen auch nicht totale Funktionen berechnet werden k¨onnen. Definition 14.2. Sei f : N k+1 0 →N 0 , dann ist die Funktion µ[f] : N k 0 →N 0 definiert durch µµµ-Rekursion µ[f] (x 1 , . . . , x k ) = min¦ z [ (x 1 , . . . , x n , y) ∈ Def (f) f¨ ur y ≤ z und f(x 1 , . . . , x k , z) = 0 ¦ Das Ergebnis der µ-Rekursion auf f ist also das kleinste z mit f(x 1 , . . . , x k , z) = 0 unter der Voraussetzung, dass f(x 1 , . . . , x k , y) f¨ ur y ≤ z definiert ist. 2 Die µ-Rekursion kann als mathematische Abstraktion von Wiederholungsschleifen (While-Schleifen) in prozeduralen Programmiersprachen betrachtet werden. y ist die Schleifenvariable, die mit Null beginnend hoch gez¨ahlt wird, und in jedem Schleifendurchlauf wird gepr¨ uft, ob f(x 1 , . . . , x k , y) = 0 ist. Falls das zutrifft, ist z = y, die Anzahl der Schleifendurchl¨aufe, das Ergebnis der Schleife. Falls die Bedingung nicht erreicht wird, dann terminiert die Schleife nicht, d.h. µ[f] (x 1 , . . . , x k ist nicht definiert. In einer prozeduralen Programmiersprache k¨onnte die Schleife µ[f] (x 1 , . . . , x k ) wie in Abbildung 14.2 dargestellt aussehen. Definition 14.3. Die Klasse µ¹ der µ-rekursiven Fuktionen ist die kleinste Menge von Funktionen f : N k 0 → N 0 , k ≥ 0, die alle Grundfunktionen (Nullfunktionen, Projektionen, Nachfolgerfunktion) enth¨alt und die unter Komposition, primitver Rekursion und Anwendung des µ-Operators abge- schlossen ist. 2 Beispiel 14.2. a) Die Funktion sub : N 0 N 0 →N 0 definiert durch sub(x, y) = _ x −y, x ≥ y ⊥, x < y ist µ-rekursiv. Dazu betrachten wir folgende Funktion f : N 0 N 0 N 0 →N 0 definiert durch f(x, y, d) = sign(x −y)(x −(y +d)) + sign(y −x) 140 KAPITEL 14. BERECHENBARE FUNKTIONEN read(x, y); d := 0; while sign(x −y)(x −(y +d)) + sign(y −x) ,= 0 do d := d + 1 endwhile; write(d) Abbildung 14.3: Berechnung der Funktion sub durch µ-Rekursion. dabei soll ” −“ die Funktion minus aus Beispiel 14.1 h) darstellen. Die Funktionen sign, minus, add und mult sind primitiv-rekursiv (siehe Beispiel 14.1), also ist auch die Funktion f primitiv-rekursiv. Es z.B. f = C h add; C h mult; C h sign; C h minus; π 3 1 , π 3 2 ii , C h minus; π 3 1 , C h add; π 3 2 , π 3 3 iii , C h sign; C h minus; π 3 2 , π 3 3 iii Wir betrachten drei F¨alle: x = y, x > y und x < y. Ist x = y, dann ist f(x, y, d) = 0 f¨ ur alle d ∈ N 0 . Ist x > y, dann ist sign(x −y) = 1, sign(y −x) = 0 und (x −(y +d)) > 0 f¨ ur d < x −y, d.h. es ist f(x, y, d) = 1 f¨ ur d < x −y und f(x, y, , x −y) = 0. Ist x < y, dann ist sign(x −y) = 0 und sign(y −x) = 1 f¨ ur alle d ∈ N 0 , d.h. es ist f(x, y, d) = 1 f¨ ur alle d ∈ N 0 . Aus diesen ¨ Uberlegungen folgt, dass sub = µ[f] (14.11) ist. Betrachten wir das Muster von Abbildung 14.2, dann wird sub von dem in Abbildung 14.3 dargestellten Programm berechnet. Falls x ≥ y ist, dann wird d so lange hoch gez¨ahlt, bis d = x−y ist, und d wird ausgegeben. Ist x < y, dann terminiert die Schleife nicht, d.h. f¨ ur die Eingabe (x, y) erfolgt keine Ausgabe. b) Die Funktion √ : N 0 →N 0 definiert durch √ x = _ y, falls x = y 2 ⊥, sonst ist µ-rekursiv. Dazu setzen wir f(x, y) = x ¸ y 2 , dabei sei ” ¸“ eine Darstellung f¨ ur die Funktion sub. f ist eine µ-rekursive Funktion, denn es gilt f = ( _ sub; π 2 1 , ( _ sqr; π 2 2 ¸¸ Wir k¨onnen nun zu gegebenem x die Quadratwurzel berechnen, indem wir y beginnend bei Null hoch z¨ahlen und dabei testen, ob x = y 2 ist. Falls das erreicht wird, ist y = √ x, ansonsten terminiert das Verfahren nicht. Es gilt √ = µ[f] = µ _ ( _ sub; π 2 1 , ( _ sqr; π 2 2 ¸¸¸ (14.12) Abbildung 14.4 zeigt eine Implementierung dieses Verfahrens. 14.2. µ-REKURSION 141 read(x); y := 0; while x ¸y 2 ,= 0 do y := y + 1 endwhile; write(y) Abbildung 14.4: Berechnung der Funktion √ durch µ-Rekursion. read(b, x); y := 0; while x ¸exp(b, y) ,= 0 do y := y + 1 endwhile; write(y) Abbildung 14.5: Berechnung der Logarithmus-Funktion durch µ-Rekursion. c) Die Funktion log : N 0 N 0 →N 0 definiert durch log(b, x) = _ y, falls b y = x ⊥, sonst ist µ-rekursiv. Dazu setzen wir f(b, x, y) = x ¸ exp(b, y) (siehe Beispiel 14.1 i). f ist µ-rekursiv, denn es gilt f = ( _ sub; π 3 2 , ( _ exp; π 3 1 , π 3 3 ¸¸ Wir k¨onnen nun zu gegebenem b und x den Logarithmus von x zur Basis b berechnen, indem wir y beginnend bei Null hoch z¨ahlen und dabei testen, ob b y = x ist. Falls das erreicht wird, ist y = log b x, ansonsten terminiert das Verfahren nicht. Es gilt log = µ[f] = µ _ ( _ sub; π 3 2 , ( _ exp; π 3 1 , π 3 3 ¸¸¸ (14.13) Abbildung 14.5 zeigt eine Implementierung dieses Verfahrens. 2 ¨ Ubung 14.3. Geben Sie eine µ-rekursive Funktion an, welche die Funktion div : N 0 N 0 →N 0 definiert durch div(a, b) = _ ¸ _ ¸ _ q, falls b ,= 0 und q, r ∈ N 0 existieren mit a = bq +r und 0 ≤ r < b ⊥, sonst berechnet! 2 ¨ Ubung 14.4. Geben Sie eine µ-rekursive Funktion an, welche die Funktion mod : N 0 N 0 →N 0 142 KAPITEL 14. BERECHENBARE FUNKTIONEN definiert durch mod(a, b) = _ ¸ _ ¸ _ r, falls b ,= 0 und q, r ∈ N 0 existieren mit a = bq +r und 0 ≤ r < b ⊥, sonst berechnet! 2 ¨ Ubung 14.5. Geben Sie eine µ-rekursive Funktion an, welche die Funktion √ : N 0 N 0 →N 0 definiert durch n √ x = _ y, falls x = y n ⊥, sonst berechnet! 2 14.3 Berechenbarkeit, Churchsche These Die µ-rekursiven Funktionen sind ein Konzept, um den Begriff der Berechenbarkeit von Funktionen f : N k 0 →N 0 mathematisch zu pr¨azisieren. 1 Daneben gibt es eine Reihe weiterer Konzepte, wie z.B. Turingmaschinen, Universelle Registermaschinen, Goto-Programme, While-Programme, Markov- Algorithmen, λ-Kalk¨ ul. Obwohl diese Konzepte teilweise auf sehr unterschiedlichen Ans¨atzen ba- sieren, kann gezeigt werden, dass sie alle dieselbe Klasse von Funktionen ¦ f [ f : N k 0 →N 0 , k ≥ 0 ¦ als berechenbar festlegen. Diese ¨ Aquivalenz der Berechenbarkeitskonzepte ist die Begr¨ undung f¨ ur die Churchsche These. 2 Churchsche These Die Klasse µ¹ der µ-rekursiven Funktionen ist genau die Klasse der im Churchsche These intuitiven Sinne berechenbaren Funktionen. 2 Wir bezeichnen mit Partiell be- rechenbare Funktion T = ¦ f [ f : N k 0 →N 0 , k ≥ 0, f ist im intuitiven Sinn berechenbar ¦ die Klasse der partiell berechenbaren Funktionen. Die Churchsche These besagt, dass µ¹ = T ist. Zu Beginn von Kapitel 14.2 haben wir bereits festgestellt, dass T¹, die Klasse der primitiv- rekursiven Funktionen, eine echte Teilklasse von T ist: T¹ ⊂ T. Des Weiteren haben wir dort ¨ uberlegt, dass alle primitiv-rekursiven Funktionen total sind. Wenn wir mit ¹ die Klasse der total berechenbaren Funktionen bezeichnen, dann gilt also T¹ ⊆ ¹. Die Frage ist, ob auch die Umkehrung gilt, d.h., ob alle total berechenbaren Funktionen auch primitiv- rekursiv sind. In den ersten Jahren der Berechenbarkeitstheorie gab es Vermutungen in diese Rich- tung. Doch F.W. Ackermann 3 konnte 1926 (ver¨offentlicht 1928) eine Funktion angeben, die total Ackermannfunktion 1 Dieser Ansatz geht auf Stephen C. Kleene (1909 – 1998) zur¨ uck, einem amerikanischen Mathematiker und Logiker, der fundamentale Beitr¨age zur Logik und zur Theoretischen Informatik geliefert hat. 2 Diese These wurde vorgeschlagen und begr¨ undet von Alonzo Church (1903 – 1995), amerikanischer Mathematiker und Logiker, der, wie sein Sch¨ uler Kleene, wesentliche Beitr¨age zur mathematischen Logik und Berechenbarkeits- theorie geleistet hat. Auf Church geht auch das Berechenbarkeitskonzept des λ-Kalk¨ uls zur¨ uck. 14.3. BERECHENBARKEIT, CHURCHSCHE THESE 143 berechenbar, aber nicht primitiv-rekursiv ist. Ackermanns Idee war, eine Folge stark anwachsender Funktionen ϕ i (a, b), i ≥ 0, rekursiv wie folgt festzulegen: b + 1, a +b, a b, a b , . . . (14.14) Diese Folge hat die Eigenschaft, dass bei jedem Glied die Operation des vorherigen Gliedes (b −1)- mal auf a angewandt wird. So bedeutet a +b, dass (b −1)-mal 1 zu a + 1 addiert wird: a +b = a + 1 +1 + 1 +. . . + 1 . ¸¸ . (b−1)-mal a b bedeutet, dass (b −1)-mal a zu a addiert wird: a b = a +a +a +. . . +a . ¸¸ . (b−1)-mal Und a b bedeutet, dass (b −1)-mal a mit a multipliziert wird: a b = a a a . . . a . ¸¸ . (b−1)-mal F¨ ur das n¨achste Folgenglied gibt es keine g¨angige mathematische Notation. Deshalb ist in (14.14) an der Stelle . . . angegeben. Dieses Folgendglied ergibt sich, indem (b − 1)-mal a mit sich selbst fortgesetzt potenziert wird: a a · · · a Ackermann beschrieb diese Folge mit der Funktion ϕ : N 0 N 0 N 0 →N 0 , deren drittes Argument die entsprechende Nummer des Gliedes in der Folge (14.14) angibt, d.h. ϕ(a, b, i) = ϕ i (a, b): ϕ(a, b, 0) = b + 1 ϕ(a, b, 1) = a +b ϕ(a, b, 2) = a b ϕ(a, b, 3) = a b ϕ/a, b, 4) = . . . R´ozsa P´eter 4 konnte 1955 eine vereinfachte Definition der Ackermannfunktion ϕ angeben. Ihre Definition dieser Funktion ist die, die wir bereits aus Definiton 13.1 auf Seite 124 kennen. Diese Definition kommt ohne informelle Beschreibung der fortgesetzten Definition der Folgenglieder bzw. ohne Einf¨ uhrung neuer mathematischer Operationen zu deren formalen Beschreibung aus. Es kann nun zum einen gezeigt werden, dass die in Kapitel 13.3 auf der Basis der Ackermann- funktion definierte Funktion ack (siehe Gleichung (13.7)auf Seite 125) total berechenbar ist, und zum anderen, dass diese Funktion st¨arker w¨achst, als alle primitiv-rekursiven Funktionen. 3 Friedrich Wilhelm Ackermann (1896 - 1962) lieferte wichtige Beitr¨age zu mathematischen Grundlagen, zur ma- thematischen Logik und zur Rekursionstheorie. 4 Die ungarische Mathematikerin R´ozsa P´eter (1905 - 1977) lieferte wesentliche Beitr¨age zur Theoreie der rekursiven Funktionen. 144 KAPITEL 14. BERECHENBARE FUNKTIONEN Satz 14.1. Zu jeder primitv-rekursiven Funktion f : N 0 → N 0 existiert ein x f ∈ N 0 , so dass ack(x) > f(x) f¨ ur alle x ≥ x f ist. 2 Folgerung 14.1. a) Es ist ack ∈ ¹−T¹. b) Es gilt T¹ ⊂ ¹ sowie c) T¹ ⊂ ¹ ⊂ T. 2 Wir werden in Kapitel 14.5 noch sehen, dass T ⊂ ¦ f [ f : N k 0 → N 0 , k ≥ 0 ¦ ist, d.h. es gibt Funktionen, die nicht berechenbar sind, und wir werden auch ein Beispiel einer solchen Funktion angeben. 14.4 utm- und smn-Theorem Das Berechenbarkeitskonzept der µ-rekursiven Funktionen erf¨ ullt (wie auch die anderen erw¨ahnten Anforderungen an Berechenbarkeits- konzepte Konzepte) zwei wesentliche Anforderungen, die man sowohl aus theoretischer als auch aus prakti- scher Sicht an solche Konzepte stellen kann: (1) die Existenz einer berechenbaren universellen Funktion und (2) die M¨oglichkeit der Parametrisierung. Um diese beiden Anforderungen zu beschreiben und zu analysieren, nehmen wir eine Nummerierung der Menge T der partiell berechenbaren Funktionen vor. Wenn wir uns noch einmal die Beispiele in den Kapiteln 14.1 und 14.2 ansehen, k¨onnen wir feststellen, dass µ-rekursive Funktionen syntaktisch betrachtet Zeichenketten sind, die aus Symbolen f¨ ur die Namen der Grundfunktionen, aus Symbolen f¨ ur die Komposition, die primitive Rekursion und die µ-Rekursion sowie aus eckigen Klammern bestehen, außerdem kommen Kommata und das Semikolon vor. F¨ ur die folgenden Betrachtungen wollen wir die Exponenten bzw. Indizes bei den Nullfunktionen O k , k ≥ 0, und den Projektionen π k i , 1 ≤ i ≤ k, k ≥ 1, mithilfe der ” Bierdeckelnotation“ codieren, indem wir folgende Darstellungen vornehmen: O k −→O[ k , k ≥ 0 π k i −→π[ k #[ i , 1 ≤ i ≤ k, k ≥ 1 Es wird also z.B. O 3 durch O[[[ und π 5 2 durch π[[[[[#[[ codiert. Mit diesen Darstellungen der Nullfunktionen und der Projektionen k¨onnen wir nun µ-rekursive Funktionen syntaktisch als W¨orter ¨ uber dem folgenden 12-elementigen Alphabet auffassen: Σ = ¦ [, #, O, π, ν, (, T¹/, µ, [, ] , ; , , ¦ Mit diesem Alphabet haben wir also eine Codierung σ : µ¹ →Σ + festgelegt. F¨ ur die im Beispiel 14.1 d) programmierte Funktion add = T¹/ _ π 1 1 , ( _ ν; π 3 3 ¸¸ 14.4. UTM- UND SMN-THEOREM 145 ρ([) = 1 ρ(π) = 4 ρ(T¹/) = 7 ρ( ]) = 10 ρ(#) = 2 ρ(ν) = 5 ρ(µ) = 8 ρ(; ) = 11 ρ(O) = 3 ρ(() = 6 ρ([ ) = 9 ρ( , ) = 12 Tabelle 14.1: Definition der Bijektion ρ. gilt z.B. σ(add) = T¹/[π[#[, ( [ν; π[[[#[[[]] Jetzt gehen wir noch einen Schritt weiter und ordnen den Buchstaben dieses Alphabetes in der aufgez¨ahlten Reihenfolge die Zahlen 1, 2, . . . , 12 zu, d.h. wir verwenden z.B. die Bijektion ρ : Σ →¦ 1, 2, . . . , 12 ¦ definiert durch die Tabelle 14.4. Daraus ergibt sich folgendermaßen eine Nummerierung der W¨orter ¨ uber Σ: Es sei p i ∈ P die i-te Primzahl, dann sei die Abbildung g : Σ + →N definiert durch g(x 1 . . . x n ) = p ρ(x1) 1 . . . p ρ(xn) n Betrachten wir als Beispiel (siehe Beispiel 14.1 c) die Funktion id = π 1 1 Es gilt σ(id) = π[#[ und g(π[#[) = 2 4 3 1 5 2 7 1 = 8 400 d.h. der Funktion id wird die Nummer 8 400 zugeordnet. Betrachten wir als weiteres Beispiel (siehe Beispiel 14.1 b) die Funktion 1 = ( _ ν; O 0 ¸ Es gilt σ(1) = ( _ ν; O 0 ¸ und g _ ( _ ν; O 0 ¸_ = 2 6 3 9 5 5 7 11 11 3 13 10 = 1 428 273 264 576 872 238 279 737 182 200 000 d.h. der Funktion 1 wird die Nummer 1 428 273 264 576 872 238 279 737 182 200 000 zugeordnet. Man sieht, dass durch die Funktion τ : µ¹ →N definiert durch τ = g ◦ ρ 146 KAPITEL 14. BERECHENBARE FUNKTIONEN den µ-rekursiven Funktionen sehr große Zahlen zugeordnet werden k¨onnen. Die Funktion τ ist injektiv und damit umkehrbar. Zu einer Zahl n ∈ N, die die Nummer einer µ-rekursiven Funktion f ist, kann f = τ −1 (n) berechnet werden. n muss in seine Primfaktoren zerlegt werden, diese werden der Gr¨oße nach geordnet und gleiche Faktoren werden zu Potenzen zusammengefasst. Diese sogenannte kanonische Faktorisierung nat¨ urlicher Zahlen ist eindeutig. Be- trachten wir als Beispiel die Zahl 172 821 065 013 801 540 831 848 199 046 200 000 Ihre kanonische Faktorisierung ist 2 6 3 9 5 5 7 11 11 5 13 10 woraus mithilfe der Tabelle 14.4 die µ-rekursive Funktion ( [ν; ν] ergibt. Die Funktion τ ist nicht surjektiv, d.h. ihre Umkehrung τ −1 ist nicht total, d.h. es gibt Zahlen n ∈ N, die nicht Nummer einer µ-rekursiven Funktion sind, wie z.B. die Zahl 30 oder alle Primzahlen gr¨oßer als 5. 30 hat die Faktorisierung 2 1 3 1 5 1 , woraus sich gem¨aß Tabelle 14.4 die Zeichenkette [[[ ergibt, die keine µ-rekursive Funktion darstellt. Wir k¨onnen die Funktion τ −1 aber zu einer surjektiven Funktion erg¨anzen, indem wir allen Zah- len, die nicht Nummer einer µ-rekursiven Funktion sind, irgendeiner µ-rekursive Funktion zuordnen. Als solche Funktion k¨onnen wir z.B. ω : N 0 →N 0 definiert durch ω(n) =⊥ w¨ahlen. Es gilt D(ω) = ∅, ω ist die ” nirgends definierte Funktion“. ω ist µ-rekursiv, denn f¨ ur f = ( _ add; ( _ ν; π 2 2 ¸ , π 2 1 ¸ gilt 5 ω = µ[f] Jetzt k¨onnen wir folgende total definierte Umkehrung der Funktion τ −1 definieren: h : N →µ¹ mit h(i) = _ f, falls i ∈ W(τ) und τ(f) = i ω, sonst Die Funktion τ stellt im ¨ Ubrigen eine sogenannte G¨odelisierung dar. Darauf gehen wir im Kapitel G¨odelisie- rung 14.5 noch n¨aher ein. 5 In ¨ ublicher Notation ist f(x, y) = ν(y) + x. 14.4. UTM- UND SMN-THEOREM 147 Mithilfe der obigen ¨ Uberlegungen bekommen wir eine Nummerierung ϕ : N 0 →T der partiell berechenbaren Funktionen: ϕ(i) = f genau dann, wenn h(i) die Funktion f berechnet Es ist also ϕ(i) = f genau dann, wenn f von der µ-rekursiven Funktion berechnet wird, die durch die Nummer i codiert ist. Im Folgenden schreiben wir, falls ϕ(i) = f und f eine k-stellige Funktion f : N k 0 →N 0 ist, ϕ i = f anstelle von ϕ(i) = f, um ” doppelte Argumente“zu vermeiden: ϕ i (x 1 , . . . , x k ) = f(x 1 , . . . , x k ) anstelle von ϕ(i)(x 1 , . . . , x k ) = f(x 1 , . . . , x k ). Die Nummerierung (N 0 , T, ϕ) kann als Programmiersprache aufgefasst werden: Jedes i ∈ N 0 Nummerierung Programmier- sprache stellt ein Programm (genauer nat¨ urlich eine µ-rekursive Funktion) dar, und ϕ ordnet jedem Pro- gramm (genauer der µ-rekursiven Funktion mit der Nummer) i seine Bedeutung ϕ i = f zu, n¨amlich die Funktion, die von diesem Programm (von dieser µ-rekursiven Funktion) berechnet wird. 6 Der folgende Satz, das so genannte utm-Theorem besagt, dass die Nummerierung (N 0 , T, ϕ) die Anforderung (1) von Seite 144 erf¨ ullt. Satz 14.2. Es sei (N 0 , T, ϕ) eine Nummerierung. Dann gibt es eine berechenbare Funktion u ϕ ∈ T utm- Theorem mit u ϕ (i, x) = ϕ i (x) 2 u ϕ heißt universelle Funktion von (N 0 , T, ϕ). Da u ϕ ∈ T ist, gibt es eine µ-rekursive Funktion, Universelle Funktion die u ϕ berechent, d.h. es gibt eine µ-rekursive Funktion U ϕ ∈ µ¹, die alle µ-rekursiven Funktionen f ∈ µ¹ berechnet: U ϕ (f, x) = f(x). Die universelle Funktion kann also alle berechenbaren Funktionen berechnen. Das entspricht dem Konzept des universellen Rechners (genauer: eines universellen Programms), der alle Programme ausf¨ uhren kann. Wenn man sich vorstellt, dass ein Berechenbarkeitskonzept, keine universelle Funk- tion erm¨oglicht, bedeutet dies, dass man f¨ ur jedes Programm einen eigenen Rechner bauen m¨ usste, um dieses auszuf¨ uhren. Das w¨are wahrscheinlich sehr m¨ uhsam, und die entsprechende Technologie h¨atte sicher nicht den Erfolg gehabt, die unsere bekannte IT-Technologie hat, die ganz wesentlich auf der Existenz universeller Maschinen beruht. Anforderung (2) (siehe Seite 144), die M¨oglichkeit der Parametrisierung, bedeutet, dass Pro- gramme Eingaben enthalten, die als Daten oder als Programme interpretiert werden k¨onnen. Be- trachten wir etwa die Multiplikationsfunktion mult : N 0 N 0 →N 0 definiert durch mult(x, y) = x y (siehe (13.3) auf Seite 121 sowie Beispiel 14.1 e) auf Seite 136). Dann k¨onnen f¨ ur x und y Zahlen eingesetzt werden, aber es k¨onnen auch Funktionen eingesetzt werden, wie z.B. x = (a + b) 2 und y = (c − d). Damit ergibt sich die neue Funktion m : N 4 0 → N 0 definiert durch m(a, b, c, d) = 6 Nachdem man sich den Unterschied zwischen der µ-rekursiven Funktion f ∈ µR mit der Nummer i (es ist also τ(f) = i) und der Funktion f ∈ P, die von f berechnet wird (es ist also ϕ i = f ), klar gemacht hat, unterscheidet man im ¨ ublichen Sprachgebrauch nicht mehr zwischen f und f und spricht von der ” i-ten berechenbaren Funktion“oder vom ” i-ten Programm“oder von der ” Funktion mit der Nummer i.“ 148 KAPITEL 14. BERECHENBARE FUNKTIONEN mult((a+b) 2 , (c −d)) = (a+b) 2 (c −d) bzw. m(a, b, c, d) = mult(sqr(add(a, b)), minus(c, d)). Durch Funktionen als aktuelle Parameter wird also aus mult = T¹/ _ O 1 , ( _ add; π 3 1 , π 3 3 ¸¸ die neue Funktion m = ( _ mult; ( _ sqr; ( _ add; π 4 1 , π 4 2 ¸¸ , ( _ minus; π 4 3 , π 4 4 ¸¸ generiert. Das allgemeine Prinzip dieser M¨oglichkeit zur Parametrisierung beschreibt der folgende Satz, das so genannte smn-Theorem. Satz 14.3. Es sei (N 0 , T, ϕ) eine Nummerierung. Dann gibt es f¨ ur alle i ∈ N 0 sowie f¨ ur alle smn- Theorem (x 1 , . . . , x m ) ∈ N m 0 und (y 1 , . . . , y n ) ∈ N n 0 eine total berechenbare Funktion s : N m+1 0 →N 0 , so dass ϕ i (x 1 , . . . , x m , y 1 , . . . , y n ) = ϕ s(i,x1,...,xm) (y 1 , . . . , y n ) gilt. 2 Die Parameter x 1 , . . . , x m k¨onnen als Programme interpretiert werden. Die Funktion s generiert aus dem Progamm i und den Programmen x 1 , . . . , x m das Programm s(i, x 1 , . . . , x m ). Wichtig ist, dass dieser Generator allgemein existiert, d.h. f¨ ur alle i und alle (x 1 , . . . , x m ). Angewendet auf unser obiges Beispiel w¨are i die Codierung der µ-rekursiven Funktion f¨ ur mult, x 1 die Codierung der µ-rekursiven Funktion f¨ ur ( [sqr; add], x 2 die Codierung der µ-rekursiven Funktion f¨ ur minus, y 1 = a, y 2 = b, y 3 = c und y 4 = d. Die Funktion s w¨ urde dann aus den Codierungen von mult, ( [sqr; add] und minus die Codierung von m generieren. 14.5 Aufz¨ahlbare und entscheidbare Mengen Im Kapitel 14 haben wir den Begriff der Berechenbarkeit f¨ ur Funktionen f : N k 0 → N 0 einf¨ uhrend betrachtet. Wir werden diesen Begriff nun auf Mengen ¨ ubertragen, wobei in diesen Zusammen- hang von Entscheidbarkeit von Mengen gesprochen wird. Wir werden unterschiedliche Grade von Entscheidbarkeit kennenlernen, und wir werden Zusammenh¨ange zur Abz¨ahlbarkeit von Mengen herstellen, wobei wir dabei von berechenbaren Abz¨ahlungen, sogenannten Aufz¨ahlungen ausgehen werden. Des Weiteren werden wir nicht berechenbare Funktionen und nicht entscheidbare Mengen kennenlernen. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • x Kapitel 15 Zusammenfassung und ¨ Ubungen 15.1 Zusammenfassung Induktion und Rekursion sind elementare Prinzipien sowohl f¨ ur die Definition von Mengen, Rela- tionen, Funktionen und Strukturen als auch f¨ ur das L¨osen von Problemen. Die Vollst¨andige Induktion ist eine Methode, mit der man beweisen kann, dass ein Pr¨adikat P auf die Menge aller nat¨ urlichen Zahlen gr¨oßer gleich einer Zahl n 0 zutrifft (zumeist ist n 0 = 0 oder n 0 = 1). Ein Beweis mit Vollst¨andiger Induktion besteht aus zwei Schritten, aus dem Induktionsanfang und dem Induktionsschritt. Mit dem Induktionsanfang wird gezeigt, dass P(n 0 ) gilt. MIt dem Induktionsschritt wird gezeigt, dass unter der Annahme, dass P(n) (die Induktionsannahme) gilt, auch P(n + 1) (die Induktionsbehauptung) gilt. Mit einem verallgemeinerten Rekursionsschema f¨ ur eine Menge M werden zun¨achst Elemen- te von M explizit festgelegt (Rekursionsanfang). Dann wird ein Pr¨adikat angegeben, welches be- schreibt, wie aus bereits vorhandenen Elementen von M deren weitere Elemente bestimmt werden k¨onnen (Rekursionschritt). Ein Beispiel f¨ ur eine rekursiv definierte Menge, ist die Menge der aussagenlogischen Ausdr¨ ucke / in Kapitel 2. Aussagenlogische Konstanten und Variablen werden als gegebene aussagenlogi- sche Ausdr¨ ucke angesehen (Rekursionsanfang), und aus gegebenen sowie bereits konstruierten Aus- dr¨ ucken werden durch Verkn¨ upfung mit Operatorsymbolen weitere Ausdr¨ ucke gebildet (Rekursion- schritt). Dass eine Eigenschaft P auf alle Elemente einer mit einem solchen Rekursionsschema definierten Menge zutrifft, kann nun durch verallgemeinerte Induktion gezeigt werden. Im Induktionsanfang wird gezeigt, dass P auf die explizit angegebenen Elemente zutrifft. Im Induktionsschritt wird gezeigt, dass unter der Voraussetzung, dass P auf Elemente von M zutrifft, P auch auf die gem¨aß dem Rekursionsschema aus diesen Elementen konstruierbaren Elemente zutrifft. Dann gilt, dass P auf alle Elemente der Menge zutrifft. Ein Beispiel ist die Eigenschaft der aussagenlogischen Ausdr¨ ucke, dass in ihnen die Anzahl der ¨offnenden Klammern gleich der Anzahl der schließenden Klammern ist. Im Induktionsanfang zeigt man, dass die Eigenschaft auf alle explizit gegebenen Ausdr¨ ucke (Konstanten und Variablen) zutrifft. Im Induktionsschritt zeigt man, dass, wenn zwei Ausdr¨ ucke diese Eigenschaft besitzen, auch die gem¨aß dem Rekursionsschema aus diesen beiden Ausdr¨ ucken konstruierbaren Ausdr¨ ucke diese 149 150 KAPITEL 15. ZUSAMMENFASSUNG UND ¨ UBUNGEN Eigenschaft besitzen. Die Fibonacci-Folge und die Ackermannfunktion sind bekannte und bedeutende Beispiele f¨ ur rekursiv definierte Funktionen. Die Fibonacci-Folge hat nicht nur einen historisch unterhaltsamen Ursprung (Wachstum von Kaninchen-Populationen), sondern mit ihr und Varianten von ihr k¨onnen Ph¨anomene in vielen Bereichen von Mathematik, Informatik und Naturwissenschaften beschrieben und analysiert werden, und nicht zuletzt besteht ein enger Zusammenhang zum Goldenen Schnitt, einem Proportionalverh¨altnis, welches in der ¨ Asthetik eine große Rolle spielt. Die Ackermannfunktion ist wegen ihres enormen Wachstumsverhaltens von großer Bedeutung. Sie ist ein Beispiel f¨ ur eine total berechenbare Funktion, die nicht mit Z¨ahlschleifen berrechnet werden kann, denn man kann zeigen, dass sie schneller als alle primtiv-rekursiven Funktionen w¨achst. Mithilfe eines verallgemeinerten Rekursionsschemas kann auch der Begriff der Berechenbarkeit einer Funktion f : N k 0 → N 0 definiert werden. Als berechenbar werden sehr einfache, elementare Funktionen (Grundfunktionen) angesehen wie die Nullfunktion, die Projektionen und die Nach- folgerfunktion. Mithilfe von Operatoren wie Komposition, primitive Rekursion und µ-Rekursion werden aus berechenbaren Funktionen neue berechenbare Funktionen konstruiert. Eine Funktion f : N k 0 →N 0 wird als partiell berechenbar bezeichnet, falls es eine µ-rekursive Funktion gibt, die f berechnet. Neben den µ-rekursiven Funktionen gibt es weitere, davon und untereinander verschiedene Ans¨atze, den Begriff der Berechenbarkeit zu definieren (z.B. Turingmaschinen, Universelle Regi- stermaschinen, Goto-Programme, While-Programme, Markov-Algorithmen, λ-Kalk¨ ul). Man kann zeigen, dass alle diese Konzepte ¨aquivalent sind, d.h. sie beschreiben alle dieselbe Klasse von Funk- tionen, n¨amlich die Klasse T der partiell berechenbaren Funktion. Dies ist die Begr¨ undung f¨ ur die Churchsche These, die besagt, dass T mit der Klasse der Funktionen ¨ ubereinstimmt, die man intuitiv als berechenbar ansieht. Die Klasse T¹ der primitiv-rekursiven Funktionen besteht aus den Funktionen, die sich aus den Grundfunktionen und der Anwendung von Komposition und primitver Rekursion ergibt. Diese Funktionen sind alle total definiert. Es gibt Funktionen, wie die Ackermannfunktion, die total bere- chenbar sind, aber nicht primitv-rekursiv. Wenn ¹ die Klasse der total berechenbaren Funktionen ist, dann gilt: T¹ ⊂ ¹ ⊂ T. Die µ-rekursiven Funktionen erf¨ ullen zwei wesentliche Anforderungen, die an Berechenbarkeits- konzepte sinnvollerweise gestellt werden k¨onnen: die Existenz einer berechenbaren universellen Funktion und die M¨oglichkeit der Parametrisierung. Eine berechenbare universelle Funktionen kann alle anderen berechenbaren Funktionen berech- nen, sie ist die Grundlage f¨ ur die Existenz universeller Rechner, welche alle Programme ausf¨ uhren k¨onnen. Die Parametrisierung erlaubt effektives Programmieren, d.h. Programme k¨onnen nicht nur Da- ten als Eingaben haben, sondern auch Programme, wodurch neue Programme entstehen. In der Konsequenz besteht prinzipiell bei Eingaben kein Unterschied zwischen Daten und Programme. 15.2 ¨ Ubungen 1. Beweisen Sie mithilfe vollst¨andiger Induktion folgende Pr¨adikate: (1) ∀n ∈ N: n i=1 2(i −1) = n 2 , 15.2. ¨ UBUNGEN 151 (2) Sei q ∈ R, q ,= 1, dann gilt ∀n ∈ N 0 : n i=0 q i = 1−q n+1 1−q , (3) Sei x, y ∈ Z, dann gilt ∀n ∈ N 0 : x n −y n x−y ∈ Z. 2. Zeigen Sie, dass f¨ ur die Folge der Fibonacci-Zahlen folgende Gleichungen gelten: (1) ∀n ∈ N: F 1 +F 3 +. . . +F 2n−1 = F 2n , (2) ∀n ∈ N 0 : F 0 +F 2 +. . . +F 2n = F 2n+1 −1, (3) ∀n ∈ N: 1 +F 1 +F 2 +. . . +F n = F n+2 , (4) ∀n ∈ N: F n+1 F n−1 −F 2 n = (−1) n . 3. Gilt ∀ ∈ N 0 : n 2 −n + 41 ∈ P? 4. Die Fermat-Zahlen sind f¨ ur n ≥ 0 definiert durch A n = 2 2 n +1. Zeigen Sie, dass f¨ ur alle n ≥ 1 gilt: A 0 A 1 . . . A n−1 = A n −2. 5. Bei der Fibonacci-Folge werden die Kaninchen als unsterblich vorausgesetzt. Eine unrealis- tische Annahme, die Mathematikerinnen und Mathematiker im ¨ Ubrigen (oft) machen, um zu eleganten L¨osungen oder Theorien zu gelangen. Informatikerinnen und Informatiker m¨ ussen realistischer sein und sollten von der Sterblichkeit der Kaninchenpaare ausgehen. Nehmen wir – um ¨ uberhaupt zu ersten L¨osungsans¨atzen zu kommen wieder vereinfachend – an, dass alle Kaninchen nach jeweils k Monaten sterben. Wie lautet nun eine Rekursionglei- chung f¨ ur die Anzahl der Paare F n nach n Monaten? F¨ ur welche k k¨onnen Sie analog zur Definition (13.4) auf Seite 122 eine geschlossene Formel zur Berechnung von F n angeben? Welches Wachstum hat F n f¨ ur diese k? 6. Beweisen Sie die Folgerungen 13.1 (Seite 124)! 7. Die Menge / der arithmetischen Ausdr¨ ucke ¨ uber N 0 kann induktiv wie folgt definiert werden: (i) a ∈ N 0 ⇒a ∈ /: Jede nat¨ urliche Zahl a ist ein arithmetischer Ausdruck. (ii) x, y ∈ / ⇒(x+y), (x y) ∈ /: Sind x und y arithmetische Ausdr¨ ucke, dann auch (x+y) und (x y). (iii) Genau die gem¨aß den Regeln (i) und (ii) bildbaren Ausdr¨ ucke geh¨oren zu /. Beweisen Sie: In jedem Ausdruck von / ist die Anzahl von Zahlen aus N 0 um 1 h¨oher als die Anzahl der Operatorsymbole + oder . 8. Die Relation R ⊆ N 0 N 0 sei induktiv definiert durch: (i) Es ist (0, 0) ∈ R und (1, 1) ∈ R. (ii) (x, y) ∈ R ⇒(x, y + 2) ∈ R ∧ (x + 2, y) ∈ R. Beweisen Sie: ∀(x, y) ∈ N 0 N 0 : m−n ∈ G. 9. Definieren Sie die n-te Potenz von W¨ortern rekursiv! 10. Geben Sie eine rekursive Definition f¨ ur eine Funktion an, welche alle W¨orter ¨ uber einem gegebenen Alphabet Σ spiegelt! 152 KAPITEL 15. ZUSAMMENFASSUNG UND ¨ UBUNGEN 11. Geben Sie eine rekursive Definition der Funktion anz : Σ ∗ Σ → N 0 an, so dass anz (w, a) angibt, wie oft der Buchstabe a im Wort w vorkommt. 12. Beweisen Sie Folgerung 13.2 auf Seite 131! 13. Geben Sie eine primitv-rekursive Funktion an, die die Funktion sum : N 0 → N 0 definiert durch sum(n) = n i=0 i berechnet! 14. Geben Sie eine primitv-rekursive Funktion an, die die Funktion ! : N 0 →N 0 definiert durch n! = _ 1, n = 0 n(n −1)!, n ≥ 1 berechnet! 15. Geben Sie eine µ-rekursive Funktion an, welche die Funktion div : N 0 N 0 → N 0 definiert durch div(a, b) = _ ¸ _ ¸ _ q, falls b ,= 0 und q, r ∈ N 0 existieren mit a = bq +r und 0 ≤ r < b ⊥, sonst berechnet! 16. Geben Sie eine µ-rekursive Funktion an, welche die Funktion mod : N 0 N 0 → N 0 definiert durch mod(a, b) = _ ¸ _ ¸ _ r, falls b ,= 0 und q, r ∈ N 0 existieren mit a = bq +r und 0 ≤ r < b ⊥, sonst berechnet! 17. Geben Sie eine µ-rekursive Funktion an, welche die Funktion √ : N 0 N 0 →N 0 definiert durch n √ x = _ y, falls x = y n ⊥, sonst berechnet! 18. Geben Sie eine µ-rekursive Funktion an, welche die Funktion geq : N 0 N 0 → N 0 definiert durch geq(x, y) = _ 1, falls x ≥ y 0, sonst berechnet! Geben Sie µ-rekursive Funktionen f¨ ur die analog definierten Funktionen ≤, > und < an! 15.2. ¨ UBUNGEN 153 19. Geben Sie eine µ-rekursive Funktion an, welche die Funktion max : N 0 N 0 → N 0 definiert durch max(x, y) = _ x, falls x ≥ y y, sonst berechnet! 20. Geben Sie eine µ-rekursive Funktion an, welche die Funktion min : N 0 N 0 → N 0 definiert durch min(x, y) = _ x, falls x ≤ y y, sonst berechnet! 21. Geben Sie eine µ-rekursive Funktion an, welche die Funktion () : N 0 N 0 → N 0 definiert durch _ n k _ = _ n! k!·(n−k)! , n ≥ k ⊥, sonst berechnet! 154 KAPITEL 15. ZUSAMMENFASSUNG UND ¨ UBUNGEN Teil IV Zahlenmengen 155 157 In den vorhergehenden Kapitelnn werden Zahlen und Zahlenmengen bereits verwendet, insbe- sondere in vielen Beispielen, ohne dass diese vorher definiert werden. Da diese Zahlen und Zah- lenmengen sowie arithmetische Operationen darauf wie Addition und Multiplikation den meisten vertraut sein d¨ urften, konnten wir sie dort ohne Weiteres als Beispiele verwenden. Trotzdem wollen wir in diesem Teil noch etwas detaillierter auf die Zahlenmengen N (nat¨ urliche Zahlen), Z (ganze Zahlen), Q (rationale Zahlen) sowie R (reelle Zahlen)und C (komplexe Zahlen) eingehen, indem wir diese schrittweise aufeinander aufbauend einf¨ uhren und ihre elementaren Eigen- schaften betrachten. Dies soll zur Wiederholung und Bewusstmachung der ¨ ublicherweise unbewusst verwendeten Eigenschaften und Rechenregeln von bzw. mit Zahlen dienen. Bei all diesen Betrachtungen verwenden wir als Hilfsmittel zur Definition von neuen Begrif- fen und bei der Untersuchung derer Eigenschaften Konzepte und Methoden aus Teil I: Mengen, Relationen und Funktionen sowie Notationen der Logik. 158 Kapitel 16 Die Menge der ganzen Zahlen Wir haben im vorigen Kapitel gesehen, dass die Subtraktion x − y in N 0 nur dann m¨oglich ist, falls x ≥ y ist. Wir werden nun eine neue Zahlenmenge einf¨ uhren, in der wir sowohl die Menge der nat¨ urlichen Zahlen und das in dieser Menge m¨ogliche Rechnen ” wiederfinden“ werden, in der wir aber auch die Subtraktion ohne Einschr¨ankung durchf¨ uhren k¨onnen. Des Weiteren werden wir die Rechenregeln f¨ ur diese neuen Zahlen auflisten und uns mit der Frage nach der Abz¨ahlbarkeit der neuen Zahlenmenge besch¨aftigen. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • verstehen, wie die ganzen Zahlen und das Rechnen mit diesen mithilfe einer geeigneten ¨ Aqui- valenzrelation auf den nat¨ urlichen Zahlen eingef¨ uhrt werden k¨onnen, • die Rechenregeln f¨ ur ganze Zahlen kennen, • die Abz¨ahlbarkeit der Menge der ganzen Zahlen beweisen k¨onnen. 16.1 Konstruktion der ganzen Zahlen Wir werden die Menge der ganzen Zahlen Z mithilfe einer ¨ Aquivalenzrelation ¨ uber Paaren von nat¨ urlichen Zahlen konstruieren. Die Relation Z ⊆ (N N) (N N) sei definiert durch: (a, b) Z (c, d) genau dann, wenn a +d = b +c (16.1) gilt. Die Relation Z verwendet nur bekannte Begriffe: nat¨ urliche Zahlen bzw. Paare von nat¨ urlichen Zahlen sowie die Addition von nat¨ urlichen Zahlen. Wir zeigen nun, dass Z eine ¨ Aquivalenzrelation ist: Z ist reflexiv: F¨ ur alle (a, b) ∈ N N gilt a + b = b + a, woraus mit (16.1) folgt, dass f¨ ur alle (a, b) ∈ N N gilt: (a, b) Z (a, b). Z ist symmetrisch: Sei (a, b) Z (c, d), d.h. a + d = b + c. Mit den bekannten Rechenregeln folgt daraus, dass c +b = d +a gilt, und hieraus mit (16.1), dass (c, d) Z (a, b) gilt. 159 160 KAPITEL 16. DIE MENGE DER GANZEN ZAHLEN Z ist transititv: Sei (a, b) Z (c, d) und (c, d) Z (e, f), d.h. es ist a + d = b + c und c + f = d + e. Hieraus folgt, dass (a +d) +(c +f) = (b +c) +(d +e) ist, und daraus folgt, dass a +f = b +e ist. Mit (16.1) folgt (a, b) Z (e, f). Wir wollen nun die ¨ Aquivalenzklassen von Z bestimmen. Es gilt beispielsweise [(7, 3)] Z = ¦ (7, 3), (5, 1), (6, 2), (8, 4), . . . ¦ [(2, 2)] Z = ¦ (2, 2), (1, 1), (3, 3), (4, 4), . . . ¦ [(1, 3)] Z = ¦ (2, 4), (3, 5), (4, 6), (5, 7), . . . ¦ Wir wollen als Repr¨asentant jeder ¨ Aquivalenzklasse das Paar w¨ahlen, welches die Zahl 1 mindestens Konstruktion von ZZZ in einer Komponente enth¨alt. Dann gilt allgemein f¨ ur a, b ∈ N mit a, b ≥ 2: [(a, 1)] Z = ¦ (c, d) [ c = d + (a −1) ¦ (16.2) [(1, 1)] Z = ¦ (x, x) [ x ∈ N¦ (16.3) [(1, b)] Z = ¦ (c, d) [ c + (b −1) = d ¦ (16.4) was sich leicht mithilfe von (16.1) nachrechnen l¨asst. Auf der Menge (N N)/Z der ¨ Aquivalenzklassen f¨ uhren wir Rechenoperationen, n¨amlich die Rechenoperationen f¨ ur ganze Zahlen Addition ⊕, die Subtraktion ¸ sowie die Multiplikation ¸, ein: [(a, b)] Z ⊕[(c, d)] Z = [(a +c, b +d)] Z (16.5) [(a, b)] Z ¸[(c, d)] Z = [(a +d, b +c)] Z (16.6) [(a, b)] Z ¸[(c, d)] Z = [(ac +bd, bc +ad)] Z (16.7) Es sei darauf hingewiesen, dass diese Rechenoperationen ausschließlich mit nat¨ urlichen Zahlen und den daf¨ ur vollst¨andig definierten Operationen Addition + und Multiplikation definiert sind. Bevor wir die neu definierten Rechenoperationen weiter betrachten, wollen wir zur Vereinfachung den ¨ Aquivalenzklassen Namen geben. Da a, b ∈ N mit a, b ≥ 2 ist, gilt a−1, b−1 ∈ N. Damit f¨ uhren wir folgende Bezeichnungen ein: a −1 = [(a, 1)] Z 0 = [(1, 1)] Z (16.8) b −1 = [(1, b)] Z Es ist also z.B. 4 = [(5, 1)] Z und 2 = [(1, 3)] Z . Wir wollen nun diese Bezeichner f¨ ur die ¨ Aquivalenzklassen ganze Zahlen nennen und die Menge der ganzen Zahlen mit Z bezeichnen. Es ist also Z = ¦ . . . , 3, 2, 1, 0, 1, 2, 3, . . . ¦ Wir haben mithilfe der nat¨ urlichen Zahlen, mit den auf diesen vollst¨andig definierten Operatio- nen + und und mit der ¨ Aquivalenzrelation Z die Zahlenmenge Z mit vollst¨andig auf ihr definierten 16.1. KONSTRUKTION DER GANZEN ZAHLEN 161 Operationen ⊕, ¸ und ¸ geschaffen. In dieser neuen Rechenstruktur wollen wir ein paar Beispiele rechnen: [(7, 3)] Z ⊕ [(9, 2)] Z = [(16, 5)] Z bzw. 4 ⊕ 7 = 11 [(7, 3)] Z ¸ [(9, 2)] Z = [(9, 12)] Z bzw. 4 ¸ 7 = 3 [(7, 3)] Z ⊕ [(3, 7)] Z = [(10, 10)] Z bzw. 4 ⊕ 4 = 0 [(7, 3)] Z ¸ [(9, 2)] Z = [(69, 41)] Z bzw. 4 ¸ 7 = 28 [(7, 3)] Z ¸ [(3, 7)] Z = [(42, 58)] Z bzw. 4 ¸ 4 = 16 Nun, sp¨atestens an diesen Beispielen bemerken wir, dass es sich um die uns bekannten ganzen Zahlen und f¨ ur diese definierte Rechenoperationen Addition, Subtraktion und Multiplikation handelt. Wenn wir x anstelle von x, −x anstelle von x notieren und diese Zahlen positive ganze Zahlen bzw. negative ganze Zahlen nennen, und außerdem + f¨ ur ⊕, − f¨ ur ¸ sowie f¨ ur ¸ schreiben, benutzen wir die uns aus der Schule vertrauten Schreibweisen und Bezeichnungen f¨ ur das Rechnen mit ganzen Zahlen. Wir k¨onnen zudem feststellen, dass die nat¨ urlichen Zahlen den positiven Zahlen entsprechen Abgeschlos- senheit von Addition, Multiplikati- on und Subtraktion und dass wir den Zahlenraum der nat¨ urlichen Zahlen um die 0 und die negativen ganzen Zahlen erweitert haben. In diesem Zahlenraum ist nun – im Gegensatz zu den nat¨ urlichen Zahlen – die Subtraktion uneingeschr¨ankt ausf¨ uhrbar. Dass die ganzen Zahlen eine Erweiterung der nat¨ urlichen Zahlen darstellen, d.h. dass die positi- ZZZ als Erwei- terung von N 0 N 0 N 0 ven ganzen Zahlen mit der auf ihnen definierten Addition und Multiplikation den nat¨ urlichen Zahlen mit ihrer Addition und Multiplikation entsprechen, also – mathematisch gesprochen – die Struktur- gleichheit dieser beiden Rechenstrukturen, kann wieder mithilfe eines Isomorphismus beschrieben werden. Dazu sei Z + = ¦ [(a, 1)] Z [ a ∈ N, a ≥ 1 ¦ die Menge der positiven ganzen Zahlen einschließlich der Null (dargestellt in der urspr¨ unglichen Notation (16.8) als ¨ Aquivalenzklassen, um sie von der Notation der nat¨ urlichen Zahlen zu unter- scheiden). Dann gelten f¨ ur die Abbildung ϕ : Z + →N 0 definiert durch ϕ([(a, 1)] Z ) = a −1 (16.9) die Eigenschaften: ϕ ist bijektiv und gen¨ ugt den Strukturgleichungen ϕ([(a, 1)] Z ⊕[(b, 1)] Z ) = ϕ([(a, 1)] Z ) +ϕ([(b, 1)] Z ) (16.10) sowie ϕ([(a, 1)] Z ⊗[(b, 1)] Z ) = ϕ([(a, 1)] Z ) ϕ([(b, 1)] Z ) (16.11) ¨ Ubung 16.1. Beweisen Sie, dass die oben definierte Abbildung ϕ bijektiv ist und dass sie die Strukturgleichungen (16.10) und (16.11) erf¨ ullt! 2 Ein Isomorphismus kann als eineindeutige Umbenennung der Elemente einer Rechenstruktur Isomorphismus mit Elementen einer anderen Rechenstruktur aufgefasst werden, wobei diese Umbenennung mit den Rechenoperationen vertr¨aglich sein muss. Diese Vertr¨aglichkeit wird durch die Strukturgleichungen 162 KAPITEL 16. DIE MENGE DER GANZEN ZAHLEN f¨ ur die einzelnen Operationen beschrieben. Bis auf die Benennung der Elemente handelt es sich quasi um dieselben Rechenstrukturen. In unserem Beispiel werden die positiven ganzen Zahlen, d.h. die ¨ Aquivalenzklassen [a, 1] Z von Z mit a ≥ 1 eineindeutig den nat¨ urlichen Zahlen a − 1 zugeordnet, so dass die Umbenennung der Summe (des Produktes) von zwei ganzen Zahlen gleich der Summe (Produkte) der Umbenennungen, d.h. gleich der Summe (dem Produkt) der entsprechenden nat¨ urlichen Zahlen, ist. 16.2 Rechenregeln in Z Neben den Regeln A1, A2, A3, M1, M2 und M3 (siehe Abschnitt 11.2), die in Z ebenfalls gelten, gilt f¨ ur x, y ∈ Z noch: (A4) Additives Inverses: x + y = 0. Dabei gilt y = −x, und −x heißt die zu x bez¨ uglich der Additives Inverses Addition inverse oder die zu x negative Zahl. 1 Die Definition der Relation ≤ kann ebenfalls ¨ ubernommen werden: ≤⊆ Z Z definiert durch x ≤ y genau dann, wenn ∃d ∈ N 0 : x +d = y definiert eine totale Ordnung auf Z. F¨ ur diese Ordnung gilt ebenfalls die Regel O1, w¨ahrend bei der Regel O2 unterschieden werden Monotonieregeln muss, ob der Faktor positiv oder negativ ist: (O2+) ∀x, y, z ∈ Z mit x ≤ y und z ≥ 1 gilt xz ≤ yz, (O2−) ∀x, y, z ∈ Z mit x ≤ y und z ≤ −1 gilt xz ≥ yz. Eine oft verwendete Funktion f¨ ur ganze Zahlen ist der Absolutbetrag Absolutbetrag [ [ : Z →N 0 definiert durch [x[ = _ x, falls x ≥ 0 −x, falls x < 0 F¨ ur den Absolutbetrag gelten die folgenden Regeln: (ABS1) Dreiecksungleichung: ∀x, y ∈ Z : [x +y[ ≤ [x[ +[y[, Dreiecks- ungleichung (ABS2) ∀x, y ∈ Z : [x −y[ ≤ [x[ +[y[, (ABS3) ∀x, y ∈ Z : [[x[ −[y[[ ≤ [x[ −[y[, (ABS4) ∀x, y ∈ Z : [xy[ = [x[[y[. 1 Formal betrachtet hat das Vorzeichen ” −“ von x eine andere Bedeutung als der Operator ” −“ in einer Subtraktion a −b zweier ganzer Zahlen a und b. Dies haben wir bei Einf¨ uhrung der ganzen Zahlen durch die Notationen x bzw. auch ganz bewusst unterschieden. Es gilt allerdings a + (−b) = a − b oder genauer a ⊕ b = a b, weswegen wir beim Rechnen nicht zwischen dem Operator − und dem Vorzeichen − streng unterscheiden m¨ ussen. 16.3. ABZ ¨ AHLBARKEIT VON Z 163 16.3 Abz¨ahlbarkeit von Z Wir wollen nun die Abz¨ahlbarkeit von Z untersuchen, d.h. die Frage beantworten, ob Z gleichm¨achtig zu N ist. Dazu betrachten wir die Abbildung f : Z →N 0 definiert durch f(z) = _ ¸ _ ¸ _ 0, falls z = 0 2z, falls z > 0 −(2z + 1), falls z < 0 f ist eine bijektive Abbildung, die den positiven ganzen Zahlen die geraden Zahlen und den negativen ganzen Zahlen die ungeraden Zahlen zuordnet. Die durch f definierte Abz¨ahlung z¨ahlt Z wie folgt ab: 0, −1, 1, −2, 2, −3, 3, . . . 164 KAPITEL 16. DIE MENGE DER GANZEN ZAHLEN Kapitel 17 Die Menge der rationalen Zahlen Wir haben im vorigen Kapitel die Rechenstruktur N erweitert zur Rechenstruktur Z, in der auch die Subtraktion uneingeschr¨ankt ausf¨ uhrbar ist. Die beschr¨ankte Ausf¨ uhrung der Division bleibt aber weiterhin bestehen: Die Division x : y f¨ ur zwei Zahlen x ∈ Z und y ∈ Z − ¦0¦ ist nur ausf¨ uhrbar, falls es ein z ∈ Z gibt mit x = yz. So existiert etwa der Quotient 4 : 3 in Z nicht, da es keine ganze Zahl z gibt mit 4 = 3z. Das heißt: Nicht alle Gleichungen der Art ax = b mit a, b ∈ Z mit a ,= 0 sind in Z l¨osbar (sondern nur solche, bei denen a ein Teiler von b ist). In diesem Kapitel werden wir eine neue Zahlenmenge, die Menge Q der rationalen Zahlen, einf¨ uhren, in der wir zum einen solche Gleichungen l¨osen k¨onnen und in der wir zum anderen die Menge der ganzen Zahlen und das in dieser Menge m¨ogliche Rechnen erhalten, insofern Z zu Q erweitern. Auch f¨ ur Q werden wir weitere Rechenregeln auflisten und uns mit der Frage nach der Abz¨ahl- barkeit dieser Zahlenmenge besch¨aftigen. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • verstehen, wie die rationalen Zahlen und das Rechnen mit diesen mithilfe einer geeigneten ¨ Aquivalenzrelation auf den ganzen Zahlen eingef¨ uhrt werden k¨onnen, • die Rechenregeln f¨ ur rationale Zahlen kennen, • die Abz¨ahlbarkeit der Menge der rationalen Zahlen beweisen k¨onnen. 17.1 Konstruktion der rationalen Zahlen Analog zur Menge der ganzen Zahlen konstruieren wir die rationalen Zahlen ebenfalls mithilfe einer ¨ Aquivalenzrelation: Die Relation Q ⊆ (Z (Z −¦0¦) (Z Z −¦0¦) sei definiert durch: (a, b) Q(c, d) genau dann, wenn ad = bc (17.1) 165 166 KAPITEL 17. DIE MENGE DER RATIONALEN ZAHLEN Die Relation Q verwendet nur bekannte Begriffe: ganze Zahlen bzw. Paare von ganzen Zahlen sowie die Multiplikation von ganzen Zahlen. Der Beweis, dass Q eine ¨ Aquivalenzrelation ist, erfolgt analog dem Beweis im vorigen Kapitel, der zeigt, dass die Relation Z eine ¨ Aquivalenzrelation ist: Q ist reflexiv: F¨ ur alle (a, b) ∈ Z Z − ¦0¦ gilt ab = ba, woraus mit (17.1) folgt, dass f¨ ur alle (a, b) ∈ Z Z −¦0¦ gilt: (a, b) Q(a, b). Q ist symmetrisch: Sei (a, b) Q(c, d), d.h. ad = bc. Mit den bekannten Rechenregeln folgt daraus, dass cb = da gilt, und hieraus mit (17.1), dass (c, d) Q(a, b) gilt. Q ist transitiv: Sei (a, b) Q(c, d) und (c, d) Q(e, f), d.h. es ist ad = bc und cf = de. Hieraus folgt, dass adf = bcf = bde ist, und daraus folgt, da d ,= 0 ist, dass af = be ist. Mit (17.1) folgt (a, b) Q(e, f). Die ¨ Aquivalenzklassen von Q sind f¨ ur x, y ∈ Z mit y ,= 0 gegeben durch: Konstruktion von QQQ [(x, y)] Q = ¦ (qx, qy) [ q ∈ Z −¦0¦ ¦ (17.2) Auf der Menge Q = (ZZ−¦0¦)/Q der ¨ Aquivalenzklassen von Q, die wir Menge der rationalen Rechenope- rationen f¨ ur rationale Zahlen Zahlen nennen wollen, f¨ uhren wir Rechenoperationen ein: 1 • Addition und Subtraktion: [(a, b)] Q ±[(c, d)] Q = [(ad ±bc, bd)] Q • Multiplikation: [(a, b)] Q [(c, d)] Q = [(ac, bd)] Q • Division: [(a, b)] Q : [(c, d)] Q = [(ad, bc)] Q Diese (neuen) Rechenoperationen sind ausschließlich mit ganzen Zahlen und den daf¨ ur vollst¨andig definierten Operationen Addition, Subtraktion und Multiplikation definiert. Dabei stellen die ¨ Aqui- valenzklassen [(x, y)] Q mit y = 1 genau die ganzen Zahlen dar. Auch hier kann man mithilfe eines Isomorphismus zeigen, dass die rationalen Zahlen als Erweiterung der ganzen Zahlen betrachtet werden k¨onnen. F¨ ur die neuen Zahlen [(a, b)] Q mit a ,= 0 gilt wegen (17.2): [(a, b)] Q [(b, a)] Q = [(ab, ba)] Q = [(ab 1, ab 1)] Q = [(1, 1)] Q [(b, a)] Q heißt das (multiplikative) Inverse zu [(a, b)] Q . Weiterhin gilt f¨ ur alle Zahlen [(a, b)] Q , [(c, d)] Q ∈ Q mit c ,= 0: ([(a, b)] Q [(c, d)] Q ) : [(c, d)] Q = [(ac, bd)] Q : [(c, d)] Q = [(acd, bdc)] Q = [(cda, cdb)] Q = [(a, b)] Q In der Einleitung dieses Kapitels haben wir das Ziel formuliert, die ganzen Zahlen so zu erweitern, dass Gleichungen der Art ax = b f¨ ur a ,= 0 l¨osbar sind. Der folgende Satz besagt, dass dies in der Menge Q der rationalen Zahlen m¨oglich ist. 17.2. RECHENREGELN IN Q 167 L¨osung von ax = b ax = b ax = b in QQQ Satz 17.1. F¨ ur alle Zahlen [(a, b)] Q , [(c, d)] Q ∈ Q mit a ,= 0 gibt es genau eine Zahl [(x, y)] Q ∈ Q mit [(a, b)] Q [(x, y)] Q = [(c, d)] Q . Beweis Wir setzen x = bc und y = ad, dann gilt wegen (17.2): [(a, b)] Q [(bc, ad)] Q = [(abc, abd)] Q = [(c, d)] Q Somit ist die Gleichung [(a, b)] Q [(x, y)] Q = [(c, d)] Q f¨ ur gegebene rationale Zahlen [(a, b)] Q und [(c, d)] Q mit a ,= 0 l¨osbar. Wir m¨ ussen noch die Eindeutigkeit der L¨osung x = bc und y = ad zeigen. Wir nehmen an, es gebe eine weitere L¨osung [(x , y )] Q . Es muss dann gelten [(a, b)] Q [(x, y)] Q = [(a, b)] Q [(bc, ad)] Q = [(abc, abd)] Q = [(c, d)] Q sowie [(a, b)] Q [(x , y )] Q = [(ax , by )] Q = [(c, d)] Q Es folgt, dass [(abc, abd)] Q = [(ax , by )] Q sein muss und damit x = bc und y = ad, womit die Eindeutigkeit gezeigt ist. 2 In der uns vertrauten Notation werden rationale Zahlen nicht als Paare [(a, b)] Q , sondern als Br¨ uche Z¨ahler Nenner Br¨ uche a b dargestellt. Dabei heißt a der Z¨ahler und b der Nenner des Bruches a b . 17.2 Rechenregeln in Q Die Rechenregeln A1 - 4 und M1 - 3 aus Z gelten analog auch in Q. Zudem gilt wegen Satz 17.1 die Rechenregel (M4) Multiplikatives Inverses: Zu jeder rationalen Zahl x ,= 0 existiert eine rationale Zahl y mit Multiplikatives Inverses xy = 1. Wir nennen x −1 = y das (multiplikative) Inverse von x. Aus Satz 17.1 folgt zudem f¨ ur x = a b mit a ,= 0: x −1 = b a . F¨ ur den Absolutbetrag gilt neben den Regeln ABS1 - 4 noch die Regel (ABS5) [ a b [ = |a| |b| . Die Relation ≤⊆ QQ definiert durch a b ≤ c d genau dann, wenn es x y gibt mit x ≥ 0, y ≥ 1 und a b + x y = c d legt eine totale Ordnung auf Q fest. F¨ ur diese Ordnung gelten die Regeln O1, O2+ und O2−. Bez¨ uglich dieser Ordnung ist die Menge der rationalen Zahlen im Gegensatz zur Menge der Dichtheit von QQQ ganzen Zahlen und damit auch im Gegensatz zur Menge der nat¨ urlichen Zahlen dicht, d.h. zwischen 1 Dabei benutzen wir jetzt sofort die ¨ ublichen Notationen und nicht erst aus formalen Gr¨ unden, wie im vorigen Kapitel bei der Einf¨ uhrung der ganzen Zahlen, neue Symbole. 168 KAPITEL 17. DIE MENGE DER RATIONALEN ZAHLEN zwei verschiedenen rationalen Zahlen a und c mit a ≤ c existiert immer eine von a und c verschiedene rationale Zahl b mit a ≤ b ≤ c. F¨ ur gegebene a und c braucht man nur b = a+c 2 zu w¨ahlen, denn es gilt: a = a +a 2 ≤ a +c 2 ≤ c +c 2 = c (17.3) ¨ Ubung 17.1. ¨ Uberlegen Sie, dass sogar gilt: Zwischen zwei verschiedenen rationalen Zahlen gibt es immer unendlich viele davon verschiedene rationale Zahlen. 2 17.3 Abz¨ahlbarkeit von Q Gerade in Anbetracht dieser Tatsache stellt sich nun die Frage, ob Q abz¨ahlbar ist. Denken Sie, bevor Sie weiter lesen, einen Moment ¨ uber diese Frage nach! Zu welchem Schluss sind Sie gekommen? Erstaunlicherweise l¨asst sich die Menge der rationalen Zahlen trotz ihrer Dichtheit abz¨ahlen. Satz 17.2. Q ist abz¨ahlbar. Beweis Wir betrachten zun¨achst nur eine Teilmenge von Q, n¨amlich die positiven Br¨ uche gr¨oßer 0: Q + = ¦ p q [ p, q ≥ 1 ¦. Die folgende Matrix veranschaulicht eine Abz¨ahlung von Q + . 1 2 3 4 . . . q . . . 1 1 2 4 7 ¸ ¸ ¸ 2 3 5 8 ¸ ¸ 3 6 9 ¸ 4 10 . . . p . . . Wir ¨ uberlegen uns nun eine bijektive Abbildung f : N N → N, die diese Matrix darstellt. Dabei benutzen wir, dass f¨ ur alle n ∈ N gilt (siehe Beispiel 12.1 auf Seite 115): n i=1 i = n(n + 1) 2 (17.4) In der ersten Spalte der Matrix stehen die Nummern der Paare (p, 1), p ≥ 1. 2 Diese ergeben sich – unter Verwendung von (17.4) – durch f(p, 1) = p i=1 i = p(p + 1) 2 (17.5) 2 Diese Paare entsprechen den Br¨ uchen p 1 = p, also den positiven ganzen Zahlen gr¨oßer 0. 17.3. ABZ ¨ AHLBARKEIT VON Q 169 F¨ ur q ≥ 2 gilt, dass sich die Nummer an der Stelle (p, q) in der Matrix ergibt, indem man die Nummer an der Stelle (p+1, q −1) (eine Zeile weiter und eine Spalte vorher) um 1 vermindert. F¨ ur f gilt also f(p, q) = f(p + 1, q −1) −1, q ≥ 2 Daraus ergibt sich f(p, q) = f(p + 1, q −1) −1 = f(p + 2, q −2) −2 . . . = f(p +q −1, 1) −(q −1), q ≥ 2 Mit (17.5) folgt hieraus f(p, q) = p+q−1 i=1 i −(q −1) = (p +q −1)(p +q) 2 −(q −1) f ist bijektiv und stellt somit eine Abz¨ahlung von N N dar. Die Abbildung f heißt im ¨ Ubrigen Cantorsche Paarungsfunktion Cantorsche Paarungsfunktion. Mit der Funktion g(−p, q) = −f(p, q) erh¨alt man eine Abz¨ahlung der negativen Br¨ uche durch die negativen ganzen Zahlen. Wenn wir jetzt noch der rationalen 0 die Nummer 0 zuweisen, haben wir insgesamt eine Abz¨ahlung aller Br¨ uche durch ganze Zahlen erhalten. Da die Menge der ganzen Zahlen abz¨ahlbar ist, folgt, dass auch die Menge der Br¨ uche abz¨ahlbar ist. 2 ¨ Uberlegen Sie bitte noch folgenden Aspekt: Die Funktion f z¨ahlt nicht nur alle Elemente von Q ab, sondern sogar alle Br¨ uche. Das bedeutet, dass nicht nur jeder Bruch a b eine eineindeutige Nummer bekommt, sondern auch alle Elemente qa qb , q ∈ Z − ¦0¦, der ¨ Aquivalenzklasse [(a, b)] Q (siehe (17.2) auf Seite 166), und jede dieser ¨ Aquivalenzklassen enth¨alt selbst schon unendlich viele Elemente. 170 KAPITEL 17. DIE MENGE DER RATIONALEN ZAHLEN Kapitel 18 Reelle und komplexe Zahlen In Q lassen sich l¨angst noch nicht alle Aufgabenstellungen mit praktischem Bezug l¨osen. So ist z.B. die Gleichung x 2 = 2 in Q nicht l¨osbar, d.h. dass es keine rationale Zahl a mit a 2 = 2 gibt (siehe Beispiel 4.3 auf Seite 55). Allerdings stoßen wir schon bei den rationalen Zahlen an die Grenzen derzeitiger Rechnersysteme. Kein Intervall von Q kann (wegen der Dichtheit) vollst¨andig in Rechnern dargestellt werden. Da außerdem die Konstruktion der reellen Zahlen auf der Basis der bis jetzt vorgestellten Zahlenmengen mathematische Konzepte erfordert, die außerhalb der in dieser Lehreinheit vorgestellten mathematischen Grundlagen der Informatik liegen, werden wir darauf nicht weiter eingehen. Wir sehen die reellen Zahlen als gegeben an und betrachten nur eine einzige Frage, n¨amlich die nach der Abz¨ahlbarkeit von R. In vielen Anwendungen spielen die komplexen Zahlen eine wichtige Rolle. Wir f¨ uhren diese als Paare von reellen Zahlen ein, die bestimmten Rechenregeln gen¨ ugen. Nach dem Durcharbeiten dieses Kapitels sollten Sie Lernziele • den Beweis der ¨ Uberabz¨ahlbarkeit der reellen Zahlen verstehen und nachvollziehen k¨onnen, • die Definition komplexer Zahlen nachvollziehen k¨onnen und die Rechenregeln f¨ ur komplexe Zahlen kennen, • die Polarkoordinatendarstellung von komplexen Zahlen sowie das Multiplizieren und Dividie- ren mit diesen Darstellungen verstehen. 18.1 ¨ Uberabz¨ahlbarkeit von R Zur Untersuchung dieser Frage betrachten wir R als eine Menge von Ziffernfolgen der folgenden Art: R = ¦ g, d 1 d 2 d 3 . . . [ g ∈ Z, d i ∈ ¦ 0, 1, 2, . . . , 9 ¦, i ≥ 1 ¦ (18.1) R enth¨alt alle unendlichen Dezimalzahlfolgen mit ganzzahligem Anteil: g ∈ Z ist der ganzzahlige Anteil, und d 1 d 2 d 3 . . ., d i ∈ ¦ 0, 1, 2, . . . , 9 ¦, i ≥ 1, ist die unendliche Folge von Dezimalstellen. Ohne weitere Begr¨ undung halten wir fest, dass jede reelle Zahl so dargestellt werden kann. Dabei sind die rationalen Zahlen genau diejenigen, die als periodische Dezimalbr¨ uche darstellbar sind. Beispiele 171 172 KAPITEL 18. REELLE UND KOMPLEXE ZAHLEN sind etwa der Bruch 1 2 , der als endlicher Dezimalbruch 0, 5 und dieser als periodischer Dezimalbruch 0, 49 . . . = 0, 49, 1 bzw. der Bruch 1 7 , der als periodischer Dezimalbruch 0, 142857 dargestellt werden kann. Die reellen Zahlen, die nicht rational sind, sind genau die, die als aperiodische Dezimalbr¨ uche darstellbar sind. Somit gehen wir im Folgenden von der Festlegung (18.1) aus. Satz 18.1. R ist ¨ uberabz¨ahlbar. Beweis Wir zeigen, dass die Menge der reellen Zahlen im offenen Intervall zwischen 0 und 1, das ist die Menge I = ¦ x ∈ R [ 0 < x < 1 ¦, ¨ uberabz¨ahlbar ist, woraus die ¨ Uberabz¨ahlbarkeit von R folgt. Jedes x ∈ I l¨asst sich als unendlicher Dezimalbruch schreiben: x = 0, x 1 x 2 x 3 . . . wobei die x i die Dezimalziffern von x sind, also x i ∈ ¦ 0, 1, . . . , 9 ¦ f¨ ur alle i. Wir nehmen an, dass I abz¨ahlbar ist. Dann lassen sich alle Elemente von I abz¨ahlen, etwa wie folgt: x 1 = 0, x 11 x 12 x 13 . . . x 2 = 0, x 21 x 22 x 23 . . . (18.2) x 3 = 0, x 31 x 32 x 33 . . . . . . . . . . . . Mithilfe dieser Tabelle konstruieren wir den folgenden unendlichen Dezimalbruch a = 0, a 1 a 2 a 3 . . . mit a i = _ 1, falls x ii ,= 1 2, falls x ii = 1 , f¨ ur alle i ≥ 1 (18.3) Die i-te Ziffer von a ist also 1, falls die i-te Ziffer der Zahl x i in der obigen Abz¨ahlung ungleich 1 ist. Diagonalisierung Ist diese gleich 1, dann ist die i-te Ziffer von a gleich 2. a besteht also aus einer Folge von Einsen und Zweien, die durch die ” Diagonale“ x ii , i ≥ 1, der Abz¨ahlung (18.2) bestimmt ist. Damit ist die Zahl a so konstruiert, dass sie sich von allen Zahlen x i mindestens in der i-ten Dezimalziffer unterscheidet, was die Grundlage f¨ ur den Widerspruch ist, den wir im Folgenden noch formal herleiten werden. Man nennt diese Art der Konstruktion Diagonalisierung. 2 Da a ∈ I ist, muss a in der obigen Abz¨ahlung (18.2) von I vorkommen, d.h. es muss ein k geben mit a = x k . Betrachten wir die k-te Ziffer a k dieser Zahl. Nach Definition (18.3) von a gibt es zwei F¨alle: a k = 1 oder a k = 2. (1) Sei a k = 1, dann ist wegen der Definition von a: x kk ,= 1. Damit ist aber a ,= x k . 1 Die Periode, d.h. die sich unendlich oft wiederholenden endlich vielen Dezimalstellen werden durch einen ¨ Uber- strich gekennzeichnet. 2 Das Konzept der Diagonalisierung geht auf Georg Cantor zur¨ uck. Dieses Konzept haben wir bereits im Beispiel 11.3 b) verwendet um zu zeigen, dass die Potenzmenge von N ¨ uberabz¨ahlbar ist. Cantor hat im Vergleich zu Satz 18.1 eine umfassendere Behauptung gezeigt: Zu jeder unendlichen Folge von unendlichen Dezimalzahlen existiert mindestens eine weitere unendliche Dezimalzahl, die in dieser Folge nicht vorkommt. 18.2. KOMPLEXE ZAHLEN 173 (2) Sei a k = 2, dann ist wegen der Definition von a: x kk = 1, also ungleich 2. Damit ist auch hier a ,= x k . Wir erhalten also in beiden F¨allen einen Widerspruch: F¨ ur jedes k gilt, dass a k ,= x kk und damit a ,= x k ist. Unsere Annahme, dass I abz¨ahlbar ist, ist also falsch. 2 W¨ahrend die Menge der ganzen Zahlen und, wie wir gesehen haben, sogar die Menge der ra- tionalen Zahlen gleichm¨achtig zur Menge der nat¨ urlichen Zahlen sind, stellt die Menge der reellen Zahlen eine neue Qualit¨at in Bezug auf ihre M¨achtigkeit im Vergleich zu den anderen Zahlenmen- gen dar. Man kann im ¨ Ubrigen zeigen, dass die Menge der reellen Zahlen und die Potenzmenge der Menge der nat¨ urlichen Zahlen gleichm¨achtig sind. ¨ Ubung 18.1. ¨ Uberlegen Sie, wie man eine Bijektion zwischen diesen beiden Mengen definieren k¨onnte! 2 Die Menge der reellen Zahlen erf¨ ullt alle bisher aufgelisteten Regeln A1 - 4, M1 - 4, D1 - 2, ABS1 - 5 sowie O1, O2+ und O2−. 18.2 Komplexe Zahlen In R k¨onnen wir nun Gleichungen der Art x 2 = a mit a ≥ 0 l¨osen: Die L¨osungen x = ± √ a sind reelle Zahlen. Die Gleichungen x 2 = −a mit a > 0 besitzen allerdings keine L¨osungen in der Menge R, denn es gibt keine reelle Zahl b mit der Eigenschaft b 2 = −a. Um Gleichungen dieser Art zu l¨osen, f¨ uhrt man die sogenannte imagin¨are Zahl i ein, und zwar durch die sie definierende Eigenschaft Imagin¨are Zahl i 2 = −1. Mit dieser Zahl und der Menge der reellen Zahlen definieren wir die Menge der komplexen Zahlen als C = ¦ a +bi [ a, b ∈ R¦ Anstelle von a+bi notiert man auch a+ib. Re(z) = a heißt Realteil und Im(z) = b heißt Imagin¨arteil Realteil Imagin¨arteil der komplexen Zahl z = a +bi. z = a −bi heißt die zu z konjugierte komplexe Zahl. Konjugierte Die obige Gleichung x 2 = −a mit a ∈ R und a > 0 besitzt in C die L¨osung c = i √ a. Es gilt Re(c) = 0 und Im(c) = √ a. Allgemein gilt der sogenannte Fundamentalsatz der Algebra, den wir ohne Beweis angeben, da dieser mathematische Kenntnisse verlangt, die nicht innerhalb dieses Kurses behandelt werden. Fundamentalsatz der Algebra Jede Gleichung a n x n +a n−1 x n−1 +. . . a 1 x +a 0 = 0 mit a i ∈ C, 0 ≤ i ≤ n, besitzt eine L¨osung in C. 2 Wir k¨onnen komplexe Zahlen a +ib als Paare (a, b) reeller Zahlen betrachten, dabei sei (a, b) = (a, −b) die Konjugierte zu (a, b). Die Paare (a, 0) entsprechen genau den reellen Zahlen. Auf Paaren definieren wir eine Addition und eine Multiplikation wie folgt: Rechenoperationen f¨ ur komplexe Zahlen (a, b) + (c, d) = (a +c, b +d) (18.4) (a, b) (c, d) = (ac −bd, bc +ad) (18.5) 174 KAPITEL 18. REELLE UND KOMPLEXE ZAHLEN Das Rechnen in der neuen Menge C wird also mit den Elementen der bekannten Menge R und den dort bekannten Rechenoperationen eingef¨ uhrt. Wir gehen hier also genauso wie in den vorherigen Kapiteln vor, in denen wir mit bekannten Zahlen und darauf definierten Rechenoperationen neue Zahlen und neue Rechenoperationen eingef¨ uhrt haben. Verifizieren Sie, dass die beiden Definitionen (18.4) und (18.5) auf den Paaren (a, 0) genau der Addition bzw. der Multiplikation reeller Zahlen entspricht. Die Rechenstruktur der reellen Zahlen ist also ein Teil der Rechenstruktur der komplexen Zahlen. Insofern kann C als Erweiterung von R aufgefasst werden. Die Addition zweier komplexer Zahlen ist also durch die Addition der beiden Real- sowie der beiden Imagin¨arteile festgelegt. Wir wollen die Definition der Multiplikation verifizieren: Es gilt (a +bi) (c +di) = ac +adi +cbi +bdi 2 = (ac −bd) + (bc +ad)i womit Real- und Imagin¨arteil des Produktes gleich dem Ergebnispaar der Definition (18.5) sind. Rechnen Sie nun nach, dass die Addition und die Multiplikation komplexer Zahlen die Rechen- Rechenregeln f¨ ur CCC regeln A1 - 2, M1 - 2 und D1 - 2 erf¨ ullen! Rechnen Sie auch nach, dass (0, 1) (0, 1) = (−1, 0) gilt, was der definierenden Eigenschaft i 2 = −1 der imagin¨aren Zahl entspricht. Rechnen Sie des Weiteren nach, dass (a, b) (a, b) = (a 2 +b 2 , 0) (18.6) gilt sowie dass f¨ ur z, z 1 , z 2 ∈ C die folgenden Beziehungen gelten: z = z (18.7) z 1 +z 2 = z 1 +z 2 (18.8) z 1 z 2 = z 1 z 2 (18.9) _ z 1 z 2 _ = z 1 z 2 (18.10) ¨ Ubung 18.2. ¨ Uberlegen Sie sich, welche komplexen Zahlen das neutrale Element der Addition bzw. das neutrale Element der Multiplikation sind, und bestimmen Sie das additive Inverse sowie das multiplikative Inverse zu einer komplexen Zahl z! 2 Nun, das neutrale Element der Addition (x, y) muss die Bedingung Neutrale Elemente (a, b) + (x, y) = (a, b) erf¨ ullen. Aus der Definition (18.4) folgt unmittelbar, dass nur (x, y) = (0, 0) 3 diese Bedingung erf¨ ullt. Das neutrale Element (x, y) der Multiplikation muss die Bedingung (a, b) (x, y) = (a, b) 3 (0, 0) entspricht der 0 in R. 18.2. KOMPLEXE ZAHLEN 175 erf¨ ullen. Ausrechnen gem¨aß (18.5) ergibt das Gleichungssystem ax −by = b bx −ay = a F¨ ur (a, b) ,= (0, 0) ergeben sich die L¨osungen x = 1 und y = 0. (1, 0) 4 ist also das neutrale Element der Multiplikation in C. F¨ ur das additive Inverse (x, y) zur Zahl (a, b) muss gelten: (a, b) + (x, y) = (0, 0). Aus (18.4) Additives Inverses folgt unmittelbar, dass x = −a und y = −b sein muss. Es gilt also: −(a, b) = (−a, −b). Nun wollen wir noch das multiplikative Inverse (x, y) zur Zahl (a, b) ,= (0, 0) bestimmen. Es Multiplikatives Inverse muss gelten: (a, b) (x, y) = (1, 0). Wir erhalten das Gleichungssystem ax −by = 1 bx −ay = 0 Multiplikation der ersten Gleichung mit a und der zweiten Gleichung mit b und anschließende Addition der beiden Gleichungen liefert die Gleichung (a 2 +b 2 )x = a woraus x = a a 2 +b 2 folgt. Durch Einsetzen dieses Wertes in die zweite Gleichung erhalten wir y = −b a 2 +b 2 Wir haben also berechnet, dass (a, b) −1 = _ a a 2 +b 2 , −b a 2 +b 2 _ das multiplikative Inverse von (a, b) ,= (0, 0) ist. ¨ Ubung 18.3. Rechnen Sie zur Probe nach, dass (a, b) (a, b) −1 = (1, 0) gilt! 2 Wir wollen jetzt noch den komplexen Zahlen einen reellen Wert zuweisen. Dabei gehen wir von einer geometrischen Vorstellung aus: Wir betrachten die komplexen Zahlen (x, y) als Punkte im zweidimensionalen kartesischen Koordinatensystem. Wir ordnen der Zahl z = (x, y) als Betrag [z[ den (euklidischen) Abstand des Punktes (x, y) vom Ursprung (0, 0) zu. ” Nach Pythagoras“ ergibt sich Betrag |z| einer komplexen Zahl [z[ = _ x 2 +y 2 (18.11) ¨ Ubung 18.4. Rechnen Sie nach, dass f¨ ur z, z 1 , z 2 ∈ C folgende Beziehungen gelten: [z 1 +z 2 [ ≤ [z 1 [ +[z 2 [ [z 1 z 2 [ ≤ [z 1 [ [z 2 [ [z[ 2 = z z 176 KAPITEL 18. REELLE UND KOMPLEXE ZAHLEN 2 Man kann Punkte (x, y) und damit komplexe Zahlen z = x + iy im zweidimensionalen Raum auch durch Polarkoordinaten darstellen, n¨amlich durch den Abstand r = [z[ dieses Punktes vom Polarkoordinaten Ursprung (0, 0) und durch den Winkel α zwischen der x-Achse und der Strecke vom Ursprung zum Punkt (x, y). Die Polarkoordinaten der komplexen Zahl z = x + iy sind also gegeben durch das Paar (r, α). r heißt – wie schon bekannt – der Betrag, und der Winkel α heißt Argument von z. Argument einer komplexen Zahl Da f¨ ur jeden Winkel α f¨ ur k ≥ 0 die Punkte (r, α + 2kπ) identisch sind, schr¨ankt man den Winkel α ein auf das Intervall −π < α ≤ π. Damit ist die Darstellung (r, α) der Zahl z eindeutig. Dieses Argument α einer komplexen Zahl z heißt dann ihr Hauptargument. Hauptargument einer kom- plexen Zahl Mithilfe des Hauptargumentes α und der Winkelfunktionen cos und sin k¨onnen wir Real- und Imagin¨arteil einer komplexen Zahl z = x +iy ausdr¨ ucken, denn es gilt cos α = x r und sinα = y r und damit Re(z) = x = r cos α bzw. Im(z) = y = r sinα Damit erhalten wir als weitere Darstellung der komplexen Zahl z = x +iy: z = r(cos α +i sinα) mit r = _ x 2 +y 2 und α = _ +arccos x r , y ≥ 0 −arccos x r , y < 0 Wir wollen komplexe Zahlen mithilfe ihrer Polarkoordinatendarstellungen multiplizieren und divi- dieren. F¨ ur z 1 = r 1 (cos α 1 +i sinα 1 ) und z 2 = r 2 (cos α 2 +i sinα 2 ) gilt mithilfe der Additionsgesetze der Winkelfunktionen: z 1 z 2 = r 1 r 2 (cos α 1 cos α 2 −sinα 1 sinα 2 +i (cos α 1 sinα 2 + sinα 1 cos α 2 )) = r 1 r 2 (cos(α 1 +α 2 ) +i sin(α 1 +α 2 )) Analog erh¨alt man f¨ ur z 2 ,= 0: z 1 z 2 = r 1 r 2 (cos(α 1 −α 2 ) +i sin(α 1 −α 2 )) Aus der Formel f¨ ur die Multiplikation folgt unmittelbar eine Formel f¨ ur die Potenzierung einer komplexen Zahl z = r(cos α +i sinα): z n = r n (cos(nα) +i sin(nα)) Hieraus k¨onnen wir eine Formel f¨ ur die n-te Wurzel einer komplexen Zahl z herleiten. Dazu sei Wurzeln komplexer Zahlen 4 (1, 0) entspricht der 1 in R. 18.2. KOMPLEXE ZAHLEN 177 z = r(cos α +i sinα) und y = ρ(cos β +i sinβ) mit y n = z, d.h. mit r(cos α +i sinα) = ρ n (cos(nβ) +i sin(nβ)) Daraus folgt, dass ρ = n √ r sowie cos α = cos(nβ) und sinα = sin(nβ) sein m¨ ussen. Dabei k¨onnen sich die Winkel α und nβ nur um Vielfache von 2π unterscheiden. Es gilt also β = α n + 2kπ n f¨ ur k ∈ Z Damit ergibt sich insgesamt n √ z = n √ r _ cos _ α n + 2kπ n _ +i sin _ α n + 2kπ n __ , k ∈ Z ¨ Ubung 18.5. ¨ Uberlegen Sie, was dies geometrisch bedeutet! Wo befinden sich die n-ten Wurzeln in der komplexen Ebene? 2 Geometrisch bedeutet dies, dass die n-ten Wurzeln einer komplexen Zahl z auf einem Kreis um den Ursprung mit dem Radius n √ r mit dem Abstand 2π n liegen. Es reicht also eine Wurzel zu bestimmen, die anderen ergeben sich durch n −1 Drehungen dieses Punktes um 2π n . Die n-ten Wurzeln der komplexen Zahl z = 1 heißen Einheitswurzeln. Sie liegen auf dem Ein- Einheitswurzeln heitskreis und haben die Polarkoordinaten (1, cos 2kπ n ), k ∈ Z. 178 KAPITEL 18. REELLE UND KOMPLEXE ZAHLEN Kapitel 19 Zusammenfassung und ¨ Ubungen 19.1 Zusammenfassung Nat¨ urliche Zahlen sind ein Beispiel f¨ ur eine Z¨ahlstruktur. Z¨ahlstrukturen werden durch die Peano- Axiome festgelegt: Eine Z¨ahlstruktur enth¨alt ein kleinstes Element, mit dem das Z¨ahlen beginnt, und verschiedene Elemente stehen f¨ ur verschiedene Anzahlen. Das Induktionsaxiom legt zudem fest, wie gezeigt wird, dass eine Eigenschaft, die f¨ ur eine Teilmenge der nat¨ urlichen Zahlen zutrifft, auf alle nat¨ urlichen Zahlen zutrifft. Aufgrund der rekursiven Struktur der nat¨ urlichen Zahlen lassen sich alle arithmetischen Opera- tionen jeweils rekursiv und schrittweise aufeinander aufbauend festlegen, und mithilfe vollst¨andiger Induktion lassen sich die bekannten arithmetischen Rechenregeln nachweisen. Die nat¨ urlichen Zahlen sind abgeschlossen gegen¨ uber Addition und Multiplikation, d.h. die Ad- dition bzw. die Multiplikation zweier nat¨ urlicher Zahlen ist wieder eine nat¨ urliche Zahl. Subtraktion und Division hingegen sind nur eingeschr¨ankt m¨oglich, ihr Ergebnis muss keine nat¨ urliche Zahl sein. Die Menge der nat¨ urlichen Zahlen ist die Referenzmenge f¨ ur die Abz¨ahlbarkeit von Mengen. Jede Menge, die bijektiv auf die Menge der nat¨ urlichen Zahlen abgebildet werden kann, ist abz¨ahlbar. Die Elemente einer abz¨ahlbaren Menge k¨onnen eineindeutig nummeriert werden. Mithilfe einer Diagonalisierung kann gezeigt werden, dass eine Menge nicht abz¨ahlbar sein kann. Die ganzen Zahlen k¨onnen mithilfe einer ¨ Aquivalenzrelation ¨ uber Paare von nat¨ urlichen Zahlen eingef¨ uhrt werden. Die in der Menge der ganzen Zahlen abgeschlossenen Operationen Addition, Subtraktion und Multiplikation werden als Verkn¨ upfungen der entsprechenden ¨ Aquivalenzklassen eingef¨ uhrt. Dabei werden diese Operationen – auch die Subtraktion – alleine durch die Addition und die Multiplikation nat¨ urlicher Zahlen definiert. Die Addition und die Multiplikation auf den positiven ganzen Zahlen stimmt dabei mit der Addition und der Multiplikation der entsprechenden nat¨ urlichen Zahlen ¨ uberein. Insofern k¨onnen die ganzen Zahlen als Erweiterung der nat¨ urlichen Zahlen betrachtet werden, in der nun auch die Subtraktion abgeschlossen ist. Diese Erweiterung kann mithilfe des Isomorphiebegriffs mathematisch beschrieben werden. Die Menge der ganzen Zahlen ist abz¨ahlbar. Die rationalen Zahlen k¨onnen mithilfe einer ¨ Aquivalenzrelation ¨ uber Paare von ganzen Zahlen eingef¨ uhrt werden. Die in der Menge der rationalen Zahlen abgeschlossenen Operationen Addition, Subtraktion, Multiplikation und Division werden als Verkn¨ upfungen der entsprechenden ¨ Aquiva- 179 180 KAPITEL 19. ZUSAMMENFASSUNG UND ¨ UBUNGEN lenzklassen eingef¨ uhrt. Dabei werden diese Operationen – auch die Division – alleine durch Addition, Subtraktion und Multiplikation ganzer Zahlen definiert. Addition, Subtraktion und Multiplikation auf den rationalen Zahlen mit Nenner 1 stimmen dabei mit Addition, Subtraktion und Multi- plikation der entsprechenden ganzen Zahlen ¨ uberein. Insofern k¨onnen die rationalen Zahlen als Erweiterung der ganzen Zahlen betrachtet werden, in der nun auch die Division abgeschlossen ist. Diese Erweiterung kann mithilfe des Isomorphiebegriffs mathematisch beschrieben werden. Die Menge der rationalen Zahlen ist dicht, d.h. zwischen zwei verschiedenen Zahlen liegt immer eine weitere von diesen verschiedene Zahl, und damit liegen zwischen zwei verschiedenen rationalen Zahlen unendlich viele weitere rationale Zahlen. Trotz dieser Eigenschaft ist die Menge der rationalen Zahlen abz¨ahlbar. Die Menge Q der rationalen Zahlen ist genau die Menge, die sich durch periodische Dezimal- br¨ uche darstellen l¨asst. Zusammen mit den Zahlen, die sich als aperiodische Dezimalbr¨ uche darstel- len lassen, entsteht die Menge R der reellen Zahlen. R enth¨alt also alle unendlichen Dezimalbr¨ uche. R ist ¨ uberabz¨ahlbar. Die Erweiterung der reellen Zahlen um die imagin¨are Zahl i als L¨osung der Gleichung x 2 = −1 f¨ uhrt zur Menge der reellen Zahlen C = ¦ a + bi [ a, b ∈ R¦. Eine komplexe Zahl z = a + bi l¨asst sich als Punkt (a, b) im zweidimensionalen kartesischen Raum R R interpretieren. Daraus ergibt sich eine weitere Darstellung komplexer Zahlen, die f¨ ur viele Anwendungen von Bedeutung ist: die Darstellung in Polarkoordinaten (r, α). Denn es ist z = r(cos α+i sinα) mit r = [z[ = √ a 2 +b 2 der Abstand des Punktes (a, b) vom Ursprung (0, 0), und α ist der Winkel zwischen der x-Achse und der Strecke vom Ursprung zum Punkt (a, b). 19.2 ¨ Ubungen 1. Beweisen Sie, dass die Relation ≤⊆ N 0 N 0 definiert durch x ≤ y genau dann, wenn ∃d ∈ N 0 : x +d = y eine totale Ordnung auf N 0 festlegt! 2. Untersuchen Sie, ob Differenz und Division kommutative oder assoziative Operationen sind! 3. Es sei die Menge A abz¨ahlbar, B eine weitere Menge und g : B →A eine bijektive Abbildung. Zeigen Sie, dass dann auch B abz¨ahlbar ist! 4. Zeigen Sie: Eine Menge M ist genau dann abz¨ahlbar, wenn es eine Teilmenge N ⊆ N 0 und eine bijektive Funktion f : M →N gibt. 5. Sei Σ ein nicht leeres Alphabet. Zeigen Sie, dass Σ ∗ abz¨ahlbar ist! 6. Sei Σ ein nicht leeres Alphabet. Zeigen Sie, dass T(Σ ∗ ), die Menge aller Sprachen ¨ uber Σ, ¨ uberabz¨ahlbar ist! 7. Verifizieren Sie, dass die beiden Definitionen (18.4) und (18.5) auf den Paaren (a, 0) genau der Addition bzw. der Multiplikation reeller Zahlen entspricht! 8. Rechnen Sie nach, dass die Addition und die Multiplikation komplexer Zahlen die Rechenre- geln A1 - 2, M1 - 2 und D1 - 2 erf¨ ullen! 19.2. ¨ UBUNGEN 181 9. Rechnen Sie nach, dass f¨ ur die komplexen Zahlen (1, 0) und (−1, 0) gilt: (0, 1)(0, 1) = (−1, 0). 10. Rechnen Sie, dass f¨ ur die komplexe Zahl (a, b) gilt: (a, b) (a, b) = (a 2 +b 2 , 0). 11. Zeigen Sie, dass f¨ ur z, z 1 , z 2 ∈ C die folgenden Beziehungen gelten: (1) z = z, (2) z 1 +z 2 = z 1 +z 2 , (3) z 1 z 2 = z 1 z 2 , (4) _ z1 z2 _ = z1 z2 . 182 KAPITEL 19. ZUSAMMENFASSUNG UND ¨ UBUNGEN Literaturhinweise [1] Aigner, M., Behrends, E. (Hrsg.): Alles Mathematik - Vom Pythagoras zum CD-Player, 2. Auflage; Vieweg, Braunschweig/Wiesbaden 2002 [2] Aigner, M., Ziegler, G. M.: Proofs from THE BOOK, Third Edition; Springer, Ber- lin/Heidelberg/New York, 2004 [3] Appell, K., Appell, J.: Mengen – Zahlen – Zahlbereiche, Eine elementare Einf¨ uhrung in die Mathematik; Spektrum Akademischer Verlag, M¨ unchen, M¨ unchen, 2005 [4] Bartholome, A., Jung, J., Kern, H.: Zahlentheorie f¨ ur Einsteiger, 5. Auflage; Vieweg, Braunschweig/Wiesbaden 2006 [5] Beutelspacher, A.: ” In Mathe war ich immer schlecht . . . “, 3. Auflage; Vieweg, Braun- schweig/Wiesbaden 2001 [6] Beutelspacher, A.: Survival-Kit Mathematik; Vieweg, Wiesbaden 2011 [7] Beutelspacher, A., Zschiegner, M.-A.: Diskrete Mathematik f¨ ur Einsteiger, 2. Auflage; Vieweg, Braunschweig/Wiesbaden, 2004 [8] Brill, M.: Mathematik f¨ ur Informatiker; Hanser, M¨ unchen, 2001 [9] Dassow, J.: Logik f¨ ur Informatiker; Teubner, Wiesbaden, 2005 [10] D¨orfler, W., Peschek,W.: Einf¨ uhrung in die Mathematik f¨ ur Informatiker; Hanser, M¨ unchen, 1988 [11] Enzensberger, H. M.: Der Zahlenteufel - Ein Kopfkissenbuch f¨ ur alle, die Angst vor der Mathematik haben; Hanser, M¨ unchen, 1997 [12] Haggarty, R.: Diskrete Mathematik f¨ ur Informatiker; Pearson Studium, M¨ unchen [13] Hartmann, P.: Mathematik f¨ ur Informatiker, 4. Auflage; Vieweg, Braunschweig/Wies- baden, 2006 [14] Schubert, M.: Mathematik f¨ ur Informatiker; Vieweg+Teubner, Wiesbaden, 2009 [15] Stingl, P.: Mathematik f¨ ur Fachhochschulen - Technik und Informatik; Hanser, M¨ unchen, 1996 [16] Waismann, E.: Einf¨ uhrung in das mathematische Denken; Wissenschaftliche Buchgesell- schaft, Darmstadt, 1996 183 Index Abbildung, 88 Abgeschlossenheit, 103, 153 Ableitung logische, 24 Ableitungsregel, 24 Abschw¨achung einer Nachbedingung, 23 Absolutbetrag, siehe Betrag ganzer Zahlen Absorption, 27 Abz¨ahlbarkeit, 105, 163 von Q, 160 von Z, 155 Ackermannfunktion, 116, 134 Addition ganzer Zahlen, 152 komplexer Zahlen, 165 nat¨ urlicher Zahlen, 102 ¨ Aquivalenz aussagenlogische, 26 ¨ Aquivalenzklasse, 82 ¨ Aquivalenzrelation, 82 Allgemeing¨ ultigkeit, 20 Alphabet, 13, 121 Antinomie Russellsche, 11 Argument komplexer Zahlen, 168 Assoziativgesetz der Addition, 103 der Multiplikation, 103 Assoziativit¨at, 27 Ausdruck arithmetischer, 143 aussagenlogischer, siehe aussagenlogische For- mel Ausgangsmenge einer Funktion, 88 einer Relation, 79 Aussagenlogik, 13 Bag, siehe Multimenge Basis aussagenlogische, 29 Boolesche, 30 De Morgan-, 30 Frege-, 30 NAND-, 30 NOR-, 30 Belegung, 16, 20 Berechenbarkeitskonzepte, 136 Bernoullische Ungleichung, 110 Betrag ganzer Zahlen, 154 komplexer Zahlen, 167, 168 Beweis direkter, 47 durch Ringschluss, 50 durch Widerspruch, 49 indirekter, 48 Beweismethode, 22, 47 Bijunktion, 19 Boolesche Algebra, 61 Br¨ uche, 159 Buchstabe, 121 Churchsche These, 134 De Morgansche Regeln, 27 Dedekindtripel, 100 Deduktion, 36 Deduktionstheorem, 23 Definitionsbereich, 88 Diagonalisierung, 106, 164 Dichtheit von Q, 159 Differenz, 55 nat¨ urlicher Zahlen, 103 184 INDEX 185 symmetrische, 55 Disjunktion, 18 Distributivgesetz, 103 verallgemeinertes, 104 Distributivit¨at, 27 Doppelte Negation, 27 Dreiecksungleichung, 154 Dualit¨atsprinzip Boolescher Algebren, 63 der Aussagenlogik, 30 Durchschnitt, 55 Einheitswurzeln, 169 Einselement, 61 Element, 6 Erf¨ ullbarkeit, 20 Exklusives Oder, 19 Fibonacci-Folge, 114 Folgerung logische, 21 semantische, 24 syntaktische, 24 Formel atomare, 15, 40 aussagenlogische, 14 geschlossene, 41 pr¨adikatenlogische, 40 zusammengesetzte, 15 Fundamentalsatz der Algebra, 165 Funktion, 87 bijektive, 88 eineindeutig, siehe bijektive Funktion injektive, 88 konstante, 89 linkseindeutige, siehe injektive Funktion µ-rekursive, 131 partiell berechenbare, 134 primitiv-rekursive, 126 surjektive, 88 totale, 88 universelle, siehe Universelle Funktion G¨odelisierung, 138 Ganze Zahlen, 151 Gleichm¨achtigkeit, 105 Goldener Schnitt, 115 Grundmenge, 42 einer Relation, 79 H¨ ulle reflexiv-transitive, 86 transitive, 86 Hauptargument komplexer Zahlen, 168 Idempotenz, 27 Imagin¨are Zahl, 165 Imagin¨arteil, 165 Implikation, 23 Index einer ¨ Aquivalenzrelation, 82 Induktion, 16 vollst¨andige, 107 Induktionsanfang, 107, 119 Induktionsannahme, 107 Induktionsaxiom, 100 Induktionsbehauptung, 107 Induktionsschritt, 107, 119 Induktionsvoraussetzung, siehe Induktionsannah- me Inferenzregel, 24 Infix, 122 Interpretation, 16 Interpreter, 18 Inverses additives, 154, 167 multiplikatives, 158, 159, 167 Isomorphie, 100 Isomorphismus, 65, 153 Kalk¨ ul logischer, 25 Resolutions-, 31 Kardinalit¨at, siehe Menge Kettenschluss, 23, 25 Klausel, 31 Klauselmenge, 31 Kleene-Stern-Produkt, 123 Kommutativgesetz der Addition, 103 der Multiplikation, 103 Kommutativit¨at, 27 Komplement 186 INDEX einer Menge, 55 Komplexe Zahlen, 165 Komponente, 78 Komposition von Funktionen, 126 von Relationen, 85 Konjugiert komplexe Zahlen, 165 Konjunktion, 18 Konkatenation, 121 von Sprachen, 122 von W¨ortern, 121 Konstante aussagenlogische, 16 Konstantenbezeichner aussagenlogischer, 14 Kontradiktion, 20 Korrektheit, 25 L¨osungsmenge eines Pr¨adikats, 90 Literal, 15 Maschine abstrakte, 16 Mathematischer Satz, 47 Menge abz¨ahlbare, 105 aufz¨ahlende Darstellung einer, 8 beschreibende Darstellung einer, 9 Definition der, 5 dichte, 81 endliche, 10 geordnete, 81 Kardinalit¨at einer, 10 leere, 6 ¨ uberabz¨ahlbare, 105 unendliche, 10 Mengen disjunkte, 55 elementfremde, 55 Mengendefinition Cantorsche, 5 Mengengleichheit, 54 Modell, 20 Modus ponens-Regel, 23, 25 Modus tollens-Regel, 25 Monotonieregeln, 103, 154 Multimenge, 8 Multiplikation ganzer Zahlen, 152 komplexer Zahlen, 165 nat¨ urlicher Zahlen, 102 Multiplikationssymbol, 104 NAND, 28 Nachfolgerfunktion, 100, 126 Negation, 18, 27 Nenner, 159 Neutrales Element der Addition, 103, 166 der Multiplikation, 103, 166 NOR, 28 Normalform aussagenlogische, 28 disjunktive, 30 konjunktive, 30 Null, 100 Nullelement, 61 Nullfunktion, 126 Nullrelation, 79 Nummerierung der partiell berechenbaren Funktionen, 139 Obermenge, 54 Oder-Verkn¨ upfung, siehe Disjunktion Operanden, 89 Operationen, 89 Operatoren, 89 Ordnung alphabetische, 121 lexikographische, 122 partielle, 81 totale, 81 Paar, 78 Paarungsfunktion, 161 Paradoxon, 12 Partition, 59 feinste, 84 gr¨obste, 84 Peano-Axiome, 100 Polarkoordinaten, 168 Postfix, 122 Potenz INDEX 187 von Sprachen, 123 von W¨ortern, 121 Potenzmenge, 55 Pr¨adikat, 89 Pr¨adikatenlogik, 39 Pr¨afix, 122 Problem, 125 Problemspezifikation, 125 Produkt kartesisches, 78 Programmiersprache, 18, 139 Programmierung funktionale, 113 Projektion, 126 Quadrupel, 78 Quintupel, 78 Rationale Zahlen, 157 Realteil, 165 Rechenregeln f¨ ur ganze Zahlen, 154 f¨ ur komplexe Zahlen, 166 f¨ ur nat¨ urliche Zahlen, 103 f¨ ur rationale Zahlen, 159 Reductio ad absurdum-Regel, 25 Reelle Zahlen, 163 Rekursion, 111 µ-, 131 primitive, 127 Rekursionschema verallgemeinertes, 119 Relation antisymmetrische, 80 asymmetrische, 80 bijektive, 80 identische, 79, 84 injektive, 80 irreflexive, 80 linkseindeutige, 80 linkstotale, 80 n-stellige, 78 rechtseindeutige, 80, 87 rechtstotale, 80 reflexive, 80 surjektive, 80 symmetrische, 80 totale, 80 transitive, 80 vollst¨andige, 79 Repr¨asentant einer ¨ Aquivalenzklasse, 82 Resolution, 32 Resolutionsgraph, 37 Resolutionslemma, 33 Resolutionssatz der Aussagenlogik, 35 Resolutionsverfahren, 36 Resolvente, 32 Restklasse, 83 Schnittmenge, 55 Semantik, 13 der Aussagenlogik, 16 der Pr¨adikatenlogik, 42 smn-Theorem, 140 Sprache, 13 formale, 13, 122 Subjunktion, 19 Subtraktion ganzer Zahlen, 152 nat¨ urlicher Zahlen, 103 Suffix, 122 Summationssymbol, 104 Symbol, 121 Syntax, 13 der Aussagenlogik, 14 der Pr¨adikatenlogik, 40 Tautologie, 20 Tautologieregeln, 27 Teilmenge, 54 echte, 54 Term pr¨adikatenlogischer, 40 Theorem, siehe Mathematischer Satz Tripel, 78 Tupel, 78 ¨ Uberabz¨ahlbarkeit, 105 der Potenzmenge von N, 105 von R, 163 ¨ Uberdeckung disjunkte, siehe Partition 188 INDEX Umkehrfunktion, 88 Umkehrrelation, 85 Und-Verkn¨ upfung, siehe Konjunktion Unerf¨ ullbarkeit, 20 Unerf¨ ullbarkeitsregeln, 27 Universelle Fuktion, 139 Universum, siehe Grundmenge Untermenge, 54 utm-Theorem, 139 Variable aussagenlogische, 14 freie, 41 gebundene, 41 Vereinigung, 55 Versch¨arfung einer Vorbedingung, 23 Vollst¨andigkeit, 25 Wahrheitstafel, 18 Wahrheitswerte, 16 Wertebereich, 88 Widerspruch, 20 Widerspruchsfreiheit, 25 W¨orter, 121 Wort leeres, 121 Wortl¨ange, 122 Wurzel komplexer Zahlen, 168 Z¨ahler, 159 Z¨ahlstruktur, 100 Zahlen ganze, 151 imagin¨are, 165 komplexe, 165 konjugiert komplexe, 165 nat¨ urliche, 99 rationale, 157 reelle, 163 Zahlenmengen, 10, 149 Zerlegung disjunkte, siehe Partition Zielmenge einer Funktion, 88 einer Relation, 79