Creative Commons Namensnennung - Nicht kommerziell -Keine Bearbeitungen 4.0 International Lizenz Mathematik-Vorkurs für Informatiker Christian Eisentraut und Julia Krämer www.vorkurs-mathematik-informatik.de 13. September 2015 Das Werk “Mathematik-Vorkurs für Informatiker” erstellt von Christian Eisentraut und Julia Krämer (www.vorkurs-mathematik-informatik.de) ist inklusive aller darin vorkommenden Texte und Bilder lizenziert unter einer Creative Commons Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International Lizenz. Weitere Informationen erhalten Sie unter: http://creativecommons.org/licenses/by-nc-nd/ 4.0/ Die aktuelle Version des Skripts, verschiedene zum Skript passende Übungsblätter (größtenteils mit Lösungen), Hinweise zum Skript selbst sowie weitergehende Literatur finden Sie unter unter www.vorkurs-mathematik-informatik.de. Außerdem finden Sie dort einen Überblick über alle wichtigen Begriffe und Fähigkeiten, die Sie mithilfe dieses Skriptes und vor allem der Übungen lernen sollen. Für Fragen und Anmerkungen zum Skript, verwenden Sie das Kontaktformular auf der Homepage Inhaltsverzeichnis Vorwort i Ziele des Vorkurses v 1 Sprachen 1.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 15 2 Logik 2.1 Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Aussagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.4 Gesetze der Aussagenlogik . . . . . . . . . . . . . . . . . . 2.2 Prädikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 All- und Existenzquantoren – intuitiv . . . . . . . . . . . . 2.2.3 Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Logische Gleichheit von prädikatenlogischen Ausdrücken . . . . . . . . . . 19 20 20 22 25 38 41 43 44 48 58 3 Schließen und Beweisen 3.1 Schlussregeln . . . . . . . . . . . . . . . . . . 3.2 “Definition, Satz, Beweis” – Begrifflichkeiten 3.3 Schließen und Beweisen . . . . . . . . . . . . 3.4 Schlussregeln des Beweisens . . . . . . . . . 3.5 Beispiele für einfache Beweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 64 68 70 71 90 4 Mengen 4.1 Schreibweisen von Mengen . . . . . . . . . 4.2 Wichtige Prädikate über Mengen . . . . . . 4.3 Kardinalität oder Mächtigkeit von Mengen 4.4 Potenzmenge . . . . . . . . . . . . . . . . . 4.5 Produktmenge . . . . . . . . . . . . . . . . . 4.6 Mengenoperationen . . . . . . . . . . . . . 4.7 Probleme der Mengenlehre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 95 96 102 103 107 108 111 5 Relationen 5.1 Darstellung von Relationen . . . . . . . . 5.2 Eigenschaften von binären Relationen R 5.3 Relationskomposition . . . . . . . . . . . 5.4 Alternative Definitionen . . . . . . . . . . 5.5 Kardinalität unendlicher Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 117 118 126 127 128 . . . . . 6 Induktion 131 6.1 Die Idee der wohlfundierten Induktion . . . . . . . . . . . . . . . . 131 3 Inhaltsverzeichnis 4 6.2 Wohlfundierte Induktion . . . . . . . . . . . . . . . . . . . . . . . . 133 6.3 Induktive Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.4 Natürliche Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Stichwortverzeichnis Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 145 Vorwort Endlich ist es soweit: Sie studieren Informatik! Endlich werden Sie alles erfahren, was sie jemals über Smartphones, Android, Google und Facebook wissen wollten. Aber leider scheint das nicht so ganz zu stimmen: Sie sitzen hier, im Mathematischen Vorkurs. “Na toll”, werden Sie sich vielleicht fragen, “warum um alles in der Welt brauche ich jetzt einen mathematischen Vorkurs, wo ich doch mindestens 12 Jahre lang Mathematik in der Schule hatte?” Warum also dieser mathematische Vorkurs? Zu aller erst deshalb, weil Informatik und Mathematik nicht getrennt werden können. Informatik benutzt nicht nur die Mathematik intensiv, so wie es z.B. auch die Physik und die Chemie tun, sondern die Informatik ist selbst nichts anderes als Mathematik. Ja, tatsächlich, Smartphones, Android, Google und Facebook, das alles ist nichts anderes als Mathematik. Bevor wir anfangen, Mathematik zu betreiben, haben wir jedoch oft eine falsche Vorstellung davon, was man in der Mathematik eigentlich tut. Als Mathematiker beschäftigt man sich mit Objekten, die es in der echten Welt eigentlich nicht gibt, aber irgendwie doch in der Welt vorzukommen scheinen. Nehmen wir zum Beispiel Zahlen. Haben Sie schon jemals eine Zahl getroffen? Haben Sie sie angefasst, geschmeckt, oder gehört? Sagen Sie jetzt nicht, “10” ist eine Zahl, und ich kenne sie sehr gut. Schon Millionen mal gesehen. “10” ist keine Zahl. Es ist ein Symbol, ein Wort, das für eine Zahl steht. Genau wie “Liebe” ein Wort für etwas ist, das sicherlich komplizierter und anders ist, als fünf Buchstaben in Folge. Sie halten “10” vielleicht für eine Zahl, weil wir in der Umgangssprache das gerne so machen. Aber “10” ist nur ein Symbol, nicht die Sache selbst. Schauen Sie jetzt einmal auf ihre beide Hände. Dort sehen Sie Finger. Und zwar zehn! Machen Sie unter der Dusche das Selbe mit Ihren Zehen. Wieder zehn. Zehn gibt es in unserer Welt ganz oft. Zehn Menschen, die sie zufällig treffen, zehn Stifte, die auf ihrem Schreibtisch liegen, und so weiter. Aber weder die Stifte, die Menschen, noch ihre Zehen und Finger sind die Zahl “10”. Vielmehr ist “10” ein Konzept, das wir uns von der Welt machen, und es besagt, “10” ist das, was ist, wenn zehn Dinge in irgendeinem Sinne zusammen sind. Wenn das jetzt seltsam diffus klingt, dann liegt das daran, dass wir hier gerade versuchen, ein Konzept unseres Geistes abstrakt zu beschreiben. Und wie wir noch sehen werden, ist dies im Allgemeinen sehr schwer. Es ist auch der selbe Grund, weshalb Philosophen oft so scheinbar seltsame Gespräche führen, und man als Laie oft das Gefühl hat, alles was dort gesagt wird, ist sehr wolkig und unklar. In der Philosophie geht es um Konzepte des Geistes und Objekte, die in unserem Geist entstehen, und die keine offensichtliche Widerspiegelung in der Realität finden, eben solche Konzepte wie “10” und “Liebe”. Wenn wir das Konzept in unserem Geist haben, dann scheint uns ganz klar zu sein, was es bedeutet. Wenn wir jedoch genauer darüber nachdenken, und versuchen diese Konzepte anderen Menschen zu erklären, und sie damit exakt zu erfassen, wird es sehr schwierig. Was wir Ihnen zuvor darüber erzählt haben, was die Zahl “10” (nicht das Symbol!) eigentlich ist, ist auch wiederum nicht die ganze Wahrheit. Es ist nur der sogenannte kardinale Aspekt von Zahlen. Das meint nichts anderes, als dass Zahlen Vielfachheiten (zum Beispiel Vielfachheiten von Zehen: zehn Zehen sind etwas anderes als drei Zehen oder wie zwanzig Zehen) beschreiben. Zahlen können aber i Konzept Inhaltsverzeichnis ii auch noch mehr sein. Zahlen haben auch einen ordinalen Aspekt. Dabei geht es darum, das bei Zahlen die “1” vor der “2” kommt, und die “2” vor der “3” und so weiter. Es kommt uns dann nur auf die Ordnung der Zahlen an, und nicht auf ihre Eigenschaft die Anzahl anzugeben. Aber das werden Sie im Studium noch genauer erfahren. “Baum” Im Folgenden noch zwei weitere, weniger mathematische Beispiele, die verdeutlichen, wie häufig wir glauben, geistige Konzepte seien real, und für niemanden könnte es anders sein. Wissen Sie, was ein “Baum” ist? Ja, wir meinen diese grünen Dinge im Wald und im Park. Vermutlich wissen Sie es. Irgendwo im Dschungel, wo es verdammt viele Bäume gibt, lebt ein Eingeborenenstamm, der nicht weiß, was Bäume sind. Das Konzept “Baum” existiert dort nicht. Jede Pflanze wird unterschieden, und hat auch einen Namen, aber diese Menschen kamen nie auf die Idee, all diese höchst unterschiedlichen Lebewesen im Konzept “Baum” zusammenzufassen. Ähnlich interessant ist es, dass manche Stämme nicht die Konzepte “Links” und “Rechts” kennen. Wenn Sie mit Ihrem Freund, oder Ihrer Freundin, bei einem romantischen Candle Light Dinner sich gegenübersitzen, dann wird die Kerze von Ihnen aus gesehen vielleicht links stehen, von Ihrem Partner aus gesehen rechts. Würden Sie beide aus den eingangs erwähnten Stämmen stammen, würden dann beide einfach sagen, die Kerze steht im Norden. Dabei wird die Lage immer nur nach Himmelsrichtungen bestimmt. Versuch es selbst! – Aufgabe 1: Konzepte, Konzepte Versuchen Sie den Menschen unserer Eingeborenenstämme die Konzepte “Baum” und “Links” und “Rechts” möglichst präzise und allumfassend zu erklären. Überlegen Sie sich, ob Ihr Erklärungsversuch sich für die Eingeborenen eventuell ähnlich diffus und seltsam anfühlen mag, wie unser Erklärungsversuch der Zahl “10” zuvor. Wie fühlt sich Ihr Erklärungsversuch für Ihren Kommilitonen an, der ja eigentlich genau weiß, was “Baum” und “Links” und “Rechts” bedeutet? Es ist wichtig, alle Aufgaben in blauen Boxen an Ort und Stelle zu bearbeiten, ohne weiterzulesen! Das haben Sie aber sicherlich sowieso schon gemacht. In der Praxis … Alle Aufgaben innerhalb der Texte sind wichtig, um die neuen Inhalte zu verstehen, das Gelernte zu hinterfragen und sich eigene Gedanken zum Inhalt zu machen. Tatsächlich ist es unglaublich wichtig, sich eigene Gedanken zu machen, um Informatik und Mathematik zu verstehen. Wir wollen Ihnen mit diesen Aufgaben auch beibringen, wie man mit neuen informatischen Inhalten umgeht. Bei der Bearbeitung der Aufgaben lassen wir Sie natürlich nicht alleine: Tipps und Tricks um die Aufgaben selbstständig bearbeiten zu können, finden Sie immer in diesen Boxen hier! Außerdem gibt es Lösungsskizzen zu den Aufgaben am Ende des Buches. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular iii Mathematik ist also eine Lehre von Dingen, die nur im Geiste existieren, und die meist auch keinen, oder nur sehr undurchsichtige direkte Entsprechungen mit Dingen aus der realen Welt haben. Genau das ist auch das Geheimnis ihrer Mächtigkeit. Als Mathematiker beschäftigen wir uns mit phantastischen Gebilden, die nicht den Gesetzen der realen Welt gehorchen müssen, ja in dieser noch nicht einmal existieren müssen. Mathematik ist Freiheit. Gleichzeitig ist die Mathematik aber weit davon entfernt, abstrus zu sein, unklar und beliebig. Mathematik zu betreiben bedeutet ja gerade, diszipliniertes, klares und deutliches Denken zu lernen. Diese Art zu denken nennt sich logisches Denken. Es ist ein Denken, das klaren Gesetzmäßigkeiten folgt, und uns dadurch erlaubt, auf die Wahrheit und Richtigkeit dessen zu vertrauen, was wir mit logischem Denken erschlossen haben. Zugleich können alle anderen Menschen, die die Gesetzmäßigkeiten des logischen Denkens kennen, unseren Gedanken folgen und erkennen, dass sie richtig sind (sofern wir selbst keinen Fehler dabei gemacht haben). Als guter Mathematiker müssen wir also zwei Dinge erlernen: Einerseits ein sehr kreatives Denken, bei dem wir Spaß daran haben, neue Dinge in unserem Geist zu konstruieren, und mit diesen Dingen offen herumzujonglieren. Andererseits aber auch die Fähigkeit, diese tollen Wunderdinge, die wir uns erdacht haben, so präzise auszudrücken, und zugleich mit logischem Denken zu erkunden, dass ein jeder (mathematisch gebildete) Mensch diese Gedanken nachvollziehen kann. In diesem Vorkurs wollen wir genau diese beiden Dinge, die ein Mathematiker braucht, erlernen. Dies kann nicht in vier Wochen gelingen, jedoch können wir in dieser Zeit eine solide und stabile Basis schaffen, die uns hilft, diese Fähigkeiten während des Studiums immer weiter auszubilden. Beides sind übrigens Dinge, die Ihnen letzten Endes niemand beibringen kann und für die es auch kein Schema gibt. Nur Sie selbst können dies trainieren, durch beständiges Arbeiten mit mathematischen Ideen, und dem Versuch, diese korrekt aufzuschreiben. Genau das wollen wir hier gemeinsam beginnen. Versuch es selbst! – Aufgabe 2: “Ding an sich” Ist es prinzipiell möglich, mit anderen Menschen über ein beliebiges mathematisches “Ding an sich”, z.B. Zahlen, zu sprechen, ohne sich auf Symbole zurückzuziehen? Zum Schluss: Sie fragen sich immer noch, weshalb Informatik eigentlich Mathematik sein soll? Smartphones, Android, Google und Facebook sind Erfindungen unseres Geistes. Anders als elektrischer Strom und Atome in der Physik, waren CPUs und Softwareprogramme nicht da, bevor wir Menschen anfingen, sie zu erdenken. Funktionale Programmierung erlaubt es mit Funktionen – ein typisches Konstrukt der Mathematik – zu arbeiten. Man kann die Mathematik mit Hilfe funktionaler Programmierung ausprobieren. Innerhalb Ihres Informatikstudiums werden Sie schnell sehen, das funktionale Programmierung nichts anderes ist als das Arbeiten mit einer mehr oder weniger materiellen Form von Mathematik. Auch Hardware ist nichts anderes als Mathematik. Schaltkreise modelliert man mithilfe von Logik und setzt sie schließlich mithilfe von Gattern um, und Gatter sind wiederum nur Umsetzungen von logischen Operatoren in der wirklichen Welt. Ein letztes Beispiel: Navigation ist zu einem wichtigen Hilfsmittel im Alltag geworden. In einem Straßennetz eine richtige und schnelle Route zwischen zwei Städten zu finden, erfordert es, dass man das Straßennetz dem Computer begreif- Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular logisches Denken Inhaltsverzeichnis iv bar macht – dies geschieht mithilfe eines mathematischen Modells des Straßennetzes – und dem Computer dann beibringt, wie er diesen Weg findet – das ist ein Teil der Algorithmik und des Programmierens. Die Grundlagen für beide Gebiete werden Sie hier lernen! Übrigens: Programmierung ist nur ein Teil des Informatikstudiums. Je nach Universität und Studiengang kann es sogar sein, dass sie vielleicht nur den kleinsten Teil Ihres Studiums mit Programmierung verbringen. Intuition Mathematik mochten Sie noch nie? Das ist (fast) überhaupt kein Problem. Die Mathematik, die wir im Folgenden betrachten, unterscheidet sich sehr stark von der, die Sie vielleicht bereits aus der Schule kennen. Wir gehen hier den Sachen auf den Grund, wir wollen herausfinden, wie die Dinge funktionieren, warum sie funktionieren und uns Gedanken darüber machen, wie man zweifelsfrei belegen kann, dass Dinge korrekt sind. Auf den ersten Blick mag das sehr abstrakt klingen, aber Sie profitieren davon vermutlich jeden Tag: Wir wollen die Grundlagen legen, um zu beweisen, dass 3 + 1 auf jedem Computer immer 4 liefert, dass Navigationsgeräte nicht plötzlich das Auto gegen eine Wand oder von einer Brücke navigieren, dass Handys die Nummern wählen, die wir eingeben, und nicht spontan einen beliebigen Kontakt aus dem Adressbuch. Die Frage, wie man solche Strukturen in Mathematik gießt, können wir hier nicht vollständig beantworten, aber die grundlegenden Schritte, die Sie hier lernen werden, werden Sie im Informatikerleben immer wieder brauchen. Um Ihnen den Einstieg in unsere Welt der Mathematik zu erleichtern, wollen wir Ihnen immer wieder die Intuition bzw. die anschauliche Bedeutung der Definitionen und Sätze geben. Eine Definition scheint unklar? Ein Satz unverständlich? Dann halten Sie nach diesen Boxen Ausschau. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Ziele des Vorkurses Unser Ziel ist es, Sie mit den folgenden Kapiteln so gut wie möglich auf Ihr Informatik-Studium vorzubereiten. Dies gilt auch für verwandte Studiengänge wie Bio-, Wirtschafts-, Medien- oder Rechtsinformatik, Computerlinguistik, Computer- und Kommunikationstechnik und Cybersecurity. Auch als angehender Mathematikstudent können Sie von diesem Vorkurs profitieren! Hier lernen Sie keine konkrete Programmiersprache oder Inhalte wie Turing-Maschinen, sondern Strategien und Grundlagen, die Sie in vielen Bereichen der Informatik immer wieder brauchen werden. Wir möchten Ihnen einen Einblick in die Denkweise von Informatikern und Mathematikern geben und Ihnen helfen, sich diese Denkweise selbst anzueignen. Dabei unterscheidet sich die Arbeitweise meistens sehr von der, die Sie in der Schule kennengelernt haben. Machen wir ein Beispiel, was Sie vermutlich in einer der ersten Vorlesungswochen sehen werden: Definition. Eine binäre Relation R über M is eine Teilmenge von M × M . (a) Eine binäre Relation über M heißt reflexiv genau dann, wenn gilt: ∀x ∈ M : (x, x) ∈ R. (b) Eine binäre Relation über M heißt transitiv genau dann, wenn gilt: ∀x, y, z ∈ M : (x, y) ∈ R ∧ (y, z) ∈ R → (x, z) ∈ R. (c) Eine binäre Relation über M heißt antisymmetrisch genau dann, wenn gilt: ∀x, y ∈ M : (x, y) ∈ R ∧ (y, x) ∈ R → x = y (d) Eine partielle Ordnungsrelation über M ist eine reflexive, transitive und antisymmetrische binäre Relation über M . (e) Eine partielle Ordnungsrelation über M heißt total genau dann, wenn gilt: ∀x, y ∈ M : (x, y) ∈ M ∨ (y, x) ∈ M Satz. Mengeninklusion ist eine partielle, aber keine totale Ordnungsrelation. Beweis. Sei A eine Menge und P(A) := {B|B ⊆ A}. Dann ist zu zeigen, dass ⊆ eine partielle Ordnungsrelation über P(A) ist, d.h. dass gilt ⊆ über P(A) ist reflexiv, transitiv und antisymmetrisch. reflexiv: Sei B in P(A). Sei x ∈ B. Es ist zu zeigen, dass x ∈ B ist. Dies gilt nach Voraussetzung, also gilt B ⊆ B. (a) ... Wenn Sie Definitionen und den Anfang des Beweises nicht verstehen: Kein Problem! Wir werden Ihnen im Verlaufe des Skriptes beibringen, wie Sie diesen Text lesen, bearbeiten, verstehen und selbst solche Texte produzieren können. In Kapitel 2 werden wir lernen, wie man Ausdrücke der Form ∀x ∈ M : (x, x) ∈ R behandelt. Man nennt diese Ausdrücke prädikatenlogische Ausdrücke. Beginnen werden wir mit einer etwas einfacheren Kategorie - den aussagenlogischen Ausdrücken. v Strategien und Grundlagen Inhaltsverzeichnis vi sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen Abbildung 1: Übersicht über die im Vorkurs behandelten Themen Um beide Arten formal fassen zu können, werden wir Sie als eine formale Sprache fassen. Sprachen finden sich in Kapitel 1. Wann ein Beweis ein gültiger Beweis ist, wird den größten Teil einnehmen (Kapitel 3) und folgende. Die Definitionen über Mengen und Relationen, die wir hier definieren bzw. einfach verwenden, lernen Sie in den Kapiteln 4 und 5. Abschließend lernen Sie noch eine andere typische Beweistechnik der Informatik kennen - die wohlfundierte Induktion. Wie Sie in Abbildung 1 sehen können, lassen sich die Themen Sprachen, Logik und Mengen kaum voneinander trennen. Da Sie aber aus der Schule den Begriff Mengen aus den Wörten Lösungsmenge, Definitionsmenge oder Menge von Punkten (z.B. Kreis, Gerade, Graph oder Ebene) zumindest schon einmal gehört haben und wir in den Kapiteln Logik und Sprachen nichts anderes als das benötigen werden, setzen wir im Folgenden diese Vorstellung voraus. Aber keine Sorge! Dies ist neben den elementaren Rechenoperationen (Addition, Multiplikation, …) und dem Funktionsbegriff das einzige, was wir voraussetzen. Selbst wenn Sie keinen Leistungskurs Mathematik oder Mathematik gar nach Klassenstufe 10 abgewählt haben, sollten Sie alle in diesem Skript verwendeten Begriffe kennen, die wir nicht definieren. Die Themen Induktion und Beweisen stehen außerhalb unserer Ordnung, da sie keine inhaltlichen Grundlagen vermitteln, sondern grundlegende Fertigkeiten. Ähnlich wie Sie Lesen und Schreiben lernen mussten, um überhaupt Geschichte, Chemie oder Biologie lernen zu können, müssen Sie hier das Beweisen lernen, um Informatik und Mathematik wirklich verstehen zu können. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular vii Bevor es richtig losgeht... Wir wollen Sie in diesem Buch dazu anregen, sich selbstständig Gedanken zu den vermittelten Themen machen und sich immer wieder zu fragen, ob Sie sich schon ausreichend Gedanken dazu gemacht haben. Ein Geheimnis des Lernens in der Informatik und Mathematik ist das Spielen mit dem Stoff. In Vorlesungen wird häufig nur das grundlegende Wissen vermittelt, den Stoff werden Sie häufig erst richtig verstehen, wenn Sie sich darüber Gedanken machen und Übungsaufgaben bearbeiten. Wie man sich Gedanken richtig macht, wollen wir Ihnen auch vermitteln. Den Anfang bilden die folgenden beiden Aufgaben: Aufgabe 1. Bearbeiten Sie die folgende Aufgabe auf einem Din A4 Blatt selbstständig, ohne fremde Hilfe. Versuchen Sie die Aufgabe in maximal fünf Minuten zu lösen. Zeigen Sie, dass das Quadrat einer geraden natürlichen Zahl wiederum eine gerade Zahl ist. Bewahren Sie den Zettel gut auf! Wir werden später darauf zurückkommen. Aufgabe 2. Beantworten Sie folgende Fragen auf einem DIN A4 Zettel. Antworten Sie pro Frage mit genau einem wohl überlegtem Satz! (a) Was ist Ihr Erfolgsrezept beim Lernen? (b) Weshalb glauben Sie, ist dieses Studium richtig für Sie? (c) Wie stellen Sie sich eine typische Vorlesung Ihres Studienfaches vor? Hinweise Das Skript befindet sich immer noch in Arbeit. Wir verbessern kontinuierlich Fehler und ergänzen Inhalte. Die aktuelle Version des Skripts finden Sie unter unter www.vorkurs-mathematik-informatik.de. Wir empfehlen Ihnen dringend immer mit der neusten Version des Skriptes zu arbeiten. Auf der Homepage finden Sie außerdem • auf das Skript abgestimmte Übungsaufgaben mit Lösungen • “Abgabezettel”, die Ihnen einen Eindruck davon vermitteln sollen, welche Arten von Aufgaben Sie typischerweise als Abgaben in Vorlesungen erwarten können • eine Liste von Fähigkeiten und Begriffen mit Überprüfungsaufgaben, die Sie in den einzelnen Kapiteln lernen sollen – diese Liste soll Ihnen helfen Ihren aktuellen Wissensstand einzuschätzen. Für Fragen und Anmerkungen zum Skript, verwenden Sie das Kontaktformular auf unserer Homepage. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen 1 Sprachen Sie werden sich jetzt vielleicht wundern: Ein Mathematischer Vorkurs und das erste Kapitel behandelt Sprachen. Wenn Sie auch zu denjenigen gehören, die in der Schulzeit am liebsten Französisch, Englisch, Latein, Griechisch und Spanisch gleichzeitig und für immer abgewählt hätten, dann können wir Sie beruhigen. Betrachten wir trotzdem genau diesen Absatz Text, den wir eben geschrieben haben, nochmals und führen uns vor Augen, wie er aufgebaut ist: Sie werden sich jetzt vielleicht wundern: Ein Mathematischer Vorkurs und das erste Kapitel behandelt Sprachen. Wenn Sie auch zu denjenigen gehören, die in der Schulzeit am liebsten Französisch, Englisch, Latein, Griechisch und Spanisch gleichzeitig und für immer abgewählt hätten, dann können wir Sie beruhigen. Der Text, den wir eben geschrieben haben, besteht aus Sätzen, zum Beispiel aus einem Satz, wie dem, den wir blau markiert haben. Der Satz selbst ist wieder aus kleineren Einheiten aufgebaut, nämlich aus Wörtern wie “liebsten”. Dieses Wort besteht wieder aus Zeichen wie “b” und das Zeichen selbst besteht wieder aus Punkten. Auch informatische Sprachen kennen diese Einteilung in Sätze, Wörter und Zeichen. Betrachen Sie zum Beispiel folgende Methode (geschrieben in der Programmiersprache Java): public static void main(String[] args){ System.out.println("Hello World!"); } Auch in diesem Beispiel können wir Wörter wie public oder println erkennen. Die Methode als solche verhält sich ähnlich wie ein Satz oder ein Abschnitt. Wie Sätze und Wörter aufgebaut sind, ist in natürlichen Sprachen durch Rechtschreibung und Grammatik festgelegt. All das, was wir jetzt beschrieben haben, gehört zur Syntax der Sprache. Sie legt nur das Erscheinungsbild fest. Die Bedeutung ist die Semantik des Textes. Und obwohl wir im Folgenden auch Grammatiken, Syntax und Semantik für informatische Sprachen kennenlernen werden, gibt es einen großen Unterschied zwischen natürlichen und informatischen Sprachen. Mathematische, oder fast besser informatische Sprachen sind anders als natürlichen Sprachen. Ihre Grammatik ist sehr einfach und klar, und ihre Bedeutung ist so exakt festgelegt, wie es nur irgendwie geht. Seltsamerweise scheint dies ein Grund zu sein, weshalb Sprachenliebhaber mathematische Sprachen nicht lieben, Informatiker aber um so mehr. Jede Programmiersprache ist übrigens eine mathematische Sprache. Hoffentlich geht es Ihnen jetzt wieder besser! Sprachen sind eine Möglichkeit die Dinge des realen Lebens in Mathematik zu formulieren. Mit der Sprache der Aussagenlogik werden wir z.B. in Kapitel 2 jede logisch korrekte Aussage der Wirklichkeit mathematisch fassen und behandeln können, d.h. ihre Bedeutung bestimmen. Außerdem können wir sie dann mit den Gesetzen der Aussagenlogik, die wir ebenfalls später noch behandeln werden, sogar vereinfachen. 1 Sprachen 1 Sprachen 2 Eine informatische Sprache besteht immer aus den zwei grundlegenden Aspekten – Syntax und Semantik. Die Syntax einer Sprache beschreibt, wie die Wörter einer Sprache geformt sein dürfen, also wie sich komplexere Wörter aus einfacheren Wörtern bilden lassen. Die Semantik einer informatischen Sprache ist ihre Bedeutung. Jedes Wort einer Sprache muss eine eindeutig festgelegte Bedeutung haben, d.h. für jedes Wort gibt es genau eine Bedeutung. Wir werden im Folgenden mithilfe von Grammatiken Wörter erzeugen. In anderen Teilgebieten der Informatik, zum Beispiel in dem Bereich, der sich mit der Entwicklung von Programmiersprachen, Interpretern und Compilern beschäftigt, werden auch Sätze und Zeichen wichtig. Doch diese beiden Ebenen wollen wir hier nicht betrachten. Versuch es selbst! – Aufgabe 3: Natürliche Sprachen Wir haben für informatische Sprachen behauptet, dass jedes Wort einer Sprache genau eine festgelegte Bedeutung hat. Gilt dies auch für Wörter und Sätze natürlicher Sprachen wie Deutsch, Englisch, Französisch, Chinesich, Japanisch, Englisch, … 1.1 Syntax Ausdruck Wörter Backus-Naur-Form Die grundlegenden Bestandteile der Syntax einer Sprache sind bei uns Wörter. Ein typisches Wort in einer Programmiersprache ist das Wort if. Wenn wir mehrere Wörter sinnvoll – das heißt nach den Regeln einer Grammatik – aneinander reihen, dann erhalten wir einen Ausdruck, oder auch Satz. So ist z.B. in der Programmiersprache Pascal folgende Folge von Wörtern ein Ausdruck if x > 0 then x := 5 else x := 3;. Er setzt sich aus vielen verschiedenen Wörtern zusammen, nämlich if, x, >, 0, then, x, :=, 5, else, x, :=, 3, ;. Genau genommen sind manche dieser Wörter nochmals aus kleineren Objekten, den Zeichen, zusammengesetzt. So besteht das if aus dem Zeichen i, und dem Zeichen f. Wichtiger Hinweis: Wenn wir über formale Sprachen reden, dann reden wir jedoch nicht über Zeichen, sondern nur über Wörter. Nur wenn wir uns auch damit beschäftigen wollen, wie ein Computer Sätze solcher Sprachen lesen kann (engl. parse), dann müssen wir uns auch Gedanken über die einzelnen Zeichen machen. Gleichzeitig nennen wir im Folgenden alle Elemente einer Sprache Wörter, egal ob wir damit die kleinsten, nicht weiter zerlegbaren Wörter wie if meinen oder aber das zusammengesetzte Wort if x > 0 then x := 5 else x := 3;. In der (theoretischen) Informatik dienen Sprachen meist dazu, um bestimmte mathematische Objekte und Zusammenhänge zu beschreiben. In diesem Fall ist es viel dienlicher, uns auf Worte als elementare Bestandteile zu beschränken. Wie wir bald sehen werden, kann so ein Wort sehr oft sogar ein mathematisches Objekt, wie z.B. eine Zahl sein. Es können aber auch Dinge sein, die gar nicht wie Buchstaben oder Zahlen aussehen, zum Beispiel kann auch ein Wort einer informatischen Sprache sein. Zunächst lernen wir eine Möglichkeit kennen, die (in der Regel) unendlichen Menge von Ausdrücken einer Sprache prägnant aufzuschreiben. Dazu verwenden wir Grammatiken in Backus-Naur-Form. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Grammatiken geben an, wie wir Wörter einer Sprache aus kürzeren zusammensetzen können. Die Backus-Naur-Form ist dabei nur eine bestimmte Art Grammatiken zu formulieren.* Bemerkung 1. Wir steigen direkt mit einer Grammatik ein, und erklären erst danach, was sie genau bedeutet, und vor allem, wie die Wörter der Sprache, die sie beschreibt, nun aussehen. Einige der Zeichen kommen Ihnen vielleicht aus der Schule bekannt vor. Wenn ja, notieren Sie sich die Bedeutung der Zeichen. Wenn Sie aus der Bedeutung eine Bedeutungsidee für die Semantik entwickeln, dann notieren Sie auch diese und vergleichen Sie sie mit der Bedeutung, die wir Ihnen danach zeigen. Wichtiger Hinweis: Wenn Sie diese Definition nicht auf Anhieb verstehen, dann ist das ganz normal. Wir wollen Ihnen hier noch die Möglichkeit geben, an vielleicht vorhandenes Vorwissen anzuknüpfen. Definition 1 (Grammatik in Backus-Naur-Form) Wir definieren die Menge T wie folgt T ∋ φ, ψ ::= φ ψ Wir wollen jetzt erklären, was diese ominöse Zeile uns alles erzählt. Wir definieren mit dieser einen Zeile eine Menge† T von Objekten, die wir binäre Bäume nennen wollen. Grammatiken definieren im Allgemeinen zweidimensionale Objekte, obwohl die Grammatik selbst sich eindimensional aufschreiben lässen. Diese zweidimensionalen Objekte helfen uns zu erkennen, wie die einzelnen Regeln der Grammatik angewendet wurden. Wir werden diesen Punkt nochmals vertiefen, wenn wir Ihnen gezeigt haben, wie binäre Bäume aussehen. Normalerweise stellen wir uns unter Bäumen grüne Pflanzen mit grau-braunem Stamm vor, die im Wald und auf Wiesen wachsen und – im vermutlich für uns besten Fall – mit den Wurzeln in der Erde verankert sind, im Frühjahr wohlduftend blühen und im Spätsommer Früchte tragen. Stellen Sie sich nun vor, Sie finden einen Baum, der von einer Reihe von Blättern am Boden zu der Wurzel hoch oben wächst, keinen Stamm hat, nicht blüht und den Sie normalerweise nicht anfassen können. Dann sehen Sie den typischen Informatikerbaum. In Abbildung 2 sehen wir so einen binären Baum. Wir haben dabei die blauen runden Blätter (Knoten ohne ausgehende Pfeile; diese “Pfeile” nennen wir im Folgenden auch Kanten) von inneren Knoten (Knoten mit ausgehenden Kanten) farblich getrennt und beschriftet. Ein weiterer spezieller Knoten ist die Wurzel – zu ihm führt keine Kante. Wie ergibt sich nun zum Beispiel der binäre Baum aus Abbildung 2? Die erste Regel, die wir anwenden, ist die rechte Regel (mit dem weißen Kasten). Der Kasten aus dieser Regel wird unsere Wurzel. Der binäre Baum unter dem linken Pfeil entspricht dem Baum, den wir für φ eingesetzt haben. Der Baum unter dem rechten *Im Laufe Ihres Studiums werden Sie verschiedene Arten Grammatiken aufzuschreiben kennenlernen. †Es reicht die Intuition, das Mengen Sammlungen von beliebigen Objekten sind. Genaueres erfahren Sie in Kapitel 4. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular binäre Bäume Blätter inneren Knoten Wurzel 1 Sprachen 4 Pfeil entspricht dem, den wir für ψ eingesetzt haben. Auf den rechten Baum wurde die linke Regel angwendet (die Regel, die nur aus einem blauen Kreis besteht). während im linken Baum erneut die rechte Regel angewendet wurde. Die zweidimensionale Struktur dient zur Verdeutlichung, wann welche Regel angwendet wurde und welche Ausdrücke jeweils für φ und ψ eingesetzt wurden. An der Wurzel beginnt dabei immer die Regelanwendung und sofern die Wurzel ausgehende Kanten hat, so ist der binäre Baum unter dem linken Knoten der Baum, der für φ eingesetzt wurde, und der rechte entsprechend der, der für ψ eingesetzt wurde. Versuch es selbst! – Aufgabe 4: Üben Sie mit binären Bäumen! Versuchen Sie anhand der folgenden Beispiele weitere Binärbäume zu bilden und zu beschriften, bis Sie sich sicher sind, dass Sie einen binären Baum erkennen und die speziellen Knoten wie Wurzel, innerer Knoten und Blatt beschriften können. Wie wir Bäume in der graphischen Anordnung darstellen, ist egal. Überlegen Sie sich daher zum Beispiel auch, wie ein Baum aussieht, der von der Wurzel unten zu den Blättern nach oben wächst (im Prinzip also Kopf steht). Wurzel, innerer Knoten innerer Knoten Blatt Blatt Blatt (a) Informatikerbaum mit ein paar Blättern Wurzel, Blatt (b) Ein Baum mit nur einem Blatt! Abbildung 2: Beispielbäume Während wir mit unseren zwei Beispielen nur eine grobe Idee vermitteln können, was nun ein binärer Baum ist und was nicht, definieren wir mit Hilfe unserer Grammatik auf einen Schlag alle binären Bäume. Und das sind immerhin unendlich viele! Betrachten wir nun noch einmal den Aufbau der Backus-Naur-Form genauer: Zunächst fällt auf, dass griechische Buchstaben scheinbar bei Grammatiken eine wichtige Rolle spielen. Obwohl diese selbst, wie wir aus den Beispielen erahnen können, in den Ausdrücken der Sprache gar nicht vorkommen. Die Buchstaben φ (gelesen etwa phi) und ψ (gelesen etwa psi) dienen uns als Platzhalter für ein beliebiges Element aus der Menge T , die wir gerade definieren wol- Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 5 len. Sie selbst sollen jedoch nicht Teil von T werden. Man nennt φ und ψ auch Metavariablen: Sie sind variable Bezeichner für ein Wort aus T , sie sind jedoch selbst keine Wörter aus T . Die Vorsilbe “Meta-” bedeutet im Allgemeinen, dass etwas auf einer höheren Ebene steht. Prinzipiell haben wir die Möglichkeit (dies sehen wir auch in Kapitel 2), eine Sprache zu definieren, die Variablen enthält. Diese Variablen sind Teil der Sprache, wie bei arithmetischen Ausdrücken, Termen oder Gleichungen, die Sie aus der Schule kennen. Diese Variablen sind dann Teil der Sprache. Metavariablen hingehen gehören nicht zur Sprache, werden jedoch zur Definition der Sprache verwendet. Damit findet man sie eine Ebene über der Sprache selbst und den dort vorkommenden Variablen. Wir drücken mit dem gespiegelten ∈, also ∋ aus, dass φ und ψ aus der Menge T stammen sollen* – also für beliebige Elemente von T stehen. Wir definieren damit einfach nur, dass das, wofür die Metavariablen stehen, aus der Sprache kommt, die wir gerade definieren. Die Art, mit der wir hier Wörter bilden, nennt sich induktiv. Wir werden in Kapitel 6 noch genauer betrachten, was induktiv heißt. Für uns reicht es in diesem Kapitel erst einmal, intuitiv anzunehmen, dass induktiv hier bedeutet, dass wir komplizierte Ausdrücke aus einfacheren zusammensetzen. Die Backus-Naur-Form, kurz BNF, ist eine induktive Definition einer unendlichen Menge von Wörtern. In unserem Fall ist dies die unendliche Menge von binären Bäumen. Eine mögliche Sichtweise auf BNFs ist es, dass wir uns zwei binäre Bäume – je einen für jede Metavariable – aussuchen und dann entweder einen Baum erhalten, der nur aus einem Blatt besteht, wenn wir uns für Regel 1 (links) entscheiden, oder einen Baum erhalten, der die Bäume, die wir uns ausgesucht haben, links und rechts unter einen Kasten schreibt. Dabei ist es wichtig, dass wir definieren, was die einfachsten Wörter sind, die selbst nicht zusammengesetzt sind. In unserem Fall ist dies . Im Folgenden wollen wir diese einfachsten, nicht aus mehreren Bestandteilen der Sprache zusammengesetzten Bestandteile atomar nennen. Atomar meint hier – im wahrsten Sinne des Wortes – nicht teilbar, d.h. in der Sprache gibt es keine Wörter und Verbindungsmöglichkeiten, so dass man so ein atomares Wort bilden kann. Wir wollen zur Verdeutlichung einmal ausformulieren, was die BNF knapp ausdrückt: (a) ist ein binärer Baum und somit ein Element von T . (b) Wenn φ und ψ binäre Bäume sind, dann ist auch die Verknüpfung φ ψ ein binärer Baum. Induktive Definitionen sind in der Informatik allgegenwärtig. Jede Programmiersprache ist (syntaktisch betrachtet) induktiv definiert. Übrigens üblicherweise sogar mit Hilfe der Backus-Naur-Form. Die letzte wichtige Konvention, die wir zu Grammatiken in BNF kennen müssen, ist, dass Grammatiken in BNF immer alle Ausdrücke einer Sprache beschreiben. *Man liest trotzdem meistens “φ und ψ in T ”. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Metavariablen induktiv atomar 1 Sprachen 6 Im Beispiel heißt das, dass T alles enthält, was von der Grammatik beschrieben wird, und auch nur das! Der letzte Halbsatz ist dabei sehr wichtig. Er sagt, das nichts sonst ein binärer Baum ist. Intuition Eine Grammatik gibt an, welche Objekte wir betrachten dürfen. Im Falle der binären Bäume heißt das, welche Objekte wir eigentlich als gültig ansehen dürfen. Es gibt zum Beispiel keinen Sinn, den Baum links in der Abbildung als vollständigen binären Baum anzusehen. Es fehlt einfach der zweite Knoten links unten, um den Baum abzuschließen. Wir können keine der beiden Regeln auf das Beispiel anwenden, da für die eine Regel der Baum nur aus genau einem Kreis bestehen dürfte, und bei der anderen Regel, sowohl für φ als auch für ψ ein Baum stehen muss. Während dies für ψ der Fall ist (nämlich wieder einfach ein Kreis), ist der Platz, an dem φ steht, leer. Ein leeres Feld ist jedoch kein Wort der Sprache! Auch auf dem Baum rechts in der Abbildung können wir keine der Regeln anwenden. Wir können nämlich nur Bäume mit keiner oder genau zwei ausgehenden Kanten bilden, aber keinen Baum – wie im Beispiel – mit drei ausgehenden Kanten. vollständig Wenn wir in der Mathematik nicht explizit sagen, dass etwas in einer Menge enthalten ist, dann dürfen wir nicht annehmen, dass es dort nicht vielleicht doch drinnen ist; auch, oder gerade dann, wenn wir eigentlich denken zu wissen, was in einer bestimmten Menge drinnen sein soll. Wenn wir eine BNF aufschreiben, so ist dieser Ausschluss ungewollter anderer Elemente in der Sprache jedoch implizit klar, und wir müssen nichts explizit mehr dazu sagen. Halten wir also fest, dass die Backus-Naur Form einer Sprache die Menge aller Wörter (die in unserem Fall binäre Bäume heißen) in dieser Sprache vollständig definiert. In der Praxis … Aufstellen von Grammatiken in BNF: Es ist schwierig ein allgemeines Rezept anzugeben, wie wir jede nur denkbare Sprache mit Hilfe der BNF aufschreibt, aber es gibt es paar Tipps zur Herangehensweise. Wir beginnen damit, die allgemeine Form einer BNF vorzustellen: Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 7 umgedrehtes Elementzeichen definiert Name ∋ φ, ψ, χ, . . . ::= Fall 1 Fall 2 ... Fall n Metavariablen hier dürfen die Metavariablen verwendet werden Wir definieren zuerst den Namen der Sprache, die wir definieren wollen. Im Allgemeinen ist der Name egal, jedoch ist es meistens hilfreich sprechende Namen zu wählen, wie zum Beispiel der Anfangsbuchstabe der Bezeichnung der Wörter. Dann definieren wir eine Reihe von Metavariablen, die wir zur Definition in der Sprache in den Fällen 1 bis n verwenden dürfen. Schließlich folgt nach ::= (gelesen: ist definiert als) die eigentliche Definition der Sprache. Wichtig ist, dass wir zwar beliebig, aber nur endlich viele Fälle verwenden dürfen, um unsere Sprache zu definieren Merke: Wenn wir die Grammatik in endlicher Zeit vollständig aufschreiben können, ist meistens alles gut!. Für das Aufstellen der Fälle hilft es, sich die folgenden Fragen zu stellen: (a) Was sind atomare Wörter meiner Sprache? – Jedes atomare Wort wird eine eigene Regel in der Grammatik. In diesen Fällen werden keine Metavariablen gebraucht. (b) Wie setzen sich komplexe Wörter zusammen? Welche Zeichen werden in welchen Kontext eingefügt? – In unserem Beispiel der binären Bäume haben wir nur eine Möglichkeit, nämlich einem eckigen weißen Knoten des Baums zwei Unterbäume hinzuzufügen. Dabei werden zwei Pfeile eingeführt, die dazu dienen zu kennzeichnen, dass die hinzugefügten Bäume unter dem weißen Knoten liegen. Wir haben nun ein einfaches Beispiel einer Grammatik in Backus-Naur-Form gesehen. Grammatiken können jedoch noch viel komplexere Objekte beschreiben. Versuch es selbst! – Aufgabe 5: Binäre Bäume – intuitiv Können Sie anhand der Grammatik anschaulich erklären, was ein binärer Baum im Allgemeinen nun ist? Beispiel: Grammatik arithmetischer Ausdrücke Nun sehen wir uns eine weitere Grammatik an, deren erzeugte Sprache Ihnen vertraut sein sollte – arithmetische Ausdrücke. Wir werden hier statt Wort zu Elementen der Sprache auch Ausdruck sagen, da dies die “gebräuchlichere Bezeichung für arithmetische Ausdrücke ist. Zur Definition arithmetischer Ausdrücke legen wir zunächst fest, welche Variablen in arithmetischen Ausdrücken vorkommen (damit sind diese Variablen keine Metavariablen). Definition 2 (Variablen) Wir bezeichnen mit V die Menge aller Variablen. Sie enthält die Variablen x, y, z, x1 , x2 . . . , y1 . . . , z1 . . . ∈ V Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 1 Sprachen 8 In der Mathematik und Informatik werden häufig solche Konventionen eingeführt. Natürlich können Variablen prinzipiell beliebig benannt werden. Jedoch sparen wir uns mit Hilfe der Definition der Menge der Variablen bei vielen Definitionen, Lemmas und Sätzen den Halbsatz “Sei x eine Variable”. In der Praxis … Versuchen Sie, sich Konventionen zu merken. Tauchen in Definitionen, Sätzen oder Lemmas Zeichen auf – auch später im Studium –, die nicht mit einer Bedeutung belegt werden, so wurden sie entweder bereits vorher fest definiert oder ein bestimmter Buchstabe wird aus Gewohnheit wie zum Beispiel π für die Kreiszahl und α für Winkel mit der gleichen Bedeutung verwendet. Falls Sie das Gefühl haben, Sie können sich nicht alle Konventionen merken, kann es helfen sich für Vorlesungen und Übungen einen Übersichtszettel zu schreiben, auf dem alle wichtigen Notationen und Definitionen zum schnellen Nachschlagen festgehalten sind. Auch zum Lesen des Skriptes kann dies Ihnen eine Hilfe sein! Mit Hilfe von Variablen können wir nun die Sprache der arithmetischen Ausdrücke definieren. Wir werden dazu die aus der Schule bekannten Operatoren Plus, Minus, Mal und Geteilt sowie das unäre Minus verwenden. arithmetische Ausdrücke Definition 3 (Arithmetische Ausdrücke) Wir definieren die Menge der arithmetischen Ausdrücke A mit Hilfe einer Backus-Naur-Form induktiv wie folgt: A ∋ φ, ψ ::= φ + ψ | φ − ψ | φ · ψ | φ ÷ ψ | −φ | n | v wobei n ∈ N, also n eine natürliche Zahl, und v ∈ V ist. In unserer Definition der Sprache der arithemtischen Ausdrücke kommen erneut zwei Metavariablen vor: φ und ψ stehen wieder für beliebige Elemente der Sprache, ohne selbst Teil der Sprache zu sein. n und v sind Variablen für Elemente anderer Mengen, nämlich der Menge der natürlichen Zahlen bzw. der Menge der Variablen, die wir eben definiert haben. Das bedeutet, dass jede natürliche Zahl und jede Variable ein Wort der Sprache der arithmetischen Ausdrücke ist. Versuch es selbst! – Aufgabe 6: Grammatiken mit eigenen Worten beschreiben Beschreiben Sie die Grammatik ausführlich mit eigenen Worten. (wie wir das oben auch gemacht haben). Als Hilfestellung zeigen wir Ihnen hier die Regel der Variablen vor: Ist v eine Variable, so ist v auch ein Element der Sprache A, also ein arithmetischer Ausdruck. Die Objekte, die in A enthalten sind, enthalten keine Klammern. Eigentlich sollte Sie dieser Umstand irritieren, denn in der Schule haben Sie arithmetische Ausdrücke immer mit Klammern notiert (und notieren müssen)! Aber: So wie wir hier arithmetische Ausdrücke definieren, brauchen wir keine Klammern! Wir haben bereits gesehen, dass wenn wir Grammatiken mit Hilfe einer Backus-Naur-Form bilden, so erhalten wir immer zweidimensionale Objekte, Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 9 von der Struktur her ähnlich wie binäre Bäume, als Wörter unserer Sprache. Diese zweidimensionalen Ausdrücke liefern uns alle Informationen, die wir auch aus der geklammerten, Ihnen vermutlich aus der Schule bekannten Darstellung erhalten. Dazu jedoch gleich mehr! In Abbildung 3 sehen Sie zunächst einige Beispiele für Elemente der Sprache A. Wir nennen diese Darstellung der Elemente im Folgenden auch Syntaxbaum oder Strukturbaum. Strukturbaum · 5 3 3 ÷ + · 8 2 − y + x y x Abbildung 3: Beispiele für arithmetische Ausdrücke unserer Sprache A Wenn wir nun aber eigentlich Strukturbäume in der Menge der arithmetischen Ausdrücke haben, müssen wir uns die folgende Frage stellen: Wie kommen wir nun zu linearen arithmetischen Ausdrücken, d.h. arithmetischen Ausdrücken, die nicht wie Bäume, sondern wie die gewohnten Terme aus der Schule aussehen? Zunächst einmal stellen wir fest: Wir sparen uns mit Hilfe von Syntaxbäumen Klammern. Klammern dienen in der Mathematik dazu, Zugehörigkeiten zwischen Ausdrücken darzustellen, d.h. haben wir einen Ausdruck des Schemas (. . . ) · (. . . ), so müssen wir um den Wert des Ausdrucks zu bestimmen, erst die Klammern ausrechnen und dann die beiden Ergebnisse mutliplizieren. Schreiben wir diesen Ausdruck als Baum, so entsteht der Baum in Abbildung 4 · ... ... Abbildung 4: Ein schematischer Syntaxbaum Achtung: Spoiler auf Semantik Im Folgenden wollen wir Ihnen den Zusammenhang zwischen Klammern und Syntaxbäumen erklären, indem wir Ihnen zeigen, wie man den Wert zu einem Ausdruck berechnet. Zum Beispiel repräsentiert der arithmetische Ausdruck (4 + 7) + 3 den Wert 14, da wir 14 erhalten, wenn wir den Ausdruck ausrechnen (wie in der Schule). Klammern und Syntaxbäume legen dabei fest, in welcher Reihenfolge Teilausdrücke berechnet werden. Zum Beispiel repräsentiert der arithmetische Ausdruck 3 − (8 ÷ 2) den Wert −1, da zuerst die Teilausdrücke 8 ÷ 2 und 3 ausgerechnet werden und dann erst die Subtraktion. Auf der anderen Seite repräsentiert (3 − 8) ÷ 2 den Wert −2, 5 weil Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular linearen 1 Sprachen 10 zuerst die Teilausdrücke 3 − 8 und 2 ausgerechnet werden und dann erst die Division. Wie Sie an diesem Beispiel sehen können ist die mathematische Operation, die wir zuletzt ausführen, eine andere (Subtraktion vs. Division). Zurück zu Syntaxbäumen: Was Klammern in arithmetischen Ausdrücken sind, entspricht Ebenen im Syntaxbaum: Wollen wir arithmetische Ausdrücke in Gestalt eines Syntaxbaums ausrechnen so müssen wir zuerst alle Knoten in der darunter liegenden Ebene ausrechnen, d.h. die darunter liegenden Knoten sind Teilausdrücke der aktuellen Operation, die zuerst ausgerechnet werden müssen. Wir können mathematisch präziser sagen: Jede Teilmenge von Knoten eines Baumes, die einen nach der Grammatik korrekten arithmetischen Ausdruck beschreibt, könnte in der aus der Schule gewohnten Darstellung geklammert werden. In Abbildung 5 haben wir mögliche solcher Knotenmengen* markiert. Intuition (a) Was heißt “jede Teilmenge von Knoten eines Baumes”? Der Baum aus Abbildung 5 hat neun Knoten, die mit 5, y, x, +, ÷, ·, −, 3, 4 markiert sind. Die Markierung ist dabei das, was innerhalb des Knotens steht. Davon können wir nun verschiedene Teilmengen bilden, also Mengen, die eine beliebige Auswahl an Knoten des Baumes enthält. Diese Teilmengen sind alle möglichen Teilmengen von Knoten unseres Beispielbaums. (b) Was heißt “die einen nach der Grammatik korrekten arithmetischen Ausdruck” beschreiben? Nehmen Sie zum Beispiel an, wir bilden die Teilmenge, die nur die mit 5, 3 und 4 markierten Knoten enthält. Dann können wir den Ausdruck 5 3 4, der entsteht, wenn wir alle anderen Knoten aus dem Baum streichen, nicht mehr mithilfe unserer Grammatik für binäre Bäume ableiten. Also beschreibt die Teilmengen keinen nach der Grammatik korrekten arithmetischen Ausdruck. Zusammenfassend: Im einfachsten Fall klammern wir zunächst einmal alle Teilbäume eines Baumes und schreiben die im Syntaxbaum vorkommenden Zeichen ansonsten linear in eine Zeile†. · ÷ x + 5 − 3 4 y Abbildung 5: Mögliche Teilbäume eines Syntaxbaums Im Folgenden betrachten wir nun genauer das Vorgehen, wie wir Syntaxbäume in arithmetische Ausdrücke übersetzen und umgekehrt. Die entscheidende Frage ist in diesem Abschnitt: Wie überführen wir einen Ausdruck der Form (4 + 6) · (3 − x) *speziell bei Bäumen auch Teilbäume genannt †vom linkesten Zeichen zum rechtesten Zeichen in der grafischen Darstellung Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 11 bzw. 8 ÷ (−x) in einen Strukturbaum? Und wie umgekehrt? Wir beginnen mit einem Beispiel, nämlich der Darstellung der beiden arithmetischen Ausdrücke als Strukturbaum (Abbildung 6). · ÷ − + 4 6 3 8 x − x Abbildung 6: Die Darstellung der arithmetischen Ausdrücke als Syntaxbaum In Strukturbäumen gehört all das zusammen, was unterhalb des gleichen Operators steht. Im linken Baum gehören zum Beispiel 4 und 6 zum +, da beides unterhalb von + steht und eine Verbindung dazu hat (4 und 6 sind direkte Nachfolger von +). Folglich gehören im linken Baum zum Operator · zwei Ausdrücke - nämlich eine Addition und eine Subtraktion. Zusammengehörigkeit von Teilen (wie 4, + und 6) wird im Strukturbaum durch eine Hierarchie dargestellt, die immer vom Operator angeführt wird (die Summanden 4 und 6 gehören zum Operator +). Falls in der Wurzel eines Strukturbaums ein Operator steht, so gehört alles was darunter steht, dazu. In unserem Beispiel gehören zum Operator · zwei arithmetische Ausdrücke, die wieder einen Operator enthalten. Versuch es selbst! – Aufgabe 7: Spielen mit arithmetischen Ausdrücken Übersetzen Sie solange arithmetische Ausdrücke aus der gewohnten Darstellung in Syntaxbäume, bis Sie sich sicher sind, dass Sie diese Richtung ohne Probleme hinbekommen. Formulieren Sie dann eine allgemeine Vorgehensweise, die es ermöglicht jeden geklammerten arithmetischen Ausdruck in einen Strukturbaum ohne Klammern zu überführen. Vielleicht fragen Sie sich jetzt, warum wir überhaupt Strukturbäume brauchen, da Computer ja keine zweidimensionalen Objekte einlesen können und Strukturbäume auch noch schwerer für uns Menschen zu lesen ist. Dafür gibt es zwei Gründe: Zum einen folgt der Strukturbaum der Grammatik. Alle Operatoren mit zwei Operanden haben auch zwei Nachfolger im Strukturbaum. Wir können so überprüfen, ob etwas zu einer Sprache gehört oder nicht. Müssen wir beim Aufstellen des Strukturbaums bei anderen Elementen der Sprache als natürlichen Zahlen und Variablen aufhören – also allgemein bei einem Wort/Ausdruck, welcher nicht atomar ist –, so genügt der Ausdruck nicht der Grammatik und ist damit kein Element der Sprache. Strukturbäume geben uns also eine Möglichkeit zu zeigen, dass Ausdrücke gemäß einer Grammatik gebildet wurden. Zum anderen ist die Darstellung als Strukturbaum klammerfrei. Da sie auch etwas über die Hierarchie innerhalb eines Ausdrucks aussagt, eignet sie sich als Repräsentation von Ausdrücken im Computer. Viele Übersetzer für Programmiersprachen übersetzen die Zeichenfolge (eine lineare Sequenz), die sie als Eingabe erhalten, erst einmal intern in einen solchen zweidimensionalen Baum, um darauf zu arbeiten. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 1 Sprachen 12 In der Praxis … Wie erstelle ich einen Strukturbaum aus einem Ausdruck? (a) Setze Klammern überall dort im Ausdruck, wo es sinnvoll möglich ist (z.B. (4 + 7), aber nicht (4+)7, bei arithmetischen Ausdrücken zum Beispiel auch “Punkt vor Strich” etc.). (b) Betrachte die äußerste Klammer: Der Operator, der in ihr enthalten ist, aber in keiner weiteren Klammer, wird zur Wurzel des Strukturbaums. Warum kann es nur einen solchen Operator geben? Überlegen Sie! (c) Betrachte nun alle Operanden des letzten Operators rekursiv und beende das Aufbauen des Strukturbaumes sobald die innerste Klammer erreicht wurde. Beispiel Wir betrachten den Ausdruck x ÷ y − z + x1 Schritt 1 (((x ÷ y) − z) + x1 ) Schritt 2 + ist die Wurzel unseres Baumes. Schritt 3 Der bisherige Strukturbaum sieht so aus. + ? ? An die Stelle der beiden Fragezeichen tritt nun, indem wir die Schritte 2 und 3 rekursiv auf ((x ÷ y) − z) und x1 anwenden, der Rest des Strukturbaums: + − ÷ x x1 z y Die zweidimensionale Darstellung von Ausdrücken als Baum hat einen entscheidenden Nachteil: Wollen wir mit Ausdrücken von Hand arbeiten, so haben wir sehr viel Schreib- und Platzaufwand, um die Ausdrücke zu notieren. In dieser Form können wir sie Computern außerdem kaum verständlich machen, daher sind wir an einer äquivalenten eindimensionalen Darstellung interessiert. In der Praxis … Wie erstelle ich aus einem Strukturbaum einen Ausdruck? (a) Schreibe das Zeichen der Wurzel auf. Ist es eine natürliche Zahl oder eine Variable, so sind wir fertig. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 13 (b) Falls die Wurzel ein Operator war: Streiche die Wurzel und ihre ausgehenden Kanten weg, beginne mit den neuen Bäumen von vorne und schreibe die geklammerten Ergebnis in der richtigen Reihenfolge in den Ausdruck. Beispiel Betrachten wir einmal den folgenden Strukturbaum: + · − y x 4 42 Unser Ausdruck besteht zunächst aus (?) + (?). Nun setzen wir unsere Betrachtung rekursiv auf den Bäumen mit Wurzel − bzw. · fort. · − y x linker Teilbaum 4 42 rechter Teilbaum Wir erhalten damit den Ausdruck ((?) − (?)) + ((?) · (?)). Im nächsten und letzten Schritt müssen wir nur noch die Fragezeichen durch die vorkommenden Variablen bzw. natürliche Zahlen ersetzen: ((x) − (y)) + ((4) · (42)). Nun enthalten die Ausdrücke, die wir mit Hilfe des obigen Verfahrens erhalten noch sehr viele Klammern. Nun müssen wir uns also die Frage stellen: Wie können wir die Klammern in den Ausdrücken wieder loswerden? Die Idee ist eine Reihe von Klammersparregeln einzuführen. Diese Klammersparregeln sagen aus, welche Klammern überflüssig sind, weil sie eigentlich implizit sowieso im Ausdruck stehen. Bemerkung 2. Die äußersten Klammern eines Ausdrucks können stets weggelassen werden. Ansonsten können Klammern weggelassen werden, wenn wir sie anhand folgender Prioritätsregeln über Operatorenbindungen wieder rekonstruieren können . In folgender Liste bindet unäres + und unäres − am stärksten, binäres − und binäres + am schwächsten. (a) unäres Minus −, unäres + (kommen in unseren arithmetischen Ausdrücken selten vor) (b) Multiplikation ·, Division ÷ (c) Addition +, Subtraktion − Alle binären Operatoren (also Addition, Subtraktion, Division, Multiplikation) sind linksassoziativ. Das bedeutet, dass wenn wir x + y + z schreiben, wir (x + y) + z meinen. Entsprechendes gilt für die anderen drei Operatoren. Ein einfaches Beispiel und eine Übersicht finden Sie in Abbildung 7. Auf der linken Seite finden Sie nochmals eine Hierarchie der Klammersparregeln. Ganz oben Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Klammersparregeln 1 Sprachen 14 steht der Operator, der am stärksten klammert – das unäre Minus – ganz unten die Operatoren, die am schwächsten Klammern – nämlich Plus und Minus. Wir lassen Schritt für Schritt im Ausdruck (((−4) + (5)) − ((7) · (8))) von oben nach unten alle überflüssigen Klammern weg. Zunächst die äußerste Klammer (die den gesamten Ausdruck einklammert) und die Klammern, die um einzelne Zeichen stehen (wie die Klammern (4)). Danach verwenden wir, dass das unäre Minus stärker Klammer als Plus, dann dass Mal stärker als Minus klammert und schließlich nutzen wir noch aus, dass Plus und Minus gleich stark klammern und linksassoziativ sind. ((((−(4)) + (5)) − ((7) · (8))) äußere/innere Klammern ((−4) + 5) − (7 · 8)) unäres − klammert stärker als + unäres Minus bindet schwächer als ·, ÷ bindet schwächer als (−4 + 5) − (7 · 8) · klammert stärker als − (−4 + 7) − 7 · 8 + und − klammern gleich stark, linksassoziativ +, − −4 + 7 − 7 · 8 Abbildung 7: Klammersparregeln für arithmetische Ausdrücke und ein Beispiel Bemerkung 3. Achtung: x + y + z = (x + y) + z ist nicht das selbe wie x + (y + z)! Wie wir noch sehen werden, sind beide Ausdrücke zwar semantisch gleich, syntaktisch sind sie jedoch verschieden, da ihre syntaktische Struktur anders aufgebaut ist (siehe Lösung 7). Mit Hilfe dieser Regeln können wir Ausdrücke vereinfachen: • Wir können einige Ausdrücke sogar ganz ohne Klammern darstellen: −x − 42 + 13 = ((−x) − 42) + 13 • Manche Klammern brauchen wir trotzdem. Intuitiv brauchen wir immer dann Klammern, wenn Operatoren nicht das tun, was die Klammersparregeln vorgeben, also z.B. wenn das unäre − einen zusammengesetzen Ausdruck umfassen soll und kein Atom: x−y·−(z+x·y) = x−(y·(−(z+(x·y)))) Bei komplizierteren (d.h. vor allem größeren) Ausdrücken müssen wir aber dennoch aufpassen, ob wir nach Konvention – also nach menschlichem Ermessen, nicht nach Definition erlaubt – wirklich alle Klammern entfernen sollten. Beispiel Die Formel (4 + 5) − ((7 · 2) ÷ x) lässt sich zum Beispiel schreiben als (4 + 5) − 7 · 2 ÷ x und damit besser lessen. Auf der anderen Seite ist die Formel 4 + 5 − 6 · 8 ÷ 6 einfach zu lesen in der Form (4 + 5) − ((6 · 8) ÷ 6). Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 15 Trotzdem gibt es immer noch genug Ausdrücke, die wir nicht ableiten können. Wie Sie gleich sehen werden, ist es bei linear geschriebenen Ausdrücken etwas schwerer zu entscheiden, ob sie der Grammatik genügen oder nicht. Beispiel Keine Ausdrücke sind z.B. • 42 13. Es gibt keine Regel, bei der zwei atomare Aussagen direkt nebeneinander stehen dürften. Jede Regel bei der mehr als eine atomare Aussage entstehen kann, enthält auch einen Operator. • 42 + φ. Dies ist keine Aussage, weil φ weder eine natürliche Zahl noch eine Variable ist. φ ist nur eine Metavariable, die jeden beliebigen Ausdruck repräsentieren kann. Syntaktisch ist das Symbol φ jedoch niemals Teil einer Aussage. Andersherum, wenn wir sagen: “Sei φ ∈ L”, dann ist auch 42 + φ ∈ L. Allerdings ist dann 42 + φ immer noch keine Aussage, sondern es steht nur für eine Aussage, die einer bestimmten Form genügt – hier: Der am weitesten links vorkommende Operator ist ein +, dessen linker Operand 42 ist, während der rechte beliebig ist. Eine solche Aussage wäre z.B. 42+13 oder 42+(x+y), aber nicht 13+13 oder 42 − 13. 1.2 Semantik Die Semantik einer Sprache ist ihre Bedeutung. Dabei weisen wir syntaktischen Ausdrücken ein mathematisches Objekt zu, um zu sagen, dass dieser Ausdruck für jenes Objekt steht. Wir schreiben diese Zuweisung als eine mathematische Funktion, die wir mit zwei eckigen Klammern J K bezeichnen. Tatsächlich sagt man zu diesen Klammern gerne Semantikklammern. Vermutlich sind Sie gewohnt, das Funktionen immer f oder g oder so ähnlich heißen. Jedoch können Funktionen ganz beliebige Symbole als Namen haben. Im Fall der Semantikklammer ist es sogar noch etwas seltsamer: wenn wir eine Funktion f normalerweise anwenden, dann schreiben z.B. f (x) (sprich: f von x). Bei der Semantikklammer setzen wir x einfach in die Klammer ein, also JxK, anstelle von etwas wie JK(x), was zwar analog zu unserer gewohnten Schreibweise aus der Schule wäre, aber tatsächlich doch etwas komisch aussehen würde, und vor allem unpraktisch wäre. Wenn man die Semantikklammer (oder andere komische Funktionsamen) ohne Argument verwendet, schreibt man oft auch J·K anstelle von JK, um anzudeuten, dass dort, wo der Punkt ist, das Argument stehen soll, wenn wir die Funktion anwenden. Er hat jedoch keine tiefere Bedeutung. Um die Semantik arithmetischer Ausdrücke zu definieren, müssten wir uns eigentlich überlegen, welche Semantik wir Ausdrücken zuweisen, in denen durch Null geteilt wird*. Daher lassen wir in diesem Kapitel die Division erst einmal weg. In Kapitel 5 werden Sie aber eine Möglichkeit kennenlernen, auch für diesen Fall die Semantik sinnvoll zu definieren. Um die Semantik zu vereinfachen, lassen wir an dieser Stelle auch die Variablen aus unserer Sprache heraus. In Kapitel 2 werden wir zeigen, wie man Variablen umgehen kann. Ihre Aufgabe wird es dann später *Wie Sie aus der Schule vermutlich wissen, ist Division durch Null undefiniert. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 1 Sprachen 16 (nach Kapitel 2) sein, die Semantik arithmetischer Ausdrücke um Ausdrücke mit Variablen zu erweitern. Definition 4 (Semantik arithmetischer Ausdrücke) Sei A die Menge der aritmetischen Ausdrücke ohne Variablen und Division. Seien φ und ψ Elemente von A. Dann ist J·K definiert als: (a) JnK = n für n ∈ N. (b) Jφ + ψK = JφK + JψK (c) Jφ − ψK = JφK − JψK (d) Jφ · ψK = JφK · JψK (e) J−φK = −JφK Es fällt dabei zunächst auf, dass wir scheinbar nicht viel tun, außer Klammern zu verschieben. Zumindest definieren wir die Zahlen als sie selbst, und die Operationen, wie +, ebenfalls. Man darf sich hier jedoch nicht täuschen lassen! Tatsächlich sieht das hier nur so aus. Und das liegt daran, dass wir die selben Symbole, wie z.B. + zweimal verschieden benutzen. Einmal als syntaktisches Symbol (links), und einmal als mathematische Operation (rechts). Das machen wir deshalb, weil wir gewohnt sind, Addition eben mit dem Symbol + zu schreiben. Und so kommt es, dass in diesem Beispiel das selbe Symbol links und rechts auftaucht. Wir wollen uns nun nochmals klar machen, dass Syntax und Semantik nicht starr gekoppelt sind. Welche Symbole man nutzt, um bestimmte Dinge zu bezeichnen folgt keiner festen mathematischen Regel, sondern folgt meist nur Konventionen unter Menschen. Man nutzt die Symbole, die den meisten Leuten (oder auch nur einem selbst) eingängig erscheinen. So hätten wir auch arithmetische Ausdrücke syntaktisch z.B. mit den Worten ◦ anstelle +, oder ⊕ anstelle von · definieren können, um so klarer zu machen, dass die Operation die dahinter steckt nicht dasselbe ist, wie das syntakstische Symbol, das in der Sprache dafür stehen soll. Das Problem daran wäre jedoch gewesen, dass Sie vermutlich von Anfang an gezweifelt hätten, was für komische Dinge wir hier arithmetische Ausdrücke nennen, und warum wir behaupten, Sie würden sie aus der Schule kennen. Andersherum können wir die selbe Syntax nehmen, und sie mit einer anderen Semantik versehen; das sieht dann eben aus wie die bekannten arithmetischen Ausdrücke, ist jedoch (in der Bedeutung), was ganz anderes. Definition 5 (Arithmetische Syntax, aber seltsame Semantik) Sei A die Menge der aritmetischen Ausdrücke ohne Variablen und Division. Seien φ und ψ Elemente von A. Dann ist J·K′ definiert als: (a) JnK′ = n (b) Jφ + ψK′ = JφK′ − JψK′ (c) Jφ − ψK′ = JφK′ · JψK′ (d) J−φK′ = JφK′ { 42 ′ (e) Jφ · ψK = JφK′ JψK′ falls JψK′ = 0 sonst Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 17 Intuition Sowohl die Syntax einer Sprache als auch die Semantik einer Sprache sind frei wählbar. Dies ist wichtig, damit wir sinnvoll auch Aspekte der realen Welt modellieren können und dabei die Symbole verwenden können, die wir normalerweise dafür verwenden – und keine, die extern vorher festgelegt wurden. Die freie Wahl der Semantikabbildung erlaubt es uns, auf genau den Aspekt zu fokussieren, der uns gerade wichtig ist. Vielleicht ist uns bei arithmetischen Ausdrücken erst einmal nicht der Wert, den sie annehmen, wichtig, sondern, wie oft der Operator + vorkommt. Eine berechtige Frage, die Sie sich jetzt vielleicht stellen, ist, wie man die Semantikabbildung verwendet. Beginnen wir mit der intuitiven Semantik von arithmetischen Ausdrücken (Sie können ihr Ergebnis gut überprüfen). Dann schreiben wir z.B.: (a) J4 + 4K = 8 (b) J4 − 7 · 8K = −52 In der Praxis … Wie sind wir auf die Ergebnisse im Beispiel gekommen? Betrachten wir zunächst einen einfachen Ausdruck: J42 + 13K. Um + auszuwerten, sagt uns die Definition der Semantik, dass wir beide Teilausdrücke, also 42 und 13, auswerten müssen. Es gilt: • J42K = 42 • J13K = 13 Damit wissen wir dann, dass als Ergebnis 55 herauskommt. Betrachten wir nun einen etwas komplizierten Ausdruck, z.B. 7 · (4 − 18). In der obersten Ebene des Ausdrucks, d.h. in der, die nicht mehr geklammert ist, müssen wir als Operator · auswerten. Dazu betrachten wir die Teilausdrücke φ := 7 und ψ := 4 − 18. Wir können direkt sehen, dass φ den Wert 7 hat. Nun betrachten wir ψ und sehen, dass wir die Semantik eines Ausdrucks mit − bestimmen müssen. Dazu müssen wir erneut zwei Teilausdrücke auswerten, nämlich 4 und 18. Auch hier bleibt nichts zu tun. Schließlich erhalten wir also für JφK = 7 und JψK = −14 und wissen damit nach der Definition der Semantik von ·, dass 7 · (−14) zu −98 auswertet. Wir können uns diese Rekursion anhand des Strukturbaumes verdeutlichen (eigentlich folgt die Rekursion sogar der Struktur exakt des Baumes, der die Formel repräsentiert). Achtung: Die folgende Darstellung dient nur der Verdeutlichung der Intuition, ist jedoch formal nicht korrekt! (a) Wir beginnen bei ÷ und wenden die entsprechende Regel der Semantik an: Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 1 Sprachen 18 · − 7 4 18 (b) Dann geht es sowohl bei 7 also auch bei − weiter (c) Für 7 wenden wir die Regel für natürliche Zahlen an und sind auf dieser Seite des Baumes fertig, die Regel für − verlangt nochmals Rekursion über die beiden Unterbäume · − 7 4 18 (d) Nun können wir die anderen Operatoren auch bestimmen: · 7 −14 (e) Schließlich erhalten wir als Ergebnis: −98 Sie wissen prinzipiell nun alles, was wir in den folgenden Kapiteln über Sprachen brauchen. Im Laufe Ihres Studiums werden noch einige Dinge über formale Sprachen und Grammatiken dazukommen. Damit Sie sicher mit Sprachen und Grammatiken umgehen können, finden Sie im nächsten Kapitel einige Übungsaufgaben, die Sie möglichst selbstständig bearbeiten sollten, sowie im Anschluss daran Lösungen zur Selbstkontrolle. Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Sprachen, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Sprachen zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen 2 Logik Logik ist die Lehre des vernünftigen Schließens, Argumentierens und Beweisens. Es ist eben dieses vernünftige klare Denken, das für die Mathematik so wichtig ist. Alle Erkenntnis der Mathematik baut auf zwei Bausteinen auf: Exakte Definition von grundlegenden Objekten und Erschließen neuer Zusammenhänge oder Eigenschaften durch die Anwendung logischen Denkens. Logisches Denken ist an sich nichts Ungewöhnliches. Es ist die Art, wie Menschen darüber nachdenken, wie Dinge zusammenhängen und auseinander hervorgehen. Alle von uns machen das jeden Tag. Die Sonne scheint, daher ist es warm. Wir schaffen eine logische Verbindung zwischen der Tatsache, dass die Sonne scheint, und es warm ist. Im Grunde macht mathematische Logik nun nichts anderes, als diese logischen Gedankengänge zu präzisieren. Dabei stellt man schnell fest, dass nicht alles, was wir im Alltag als gültigen logischen Schluss ansehen, auch wirklich zwingend richtig ist. Alle Kriminellen in meiner Stadt sind Ausländer. Mein Nachbar ist Türke. Deshalb schließe ich nachts die Türen lieber zweimal zu. Dieser Schluss ist eindeutig nicht korrekt. Bei näherer Betrachtung stellt sich sogar unser harmloser logischer Schluss mit der Sonne als nicht richtig heraus. Der Satz erweckt den Eindruck, dass wenn die Sonne scheint, es auch warm ist. Wenn dies jedoch korrekt wäre, dann dürfte es niemals passieren, dass es draußen hell ist, und trotzdem kalt – wie es zum Beispiel an einem schönen Wintertag der Fall ist. Genau diese Denkfehler eliminiert die mathematische Logik, indem sie uns nur solche Schlüsse zu ziehen erlaubt* , die wirklich richtig sind†. Um dies zu erreichen, müssen wir die Sprache, in der wir mathematische Tatsachen beschreiben können, sehr einfach halten, und ihren Bestandteilen eine möglichst genaue Bedeutung geben. In der Praxis … Wir trennen in diesem Abschnitt zwei Konzepte: Den logischen Schluss, den wir in der Mathematik ziehen dürfen, und den Schluss, den wir zwar im Alltag ziehen und für logisch und nachvollziehbar halten, den wir aber mit der Logik nicht begründen können. Logisch inkorrekte Schlüsse haben wir bereits gesehen, ein mathematisch korrekter Schluss wäre z.B. “Saarbrücken *Dies hindert uns natürlich weder daran, die Regeln der Logik unabsichtlich zu umgehen oder zu missbrauchen. Computerprogramme, sogenannte Beweissysteme, die diese Regeln beherrschen, und uns aufhalten, wenn wir nicht nach den Regeln denken, sind eine große Hilfe dabei, die Regeln der Logik korrekt zu verwenden. †Was dabei richtig und falsch ist, ist letzten Endes Auslegungssache, und es gibt da keine endgültige Wahrheit. Jedoch gibt es Regeln, auf die sich fast alle der schlausten Menschen dieser Erde seit vielen Jahrtausenden geeinigt haben. 19 2 Logik 20 ist weit entfernt von Berlin, daher brauche ich zu Fuß sehr lange von Saarbrücken nach Berlin.” Wir werden im Kapitel 3 noch genauer auf das Thema Schluss eingehen und wann wir Schlüsse ziehen dürfen und eine besondere Art von Schluss – den Beweis – kennenlernen. 2.1 Aussagenlogik Die Aussagenlogik ist eine Sprache, zusammen mit einer Sammlung von Regeln des gültigen Schließens (erst dadurch wird sie zur Logik!), bei der sich alles um Aussagen dreht. 2.1.1 Aussagen Aussage Definition 6 (Aussage) Eine Aussage ist ein Satz, der zweifelsfrei entweder wahr oder falsch ist. Es ist dabei nicht wichtig, ob wir, oder jemand anderes diesen Satz jetzt oder irgendwann später beantworten kann. Es muss nur sichergestellt sein, dass es nicht möglich ist, dass dieser Satz irgendetwas zwischen wahr und falsch ist, oder gar beides zugleich. Es geht auch nicht darum, ob dieser Satz phantastisch oder realistisch ist. Das Konzept der Aussage- und Fragesätze Aussage- und Fragesätze kennen Sie vielleicht noch aus dem Deutschunterricht. Unser Konzept hat damit aber sehr wenig zu tun. Zwar kann kein Fragesatz eine Aussage sein, aber nicht jeder Aussagesatz ist auch eine Aussage, wie die folgenden Beispiele zeigen. Beispiel • Blau ist eine Farbe.“ Dies ist eine Aussage, und sie ist wahr. ” • Alle Drachen können fliegen.“ Dies ist eine Aussage, warum dies eine ” Aussage ist, werden im zweiten Abschnitt dieses Kapitels näher betrachten. • 1 > 0 ist eine wahre Aussage, und zugleich eine ganz klassische mathematische Aussage! • Wenn ich dich nur umarmen dürfte!“ ist keine Aussage, sondern ein ” Wunsch. • Ich darf Markus immer umarmen.“ ist wiederum eine Aussage. Entweder ” ich darf Markus immer umarmen, oder nicht. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 21 • Stimmt es, dass Blau eine Farbe ist?“ Dieser Satz ist keine Aussage, es ist ” eine Frage. Fragen können niemals Aussagen sein. Intuition Nicht alles, was bisher jedoch wie eine Aussage aussah, ist auch wirklich eine Aussage. Erinnern wir uns daran, dass Aussagen immer prinzipiell eindeutig wahr oder falsch sein müssen. Schauen wir uns nochmals den Satz Ich darf Markus immer umarmen genauer an. Wer ist eigentlich Markus, und wer ist ich? Solange wir nicht wissen, auf welche Personen sich dieser Satz bezieht, können wir auch nicht sagen, ob er stimmt, oder nicht. Also ist dies eigentlich keine Aussage, außer wir wissen genau, wer gemeint ist. Auch unter den mathematischen Ausdrücken haben wir so ein ähnliches Phänomen. Betrachten wir den Satz x + 3 > 5. Er sieht ja fast so aus wie die Aussage 1 > 0 aus unseren Beispielen vorher. 1 > 0 ist eine Aussage, daran ist nichts zu rütteln. Aber obiger Satz ist keine Aussage, denn wir wissen ja nicht, was genau x sein soll. Erst wenn wir eine Zahl für x festhalten, kann man überhaupt über Wahrheit oder Falschheit dieses Satzes reden. Ebenso wie vorher Markus für uns nur ein unbestimmter Platzhalter für eine Person war, so ist x ein Platzhalter für eine unbestimmte Zahl. Manchmal treffen wir auch Sätze, bei denen scheint alles eindeutig bestimmt zu sein, und sie sehen aus wie Aussagen, dennoch sind sie keine Aussagen. Beispiel Erde > 0. Die Erde ist eindeutig ein bestimmter Planet, also kein Platzhalter. Ebenso ist die 0 eine ganz konkrete Zahl. Und dieser Satz sieht ansonsten fast so aus wie der Satz 1 > 0. Dennoch ist es keine Aussage. Er macht schlicht und ergreifend keinen Sinn. Man kann deswegen weder sagen, er ist wahr, noch kann man sagen, er ist falsch. Alle Aussagen, die wir bisher betrachtet haben, hatten eine sehr einfache Struktur, und bestanden aus einer einzigen Aussage. Man kann jedoch auch Aussagen bilden, die selbst aus mehreren Aussagen zusammengesetzt sind. Ein solches Beispiel ist Die Sonne scheint und es ist warm. Diese Aussage hat zwei Teilaussagen, Die Sonne scheint.“, und Es ist warm.“. ” ” Diese beiden Aussagen verknüpfen wir durch das Wort und, und bilden somit eine neue Aussage. Diese neue Aussage ist wahr, wenn beide Teilaussagen wahr sind, und falsch, sobald eine von beiden falsch ist. Es gibt noch einige weitere Wörter, die Aussagen sinnvoll verknüpfen, so dass durch die Verknüpfung erneut eine Aussage entsteht, das heißt, ein Satz, den man eindeutig entweder mit wahr oder mit falsch beantworten kann. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 22 Versuch es selbst! – Aufgabe 8: Natürlichsprachliche Verknüpfungen Betrachten Sie die Konjunktionen (wie “und”, “aber”, “oder”, “deshalb”, “sobald”, “obwohl” …) der deutschen Sprache. Erhält man für jede Anwendung auf Teilaussagen tatsächlich wieder Aussagen (im mathematischen Sinne)? Wann genau sind die so gebildeten Aussagen jeweils wahr, und wann falsch? Liefert jede Konjunktion wirklich eine neue Verbindung zweier Aussagen (im logischen Sinne)? Operatoren Durch die Einführung solcher Bindewörter, die wir in der Logik Operatoren* nennen, können wir aus Aussagen neue Aussagen bilden, so dass diese beliebig komplex werden können. Im folgenden Abschnitt werden wir mathematisch genau versuchen zu erfassen, was wir alles als eine Aussage verstehen wollen, und wie genau komplexe Aussagen aus einfacheren Aussagen entstehen. Gleichzeitig werden wir jeder Aussage eine eindeutige Bedeutung zuweisen, sodass jeder Logiker dieser Welt genau dasselbe versteht wie wir, wenn wir eine Aussage aufschreiben. Wir wollen im Folgenden also die Logik, die eine mathematische Sprache ist, exakt definieren. 2.1.2 Syntax Kommen wir nun zu der Syntax der Aussagenlogik. Die Syntax setzt sich zusammen aus atomaren Aussagen, die nicht mehr weiter in kleinere Bestandteile zerlegt werden können. Eine solche Aussage wäre z.B. “Es ist warm.”, oder “Die Sonne scheint.”, aber eben nicht “Es ist warm und die Sonne scheint”. Die wichtigsten atomaren Aussagen sind übrigens “Wahr.” und “Falsch.” selbst†. Die Menge der atomaren Aussagen wäre damit so etwas wie {Wahr, Falsch, Die Sonne scheint, Blau ist eine Farbe, . . . }. In dieser Menge finden sich dann alle erdenklichen Aussagen, die nicht aus anderen Aussagen zusammengesetzt sind. Da wir als Mathematiker und Informatiker immer bestrebt sind, unnötigen Ballast beim Denken abzuwerfen und uns auf die Essenz der Dinge zu konzentrieren, wollen wir diese etwas unhandliche Menge der atomaren Aussagen so vereinfachen, dass wir sie erstens leichter aufschreiben können, und zweitens wir uns keine Gedanken über die genaue natürlichsprachliche Bedeutung der einzelnen atomaren Aussagen machen müssen‡. atomare Aussage Definition 7 (Menge der atomaren Aussagen) Sei V eine Menge von Variablen§. Die Menge der atomaren Aussagen Atom besteht aus den elementaren Aussagen ⊤(gelesen “top”, steht für wahr) und ⊥(gelesen “bottom”, steht für falsch), sowie aus Aussagevariablen p, q, r, p1 ,2 . . . , q1 . . . , r1 . . . ∈ V. *historisch bedingt findet man in Schriften über die Aussagenlogik auch den Begriff Junktor anstelle von Operator. †Dies sind natürlich keine korrekten deutschen Sätze. Aber sowas ist uns Informatikern natürlich egal, solange jeder weiß, was gemeint ist. ‡Diese Abstraktion von genauen natürlichsprachlichen Formulierungen bzw. von genauen “realen” Umständen mögen Informatiker sehr gerne und nutzen sie in vielen verschiedenen Situationen. §Wir betrachten im Allgemeinen Variablen als Platzhalter für beliebige andere Objekte, hier jedoch nur für Aussagen. In der Menge V notieren wir Namen von Variablen um wiederum diese zu repräsentieren. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 23 Beachten Sie, dass jede atomare Aussage ein Wort der Sprache Aussagenlogik ist. Aussagevariablen betrachten wir im Folgenden als Platzhalter für beliebige Aussagen. Sie können also stehen für ⊤ und ⊥, aber auch für komplizierte Aussagen, die wir im Folgenden kennenlernen werden. In unserer Vorstellung dürfen wir für die Variablen auch beliebige Aussagen der Art “Die Sonne scheint” einsetzen, und wir können damit herumspielen. Einzig in unserem formalen System, der mathematischen Sprache Aussagenlogik, gibt es solche Sätze wie “Die Sonne scheint” nicht, denn wir brauchen sie nicht, um zu verstehen, wie logisches Denken funktioniert, und kümmern uns nicht um sie. Jetzt wollen wir die Operatoren der Aussagenlogik näher kennenlernen. Auch diese werden wir als einfache mathematische Symbole aufschreiben, und uns nicht mit natürlichsprachlichen Wörtern herumschlagen, auch wenn es für alle diese Operatoren eine (zumindest ungefähre) Entsprechung in der natürlichen Sprache gibt. Zugleich mit der Einführung der Operatoren wollen wir auch beschreiben, wie genau wir sie verwenden dürfen, um kompliziertere Sätze in unserer Sprache Aussagenlogik zu bilden. Definition 8 (Sprache “Aussagenlogik”) Die Menge aller Aussagen L ist gegeben durch folgende Grammatik, wobei x ∈ Atom, Menge aller Aussagen L ∋ φ, ψ ::= x | ¬φ | φ ∧ ψ | φ ∨ ψ | φ ⊕ ψ | φ → ψ | ψ ↔ φ Die Operatoren, die wir oben eingeführt haben, heißen Negation (¬), Konjunktion (∧), Disjunktion (∨), Ausschließendes Oder (⊕), Implikation (→) und Äquivalenz (↔). Negation, Konjunktion und Disjunktion nennt man auch einfach Nicht, Und und Oder. Wir fassen nun noch einmal natürlichsprachlich zusammen, welche Elemente in der Menge der Aussagen L enthalten sind. (a) Jede Aussagenvariable und die Konstanten ⊤ und ⊥ sind Aussagen (atomare Aussagen). (b) Sind φ und ψ Aussagen, dann sind auch ¬φ, φ ∧ ψ, φ ∨ ψ, φ → ψ, φ ↔ ψ, φ ⊕ ψ Aussagen. (c) Die Sprache der logischen Ausrücke, also die Menge L, ist genau (also nicht mehr und nicht weniger als) die Menge mit den Eigenschaften (a) und (b). Wir stellen auch aussagenlogische Ausdrücke als Strukturbäume dar – prinzipiell nach dem gleichen Schema wie unsere arithmetischen Ausdrücke aus Kapitel 1. Versuch es selbst! – Aufgabe 9: Mit der Aussagenlogik arbeiten Versuchen Sie mit Hilfe der Grammatik korrekte aussagenlogische Ausdrücke aufzustellen. Denken Sie daran, dass Grammatiken Strukturbäume liefern, wenn Sie aussagenlogische Ausdrücke aufstellen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular ¬, ∧, ∨, ⊕, →, ↔ 2 Logik 24 Beispiel Wir nehmen in diesem Beispiel an, dass alle im Strukturbaum auftretenden Buchstaben Aussagenvariablen sind. Zwei Beispiele für Strukturbäume finden sich in Abbilung 8. ↔ ¬ → ∧ ∨ p ⊤ p q ¬ q ⊕ r s Abbildung 8: Zwei Strukturbäume für aussagenlogische Ausdrücke Auch von aussagenlogischen Ausdrücken hätten wir gerne eine eindimensionale Variante, die sich für Menschen besser lesen und verwenden lässt. Das Vorgehen, was wir zum Übersetzen von Strukturbäumen der arithmetischen Ausdrücke zu einer eindimensionalen Darstellungen vorgestellt haben, lässt sich auf aussagenlogische Ausdrücke eins zu eins übertragen. Beispiel Die beiden Strukturbäume aus Abbildung 8 lassen sich in eindimensionaler Form so schreiben: • (¬((p) ∧ ((⊤) ∨ (q)))) (linker Ausdruck) • (((p) → (q)) ↔ (¬((r) ⊕ (s)))) (rechter Ausdruck) Wir haben aber auch bereits bei arithmetischen Ausdrücken gesehen, dass es eine Reihe von Klammersparregeln gibt, die uns das Arbeiten mit der eindimensionalen, sogenannten linearisierten Form erleichtern. Deshalb gibt es auch Klammersparregeln auf aussagenlogischen Ausdrücken. Bemerkung 4. Die äußersten Klammern eines Ausdrucks, sowie die Klammern um atomare Ausdrücke können stets weggelassen werden. Ansonsten können Klammern weggelassen werden, wenn man sie anhand folgender Prioritätsregeln über Operatorenbindungen wieder rekonstruieren kann. In folgender Liste (Abbildung 9 rechts) bindet ¬ am stärksten, ↔ am schwächsten. (a) Negation ¬ (b) Konjunktion ∧ (c) Disjunktion ∨ (d) Exklusives Oder ⊕ Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 25 (e) Implikation → (f) Äquivalenz ↔ (¬((p) ∧ ((⊤) ∨ (q)))) äußere/innere Klammer ¬(p ∧ (⊤ ∨ q)) (((p) → (q)) ↔ (¬((r) ⊕ (s)))) äußere/innere Klammer (p → q) ↔ (¬(r ⊕ x))) ¬ bindet stärker als ↔ ¬ (r → s) ↔ ¬(r ⊕ s) bindet schwächer als ∧ bindet schwächer als ∨ nicht anwendbar → bindet stärker als ↔ bindet schwächer als ⊕ bindet schwächer als → bindet schwächer als ↔ r → s ↔ ¬(r ⊕ s) ¬(p ∧ (⊤ ∨ q)) Abbildung 9: Klammersparregeln für aussagenlogische Ausdrücke Konjunktion ∧ klammert linksassoziativ. Das bedeutet, dass wenn wir schreiben p∧q∧r wir (p∧q)∧r meinen. Entsprechend für Disjunktion. Die Implikation klammert rechtsassoziativ. Hier gilt, dass p → q → r für die Aussage p → (q → r) steht. Äquivalenzen und exklusives Oder müssen immer entsprechend ihrer Bedeutung geklammert werden. In Abbildung 9 finden sich die minimal geklammerten eindimensionalen Varianten der Ausdrücke aus Abbildung 8, d.h. die linearen Formen, die möglichst wenig Klammern enthalten. 2.1.3 Semantik Wir haben Aussagen im vergangenen Abschnitt als Objekte definiert, die eindeutig wahr oder falsch sind, d.h. wir haben Aussagen als Bedeutung nur den Wert wahr oder den Wert falsch zugewiesen. Daher nutzen wir auch als formale Semantik für unsere Ausdrücke die beiden Wahrheitswerte w und f, die wir ab sofort als die “Mathematik gewordenen” Formen von wahr ⊤ und falsch ⊥ betrachten. Damit ist J·K eine Abbildung von L, der Menge aller syntaktischen Aussagen, nach {w, f}, der Menge der Wahrheitswerte. Wir notieren dies prägnant mathematisch als J·K : L → {w, f}*. Wir definieren J·K induktiv, d.h. dem syntaktischen Aufbau von Aussagen folgend†. Wir wollen nun – nachdem Sie etwas mehr Erfahrung im Umgang mit Grammatiken und induktiv aufgebauten Definitionen gesammelt haben – die genaue Bedeutung davon vertiefen. *Wir werden im Laufe des Vorkurs noch genaueres über Mengen und Abbildungen erfahren †Wenn Sie das Vorgehen mit der Definition der Semantik arithmetischer Ausdrücke vergleichen, so werden Sie eine sehr starke Ähnlichkeit feststellen können. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 26 Versuch es selbst! – Aufgabe 10: Mathematische Formulierungen Überlegen Sie sich, was “induktiv, dem syntaktischen Aufbau von Aussagen folgend” bedeutet. Denken Sie dabei auch an Strukturbäume. Die induktive Definition der Semantik erlaubt es uns sehr einfach jedem Element aus L einen Wert aus {w, f} zuzuweisen, da wir so sicherstellen, dass wirklich jeder Ausdruck auch eine Semantik erhält. Mit anderen Worten: Es gibt keinen aussagenlogischen Ausdruck in L, der mit der folgenden Semantik nicht eindeutig wahr oder falsch ist. Umgang mit Aussagenvariablen Bevor wir jetzt jedoch zu jedem beliebigen Ausdruck entscheiden können, ob er wahr oder falsch ist, müssen wir zuerst klären, wie wir dabei mit Aussagenvariablen umgehen wollen. Denn diese haben ja gerade die Eigenschaft, dass sie für beliebige Aussagen stehen können, und damit alles andere als eindeutig wahr oder falsch sind. Streng genommen sind sie damit eigentlich gar keine Aussagen, so wie wir sie in Definition 6 eingeführt haben. Um zu klären, welche Bedeutung eine Aussage nun hat, müssen wir zuerst für jede Variable festlegen, ob diese wahr oder falsch ist, bevor wir entscheiden können, ob eine Aussage wahr oder falsch ist. Eine solche Festlegung nennen wir Belegung. Belegung Definition 9 (Belegung) Eine Belegung von Aussagenvariablen ist eine Abbildung b : V → {w, f}. Wir nennen die Menge aller Belegungen B. Beispiel Für folgende Ausdrücke haben wir bereits in Abbildung 8 festgestellt, dass sie in L enthalten und damit Aussagen sind. Nun geben wir Belegungen für ihre Variablen an: • ¬(p ∧ (⊤ ∨ q)) – Belegung b1 : {p, q} → {w, f}, – q 7→ w – p 7→ f • (p → q) ↔ (¬(r ⊕ s)) – Belegung b2 : {p, q, r, s} → {w, f}, – p 7→ f – r 7→ w – q 7→ f – s 7→ w Im Allgemeinen geben wir nur Belegungen für Variablen an, die auch wirklich im aussagenlogischen Ausdruck vorkommen, dessen Semantik wir bestimmten wollen. Eigentlich müssten wir für jede Aussagenvariable eine Belegung angeben. Da aber die Belegung für nicht vorkommende Variablen kei- Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 27 nen Einfluss auf die Semantik eines Ausdrucks hat, lassen wir sie bei der Angabe von Belegungen einfach weg. Für jede Variable gibt es genau zwei Möglichkeiten, sie zu belegen, nämlich mit wahr oder falsch, sprich w oder f. Für einen Ausdruck, der n Variablen enthält, gibt es damit 2n verschiedene Belegungen. Trotzdem hält uns nichts davon ab, für jeden aussagenlogischen Ausdruck eine andere Belegung zu wählen. In der Praxis … Wir dürfen für jeden Ausdruck eine eigene Belegung wählen. Ein Beispiel dafür haben wir bereits gesehen: Eben haben wir q für den ersten Ausdruck mit w belegt und für den zweiten Ausdruck dann mit f. Während es also nicht möglich ist, für einen Ausdruck mit Variablen eine Semantik anzugeben, weil wir dazu wissen müssen, ob die Variablen wahr oder falsch sind, so können wir dies jedoch dann tun, wenn wir eine Belegung gegeben haben. Natürlich heißt das nicht, dass sich alle diese Semantiken komplett unterscheiden, wenn wir die Belegung ändern! Die Unterschiede liegen nur an der Stelle, wo die Belegung zum Tragen kommt, also da wo Variablen auftauchen. Definition 10 (Semantik von Aussagen) Seien im Folgenden φ und ψ ∈ L Aussagen, und b ∈ B eine Belegung. Dann ist die semantische Abbildung J·Kb : L → {w, f} wie folgt induktiv definiert: (a) J⊤Kb = w (b) J⊥Kb = f (c) JpKb = b(p) { w wenn JφKb = f (d) J¬φKb = f wenn JφKb = w { w wenn JφKb = w und JψKb = w (e) Jφ ∧ ψKb = f ansonsten { f wenn JφKb = f und JψKb = f (f) Jφ ∨ ψKb = w ansonsten w wenn JφKb = w und JψKb = f (g) Jφ ⊕ ψKb = w wenn JφKb = f und JψKb = w f ansonsten { f wenn JφKb = w und JψKb = f (h) Jφ → ψKb = w ansonsten f wenn JφKb = w und JψKb = f (i) Jφ ↔ ψKb = f wenn JφKb = f und JψKb = w w ansonsten Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 28 Funktionen wie unsere semantischen Abbildung für aussagenlogische Ausdrücke heißen im Allgemeinen höherstufig. Genauer gesagt nennt man alle die Funktionen höherstufig, die mindestens eine Funktion als Argument übergeben bekommen. Die Funktion J·K bekommt als Argumente eine Belegung b (b ist selbst wieder eine Funktion von V nach {w, f}) und einen aussagenlogischen Ausdruck φ. Wenn Sie später mit funktionalen Programmiersprachen wie Standard ML oder Haskell arbeiten, wird Ihnen das Konzept höherstufiger Funktionen erneut begegnen. Intuition Wir haben hier wieder ein Beispiel für eine induktive, dem Aufbau der Grammatik folgende Definition. Die Bedeutung von ⊤ und ⊥ können wir direkt, d.h. ohne Betrachtung weiterer Ausdrücke angeben. Die Auswertung der Operatoren bezüglich unserer Semantik hängt wieder von ihren Teilausdrücken (ihren Nachfolgern im Strukturbaum) ab. Beispiel Betrachten wir folgende Ausdrücke aus der Aussagenmenge. So können wir nun ihre Semantik angeben: • J⊤ ∧ ⊥K∅ = f • J(¬⊥) ∨ ⊤K∅ = w. • J(⊤ ∨ ⊥) ∧ (⊤ → (⊥ ⊕ ⊥))K∅ = f ∅ bezeichnet hierbei die leere Belegung – in den Ausdrücken kommen keine Variablen vor, daher müssen wir auch keiner Variablen etwas zuweisen. Warum dabei das Symbol ∅, welches normalerweise die leere Menge bezeichnet, sinnvoll ist, werden Sie in Kapitel 5 erfahren. Versuch es selbst! – Aufgabe 11: Unterschiede und Gemeinsamkeiten Reisen Sie eine Woche in die Vergangenheit zurück, bevor Sie dieses Skript gelesen haben und erklären Sie sich dort selbst den Unterschied zwischen ⊥ und f bzw. ⊤ und w. Eigentlich haben wir bereits alles zu aussagenlogischen Ausdrücken gesagt, was wir in den folgenden Kapiteln brauchen. Aber Achtung! Wir haben bisher noch keine natürlichsprachliche bzw. intuitive Bedeutung der Operatoren, sowie vielleicht alternative, einfachere Darstellungen geklärt. Dies folgt nun. Obwohl Ihnen vielleicht vieles klar oder bekannt vorkommt, sollten Sie die folgenden Seiten aufmerksam lesen! Zur Erinnerung an die Semantik der Operatoren präsentieren wir sie hier nochmals in ein wenig informellerer Schreibweise als sogenannte Wahrheitstafel. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 29 Intuitive Bedeutung der Operatoren Im Folgenden wollen wir Ihnen einen Überblick über die intuitive Bedeutung der aussagenlogischen Operatoren geben und eine mögliche Erklärung, warum diese so definiert worden sind, wie wir sie Ihnen vorgestellt haben. Darüber hinaus werden wir einige wichtige alternative Notationen und Sprechweisen für die Operatoren einführen. Die Negation (Symbol ¬ ) Wir beginnen mit dem einzigen unären Operator, der Negation. φ w f ¬φ f w Der Negationsoperator ist ein mächtiger Operator. Tatsächlich ist er, zusammen mit nur einem der Operatoren ∧ oder ∨ ausreichend, um alle anderen Operatoren nachzubilden. So können wir z.B. ∨ aus ¬ und ∧ wie folgt bauen: φ ∨ ψ kann man darstellen als ¬(¬φ ∧ ¬ψ). Das heisst, egal welche Belegungen wir für φ und ψ wählen, die beiden Ausdrücke haben immer den selben Wahrheitswert. In der Praxis … Lesen einer Wahrheitstafel: Um Wahrheitstafeln für Operatoren möglich allgemein zu halten, verwenden wir Aussagen der Form ¬φ oder φ∨ψ und bezeichnen mit φ und ψ wieder beliebige Ausdrücke der Aussagenlogik. Also sind φ und ψ auch hier Metavariablen. Metavariable 1 Metavariable 2 … Metavariable n Ausdruck mit n Metavariablen Auf der linken Seite beginnen wir damit, die verwendeten Metavariablen und darunter alle möglichen Belegungen dieser Metavariablen zu notieren. Zur Erinnerung: Haben wir n Variablen, so haben wir 2n mögliche Belegungen. Zählen Sie am besten immer nach, ob Sie wirklich jede Belegung der Variablen notiert haben. Die Belegungen werden wie oben als Zeilen geschrieben. Auf der rechten Seite oben steht in unserem Fall dann ein Ausdruck der Form ¬φ bzw. φ∨ψ und wir notieren darunter den Wahrheitswert, den dieser Ausdruck für die Belegung in der entsprechenden Zeile annimmt. Zum Beispiel wird ¬φ falsch, wenn wie in der ersten Zeile der Tabelle die Belegung von φ der Wert w ist. Später werden Wahrheitstafeln auch verwenden, um die Semantik konkreter aussagenlogischer Ausdrücke anzugeben, also von Ausdrücken, die tatsächlich auch in unserer Sprache enthalten sind! Statt der Belegung der Metavariablen notieren wir dann links alle möglichen Belegungen der Aussagenvariablen (p, q, …). Aufstellen von Wahrheitstafeln (a) Notiere alle vorkommenden Aussagen- bzw. Metavariablen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 30 (b) Schreibe jede Variable in eine eigene Spalte und notiere nun alle möglichen Belegungen dieser Variablen. (c) Falls der Ausdruck komplexer ist: Zerlege den Ausdruck in einfache Teilausdrücke und bestimme für jeden Wahrheitswert den Wert des Teilausdrucks. Zum Beispiel kann man (p ∨ q) ∧ (r → t) in die beiden Teilausdrücke p ∨ q und r → t zerlegen, von denen man sehr einfach die Semantik für eine konkrete Belegung angegeben kann. (d) Bestimme nun die Semantik des gesamten Ausdrucks für jede Belegung. Die Implikation (Wenn-Dann-Verknüpfung; Symbol: →) Die Implikation ist einer der Operatoren, die uns am meisten beschäftigen werden, da wir die grundlegende Idee der Implikation auch in den folgenden Kapiteln immer wieder brauchen werden. Es ist sehr wichtig, dass Sie die Implikation verstehen und verwenden können. φ w w f f ψ w f w f φ→ψ w f w w Dieser Operator repräsentiert die Grundidee jeglichen logischen Schließens: Eine Aussage folgt aus einer anderen!, oder mit Aussagenvariablen: ψ folgt aus φ. Hierbei bezeichnen wir φ als Prämisse oder Voraussetzung bzw. Hypothese und ψ als Folgerung bzw. Konklusion. Beachten Sie, dass also die Aussage, die gefolgert wird, rechts vom Operator steht. Für den mathematisch Ungeübten gibt es hier jedoch die verwirrende Tatsache, dass obwohl dieser Operator intuitiv so etwas bedeutet wie, wenn φ wahr ist, dann ist auch ψ wahr, muss zwischen den Aussagen, für die φ und ψ jeweils stehen, keinerlei sinnvoller Zusammenhang bestehen. Beispiel Wenn rot eine Farbe ist, dann ist ein Kreis rund. Diese Aussage ist wahr. Und zwar nicht deshalb, weil rote Farbe und runde Kreise irgendeinen sinnvollen Zusammenhang hätten, sondern nur deshalb, weil beide Aussagen für sich genommen wahr sind, und deshalb nach unserer Semantik beide Aussagen, verknüpft mit → wiederum eine wahre Aussage ergeben. Weshalb um alles in der Welt haben dann die vielen schlauen Logiker der letzten Jahrhunderte die Bedeutung von → so gewählt? Wir können uns versuchen, dies wie folgt zu erklären. Normalerweise verwendet man Implikationen als Teil eines Beweises, und sie repräsentieren sinnvolles Wissen, dass wir über die Welt haben. Betrachten wir die Tatsache, dass alle Männer kurze Haare haben.*. Diese Tatsache können wir als eine Implikation verstehen: Wenn ein Mensch ein Mann ist, dann *Falls Sie daran zweifeln, ist das kein Problem. Tun Sie die nächsten Minuten einfach so als ob. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 31 hat dieser Mensch kurze Haare. Dies ist eine Implikation über zwei Aussageformen (wir können hier für x verschiedene Werte einsetzen und dann erst bestimmen, ob der Satz wahr oder falsch wird, genaueres dazu im folgenden Abschnitt)): (Mensch x ist Mann) → (Mensch x hat lange Haare). Erinnern Sie sich daran: wir glauben fest an diese Aussage†. Nun nehmen wir einen Mann, nennen wir ihn Christian, und wir wollen beweisen, dass Christian kurze Haare hat. Wenn wir Christian in die Aussageform einsetzen, erhalten wir die Implikation Christian ist hat | {z ein Mann} → Christian | {zkurze Haare} . p q Zur leichteren Verständigung nennen wir die beiden Teilaussagen der Implikation nun p bzw. q. Da wir wissen, dass Christian ein Mann ist, ist p wahr. Da wir auch an die Implikation glauben, muss also folgen, dass q auch gilt, also hat Christian kurze Haare. Aber halt! Wir waren hier wieder nur intuitiv, und wir haben über Implikation gesprochen, als wüssten wir, was sie genau bedeutet. Wir wollen daher nun versuchen zu verstehen, inwiefern dieser logische Schluss, den wir gerade gezogen haben, in der Semantik von → versteckt ist. Zuerst wollen wir uns fragen, was es nun eigentlich semantisch bedeutet, dass wir fest daran glauben, dass die Implikation wahr ist. Nichts anderes als dass gilt Jp → qK = w! Wir wissen nun also, dass p wahr ist. Und wir wissen, dass p → q wahr ist. Damit muss nach unserer Semantik von p → q also auch folgen, dass q wahr ist, denn andernfalls, wenn JqK = f gelten würde, dann wäre auch Jp → qK = f, was ja ein Widerspruch wäre zu unserem festen Glauben in diese Implikation! Wunderbar! Wir haben soeben erklärt, weshalb die ersten beiden Zeilen in der Wahrheitstafel, die zum Operator → gehört, Sinn ergeben. Wir versuchen nun, die dritte und vierte Zeile der Wahrheitstafel für uns zu erklären. Dort ist jeweils die Prämisse falsch. In unserem Beispiel bedeutet das, dass wir nun keinen Mann betrachten, sondern eine Frau. Nennen wir Sie Julia. Wir glauben immer noch an unsere anfängliche Implikation über männliche Menschen, die kurze Haare haben. Können wir nun irgendetwas über Julias Haare aussagen? Können wir also ebenfalls schließen, dass sie kurze Haare hat? Oder können wir vielleicht schließen, dass sie lange Haare hat? Tatsächlich sagt unsere Implikation aber nichts über Julia aus, da sie kein Mann ist. Also sollte unsere Semantik der Implikation ebenfalls keine Aussage über Julias Haare zulassen. Und tatsächlich ist das so! Nehmen wir an, Julia hat tatsächlich kurze Haare. Dann wird die Konklusion unserer Implikation wahr. Wir befinden uns damit in Zeile drei der Wahrheitstafel, und wie wir sehen, ist die Semantik der Implikation dann w. Das bedeutet für uns, dass dies absolut konform ist mit unserem Glauben in unsere Implikation. Genau das selbe passiert in Zeile vier, im Falle, das Julia lange Haare hat. Dann ist die Semantik ebenfalls w, und ist damit konform zu unserem Glauben an unsere Implikation. Dies bedeutet also insbesondere, dass wir keinerlei Informationen aus einer Implikation ziehen können, wenn ihre Prämisse falsch ist (Julia ist kein Mann!). †Sie haben Recht, eigentlich ist das keine Aussage, da x ein Platzhalter ist, und wir daher nicht wissen, ob der Satz wahr oder falsch ist. Ignorieren Sie das bitte einmal kurzzeitig. Ohne Platzhalter werden die Beispiele fast immer sinnlos klingen. Zur Beruhigung: in Kapitel 2.2 werden wir sehen, wie wir sowas dann doch zu einer korrekten Aussage hinbiegen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 32 Bemerkung 5. Ein wichtiger Merksatz der Logik ist: Aus Falschem kann man alles Beliebige folgern! Beispiel Nehmen wir eine Implikation, deren Prämisse offensichtlich falsch ist, ebenso wie ihre Konklusion: Wenn 1 = 5, dann ist 2 = 10. Wenn wir jedoch mit der falschen Prämisse anfangen zu arbeiten, dann können wir sogar zeigen, dass 2 = 10 gilt, und zwar wie folgt: 2 = 1 · 2 dies ist nach der Prämisse 5 · 2 und dies ist bekanntlich 10. Auch auf diese Art können wir uns erklären, weshalb es sinnvoll ist, Zeile vier der Wahrheitstafel von → so zu definieren, wie sie definiert ist. Natürlichsprachlich hat eine Wenn - Dann“ Konstruktion oftmals einen kausa” len Zusammenhang. Beim mathematischen Wenn - Dann“ ist das nicht zwin” gend der Fall. Beispiel Wenn es regnet, werde ich nass. Natürlichsprachlich verstehen wir den Regen als Ursache dafür, das wir nass werden. In der Aussagenlogik bedeutet das nicht weiter als eine der drei Dinge: • es regnet gerade und ich werde gerade nass (vielleicht weil ich keinen Schirm habe, vielleicht aber auch, weil mich gerade ein Hund anpinkelt) • es regnet gerade nicht, und ich werde trotzdem nass (vermutlich weil mich ein Hund anpinkelt) • es regnet gerade nicht, und ich werde auch nicht nass (der Hund hat rechtzeitig eine Laterne gefunden). Wichtige alternative Sprechweisen für φ → ψ sind • φ impliziert ψ • φ ist hinreichend für ψ • φ ist hinreichende Bedingung für ψ. • ψ ist notwendig für φ. • ψ ist notwendige Bedingung für φ. • wenn φ dann ψ notwendige hinreichende Sie sollten sich unbedingt merken, und auch genau verstehen, in welche Richtung die Implikation jeweils dabei geht. Eine Übersicht finden Sie in Abbildung 10. Verwechselungsgefahr besteht dabei oft bei den Ausdrücken notwendige und hinreichende Bedingung. Eine Bedingung φ ist hinreichend für ψ, wenn das Erfülltsein von φ stets garantiert, dass auch ψ erfüllt ist. Dabei ist φ alleine dafür vollständig ausreichend, und nichts anderes ist mehr nötig. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 33 φ impliziert ψ nur dann wenn notwendig hinreichend wenn hinreichende Bedingung dann notwendige Bedingung Abbildung 10: Übersicht über mögliche Bezeichnungen für Implikationen Beispiel Ein Streichholz in eine Kerzenflamme zu halten ist hinreichend dafür, dass das Streichholz sich entflammt. Für ein und die selbe Bedingung ψ kann es jedoch mehrere hinreichende Bedingungen φ geben. Beispiel (a) Ein Streichholz in einen brennenden Hochofen zu werfen ist ebenfalls hinreichend dafür, dass das Streichholz sich entzündet. (b) Ein Streichholz an der Reibefläche der Streichholzschachtel zu reiben, ist nicht hinreichend dafür, dass das Streichholz sich entzündet, denn oft genug brechen dabei Streichölzer einfach ab, ohne anzugehen. Daher kann dies nicht hinreichend sein. Notwendige Bedingungen sind solche Bedingungen, die gegeben sein müssen, damit eine andere Bedingung überhaupt eintreten kann. Mit Variablen gesprochen: wenn q für p notwendig ist, dann muss q gelten, damit p gilt, aber alleine genügt q nicht. Im Allgemeinen genügen notwendige Bedingungen alleine nicht*. Beispiel (a) Um am Herd Wasser zum Kochen zu bringen, ist es notwendig, den Topf mit Wasser auf den Herd zu stellen, da das Wasser neben dem Herd garantiert nicht kochen wird. Allerdings genügt es nicht, den Topf auf den Herd zu stellen, man muss ihn auch einschalten. Den Herd einzuschalten ist ebenfalls notwendig, aber nicht genug. Also ist sowohl Herd einschalten (ein) als auch den Topf auf den Herd zu stellen (topf ) eine notwendige Bedingung um das Wasser zum Kochen zu bringen (kochen). Formal können wir das schreiben als kochen → ein und kochen → topf Beachten Sie, dass die notwendigen Bedingungen auf der rechten Seite von → stehen! *Eine Bedingung kann auch gleichzeitig notwendig und hinreichend sein. Dann genügt sie natürlich. Diesen Sachverhalt schreibt man logisch als Äquivalenz p ↔ q. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 34 Wenn wir den Topf mit dem Wasser sowohl auf den Herd stellen, als auch den Herd einschalten, dann wird das Wasser sicher zu kochen beginnen (in einer einfachen Welt). Beide Bedingungen zusammen sind dann auch hinreichend. Wir können dann schreiben kochen ↔ topf ∧ ein Das heisst, topf und ein zusammen sind hinreichend und notwendig für kochen. Ebenso ist kochen hinreichend und notwendig dafür, dass der Topf auf dem Herd steht und gleichzeitig der Herd eingeschaltet ist. (b) Das Streichholz an der Reibefläche der Schachtel zu reiben ist übrigens weder hinreichend noch notwendig. Das Streichholz muss nicht immer angehen, wenn man es dort reibt, daher ist diese Tätigkeit nicht hinreichend. Sie ist auch nicht notwendig, da man Streichhölzer auch anzünden kann, ohne sie jemals an der Reibefläche gerieben zu haben, nämlich z.B. an Kerzenflammen oder Hochöfen. Für Implikationen haben sich im Laufe der Jahrzehnte weitere wichtige damit zusammenhänge Aussagen ergeben. Bemerkung 6. Wir bezeichnen die Aussage ψ → φ als die Umkehrung der Aussage φ → ψ, ¬φ → ¬ψ als ihr Inverses und ¬ψ → ¬φ als ihre Kontraposition. Die Kontraposition hat immer den gleichen Wahrheitswert wie die ursprüngliche Implikation, in Beweisen kann es hilfreich sein, statt einer Implikation ihre Kontraposition zu beweisen, zum Beispiel wenn man darüber weitere Annahmen zur Verfügung hat. Dieses Thema werden wir noch weiter in Kapitel 3 vertiefen. Die Äquivalenz ( Genau - Dann - Wenn“ - Verknüpfung; Symbol: ↔) ” Die Äquivalenz ist der Implikation sehr ähnlich. Wie wir am Ende des Kapitels sehen werden ist die Äquivalenz sogar nichts anderes als eine Implikation von φ nach ψ und eine Implikation von ψ nach φ. φ w w f f ψ w f w f φ↔ψ w f f w Andere Bezeichnungen für φ ↔ ψ: • φ gilt dann und nur dann wenn ψ gilt • φ ist hinreichend und notwendig für ψ • φ gdw ψ (genau dann wenn) • φ iff ψ (if and only if) Beispiel Sei p: 1 < 0 “ und q: Das Saarland liegt am Meer.“ Die Aussage p ↔ q , ” ” sprich 1 < 0 gilt genau dann, wenn das Saarland am Meer liegt. Sie ist also ” Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 35 logisch richtig, da das Saarland nicht am Meer liegt, und auch 1 < 0 nicht gilt. Bemerkung 7. (a) Wir sehen hier sehr schön, dass es nicht immer hilfreich ist, nach dem Sinn solcher Aussagen zu fragen. Schon gleich nicht, wenn wir diese Aussage aussprechen und etwas sagen wie, “Dass das Saarland am Meer liegt ist notwendig und hinreichend dafür, dass 1 < 0”. Dass 1 < 0 gilt oder nicht gilt, hat in der echten Welt rein gar nichts damit zu tun, wo das Saarland liegt. Umgekehrt genauso wenig. Dennoch sind beide Aussagen logisch äquivalent, da beide den selben Wahrheitswert haben. Als Nicht-Mathematiker hat man mit solchen logischen Verknüpfungen (häufig) das Problem, dass man annimmt, die logisch äquivalenten Aussagen müssten irgendeinen inhaltlichen oder kausalen Zusammenhang haben. Dass aus 1 < 0 logisch folgt, dass das Saarland am Meer liegt, scheint keinen Sinn zu ergeben. Einfach deshalb, weil wir dann versuchen in 1 < 0 einen Grund dafür zu sehen, das vielleicht halb Europa überflutet wurde, und daher Frankreich plötzlich zu Meer wurde. Aber offensichtlich gibt es keinen Zusammenhang zwischen 1 < 0 und dem Anstieg des Meeresspiegels* (b) Wenn Aussagenlogik so sinnlos ist, warum betreiben wir sie dann? Zum einen, weil die Aussagen ja durchaus Sinn ergeben können. Wir müssen die Aussagen nur passend wählen. Zum anderen liegt in der Tatsache, dass die Aussagenlogik auch dann funktioniert, wenn die Aussagen, mit denen wir hantieren, scheinbar keinen Sinn ergeben, ihre große Stärke. Oft wissen wir gar nicht von vorne herein, ob irgendwelche Aussagen in einem aussagenlogischen Ausdruck zusammen Sinn ergeben. Und doch können wir mit Ihnen arbeiten, sie umformen. Solange bis wir sie auf eine Form gebracht haben, so dass wir plötzlich wieder einen neuen Zusammenhang, einen neuen Sinn, in ihnen entdecken. Genau das ist es, was wir in der Mathematik immer wieder tun! Wir haben nun die Semantik aller aussagenlogischen Ausdrücke formal definiert. Jeder Ausdruck, sprich jede Aussage, steht semantisch gesehen dabei entweder für wahr w oder für falsch f. Da wir nun wissen, was Aussagen bedeuten, ist es relativ einfach sich zu überlegen, dass zwei Aussagen semantisch, also von ihrer Bedeutung her, gleich sind, wenn sie beide wahr oder beide falsch sind. Definition 11 (Logische Gleichheit ≡) Zwei Aussagen φ und ψ aus L sind genau dann logisch gleich, geschrieben, φ ≡ ψ, wenn für alle Belegungen b ∈ B gilt, dass JφKb = JψKb . logisch gleich Mit Hilfe der logischen Gleichheit, die wir gleich noch näher betrachten wollen, können wir drei besondere Arten von aussagenlogischen Ausdrücken definieren. Definition 12 (Erfüllbar, Tautologie und Kontradiktion) (a) (b) Eine Aussage heißt erfüllbar, wenn es eine Belegung b ∈ B gibt, so dass JφKb = w. *Zumindest schien bisher die globale Erwärmung die plausibelste Ursache. Vielleicht werden wir aber irgendwann entdecken, dass dies alles tatsächlich nur an 1 < 0 liegt. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular erfüllbar 2 Logik allgemeingültig unerfüllbar 36 (c) Eine Aussage φ heißt allgemeingültig, tautologisch bzw. Tautologie, genau dann, wenn φ ≡ ⊤, das heisst, φ für alle Belegungen wahr ist. (d) Ein Aussage heißt unerfüllbar, kontradiktorisch bzw. Kontradiktion, wenn φ ≡ ⊥. In Abbildung 11 finden Sie eine Übersicht über den Zusammenhang zwischen Tautologien, Kontradiktionen und erfüllbaren Aussagen. erfüllbare Aussagen Negation ⊤ p ∧ ¬p Tautologien Kontradiktionen p ∨ ¬p Negation ⊥ p∨q Abbildung 11: Zusammenhang zwischen erfüllbaren, unerfüllbaren Aussagen und Tautologien Sie sollten sich die folgenden drei Dinge merken: (a) Jede Tautologie ist auch eine erfüllbare Aussage, da wenn die Formel unter jeder Belegung zu wahr auswertet, dann gibt es auch eine Belegung unter der sie zu wahr auswertet. Wir können einfach eine mögliche aussuchen! (b) Die Negation einer Kontradiktion ist eine Tautologie da wenn die Formel unter keiner Belegung zu wahr auswertet, so gibt die Definition der Semantikabbildung vor, dass die negierte Abbildung unter jeder Belegung wahr wird. (c) Die Negation einer Tautologie ist eine Kontradiktion. Die Argumentation hierfür ist analog, also sehr ähnlich zu der Argumentation, dass die Negation einer Kontradiktion eine Tautologie ist. Versuchen Sie es selbst! Versuch es selbst! – Aufgabe 12: Spezielle aussagenlogischen Ausdrücke Bevor Sie das Beispiel betrachten: Versuchen Sie einmal selbst Aussagen aufzustellen, die erfüllbar, allgemeingültig oder unerfüllbar sind. Geben Sie auch mehrere Ausdrücke an, die zueinander logisch äquivalent sind. Beispiel Hier ein paar Beispiele für erfüllbare, tautologische und kontradiktorische Ausdrücke: (a) ¬(¬p) ist erfüllbar. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 37 p f w ¬p w f ¬(¬p) f w Wir sehen, dass p und ¬(¬p) logisch äquivalent sind. (b) p ∧ (q ∧ r) ist erfüllbar, und zwar nur falls die p, q und r jeweils mit w belegt werden. Hier ist das Aufstellen einer Wahrheitstabelle sehr aufwendig, deshalb haben wir folgende Überlegung gemacht: ∧ wird nur dann wahr, wenn beide Teilaussagen – hier p und q ∧ r – wahr werden. Damit wissen wir schon, dass p wahr werden muss. Für q ∧ r gehen wir genauso vor und erhalten somit, dass q und r auch wahr werden müssen. Dieser Ausdruck ist zum Beispiel auch logisch äquivalent zu (p ∧ q) ∧ r mit einer sehr ähnlichen Argumentation! (c) ⊥ ist die einfachste Kontradiktion, und ⊤ die einfachste Tautologie. (d) p ∧ ¬p ist eine Kontradiktion, da p wahr werden muss, damit ∧ wahr wird, dann aber gleichzeitig ¬p falsch wird. (e) p ∨ ¬p ist eine Tautologie. p f w ¬p w f p ∨ (¬p) w w (f) p ∧ q → p ist eine Tautologie. Wir begründen wieder informell: Wenn p falsch ist, ist die Prämisse der Implikation (p ∧ q) falsch, also die Implikation wahr. Ist p wahr, so sind wir auch fertig, weil eine Implikation mit wahrer Konklusion immer wahr ist. In der Praxis … Wie bestimmt man, ob ein Ausdruck eine Tautologie, erfüllbar oder eine Kontradiktion ist? Bei noch wenigen Aussagenvariablen kann man alle möglichen Belegungen ausprobieren. Bei einer Aussagenvariable muss man zwei, bei zwei schon vier, im Allgemeinen bei n schon 2n Belegungen betrachten. Wie kann man nun bei größeren Ausdrücken vorgehen? Man betrachtet zum Beispiel, ob es Aussagen gibt, die immer falsch werden, man geht also wieder rekursiv in die Teilausdrücke. Mit der Zeit (und Übung) entwickelt man ein Gefühl dafür, ob Ausdrücke erfüllbar (und auch für welche Belegung) oder unerfüllbar sind. Diese Intuition für (meistens) kurze Ausdrücke hilft dann, immer größere Ausdrücke zu betrachten. Es gibt einige sehr bekannte Äquivalenzen von aussagenlogischen Ausdrücken, die wir im folgenden Abschnitt betrachten werden. Auch diese können uns helfen, da sie uns häufig erlauben, kompliziertere Ausdrücke zu vereinfachen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 38 2.1.4 Gesetze der Aussagenlogik Für die Aussagenlogik hat sich eine Menge von wichtigen logischen Äquivalenzen entwickelt, die immer wieder in mathematischen Beweisen und Schlussfolgerungen verwendet werden. Um sie eindeutig bezeichnen zu können, haben sich feste Namen für die einzelnen Äquivalenzen herausgebildet. Diese wollen wir Ihnen in diesem Abschnitt angeben. Satz 1 (Gesetze der Aussagenlogik) Seien φ, ψ und χ (gelesen “chi”) Ausdrücke im Aussagenkalkül. Dann gelten folgende Regeln bzw. Gesetze: Tertium non datur • φ ∨ ¬φ ≡ ⊤ • φ ∧ ¬φ ≡ ⊥ Identität: • φ∧⊤≡φ • φ∨⊥≡φ Dominanz: • φ∨⊤≡⊤ • φ∧⊥≡⊥ Idempotenz: • φ∧φ≡φ • φ∨φ≡φ Assoziativität: • φ ∧ (ψ ∧ χ) ≡ (φ ∧ ψ) ∧ χ • φ ∨ (ψ ∨ χ) ≡ (φ ∨ ψ) ∨ χ Damit auch:(φ ∧ ψ) ∧ χ ≡ φ ∧ ψ ∧ χ bzw. (φ ∨ ψ) ∨ χ ≡ φ ∨ ψ ∨ χ *. Kommutativität: • φ∨ψ ≡ψ∨φ • φ∧ψ ≡ψ∧φ • φ↔ψ≡ψ↔φ Distributivität: • φ ∧ (ψ ∨ χ) ≡ (φ ∧ ψ) ∨ (φ ∧ χ) • φ ∨ (ψ ∧ χ) ≡ (φ ∨ ψ) ∧ (φ ∨ χ) • φ → (ψ ∧ χ) ≡ (φ → ψ) ∧ (φ → χ) • φ → (ψ ∨ χ) ≡ (φ → ψ) ∨ (φ → χ) *∧ und ∨ Klammern implizit links. So kommen wir auf die Äquivalenz (φ ∨ ψ) ∨ χ ≡ φ ∨ ψ ∨ χ und analog für ∧. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 39 Negation: • ¬(φ ∧ ψ) ≡ ¬φ ∨ ¬ψ (Gesetz von de Morgan) • ¬(φ ∨ ψ) ≡ ¬φ ∧ ¬ψ (Gesetz von de Morgan) • ¬(¬φ) ≡ φ (Doppelte Negation) Definierbarkeit: • ¬φ ≡ φ → ⊥ • φ ∧ ψ ≡ ¬(¬φ ∨ ¬ψ) • φ ∨ ψ ≡ ¬(¬φ ∧ ¬ψ) • φ ⊕ ψ ≡ (φ ∨ ψ) ∧ ¬(φ ∧ ψ) • φ → ψ ≡ ¬φ ∨ ψ ≡ ¬ψ → ¬φ • φ ↔ ψ ≡ (φ → ψ) ∧ (ψ → φ) Alle diese Regeln lassen sich Beweisen, zum einen durch Wahrheitstabellen oder, teils schneller und kürzer, durch Herleiten aus bereits bekannten (d.h. bewiesenen Regeln) beweisen. Wir können nun leicht neue Regeln herleiten. Die Gesetze der Aussagenlogik können dazu angewendet werden, komplexe aussagenlogische Ausdrücke zu vereinfachen bzw. aus bekannten Formeln (und damit bekanntem Wissen) neue Formeln (und damit neues Wissen) zu generieren. Im folgenden Beispiel zeigen wir Ihnen, wie man typischerweise Veinfachungen von Formeln mithilfe aussagenlogischer Gesetze notiert. Beispiel a: Es gilt: ¬(φ → ψ) ≡ φ ∧ ¬ψ Beweis. ¬(φ → ψ) Def inierbarkeit ¬(¬φ ∨ ψ) DeM organ ¬(¬φ) ∧ ¬ψ N egation φ ∧ ¬ψ ≡ ≡ ≡ b: Es gilt auch: ¬(φ ↔ ψ) ≡ (φ ∧ ¬ψ) ∨ (¬φ ∧ ψ) Beweis. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 40 ¬(φ ↔ ψ) Def inierbarkeit ¬((φ → ψ) ∧ (ψ → φ)) DeM organ ¬(φ → ψ) ∨ ¬(ψ → φ) Def inierbarkeit ¬(¬φ ∨ ψ) ∨ (¬ψ ∨ φ) DeM organ (φ ∧ ¬ψ) ∨ (ψ ∧ ¬φ) Kommutativitt (φ ∧ ¬ψ) ∨ (¬φ ∧ ψ) ≡ ≡ ≡ ≡ ≡ In der Praxis … Wenn wir Beweise schreiben (vor allem, wenn sie von anderen Menschen gelesen werden sollen, wie z.B. in Klausuren), dann müssen wir jeden Umformungsschritt durch Angabe des verwendeten Gesetz begründen. Gleichzeitig hilft es uns, die Korrektheit der Beweise zu überprüfen. Allgemein gilt: Seien Sie in Beweisen so ausführlich und mathematisch präzise wie möglich. Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Aussagenlogik, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Aussagenlogik zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 41 2.2 Prädikatenlogik Im letzten Abschnitt haben wir Aussagen als Sätze kennengelernt, bei denen wir eindeutig entscheiden konnten, ob sie wahr oder falsch sind. Diese konnten wir durch Operatoren zu neuen komplexeren Aussagen verknüpfen. Obwohl wir damit bereits interessante Zusammenhänge zwischen Aussagen kennengelernt haben, wie z.B. was es bedeutet, wenn eine Aussage logisch aus einer anderen folgt, waren die Aussagen selbst immer komplett unabhängig voneinander. Wir konnten z.B. sagen “Um die Uni herum stehen viele Bäume und Christian ist ein Mann.”, oder auch “Dass um die Uni herum viele Bäume stehen impliziert, dass Christian ein Mann ist.” Diese Aussagen sind beide wahr, jedoch kommt ihre Sinnhaftigkeit sehr nahe an manche Schlagzeilen einer großen Zeitung mit vielen bunten Bildern heran. Das Problem, dass die Aussagen sinnlos erscheinen, liegt darin begründet, dass die beiden Teilaussagen inhaltlich keinerlei Zusammenhang besitzen, und jede der beiden durch eine beliebige andere wahre Aussage ersetzt werden kann, ohne am Wahrheitsgehalt der Aussagen etwas zu ändern. Dabei ist es in unserem täglichen Sprachgebraucht und auch in der Mathematik wichtig, Dinge mit ihren Eigenschaften in Beziehung zu setzen. Zum Beispiel wollen wir die Aussage “Alle Studierenden, die in Saarbrücken Informatik studieren, hören Programmierung 1” auch prädikatenlogisch ausdrücken können. “Dinge” sind hier die Studierenden und wir wollen sie mit der Eigenschaft “studiert Informatik in Saarbrücken” und “hört Programmierung 1” in Verbindung setzen. Ein anderes, mathematisches Beispiel, was Sie vielleicht noch aus der Schule kennen, ist der Satz “Alle Funktionen mit ungeradem Grad haben mindestens eine Nullstelle”. Hier sind Funktionen Dinge und sie werden mit den Eigenschaften “hat eine Nullstelle” und “hat ungeraden Grad” in Verbindung gesetzt. Diese beiden Sätze weisen noch einen weiteren Unterschied zu unseren bisherigen Aussagen auf: Wir machen in beiden Fällen keine Aussage über ein einziges, ganz konkretes “Ding”, sondern über alle diese Dinge. Auch dies ist typisch für die Mathematik – oft sind wir nicht daran interessiert, zum Beispiel welche Eigenschaften die Funktion f (x) = 2 · x3 − 4 · x hat, sondern was generelle Eigenschaften Funktionen dritten Grades sind. Das zweite Beispiel enthält noch eine dritte Besonderheit, die wir mit der Aussagenlogik nicht wiedergeben können: Wir machen eine Aussage über die Existenz von Dingen – es soll mindestens eine Nullstelle geben. Auch die Tatsache, dass es bestimmte Dinge gibt, ist in der Mathematik immer wieder wichtig; aus der Schule werden Ihnen vielleicht noch Kurvendiskussionen in Erinnerung sein, die sich in großen Teilen mit der Existenz von Nullstellen, Hochpunkten, Tiefpunkten und Wendepunkten beschäftigt. Das heißt, eine sinnvolle Erweiterung der Aussagenlogik soll drei Anforderungen erfüllen: Es soll möglich sein, … (a) …Dinge und Eigenschaften miteinander zu verbinden, insbesondere soll es möglich sein, Dinge mit ihren Eigenschaften in Beziehung zu setzen. (b) …Aussagen über alle Dinge einer bestimmten Menge von Dingen zu treffen. (c) …Aussagen über die Existenz eines speziellen Dings in einer bestimmten Menge von Dingen zu treffen. Mit der Prädikatenlogik lernen wir eine Erweiterung der Aussagenlogik kennen, die genau diese drei Anforderungen erfüllt. Tatsächlich ist die Prädikatenlogik eine Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 42 sehr mächtige Logik. Alles, was wir jemals innerhalb der Mathematik aussagen wollen, können wir in ihr aufschreiben. Diese Mächtigkeit hat aber auch ernsthafte Konsequenzen. Konnten wir z.B. bei der Aussagenlogik noch ein automatisches Verfahren suchen, dass uns erlaubt, festzustellen, ob eine Formel prinzipiell erfüllbar ist, oder nicht – nämlich durch Ausprobieren aller möglichen Belegungen –, ist dies jetzt im Allgemeinen nicht mehr möglich. Dies liegt unter anderem daran, dass ihre elementaren Bestandteile nun keine Aussagen mehr sind, sondern etwas viel Allgemeineres, so genannte Aussageformen. Aussageformen kann man sich vorstellen als Sätze mit Loch. Bevor die Aussageformen formal definieren, werden wir ein kleines Beispiel betrachten. Beispiel Betrachten wir zunächst einmal den Satz x > 0“. Solange wir über x nichts ” Genaueres wissen bzw. x näher spezifiziert haben, können wir nicht entscheiden, ob der Satz wahr oder falsch ist. Somit ist der Satz nach unserer Definition auch keine Aussage. Ersetzen wir x jedoch durch eine Zahl, wird der Satz zu einer Aussage und wir können ihm einen Wahrheitswert zuweisen. Setzen wir für x zum Beispiel den Wert 1 ein, so erhalten wir eine wahre Aussage 1 > 0 “, die wir bereits im letzten Abschnitt kennengelernt haben. ” −3 Für x = −3 2 erhalten wir aber die falsche Aussage ” 2 > 0“. Universum Sätze, wie wir sie im letzten Beispiel gesehen haben, werden in der Mathematik sehr häufig verwendet. Sie stellen die Eigenschaften, die wir oben diskutiert haben, syntaktisch dar. Um klarzustellen, für welche Dinge Aussageformen Eigenschaften darstellen, ist jede Aussageform über einer Menge von Dingen – genannt Universum – definiert, welche angibt, was für Dinge man einsetzen darf. Achtung: Das Universum enthält immer mindestes ein Ding, was man einsetzen kann, es ist also nie leer. Definition 13 (Aussageform) Sei U eine Menge. Eine Aussageform über dem Universum U ist ein Satz, der durch Einsetzen eines Elements aus dem Universum zur Aussage wird. In unserem Beispiel kann man als Universum alle Menge von Zahlen wählen, auf denen die Ordnung mit < bzw. > sinnvoll definiert ist, also z.B. die Menge der natürlichen, ganzen, rationalen oder rellen Zahlen. Man beachte dabei, dass wir keine Aussage erhalten, wenn wir statt dessen die Menge aller Menschen als Universum wählen, da dann der Satz Christian > 0 überhaupt keinen Sinn ergibt, und wir ihm damit nicht eindeutig einen Wahrheitswert zuordnen können. Achtung: Die Formulierung “eines Elements” in obiger Definition ist nicht ganz wörtlich zu verstehen*. Eine Aussageform kann mehrere Löcher haben und in jedes Loch kann ein Ding aus einer anderen Menge eingesetzt werden. Beispiel (a) Nun betrachten wir den Satz “x wohnt in y”. Dieser Satz ist eine Aussageform mit zwei Löchern. Für x können wir Personen und für y Orte *Den Grund dafür erfahren Sie in Kapitel 4. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 43 einsetzen. Das Universum für diese Aussagemenge ist die Menge aller geordneten Paare (x, y), so dass x eine Person und y ein Ort ist. Wenn Personen die Menge aller Personen und Orte die Menge aller Orte ist, so schreibt man für das Universum U auch Personen × Orte. Genaueres dazu in Kapitel 4! (b) Möchten wir von einer beliebigen Menge an Städten wissen, ob sie im Saarland liegen oder nicht, so können wir dies mit Hilfe einer Aussageform tun. Sei so zum Beispiel unser Universum U = {Saarbücken, Hanoi} und die dazugehörige Aussageform L(s) := Die Stadt s liegt im Saarland. 2.2.1 Syntax In diesem Abschnitt betrachten wir die Syntax der Prädikatenlogik. Das Vorgehen ist dabei genau das gleiche wie im Abschnitt über Aussagenlogik: Wir definieren zunächst mithilfe der Backus-Naur-Form eine formale Sprache, die alle gültigen prädikatenlogischen Ausdrücke definiert. Danach werden wir die Semantik prädikatenlogischer Ausdrücke zunächst intuitiv, dann formal betrachten. Definition 14 (Menge aller prädikatenlogischen Ausdrücke) Die Menge aller prädikatenlogischen Ausdrücke P ist gegeben durch folgende Grammatik: P ∋ φ, ψ ::=⊤ | ⊥ | P (x1 , . . . , xn ) | ∀x : φ | ∃x : φ | ¬φ | φ ∧ ψ | φ ∨ ψ | φ ⊕ ψ | φ → ψ | ψ ↔ φ Dabei gilt: x1 , . . . , xn ∈ IVar. IVar ist die Menge der Individuenvariablen, sie dienen uns als Platzhalter für Löcher in Aussageformen. Wenn Sie die Definition der prädikatenlogischen und der aussagenlogischen Ausdrücke vergleichen, wird Ihnen auffallen, dass die Aussagenvariablen p der Aussagenlogik nun verschwunden sind. Stattdessen finden wir unter anderem die neue Phrase P (x1 , . . . , xn ) vor. Dies ist die sogenannte Aussagenform. Sie besteht aus zwei Teilen, der Aussageform P , und den Individuenvariablen x1 bis xn . Individuenvariablen repräsentieren die Werte, die für die Löcher in Aussageformen eingesetzt werden sollen. Da eine Aussageform beliebig viele Löcher besitzen kann, deuten wir durch die Punktschreibweise an, dass prinzipiell auch beliebig viele Werte in eine Aussageform eingesetzt werden können. Die anderen beiden neuen Phrasen, die in der Definition prädikatenlogischer Ausdrücke vorkommen, sind ∀x : φ und ∃x : φ. Diese erlauben uns intuitiv, Dinge aus einem Universum herauszunehmen und zu sagen, dass diese Eigenschaften ausgedrückt durch Aussageformen erfüllen sollen. (a) Eine bestimmte Eigenschaft wird von allen Objekten des Universums erfüllt. (∀) (b) Eine bestimmte Eigenschaft wird von mindestens einem Objekten des Universums erfüllt. (∃) Was das formal genau bedeutet, betrachten wir im Abschnitt Semantik. Im Folgenden werden wir zunächst intuitiv mit All- und Existenzquantoren und ihrer natürlichsprachlichen Bedeutung bzw. Übersetzung arbeiten, bevor wir die Semantik prädikatenlogischer Ausdrücke erneut formal definieren. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 44 2.2.2 All- und Existenzquantoren – intuitiv Im Folgenden werden wir einige Beispiele in ansteigendem Schwierigkeitsgrad geben. Schwierigkeiten im Umgang mit Existenz- und Allquantifizierung ergeben sich häufig im Kontext mehrerer verschieden quantifizierter Variablen, wie wir im Laufe dieses Abschnitts sehen werden. Beispiel Sagen wir zum Beispiel, alle Hunde sind vierbeinig, so muss jeder Hund auf der ganzen Welt vier Beine haben, damit unsere Aussage wahr wird, behaupten wir jedoch lediglich, dass es Hunde gibt, die vierbeinig sind, so müssen wir nur einen einzigen finden, damit unsere Aussage wahr wird. Allquantor,Existenzquantor In der Prädiktenlogik stellt sich dieser Sachverhalt nun wie folgt dar: Sei P (x) ein Prädikat über dem Universum U, dann bezeichnet ∀x ∈ U : P (x) die Aussage, dass für alle Objekte v ∈ U die Aussage P (v) wahr wird. Weiter bezeichnet ∃x ∈ U : P (x) die Aussage, dass mindestens ein Objekt v ∈ U existiert, so dass P (v) eine wahre Aussage ist. Das Symbol ∀ nennt man Allquantor und ∃ nennt man Existenzquantor*. Wir bezeichnen beliebige Aussageform häufig mit P , Q und R. Dabei sind dies Variablen für eine konkrete Aussageform, welches wir im Moment nicht kennen (siehe Abbildung 12). P(s) s ∈ {1, 2, 3} s > 10 s ≥ 42 s ist ein Mann. s ist volljährig. s ≤ 10 s · 7 = 12 s ist eine Frau. s=7 Abbildung 12: Aussageformen, die sich hinter einer Variable verbergen können Beispiel Betrachten wir einmal Abbildung 13. Wir sehen dort vier verschiedene Mengen von Strichmännchen. Strichmännchen unterscheiden sich hier nur in einem Merkmal: ihrer Farbe, sie können entweder rot oder blau sein. (a) Die Strichmännchen in der linken, oberen Ecke erfüllen zum Beispiel die Aussagen “Alle Strichmännchen sind rot.” und “Es gibt einen rotes Strichmännchen.” *Zudem bezeichnet ∃!x ∈ U : P (x) die Aussage, dass genau ein x im Universum U gibt, so dass P (x) wahr ist. Diese Aussage ist falsch, wenn kein oder mehr als ein Element in U gibt, so dass P (x) wahr wird. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 45 (b) Die Strichmänchen in der rechten oberen Ecke sind nicht mehr alle rot (es gibt auch blaue!). Trotzdem ist die Aussage “Es gibt einen rotes Strichmännchen.” wahr. Genauso wahr ist die Aussage “Nicht alle Strichmännchen sind rot.” Außerdem gilt die Aussage “Es gibt genau ein rotes Strichmännchen.” (c) Auch in der linken unteren Ecke gelten die beiden Aussagen “Es gibt ein rotes Strichmännchen.” und “Nicht alle Strichmännchen sind rot.” Es gibt also verschiedene Möglichkeiten, wie unser Universum aufgebaut ist, so dass All- bzw. Existensquantoraussagen wahr werden. Analog zu oben gilt auch die Aussage “Es gibt genau ein blaues Strichmännchen.” (d) In der unteren Ecke haben wir nur noch blaue Strichmännchen, d.h. die Aussagen “Alle Strichmännchen sind blau.” bzw. “Alle Strichmännchen sind nicht rot.” sind wahr. Wir haben in den Beispielen die Aussageform “x ist blau” bzw. “x ist rot” verwendet. Das Universum für die Beispiele ist jeweils die Menge von Strichmännchen, die gezeichnet wurden. Abbildung 13: Mengen von Strichmännchen Versuch es selbst! – Aufgabe 13: Prädikatenlogik im Vorkurs Versuchen Sie sinnvolle Sätze über die Vorkursteilnehmer mit Hilfe der Prädikatenlogik zu bilden. Oft wollen wir aber eine Aussageform nicht nur in Abhängigkeit einer einzigen Variable betrachten, da die Wahrheit einer Aussage, wie das nächste Beispiel zeigt, von mehr als einem Faktor abhängt. In diesem Fall definieren wir mehrstellige Aussageform. Beispiel Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular mehrstellige Aussageform 2 Logik 46 Betrachten wir die Aussageform Q(x, y) := x liebt y, wobei x und y aus der Menge der Menschen stammt. Dann haben wir als Universum eine Menge von geordneten Paaren (x, y) mit den eben genannten Mengen zur Belegung. Wenn wir mehrstellige Prädikate haben, dann ist es sehr wichtig genau darauf zu achten, in welcher Reihenfolge über die Parameter des Prädikats quantifiziert wird. Vertauscht man nämlich die Reihenfolge von Existenz- und Allquantoren, ergibt sich meist eine komplett andere Aussage! Beispiel Sei erneut Q(x, y) := x liebt y. (a) ∀x∀y : Q(x, y). Diese Aussage ist noch sehr einfach zu verstehen. Alle Menschen lieben alle anderen Menschen (übrigens einschließlich sich selbst). Daran ändert sich auch nichts, wenn wir die Quantoren, oder die Variablen vertauschen. Die Aussage bleibt genau die gleiche, wenn wir schreiben ∀y∀x : Q(x, y) (siehe Abbildung 14). (b) ∃x∃y : Q(x, y). Auch hier ändert die Vertauschung von Variablen oder Quantoren nichts. Diese Aussage bedeutet, dass es auf der Welt einen Menschen gibt, der jemanden liebt. Damit diese Aussage wahr wird, genügt es auch jemanden zu finden, der sich selbst liebt (siehe Abbildung 17). (c) ∀x∃y : Q(x, y). Diese Aussage bedeutet, dass jeder Mensch (mindestens) einen Menschen kennt, den er liebt. Es kann also sein, dass ich mich selbst liebe, mein Nachbar seine Frau, die Frau meines Nachbarn wiederum mich. Dann wäre diese Aussage auf dem Universum der Menschen {ich, Nachbar, Frau des Nachbarn} wahr, wenn auch nicht unbedingt zwischenmenschlich ganz problemlos. (d) ∃x∀y : Q(x, y). Sobald wir die Quantoren tauschen, ändert sich die Aussage komplett. Sie besagt nun, dass wir einen Menschen auf der Welt finden können, der alle Menschen auf der Welt liebt! Wir sehen, wie drastisch sich so ein Quantorentausch auswirkt: Von trivialen Erkenntnissen klassischer Liebeslieder à la “Everybody loves somebody” (∀x∃y), die durch das liebevolle Zusammenleben aller Menschen ebenso zur wahren Aussage wird, wie durch komplizierte Dreieckbeziehungen und jeden Menschen befallenden Narzissmus, gelangen wir zu Aussagen, die die Existenz ganz besonderer Menschen fordert, die alle Menschen lieben, so wie wir sie vielleicht in Persönlichkeiten wie Jesus kennen (∃x∀y) (siehe Abbildung 16). (e) ∀y∃x : Q(x, y). Im Verhältnis zu Beispiel 3 haben wir nun nicht die Quantorenreihenfolge getauscht, sondern die Reihenfolge der Variablen, die die Quantoren binden. Diese Aussage sagt nun, dass jeder Mensch von einem (nicht notwendigerweise anderen) Menschen geliebt wird. Das ist eine komplett neue Aussage, die wir bisher noch nicht hatten. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 47 (f) ∃y∀x : Q(x, y). Nun haben wir die Variablen aus Beispiel 4 getauscht, und erhalten wiederum eine Aussage, die zu allen anderen Aussagen verschieden ist. Sie sagt, dass es einen Menschen gibt, den alle anderen Menschen klasse finden. Wenn wir das Universum für x aus der Menge der kleinen Teenie-Mädchen wählen, und y weiterhin beliebig lassen, dann könnte diese Person vielleicht Justin Biber sein (siehe Abbildung 15). Versuch es selbst! – Aufgabe 14: Pfeilbilder Zeichnen Sie die beiden fehlenden Pfeilbilder auf! x y liebt A A B B C C D D E E F F Universum Universum Abbildung 14: Alle lieben alle! x liebt y A A B B C C D D E E F F Universum Universum Abbildung 15: Alle lieben einen! Wir sehen also, dass wir ganz genau hinschauen müssen, was solche Aussagen bedeuten. Jede Vertauschung von Quantoren oder Variablen führt zu neuen Bedeutungen der Aussage. Die Situation wird natürlich nicht leichter, wenn wir Aussageformen mit drei, vier oder noch mehr Individuenvariablen betrachten. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 48 x liebt y A A B B C C D D E E F F Universum Universum Abbildung 16: Einer liebt alle! x liebt y A A B B C C D D E E F F Universum Universum Abbildung 17: Einer liebt einen! Versuch es selbst! – Aufgabe 15: Dreistellige Aussageformen Betrachten Sie die folgende Aussageform: P (x, y, z) :=”x fährt mit y nach z”, wobei x ein Mensch, y ein Transportmittel und z ein Ort ist. Wir werden im Beispiel x immer als Variable für einen Menschen, y als Variable für ein Transportmittel und z als Variable für einen Ort benutzen. (a) Wie viele syntaktisch verschiedene Möglichkeiten gibt es, prädikatenlogische Ausdrücke zu bilden, die über alle Variablen quantifizieren (wie zum Beispiel ∀x : ∀y : ∀z : P (x, y, z) oder ∀y : ∃z : ∀x : P (x, y, z)? Notieren Sie mindestens fünf Stück! (b) Bilden Sie möglichst natürlichsprachliche Sätze aus Ihren Beispielen (z.B. “Alle fahren mit allen Transportmitteln überall hin.”). (c) Wie viele Ausdrücke, die semantisch verschieden sind, haben Sie gebildet? 2.2.3 Semantik Die Semantik der Prädikatenlogik bleibt bei den uns bereits aus der Aussagenlogik bekannten Operatoren (∧, ∨, . . . ) und Konstanten (⊤, ⊥) gleich. Wir werden im Folgenden sehen, dass eine vollständig formale Definition der Semantik prädika- Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 49 tenlogischer Formeln nicht so einfach ist, wie bei der Aussagenlogik. Dennoch ist es möglich, eine formale Semantik zu definieren. Bisher haben wir noch nicht darüber diskutiert, wie wir den Wahrheitswert von Aussageformen fassen, wenn konkrete Werte eingesetzt worden sind – also wenn aus der Aussageform durch Einsetzen von Werten aus dem Universum eine Aussage geworden ist. Wir verwenden dazu Prädikate. Definition 15 (Prädikat) Ein Prädikat P (zu der Aussageform P ) ist eine Funktion der Form U × · · · × U → {w, f} von der Grundmenge U in die Menge der Wahrheitswerte {w, f}. Zu jeder Aussageform definieren wir ein gleichnamiges Prädikat, welches angibt, ob die Aussage, die durch Einsetzen eines Wertes aus dem Universum in die Aussageform entsteht, wahr oder falsch wird. Im Folgenden bezeichnen wir die Menge aller Prädikate mit P. Intuitiv ist ein Prädikat also eine Funktion, die es uns erlaubt für eine Aussageform “nachzuschlagen”, ob ein gegebener Wert die Aussageform in eine wahre oder in eine falsche Aussage überführt. Wie wir im vorhergehenden Beispiel gesehen haben, kann es in unserer Grundmenge Elemente geben, mit denen eine Aussageform in eine wahre bzw. in eine falsche Aussage verwandelt wird. Daher zerlegt ein Prädikat P unser Universum U in zwei Teilmengen Uw und Uf , nämlich Uw die Menge der Elemente von U, die eine wahre Aussage liefern, wenn wir sie in das Prädikat P einsetzen, und Uf , für die eine falsche Aussage entsteht. Die Mengen Uw und Uf haben kein gemeinsames Element. Rückblick Bei der Definition von Aussageform haben wir als Beispiel “x wohnt in y” betrachtet und gesagt, dass das Universum für diese Aussagemenge die Menge aller geordneten Paare (x, y) ist, so dass x eine Person und y ein Ort ist. Wenn wir für solche Aussageformen bzw. die dazugehörigen Prädikate Uf bzw. Uw bilden, so enthalten diese beiden Mengen jeweils die geordneten Paare, für die das Prädikat wahr bzw. falsch wird. Beispiel (a) Für das zuvor in Beispiel 2.2 definierte Prädikat L ist Uf = {Hanoi} und Uw = {Saarbrücken}. (b) Betrachten wir als Universum U die Menge an Teilnehmern des Vorkurses. Dann können wir als Prädikat P zum Beispiel definieren P (x) : Teilnehmer x stammt aus dem Saarland. Nun ist x unsere Aussagenvariable, die wir mit Teilnehmern des Vorkurses belegen können. Mit Hilfe des Prädikats lässt sich die Gruppe der Vorkursteilnehmer, also unser Universum, in zwei Mengen einteilen: die Menge aller Teilnehmer, die laut Saarländern nicht das Glück haben, aus dem Saarland zu stammen, und die Menge aller Saarländer. Die erste Menge ist dabei Uf , da das Prädikat durch Einsetzen eines Teilnehmers aus dieser Menge falsch wird. Somit ist die andere Men- Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 50 ge Uw , da die Aussageform durch Belegen von x mit einem Teilnehmer aus dem Saarland wahr wird. Unsere Semantik muss also jedem Symbol P , das Teil einer Aussageform P (x1 , . . . , xn ) ist, eine Funktion zuordnen. So wie unsere Semantik der Aussagenform mit den Belegungen der Aussagenvariablen parametrisiert wurde, so kann man sagen, dass die Semantik der Prädikatenlogik damit parametrisiert ist, welche Funktion von U × · · · U → {w, f} wir einem Aussageformsymbol zuweisen sollen. Anders als Aussagenvariablen bei der Aussagenlogik sind Prädikate in prädikatenlogischen Formeln nicht als Variablen gedacht, sondern als Konstanten, die für eine ganz bestimmte Funktion stehen sollen. Daher schreiben wir Aussageformen meistens nicht als P (x), sondern viel konkreter, z.B. direkt als x > 0, wenn wir mit P die Funktion { w für x > 0 P (x) = f sonst meinen. Aussageformen selbst sind noch keine Aussagen. Erst wenn wir alle in einer Aussageform vorkommenden Individuenvariablen durch einen Quantor bedacht haben, wird daraus eine Aussage. Bemerkung 8. Betrachten wir den Ausdruck ∀y : P (x). Da die im Prädikat vorkommende Variable x eine ganz andere ist, als die Variable y, die im Quantor vorkommt, wird über x selbst gar nicht quantifiziert. Es handelt sich hierbei also um keine Aussage, sondern wiederum nur um eine Aussageform. Semantisch wäre diese Aussageform übrigens äquivalent zu P (x) selbst. Sowohl ∀x : P (x) als auch ∃x : P (x) sind wiederum Aussagen. Wir wollen nun definieren, wann genau ein Ausdruck eine Aussage ist. Zuerst müssen wir noch einige Begrifflichkeiten klären. Wir unterscheiden zwischen • einer Variablen • ihrem Namen • ihrem definierenden Auftreten (es gibt maximal eines davon!) und • ihren benutzenden Auftreten (davon kann es mehrere geben). definierende benutzend Was eine Variable genau ist, das ist nicht so einfach zu definieren, und wie so oft, muss dieses Objekt des Geistes unbeschrieben bleiben. Jedoch haben wir bisher alle unsere eigene Vorstellung davon entwickelt, was eine Variable ist. Wir wollen diese Vorstellung einfach weiterhin benutzen, und dabei vorsichtig sein, dass unsere Vorstellung sich nicht zu sehr von den Vorstellungen anderer Mathematiker entfernt. Was wir jedoch genauer beschreiben können, ist der Name einer Variablen. So ist z.B. x der Name einer Variablen. Wenn wir z.B. schreiben ∃x : P (x), dann sehen wir den Namen x zwei Mal. Dieser Name steht jedes Mal für ein und die selbe Variable. Wir nennen das Auftreten eines Variablennamens direkt hinter einem Quantor das definierende Auftreten der Variable. Die Teilausdrücke ∀x : bzw. ∃x : führen also Variablen ein. Innerhalb eines Prädikates nennen wir die Auftreten einer Variablen (genauer: ihres Namens) dann benutzend. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 51 Eine Variable kann nur einmal definiert werden, jedoch häufiger benutzt, z.B. im Ausdruck ∀x : Q(x, x), gibt es ein definierendes Auftreten, jedoch zwei benutzende. Weshalb wir zwischen Variablen und ihren Namen unterscheiden wird klarer, wenn wir uns vergegenwärtigen, dass die Aussage ∀x : P (x) und die Aussage ∀y : P (y) genau die selbe Aussage ist. Wir haben dabei nur den Namen der Variable vertauscht, jedoch nicht die Variable selbst. In Abbildung 18 sehen Sie eine Übersicht über die verschiedenen Begriffe für Variablen. Wir haben hier die abstrakte Variable in der gedanklichen Ebene als rotes Fünfeck dargestellt. Aufschreiben können wir den Ausdruck, wenn wir die Variable bezeichnen. Die Variable “Fünfeck” wird mithilfe des Allquantors an den Namen “x” bzw. “y” gebunden (daher verwendet man neben “definierendes Auftreten” auch den Begriff “bindendes Auftreten”), innerhalb der Aussageform P wird die Variable x stellvertretend für die Variable “Fünfeck” verwendet (daher benutzendes Auftreten). ∀ Gedankliche Ebene : P ( ) Variable wird bezeichnet ∀ x : P ( x ) ∀ y : P ( y ) Aufschreibbare Ebene gebunden an definierendes Auftreten benutzendes Auftreten Abbildung 18: Übersicht über verschiedene Begriffe für Variablen Beispiel (a) Die Aussagen ∀x∃y : Q(x, y) und ∀y∃x : Q(y, x) sind äquivalent. Nur die Variablennamen wurden getauscht, jedoch nicht die Variablen selbst. Die Aussagen ∀x∃y : Q(x, y) und ∀x∃y : Q(y, x) sind jedoch nicht äquivalent. Hier haben wir die Variablen (mit Hilfe ihrer Namen) innerhalb des Prädikats vertauscht! (b) Betrachten wir den Ausdruck (∀x : P (x)) ∧ (∀x : Q(x)). In diesem Ausdruck treten zwei verschiedene Variablen auf, die jedoch denselben Namen besitzen. Da dies manchmal verwirrend ist, taufen wir Variablen dann auch gerne konsistent um, ohne die Bedeutung der Aussage zu verändern. Eine Möglichkeit dies hier zu tun wäre der Ausdruck (∀x : P (x))∧(∀y : Q(y)). Man nennt dies auch den bereinigten Ausdruck zu unserem ursprünglichen Ausdruck. Benutzende Variablenauftreten, zu denen es ein definierendes Auftreten gibt, nennt man gebundene Auftreten. Ein benutzendes Auftreten ist immer an maximal einen Quantor gebunden. Ist ein benutzendes Auftreten nicht gebunden, so nennt man es ungebunden. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 52 Definition 16 (Bindungen) Wir definieren nun rekursiv, wann ein benutzendes Auftreten einer Variable an welchen Quantor gebunden ist. ungebunden • Die benutzenden Auftreten aller Individuenvariablen in einer Aussagenform P (x1 , . . . , xn ) sind ungebunden. • Im Ausdruck ∀x : φ werden alle ungebundenen benutzenden Auftreten der Variable x im Ausdruck φ an ∀x : gebunden. • Im Ausdruck ∃x : φ werden alle ungebundenen benutzenden Auftreten der Variable x im Ausdruck φ an ∃x : gebunden. • Im Ausdruck ¬φ sind genau die benutzenden Auftreten von Variablen gebunden bzw. ungebunden, die auch in φ gebunden bzw. ungebunden sind. • Im Ausdruck φ ∧ ψ sind genau die benutzenden Auftreten von Variablen gebunden bzw. ungebunden, die auch in φ und ψ gebunden bzw. ungebunden sind. • Entsprechend für alle weiteren Operatoren. Wir sagen eine Variable x ist gebunden, wenn alle ihre benutzenden Auftreten gebunden sind*. Beispiel Seien P (x) und Q(x, y) zwei beliebige Aussageformen. Betrachten wir P (x)∧ ∀y : Q(x, y). Die Variable y ist an den Quantor ∀y gebunden. Die benutzenden Auftreten von x sind beide ungebunden. Im Ausdruck ∀x : (P (x) ∧ ∀y : Q(x, y)) sind beide Auftreten von x an den Quantor ∀x gebunden. Man beachte, dass im Ausdruck (∀x : P (x)) ∧ (∀x∀y : Q(x, y)) der Variablenname x für zwei verschiedene Variablen steht. Beide Variablen sind jedoch gebunden. An dieser Stelle wäre es jedoch klug, den Ausdruck zu bereinigen, und z.B. (∀x : P (x)) ∧ (∀z∀y : Q(z, y)) zu schreiben. Dann ist klar was gemeint ist, wenn wir z.B. sagen, die Variablen x und y und z sind alle gebunden. In der vorhergehenden Bemerkung haben wir gesehen, dass eine Aussageform nicht quantifiziert sein kann, obwohl ein Quantor davor steht. Aber nicht nur, wenn die Variablen sich unterscheiden, kann eine Aussageform nicht vollständig quantifiziert sein. Betrachten wir hierzu doch einmal das folgende Beispiel: Beispiel Im Satz (∀x : P (x)) ∧ (∀y : Q(x, y)) ist x im zweiten Teil des Ausdrucks nicht quantifiziert, und daher nicht gebunden. Auch hier müssen wir vorsichtig sein. Das ungebundene x bezeichnet nicht die selbe Variable wie das x im ersten Teil des Ausdrucks. Bereinigt sieht der Ausdruck z.B. so aus: (∀z : P (z)) ∧ (∀y : Q(x, y)) *man mache sich klar, dass diese alle an ein und den selben Quantor gebunden sein müssen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 53 Definition 17 (Gültigkeitsbereich oder Skopus (engl. Scope)) Den Teil eines prädikatenlogischen Ausdrucks, auf den sich ein Quantor bezieht, nennt man seinen Gültigkeitsbereich (engl. Scope). Es ist der längst mögliche sinnvolle Ausdruck nach dem Doppelpunkt. Machen wir einen kurzen Rückblick zur Syntax: Wie schon in der Aussagenlogik, liefert auch hier die Grammatik eigentlich Strukturbäume. Auch hier dienen Sie dazu, die teilweise sehr komplizierten Strukturen von Ausdrücken graphisch zu veranschaulichen. Beispiel Seien P und Q beliebige Aussageformen. Betrachten wir zunächst ein paar prädikatenlogische Ausdrücke und ihre Strukturbäume: (a) ∀x : P (x): ∀x P (x) (b) ∀x : P (x) ∧ ∃y : Q(x, y): ∀x ∧ P (x) ∃y Q(x, y) Wie man am zweiten Beispiel erkennen kann, spielt hier der Skopus der Quantoren eine wichtige Rolle. Vor dem Zeichnen von Strukturbäumen ist es daher sinnvoll zunächst vollständig zu klammern, dazu aber später mehr. Es ist wichtig, dass alles, was unter einem Quantor im Baum steht, auf jeden Fall zusammengehört. Wir wollen dies in eindimensionalen Ausdrücken wieder durch Klammern darstellen. Die Strukturbäume prädikatenlogischer Ausdrücke werden uns nun eine große Hilfe sein, die Bindungen korrekt zu bestimmen. In der Praxis … Nun haben wir alles “Handwerkszeug” zusammen, um zu erklären, wie man vorgehen kann, um die Bindungen zu bestimmen. Wir betrachten dies an dem Beispiel ∃x : P (x) → ∀y : P (y) ∧ Q(x, y) ∨ Q(y, y) Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Gültigkeitsbereich 2 Logik 54 (a) Zuächst bestimmen wir den jeweiligen Gültigkeitsbereich der verschiedenen Quantoren und setzen entsprechende Klammern: (∃x : P (x) → (∀y : P (y) ∧ Q(x, y) ∨ Q(y, y))) (b) Dann klammern wir den Ausdruck nach den aussagenlogischen Klammersparregeln vollständig: (∃x : P (x) → (∀y : (P (y) ∧ Q(x, y)) ∨ Q(y, y))) (c) Nun können wir den Strukturbaum aufstellen: ∃x → ∀y P (x) ∨ ∧ Q(y, y) P (y) Q(x, y) (d) Um nun das definierende Auftreten zu einem benutzenden zu bestimmen, betrachten wir das benutzende Auftreten im Baum und laufen von dort aus soweit an den Kanten entlang hoch bis wir auf ein definierendes Auftreten mit dem gleichen Namen stoßen. Dazu ein Beispiel: Wir wollen nun das definierende Auftreten von x in Q(x, y) herausfinden. Die einzelnen Schritte stellen wir dabei im Folgenden markiert dar. ∃x ∃x → → ∀y P (x) ∀y P (x) ∨ ∧ P (y) ∨ ∧ Q(y, y) Q(x, y) Wir gehen dann eine Kante hoch und befinden uns am ∧. P (y) Q(y, y) Q(x, y) und so weiter… Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 55 ∃x ∃x ∃x ∃x → → → → ∀y P (x) ∀y P (x) ∨ ∧ P (y) ∀y P (x) ∨ ∧ Q(y, y) Q(x, y) P (y) ∀y P (x) ∨ Q(y, y) Q(x, y) P (y) ∧ ∨ ∧ Q(y, y) Q(x, y) P (y) Q(y, y) Q(x, y) Nun haben wir das passende definierende Auftreten gefunden! Beispiel (a) Im Satz ∀x ∈ N : ∃y ∈ N : x + y = 10, ist der Gültigkeitsbereich des Allquantors das Prädikat ∃y ∈ N : x + y = 10, der Gültigkeitsbereich des Existenzquantors das Prädikat x + y = 10. (b) Im Satz (∀x ∈ N : x > 0)∧(x < 10) ist der Gültigkeitsbereich von ∀ das Prädikat x > 0. Wir erkennen dies daran, dass der Ausdruck x > 0) ∧ (x < 10) kein gültiger Ausdruck mehr ist (falsche Klammerstruktur). Der längste gültige Ausdruck nach dem Doppelpunkt ist also x > 0. Der gesamte Ausdruck ist damit nur eine Aussageform, da die Variable x in x < 10 ungebunden ist. (c) Im Satz ∀x ∈ N : x ≤ 0 ∧ ∃y ∈ N : y < 10 ist der Gültigkeitsbereich des Allquantors der gesamte Teilausdruck x ≤ 0 ∧ ∃y ∈ N : y < 10 nach dem Doppelpunkt. (d) Im Satz ∀x ∈ N : x ≤ 0 ∧ (∃x ∈ N : x < 10) ∧ x = 0 tritt die Variable x, die durch den ∀-Quantor definiert wird, zweimal auf. Da der Skopus dieses Quantors wiederum den gesamten Ausdruck nach dem Doppelpunkt umfasst, bindet dieser auch beide Auftreten. Der Skopus des ∃Quantors ist lediglich x < 10. Bereinigt sieht der Ausdruck wie folgt aus ∀x ∈ N : x ≤ 0 ∧ (∃y ∈ N : y < 10) ∧ x = 0. Bevor wir die formale Semantik für prädikatenlogische Ausdrücke definieren können, gilt es noch eine Hürde zu nehmen. Wir müssen uns überlegen, was es formal bedeutet, eine Aussagenvariable durch einen konkreten Wert aus dem Universum U zu ersetzen. Denn erst dann können wir sagen, was es bedeutet, das eine Aussage für alle Werte aus dem Universum wahr ist, oder es einen Wert aus dem Universum gibt, sodass eine Aussage wahr wird. Das Ersetzen einer Variable durch einen Wert stellen wir als eine Funktion dar. Das besondere an dieser Funktion ist, dass wir sie post-fix notieren. Das bedeutet, wir schreiben die Funktion hinter den Ausdruck, auf den wir sie anwenden wollen! An stelle wie in der Schule f (x) für eine Funktion f zu schreiben, sagen wir nun x f . Das ist für Funktionsnamen wie f ungewöhnlich, und auch nicht besonders hübsch. Für unsere Funktion ist dies jedoch sehr üblich und gar nicht so häßlich, wie wir gleich sehen werden. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular post-fix 2 Logik 56 Definition 18 (Ersetzung) Sei v ∈ U beliebig. Wollen wir in in einem Ausdruck φ ∈ P eine Individuenvariable x durch v ersetzen, so schreiben wir (φ)[x := v]. Sei P eine beliebige Aussageform und x1 bis xn für ein n ∈ N Individuenvariablen oder Werte aus dem Universum U. Wir gehen dabei wie folgt vor: (a) (P (x1 , . . . , xi , x, xi+1 , . . . , xn ))[x := v] = P (x1 , . . . , xi , v, xi+1 , . . . , xn ), wobei 1 ≥ i ≥ n. (b) (P (x1 , . . . , xn ))[x := v] = P (x1 , . . . , xn ), wobei 1 ≥ i ≥ n und xi ̸= x für alle i. (c) (⊤)[x := v] = ⊤ (d) (⊥)[x := v] = ⊥ (e) (φ ∧ ψ)[x := v] = (φ)[x := v] ∧ (ψ)[x := v] (f) (φ ∨ ψ)[x := v] = (φ)[x := v] ∨ (ψ)[x := v] (g) (φ ⊕ ψ)[x := v] = (φ)[x := v] ⊕ (ψ)[x := v] (h) (φ → ψ)[x := v] = (φ)[x := v] → (ψ)[x := v] (i) (φ ↔ ψ)[x := v] = (φ)[x := v] ↔ (ψ)[x := v] (j) (∀x : φ)[x := v] = ∀x : φ (k) (∀z : φ)[x := v] = ∀z : (φ)[x := v], wobei z eine Individuenvariable ist. (l) (∃x : φ)[x := v] = ∃x : φ (m) (∃z : φ)[x := v] = ∃z : (φ)[x := v], wobei z eine Individuenvariable ist. Das besondere an der Ersetzungsfunktion ist, dass wir nur Variablen ersetzten, die noch nicht durch einen Quantor gebunden sind; selbst, wenn die Variable den selben Namen hat! Falls ein Quantor eine Variable bindet, die den selben Namen hat, wie die Variable, die wir ersetzen wollen, so ersetzen wir einfach nichts (Zeilen (j) und (l)). Ansonsten arbeiten wir einfach rekursiv weiter. Noch ein wichtiger Hinweis: Im Fall (a) wird jedes Auftreten der Variable ersetzt, also gilt zum Beispiel (P (x, x))[x := 6] = P (6, 6). Dazu nun ein Beispiel: Beispiel Wir betrachten die folgenden Ausdrücke. Wir wollen jeweils die Individuenvariable x durch einen beliebigen Wert v aus dem Universum ersetzen. Seien P und Q dazu beliebige Prädikate. • (∀x : P (x))[x := v] = ∀x : P (x) • (∀y : P (x, y))[x := v] = ∀y : P (v, y) Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 57 • Ein etwas kompliziertes Beispiel: ((∃x : P (x, y)) ∧ (∀y : Q(x, y)))[x := v] = ((∃x : P (x, y))[x := v]) ∧ ((∀y : Q(x, y))[x := v]) = (∃x : P (x, y)) ∧ (∀y : (Q(x, y))[x := v]) = (∃x : P (x, y)) ∧ (∀y : Q(v, y)) Hier nochmal zwei wichtige Beobachtungen: (a) Wir dürfen keine Individuenvariablen ersetzen, die durch einen Quantor gebunden sind. (b) Versuchen wir mehrfach die gleiche Individuenvariable zu ersetzen, so wirkt nur die erste Ersetzung, da danach die Individuenvariable nicht mehr frei im Ausdruck auftritt. Es gilt also ((φ)[x := v])[x := v ′ ] = (φ)[x := v]. Um eine sinnvolle Semantik prädikatenlogischer Ausdrücke anzugeben, müssen wir mehr Ausdrücke zulassen als bisher. Mithilfe der bisherigen Syntax können wir keine Werte aus dem Universum in Aussageformen bzw. ihre semantische Entsprechung Prädikate einsetzen. Damit könnten wir keine Semantik für Aussageformen angeben. Da wir dies aber wollen, müssen die Syntax neu definieren. Definition 19 (Erweiterte Syntax) Die Menge aller prädikatenlogischen Aussagen P ′ ist gegeben durch folgende Grammatik: P ′ ∋ φ, ψ ::=⊤ | ⊥ | P (x1 , . . . , xn ) | ∀x : φ | ∃x : φ | ¬φ | φ ∧ ψ | φ ∨ ψ | φ ⊕ ψ | φ → ψ | ψ ↔ φ Dabei gilt: x1 , . . . , xn ∈ U ∪ IVar Im Gegensatz zur Semantik von aussagenlogischen Ausdrücken, ist die Semantik prädikatenlogischer Ausdrücke eine partielle Funktion, d.h. es gibt Ausdrücke, die keine Semantik haben. Seien im Folgenden φ und ψ ∈ P ′ und P ein Prädikat. Dann ist die semantische Funktion J·K : P ′ → {f, w} wie folgt induktiv definiert: (a) J⊤K = w (b) J⊥K = f (c) JP (x1 , . . . , xn )K = P (x1 , . . . , xn ) wenn x1 , . . . , xn ∈ U für ein n ∈ N { w wenn JφK = f (d) J¬φK = f wenn JφK = w { w wenn JφK = w und JψK = w (e) Jφ ∧ ψK = f ansonsten { f wenn JφK = f und JψK = f (f) Jφ ∨ ψK = w ansonsten w wenn JφK = w und JψK = f (g) Jφ ⊕ ψK = w wenn JφK = f und JψK = w f ansonsten Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 58 { (h) Jφ → ψK = f wenn JφK = w und JψK = f w ansonsten f wenn JφK = w und JψK = f (i) Jφ ↔ ψK = f wenn JφK = f und JψK = w w ansonsten { w (j) J∀x : φK = f wenn für alle v ∈ U gilt: J(φ)[x := v]K = w ansonsten { w (k) J∃x : φK = f wenn es ein v ∈ U gibt so dass: J(φ)[x := v]K = w ansonsten 2.2.4 Logische Gleichheit von prädikatenlogischen Ausdrücken Wir haben gelernt, dass zwei aussagenlogischen Ausdrücke äquivalent sind, wenn sie für alle Belegungen der Aussagenvariablen innerhalb des Ausdruckes die gleichen Wahrheitswerte annehmen. So ähnlich können wir auch die Gleichheit von Prädikaten definieren: Definition 20 (Logische Gleichheit von Prädikaten) Die beiden Prädikate P (x) und Q(x) über dem Universum U sind logisch äquivalent, wenn die Mengen Uw für beide Prädikate übereinstimmen bzw. wenn der Satz ∀x ∈ U : P (x) ↔ Q(x) eine Tautologie ist. Versuch es selbst! – Aufgabe 16: Logische Gleichheit mehrstelliger Prädikate Definieren Sie logische Gleichheit für mehrstellige Prädikate. Zwei logisch gleiche Prädikate sind zum Beispiel P (x) := x ist Primzahl und Q(x) := x hat genau zwei Teiler über der Menge der natürlichen Zahlen. Wir können die Definition logischer Gleichheit auf zwei prädikatenlogische Ausdrücke φ und ψ erweitern, indem wir fordern, dass φ und ψ den gleichen Wahrheitswert haben, wenn … • …Prädikate, die sowohl in φ als auch in ψ vorkommen, über dem gleichen Universum definiert sind. • …Prädikate, die nur in φ oder in ψ definiert sind, über irgendeinem Universum definiert sind. Sind zwei prädikatenlogische Ausdrücke logisch gleich, so schreiben wir φ ≡ ψ. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 59 Notation (a) ∀x1 : ∀x2 : · · · ∀xn : . . . schreibt man oft als ∀x1 , x2 , . . . , xn : . . . . Entsprechend für Folgen von ∃. Achtung: Bei ∀x∃y darf man natürlich nicht ∀x, y schreiben. (b) Der Doppelpunkt nach definierenden Variablenauftreten kann weggelassen werden. (c) Wir haben bei vielen Beispielen das Universum einer Variable weiter eingeschränkt, indem wir z.B. ∀x ∈ N : x > 0 geschrieben haben. Diese Schreibweise ist semantisch ableitbar, und kann wie folgt geschrieben werden ∀x : x ∈ N → x > 0. Der Ausdruck x ∈ N ist nicht weiter als ein Prädikat über x. Die Schreibweise mit x ∈ N vor dem Doppelpunkt macht jedoch viele Aussagen leichter lesbar. Man beachte folgende Regel: • ∀Q(x) : P (x) ≡ ∀x : Q(x) → P (x) • ∃Q(x) : P (x) ≡ ∃x : Q(x) ∧ P (x) In der Tat schreibt man manchmal auch komplexere Prädikate noch vor den Doppelpunkt. So schreibt man z.B. ∀x ∈ N, x > 1 : ∃y ∈ N, y ̸= x : y|x, um zu sagen, dass alle natürlichen Zahlen x, die echt größer als 1 sind, durch ein natürliche Zahl geteilt werden, die ungleich sie selbst ist. Dabei trennt man die Prädikate, die x und y genauer bestimmen und vor dem Doppelpunkt stehen, oft durch Kommas. Wir können diesen Ausdruck formal umschreiben zu ∀x : x ∈ N → (x > 1 → (∃y : y ∈ N ∧ y ̸= x ∧ y|x)). Wir sehen, dass die erste, weniger formale Schreibweise hier deutlich einfacher zu lesen ist. Dennoch müssen wir in der Lage sein, beide Schreibweisen zu verstehen, und ohne Nachdenken ineinander umschreiben zu können. Wichtige Gesetze Quantoren über endlichen Universen Haben wir ein Prädikat P über dem Universum U, das mit einem Allquantor quantifiziert wird, also ∀x ∈ U : P (x), so können wir die Aussage auch mit Hilfe von ∧-Aussagen schreiben, indem wir für jedes Element v ∈ U direkt P (v) bilden und die so entstehenden Aussagen verunden. Ist z.B. U = {1, 2, 3}, dann gilt: (∀x ∈ U : P (x)) ≡ (P (1) ∧ P (2) ∧ P (3)) Wir schreiben für solchen schematischen Verundungen auch abkürzend ∧ P (x) := (P (1) ∧ P (2) ∧ P (3)) x∈U Für beliebige endliche Mengen U gilt also ∀x ∈ U : P (x) ≡ ∧ P (x). x∈U Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 60 Entsprechend gilt ∃x ∈ U : P (x) ≡ ∨ P (x). x∈U Ist U eine Menge mit unendlich vielen Mengen, dann ist diese Äquivalenz nicht mehr gültig, da wir mit unserer Logik nur endliche Verundungen aufschreiben können. Wir können uns aber die Quantoren ∀ und ∃ selbst als eine Möglichkeit vorstellen, unendliche Verundungen und Veroderungen aufzuschreiben. Negation Es gilt ¬∀x : P (x) ≡ ∃x : ¬P (x) und ¬∃x : P (x) ≡ ∀x : ¬P (x) Um diese Äquivalenzen besser zu verstehen, rufen wir uns nochmals die aussagenlogischen Gesetze von De Morgan in Erinnerung: Seien dazu p und q Wahrheitswerte: • ¬(p ∧ q) ≡ ¬p ∨ ¬q • ¬(p ∨ q) ≡ ¬p ∧ ¬q Verwenden wir die eben eingeführte alternative Schreibweise für die Quantoren, so können wir mit Hilfe der Gesetze von De Morgan beispielsweise sehen, dass sich bei der Negierung eines Allquantors alle ∧-Zeichen ∧ zu ∨-Zeichen verkehren und die einzelnen Aussagen negiert werden, aus ¬ x ∈ U : P (x) wird also ∨ : ¬P (x), und damit gilt ¬(p ∧ q) ≡ ¬p ∨ ¬q. Man beachte, dass dies nur x∈U bei endlichen Universen vollkommen richtig ist, bei unendlichen Universen aber immerhin noch eine wunderbare und richtige Intuition. Haben wir Aussagen, die mehr als einen Quantor enthalten und negiert werden, so verkehren sich alle Quantoren und die Negation wird bis zum eigentlichen Prädikat durchgeschleußt. Beispiel Betrachten wir doch einmal die folgende Aussageform (“x” ist nicht an einen Quantor gebunden): (∀ϵ > 0 : ∃N ∈ N : ∀n ≤ N : |x − xn | < ϵ) Wir können sie in mehreren Schritten wie folgt negieren: ¬ (∀ϵ > 0 : ∃N ∈ N : ∀n ≤ N : |x − xn | < ϵ) ≡ ∃ϵ > 0 : ¬(∃N ∈ N : ∀n ≤ N : |x − xn | < ϵ) ≡ ∃ϵ > 0 : ∀N ∈ N : ¬(∀n ≤ N : |x − xn | < ϵ) ≡ ∃ϵ > 0 : ∀N ∈ N : ∃n ≤ N : ¬(|x − xn | < ϵ) ≡ ∃ϵ > 0 : ∀N ∈ N : ∃n ≤ N : |x − xn | ≥ϵ Sie fragen sich nun vielleicht, warum es im obigen Beispiel sowohl ∀ϵ > 0 vor der Negation als auch ∃ϵ > 0 nach der Negation und NICHT ∃ϵ ≤ 0 heißt. Leider müssen wir Sie an dieser Stelle auf Kapitel 4 vertrösten. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 61 Wichtige Implikationsgesetze Für ein Universum U und die Prädikate A(x), B(x), P (x, y) gelten folgende logischen Implikationen: (a) (∀x ∈ U : A(x)) → (∃x ∈ U : A(x)) (b) (∃x ∈ U : A(x) ∧ B(x)) → (∃x ∈ U : A(x)) ∧ (∃x ∈ U : B(x)) (c) (∀x ∈ U : A(x)) ∨ (∀x ∈ U : B(x)) → ∀x ∈ U : A(x) ∨ B(x) (d) (∀x ∈ U : A(x) → B(x)) → (∀x ∈ U : A(x)) → (∀x ∈ U : B(x)) (e) (∃x ∈ U : ∀y ∈ U : P (x, y)) → ∀y ∈ U : ∃x ∈ U : P (x, y) Bei diesen Implikationen lohnt es sich klar zu machen, weshalb die Implikation in die andere Richtung im Allgemeinen nicht richtig ist. Beispiel Nehmen wir an, es gelte, analog zur ersten Implikation auch: (∃x ∈ U : A(x)) → ∀x ∈ U : A(x). Dann würde zum Beispiel aus der Tatsache, dass es einen Saarländer im Universum gibt, folgen, dass alle Menschen Saarländer sind. Saarländer mögen hier jetzt einwenden, dass das doch das Beste wäre, was demnach passieren könnte, doch wir möchten festhalten, dass die Aussage falsch ist. Versuch es selbst! – Aufgabe 17: Implikationsgesetze Finden Sie für jede der obigen Implikation ein Beispiel, das zeigt, das die Umkehrung der Implikation nicht allgemeingültig ist. Suchen Sie nun Spezialfälle, also konkrete Beispiele, bei denen doch beide Richtungen der Implikation gelten. Wichtige Gleichheiten Nachdem wir nun einige Implikationen gesehen haben, die wir nicht umkehren dürfen, kommen wir zum Abschluss der Prädikatenlogik noch zu einigen Gleichheiten. (a) ∃x ∈ U : ∃y ∈ U : P (x, y) ≡ ∃y ∈ U : ∃x ∈ U : P (x, y) (b) ∀x ∈ U : ∀y ∈ N : y ∈ U : P (x, y) ≡ ∀y ∈ U : ∀x ∈ U : P (x, y) (c) ∃x ∈ U : (A(x) ∨ B(x)) ≡ (∃x ∈ U : A(x)) ∨ ∃x ∈ U : B(x)) (d) ∀x ∈ U : (A(x) ∧ B(x)) ≡ (∀x ∈ U : A(x)) ∧ (∀x ∈ U : B(x)) Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 2 Logik 62 Versuch es selbst! – Aufgabe 18: Logische Gleichheit Warum gelten die Gleichheiten 3 und 4? Überlegen Sie sich mit Hilfe der Gesetze der Aussagenlogik und der Möglichkeit Quantoren über endlichen Universen umzuschreiben, einen Beweis für die Äquivalenzen 3 und 4 über endlichen Universen. Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Prädikatenlogik, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Prädikatenlogik zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen 3 Schließen und Beweisen Aussagen zu beweisen ist das tägliche Brot des Mathematikers, aber auch vieler (theoretischer) Informatiker. Beweisen ist eine Kunst. Um Behauptungen zu beweisen, braucht es einer gehörigen Portion Kreativität und einer guten Intuition über mathematische Dinge. Beweisen heißt gleichzeitig auch, Dinge verstehen, denn nur wer einen Satz selbst beweisen kann, hat ihn wirklich verstanden. Wenn wir also erfolgreiche Informatiker werden wollen, dann sollten wir so früh wie möglich anfangen, Beweise für uns zu entdecken, als einen Begleiter durch die Welt der Informatik und Mathematik, der uns hilft, auf dem richtigen Pfad zu bleiben, und die Dinge richtig zu verstehen, und nicht nur vage Vorstellungen davon zu entwickeln, die leider viel zu oft auch falsch sind. Doch Beweisen ist nicht nur Kreativität. Es ist vor allem auch ein Handwerk. So wie ein Schmied in früherer Zeit nur dann ein mächtiges Schwert schaffen konnte, wenn er den sicheren Umgang mit Feuer, Hammer und Amboss beherrschte, so kann auch nur derjenige einen korrekten, und damit vertrauenswürdigen, Beweis finden, der die grundlegenden Regeln des Beweisens versteht. Beweisen beinhaltet also immer zwei Teile: Ideen finden und zeigen, dass die Ideen logisch zum gewünschten Ergebnis führen. Dieser zweite Aspekt wird auch häufig mit Schließen bezeichnet. Beweisen hat stets zwei Aspekte: Geniale Einfälle, die einen Beweis erst ermöglichen. Und feste Beweis-Regeln, die – richtig angewandt – ebendiese Einfälle erst zu einem Beweis machen. Die Fähigkeit, eine Idee für den Beweis zu finden, also eine Vorstellung zu entwickeln, weshalb eine mathematische Behauptung wahr ist, ist etwas, was nur wir Menschen können. Es braucht dafür stets (mehr oder weniger) Genialität. Für einen Computer ist es im Allgemeinen nicht möglich*, Beweise zu entdecken. Was der Computer hingegen wiederum sehr gut kann, ist überprüfen, ob ein vorliegender Beweis für eine Behauptung tatsächlich korrekt ist! Computer sind begnadete Beweis-Prüfer! Dies liegt daran, dass Beweise zu prüfen eine von vornherein komplett festgelegte Tätigkeit ist, die stets festen Regeln folgt. Man muss beide Fähigkeiten lernen: Beweise finden und Beweise überprüfen. Ersteres entsteht mit der Zeit, und wird besser, je mehr wir die Dinge verstehen und vor allem je mehr Beweise wir führen. Beweise auf ihre logische Korrektheit prüfen ist absolut erlernbar. Es folgt einem striktem Schema, im Prinzip einem Algorithmus†. Die Schwierigkeit, die wir dabei oft haben, ist uns so zu trainieren, dass wir lernen zu erkennen, wann etwas ein gültiger Beweisschritt ist, und wann nicht. Wollen wir einen Beweis für eine Behauptung finden, so müssen wir beide Fähigkeiten zugleich besitzen und anwenden. Beim Beweisen wechseln wir ständig zwischem kreativem Beweis-Finden und Beweis-Prüfen hin und her. *dies kann man übrigens beweisen †deshalb kann ein Computer dies auch so gut 63 Beweisen Schließen 3 Schließen und Beweisen 64 Im folgenden Kapitel wollen wir vor allem das Führen formal korrekter Beweise einführen und üben. Wir haben in diesem Kapitel bewusst einfache Beispiele ausgewählt, um den Anteil an Genialität möglichst gering zu halten. Trotzdem werden wir kennzeichnen, was die Beweisidee ist und welcher Anteil formal korrektes Arbeiten ist. 3.1 Schlussregeln Schlussregeln Schließen ist in der Informatik immer ein Prozess, der bestimmen Regeln – sogenannten Schlussregeln – folgt. Schlussregel Eine Schlussregel ist ein gedankliches Kostrukt, das aus (mehreren) Prämissen und einer Konklusion besteht. Wir schreiben Schlussregeln als eine Linie, bei der alle Prämissen oberhalb und die Konklusion unterhalb stehen. φ1 φ2 ... φn ψ Eine Schlussregel hat dabei die folgende Bedeutung: Wenn φ1 gültig ist und φ2 gültig ist und so weiter bis φn , dann ist auch ψ gültig. Alternativ schreiben wir auch φ1 , . . . , φn =⇒ ψ, wenn wir eine Schlussregel (bzw. ihre Anwendung) innerhalb einer Zeile schreiben wollen. Wir trennen dabei die Prämissen durch Kommas und ersetzen den langen Strich durch das Zeichen =⇒. Auf den ersten Blick erscheinen Schlussregeln wie eine logische Implikation: Wenn die Prämissen wahr sind, dann ist auch die Konklusion wahr. Tatsächlich sind Schlussregeln nichts anderes als Implikationen – aber nicht auf der Ebene unserer Logik, sondern auf einer Metaebene, also einer Denkebene, die über der Logik liegt. Wenn wir oben also z.B. sagen, φ sei gültig, dann meinen wir damit, dass φ gedanklich richtig ist. Es ist eine gedankliche Feststellung, deren Gültigkeit zweifelsfrei feststeht. Wir meinen damit jedoch nicht unbedingt, dass φ eine logische Formel ist! φ kann in der Tat eine logische Formel sein, es muss jedoch nicht notwendigerweise eine sein. Intuition Bisher haben wir versucht, alles formal zu fixieren. Also weshalb brauchen wir erneut diese Unschärfe? Warum können wir nicht auf die formale Sprache der Logik zurückgreifen, die wir zuvor definiert haben? Erinnern wir uns daran, dass wir bei der Definition der Logik auf natürliche Sprache zurückgreifen mussten. Um z.B. zu definieren, was φ∧ψ bedeutet, mussten wir auf das deutsche Wort “und” zurückgreifen. Uns bleibt keine andere Wahl, denn wir haben keine grundlegendere Sprache als die Logik. Und diese muss dann letzten Endes eben doch mit unserer normalen Sprache fixiert werden. Genauso verhält es sich mit den Schlussregeln. Um zu definieren, was ein logisch korrekter Schluss ist, müssen wir an manchen Stellen einfach auf diese Dinge zurückgreifen, die wir nur mit Sprache ausdrücken können. Wir hatten ja bereits angedeutet, dass Schlussregeln nicht unbedingt einen Zusammenhang zwischen logischen Formeln beschreiben müssen. Die Prämissen und Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 65 die Konklusion müssen nicht unbedingt einmal logische Formeln sein. Dies zeigt uns auch das nächste Beispiel. Wir haben in Abbildung 19 einen Kalkül – also eine Sammlung von Schlussregeln – zum Mischen von Farben angegeben. Gelb Rot (Orange2) Orange Blau (AxiomB) Blau Gelb (Gruen1) Grün Rot Gelb (Orange1) Orange Gelb Blau Rot (Lila2) Lila (AxiomG) Rot Blau (Lila1) Lila Kalkül Rot (AxiomR) Gelb Blau (Gruen2) Grün Abbildung 19: Kalkül zum Mischen von Farben Versuch es selbst! – Aufgabe 19: Bedeutung von Schlussregeln Versuchen Sie selbst einmal herauszufinden, was die Schlussregeln zum Mischen von Farben bedeuten. Die Verwendung von Schlussregeln ist ein Konzept, das für jede Art von Schlussregeln gleich abläuft. Alle Schlussregeln, die Ihnen im Studium begegnen werden – und das werden viele sein – werden genauso angewendet, wie wir das Ihnen hier zeigen. Wir möchten zum Beispiel die Farbe Blau begründen, d.h. zeigen, dass Blau entwender eine Grundfarbe ist oder sich aus den Grundfarben mischen lässt. Dazu müssen wir zeigen, dass sich Blau so mithilfe der Schlussregeln ableiten lässt, dass schließlich alle Enden bewiesen sind. In diesem Satz kommen zwei neue Begriffe vor – ableiten und bewiesen. Den Prozess des Anwendens von Schlussregeln, den wir gleich vorführen, nennt man im Allgemeinen ableiten. Man sagt, dass eine Ableitung bewiesen ist, wenn jede Ableitung mit einer Regel ohne Prämisse endet. Blau AxiomB Die Farbe Blau lässt sich sehr einfach begründen. da es eine Regel gibt, die Blau begründet und keine Prämisse hat, nämlich die Regel AxiomB. Also haben wir Blau nun mithilfe unseres Kalküls abgeleitet und bewiesen. Versuch es selbst! – Aufgabe 20: Bevor Sie weiterlesen … …Überlegen Sie sich, wie man mit Hilfe der Ableitungsregeln die Farbe Grün ableiten kann. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular ableiten 3 Schließen und Beweisen 66 Wir müssen uns zunächst überlegen, in welchen Regeln die Farbe Grün als Konklusion zu finden ist- denn wir können nur Dinge beweisen, die sich als Konklusion einer bewiesenen Ableitung ergeben. Intuition Eine bewiesene Ableitung ist eine Folge von angewendeten Ableitungsregeln, so dass die Prämisse der einen Regel die Konklusion der anderen ist. Dies führen wir solange fort, bis keine Regel mit dieser Konklusion mehr existiert oder bis wir eine Regel ohne Prämisse angewendet haben. Abstrakt sieht eine bewiesene Ableitung so aus: D B E C A In einem passenden Kalkül hätten wir nun die Aussage A bewiesen. Wenn wir jedoch einen Baum erhalten, auf den wir keine Regel mehr anwenden können, der jedoch abstrakt folgende Gestalt hat: D B E C A Dann haben wir A nicht bewiesen. Achtung: Dies heißt jedoch nicht, dass man A nicht beweisen kann! Erst wenn wir alle möglichen Ableitungsbäume, die ganz unten A stehen haben, durchprobiert haben und alle enden mit unbewiesenen Blättern, dann lässt sich A im gegeben Kalkül nicht beweisen. Betrachten Sie den folgenden Ableitungsbaum: Blau Gelb (Gruen1) Grün Damit haben wir Grün zwar einmal abgeleitet (also eine Regel von Grün aus angewendet), aber noch nicht bewiesen, da noch weder Blau noch Gelb bewiesen sind. Dabei helfen uns jedoch die Regeln AxiomB und AxiomG. Die beiden Regeln erlauben es uns Blau und Gelb abzuleiten und zu beweisen, was wir wie folgt notieren: Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 67 (AxiomB) (AxiomG) Blau Gelb (Gruen1) Grün Ein weiterer korrekter Ableitungsbaum – so nennen wir eine Folge von korrekt angewendenten Schlussregeln (in obiger Form notiert) –, um Grün abzuleiten, ist der folgende: (AxiomG) (AxiomB) Gelb Blau (Gruen2) Grün Es gibt aber auch Farben, die wir mit unserem Kalkül nicht ableiten können, z.B. Braun, da es keine Regel gibt, die Braun als Konklusion hat. Versuch es selbst! – Aufgabe 21: Auf den Kalkül kommt es an! Geben Sie einen Kalkül zum Mischen von Farben an, in dem man die Farbe Braun, nicht aber die Farbe Lila ableiten kann. Eine essentielle Fähigkeit, um Ableitungsregeln anzuwenden, ist der syntaktische Abgleich von Mustern. Wir müssen erkennen können, ob zwei Dinge syntaktisch gleich sind. In unserem speziellen Fall der Farben heißt das: “Entscheiden können, ob zwei Farben gleich sind”; im Fall von logischen Formeln “Entscheiden können, ob zwei Formeln syntaktisch gleich sind”. Wir brauchen diese Fähigkeit, um zu entscheiden, ob die Prämissen wirklich in unserer Situation zutreffen (ob Gelb wirklich Gelb ist) bzw. auch in der umgekehrten Form, nämlich ob es wirklich eine Regel gibt, die Grün als Konklusion hat. Was sich hier noch sehr leicht anhört, wird sich später bei unseren Beweisregeln komplizierter gestalten. Wir haben die ganze Zeit schon zwei verschiedene Anwendungsarten von Inferenzregeln angedeutet: Wir können Beweisregeln von den Prämissen zur Konklusion anwenden oder von der Konklusion zur Prämisse. unten nach oben: Bei dieser Variante versuchen wir einen gegeben Ausdruck mit Hilfe unserer Schlussregeln zu beweisen. Wir haben mit Hilfe unseres Kalküls für Farben so gezeigt, dass wir Grün tatsächlich aus den Grundfarben mischen können. oben nach unten: Diese Variante hat zwei verschiedene Anwendungen: Haben wir bereits einen fertigen Ableitungsbaum, so können wir von oben nach unten sehr leicht prüfen, ob alle Schritte korrekt sind. Sind wir noch in der Findungsphase, so können wir in diese Richtung ausprobieren, was aus den gegebenen Fakten ableitbar ist – und finden so vielleicht eine gute Möglichkeit weiterzumachen. Da Computer sehr schnell alle Möglichkeiten ausprobieren können und wir mithilfe der Beweisregeln einfach auch ausprobieren können, welche zum Ziel führen, können Computer wirklich gut ableiten. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Ableitungsbaum 3 Schließen und Beweisen 68 Versuch es selbst! – Aufgabe 22: Ein Algorithmus zum Anwenden von Schlussregeln Achtung: Diese Aufgabe ist schwer! Um sie vollständig richtig zu lösen, ist Vorwissen über Algorithmen notwendig. Falls Sie diese nicht haben, versuchen Sie die Aufgabe trotzdem und gleichen Sie Ihre Lösung genau mit der Beispiellösung ab. Geben Sie einen Algorithmus an, der (a) beschreibt, wie man entscheidet ob eine Regel anwendbar ist. (b) eine vollständige Ableitung konstruiert, falls diese existiert. Berechnen Sie exemplarisch an Farben eine Ableitung mithilfe Ihres Algorithmus. Nachdem wir nun geklärt haben, was Inferenzregeln und Ableitungen sind, werden wir im folgenden Abschnitt einige wichtige Begrifflichkeiten erklären, die Sie durch Ihr Leben als Informatiker und Mathematiker begleiten werden. 3.2 “Definition, Satz, Beweis” – Begrifflichkeiten Definition Wir beginnen mit dem grundlegenden Begriff der Definition. Sie ist der Schöpfungsakt, der neue Dinge in die Welt der Mathematik und Informatik einführt. Definition Eine Definition ist die Einführung eines neuen mathematischen Objekts. Sehr oft ist dies ein sehr einfacher Vorgang, bei dem wir nur ein neues Symbol einführen, dass uns erlaubt, kompliziertere Sachverhalte kurz auszudrücken. Wenn solche Definitionen sehr kurz sind, dann schreiben wir oft einfach < Symbol >:=< Bedeutung >. Im Prinzip ist := ein normales Gleichheitszeichen; der Doppelpunkt davor soll klarmachen, dass wir diese Gleichheit neu einführen und dass dies keine Gleichheit ist, die man beweisen muss oder kann. Beispiel (a) Eine Definition einer bestimmten Menge können wir schreiben als: Sei M := {1, 2, 3}. Wir geben der Menge {1, 2, 3} den Namen M , und definieren dabei, was ab sofort das Symbol M bedeuten soll. Wann immer nun das Symbol M auftaucht, können wir es ersetzen durch {1, 2, 3}, ohne irgendetwas zu verändern. Ebenso andersherum. (b) Sei p ↔ q := p → q ∧ q → p. Hier definieren wir den Operator ↔ mit Hilfe von ∧ und →. Das dürfen wir nur tun, falls wir ↔ nicht als Teil der Aussagenlogik oder der Prädikatenlogik bereits definiert haben, da wir Dinge nicht zweimal definieren können. Innerhalb dieses Skripts dürften wir dies also nicht schreiben, da ↔ bereits definiert ist. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 69 Satz und Theorem Ein Satz, auch Theorem genannt, ist eine Aussage φ, die bewiesenermaßen wahr ist. Solange wir eine Aussage nicht bewiesen haben, ist sie nur eine Behauptung, die falsch sein kann, und damit nutzlos. Eine Behauptung zusammen mit einem Beweis für die Behauptung nennen wir also Satz. Satz Behauptung Beispiel Das Quadrat einer geraden natürlichen Zahl ist wiederum gerade. Dies ist ein typischer Satz der Zahlentheorie. Wir verwenden –wie hier– oftmals keine prädikatenlogischen Ausdrücke, um Sätze besser lesbar zu machen. Dies dürfen wir jedoch nur, wenn es jedem gelingt, einfach und direkt den Satz in eine prädikatenlogischen Aussage umzuformena. In Prädikatenlogik würde der Satz dann wie folgt aussehen: ∀n ∈ N : (∃k ∈ N : n = 2k) → (∃k ′ ∈ N : n2 = 2k ′ ). awir meinen: es jedem halbwegs geübten Mathematiker gelingt. Wir müssen das noch üben! Es gibt noch andere bewiesene Behauptungen, die wir (mehr aus didaktischen Gründen) in der Mathematik nicht Satz oder Theorem nennen, sondern Lemma oder Korollar. Als Satz oder Theorem bezeichnen wir nur das, was innerhalb eines bestimmten Gebiets, oder eines Themas, richtig wichtig ist. Lemma Eine Lemma ist eine bewiesene Behauptung, die wir benötigen, um einen Satz zu beweisen. Lemma Oft sind Lemmas viel schwieriger zu beweisen, als der Satz selbst (wenn wir dann die Lemmas haben). Meist haben es die armen missbrauchten Lemmas jedoch nie zu Weltruhm geschafft, während die aus ihnen abgeleiteten Sätze jedem bekannt sind. Einige Lemmas, wie z.B. das Lemma von Zorn*, sind jedoch sehr bekannt und wichtig in der Mathematik geworden. Korollar Ein Korollar ist eine Behauptung, die sehr einfach aus einem Satz folgt. Oft ist es ein Spezialfall eines Satzes. Häufig sind Korollare wichtige Anwendungsfälle und geben uns darüber Aufschluss, wie ein Satz verwendet werden kann. Beispiel *hier geht es nicht um Aggressionstherapie, der gute Mann der’s gefunden hat, hieß so. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Korollar 3 Schließen und Beweisen 70 Das Quadrat der Zahl 4 ist gerade. Dies wäre ein (extrem langweiliges) Korollar zum Satz aus Bsp. 3.2. Der Beweis folgt geradezu offensichtlich aus dem Satz.a aStopp! Für uns als Jungmathematiker sollte nichts offensichtlich sein! Also Vorsicht! Bald werden wir sehen, wie wir in diesem Fall korrekt beweisen würden. Für erfahrene Mathematiker ist dieser Fall jedoch einfach nur trivial. Wir haben nun Begrifflichkeiten geklärt, die uns in der Mathematik und Informatik ständig begegnen werden. Nun wenden wir uns den beiden Tätigkeiten zu, die wir in der Einleitung schon beschrieben haben – dem Schließen und Beweisen. 3.3 Schließen und Beweisen Wir beschränken uns im Folgenden auf das Beweisen von Aussagen der Mathematik. Damit können wir annehmen, dass wir nur noch mit prädikatenlogischen Ausdrücken arbeiten. Die Begriffe Schließen und Beweisen sind eng miteinander verknüpft. Wenn wir sie so erklären wollen, dass sie uns in der Praxis hilfreich sind, so können wir das eigentlich nur tun, indem wir sie gemeinsam erklären. Als ersten Schritt wollen wir uns erst einmal langsam an diese Begriffe annähern. Beweis Ein Beweis für eine Aussage φ ist eine Folge von logisch korrekten Schlüssen, die zeigen, dass die Aussage φ eines Satzes gilt, mit anderen Worten, dass φ ≡ ⊤. Im einfachsten Fall genügt es, die Aussage solange mit Hilfe der uns bekannten Gesetze der Aussagenlogik umzuformen, bis wir von φ aus zu ⊤ gelangen. Oft ist dies jedoch nicht direkt möglich, da die dafür in den Zwischenschritten notwendigen Aussagen so kompliziert werden würden, dass keiner den Beweis nachvollziehen bzw. aufschreiben kann. Wie wir einen Beweis logisch korrekt, und dennoch lesbar schreiben, wollen wir im Folgenden lernen. Intuition Woraus besteht nun ein Beweis? Für einen Beweis brauchen wir als Ausgangspunkt zunächst eine Aussage φ, die wir in der Sprache der Logik formulieren können. Und am Ende des Beweises muss herauskommen, dass φ logisch wahr ist, also φ ≡ ⊤ gilt. Und zwischen diesen beiden Punkten liegt dann die Anwendungen von logischen Schlüssen, die wir bald kennen lernen werden. Um es ganz einfach zu machen, schauen wir uns ersteinmal ein paar Beweise an, wo wir auf diese Schlüsse noch (fast) ganz verzichten können. Beispiel Wir betrachten die Formel ⊤. Wir können direkt aus unserem Grundwissen über Logik folgern, dass ⊤ ≡ ⊤. Damit haben wir die Aussage ⊤ bewiesen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 71 Nun, diese Aussage ist nicht sehr hilfreich, und ihr Beweis in der Tat trivial. Dennoch haben wir hier unseren ersten formalen Beweis geführt! Beispiel Sei φ die Formel (π > 5) ∨ ¬(π > 5). Wie können wir die Formel φ beweisen? Wir erinnern uns an Kapitel 2, und sehen sofort das dies eine Tautologie ist! Wenn p die Aussage π > 5 ist, so ist φ = p ∨ ¬p ≡ ⊤ nach den grundlegenden Gesetzen der Aussagenlogik. Für jede Formel φ, von der wir direkt mit den Hilfsmitteln aus Kapitel 2 zeigen können, dass φ ≡ ⊤ gilt, haben wir somit direkt einen gültigen Beweis gefunden! Im Allgemeinen kommen wir jedoch so nicht zum Ziel. Schauen wir uns mal das folgende sehr einfache Beispiel einer Behauptung an, die wir gerne zeigen möchten. Beispiel Behauptung: Es gibt eine natürliche Zahl x, so dass x > 10. Wie könnten wir diese Behauptung beweisen? Als Formel geschrieben heißt diese Behauptung: ∃x : x ∈ N ∧ x > 10. Wie wir wissen, ist diese mit ∃ quantifizierte Aussage wahr, wenn wir ein konkretes Objekt v finden können, so dass v ∈ N ∧ v > 10 wahr ist. Als konkretes Element können wir z.B. 11 wählen! Damit schließen wir, dass ∃x : x ∈ N ∧ x > 10 ≡ ⊤ gilt. Wir haben hier also unser Wissen über Prädikatenlogik genutzt, um zu schließen, dass aus den Tatsachen, dass 11 ∈ N und 11 > 10 gilt, auch die Aussage ∃x : x ∈ N ∧ x > 10 folgt. Wir haben jetzt anders als in den Beispielen zuvor nicht mehr nur bekannte Äquivalenzumformungen unter ≡ angewandt, sondern einen Schluß gezogen, der auf unserem Wissen über die Semantik der Formel basierte. Tatsächlich haben wir hier das erste Beispiel für eine logische Schlussregel: wenn für ein Prädikat P und ein konkretes mathematisches Objekt aus U die Aussage P (v) wahr ist, so können wir logisch schließen, dass auch ∃x : P (x) gilt. Wir haben also unseren ersten logisch gültigen Schluss kennengelernt. Nicht beeindruckt? — Gut! Tatsächlich sind logische Schlüsse auch nichts geheimnisvolles. Ein logischer Schluss ist eigentlich sowas wie ein sinnvolles Argument, an das wir (und alle vernünftigen Mathematiker) glauben. Und normalerweise wird es nicht anders formuliert als die Schlussregeln, die wir bisher gesehen haben (nur das wir über prädikatenlogische Ausdrücke statt über Farben Aussagen treffen). Im nächsten Abschnitt werden wir nun die Schlussregeln des Beweisens sowie ihre typischen Anwendungen vorstellen. 3.4 Schlussregeln des Beweisens Wir gehen beim Lernen des Beweisens in zwei Schritten vor: (a) Wir werden Beweise als Ableitungsbäume (auch: Beweisbäume) aufschreiben, um uns so zu trainieren, formal korrekte Beweise zu schreiben. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 72 (b) Sobald die Beweise länger werden, werden wir anfangen, Beweise als Texte zu schreiben und unsere Beweisbäume in Texte zu übersetzen. Unser Ziel ist es Ihnen beizubringen, wie Sie solche Beweise schreiben, wie wir Sie Ihnen im Abschnitt “Ziele des Vorkurses” gezeigt haben. In solchen Beweisen passiert die Konstruktion der Beweisbäume nur noch im Kopf. Am Anfang mag Ihnen dieses Ziel zu hoch gesteckt vorkommen. Doch keine Sorge: Man entwickelt sehr schnell eine Routine, wenn man übt und in diesem Fall gilt auch: Übung macht den Meister! Erklärung der folgenden Boxen: Jede Schlussregel findet sich im Folgenden in einer eigenen Box. Oberhalb der Box steht der ausführliche Name der Schlussregel, links Prämisse oben die Schlussregeln in der Schreibweise Konklusion . Darunter findet sich die möglichst einfach formulierte typische Anwedungsweise in Beweisen. Auf der rechten Seite oben findet sich der abgekürzte Name der Regel und darunter, wie wir die Regel schließlich in Textbeweisen aufschreiben. Trivial Wahr (W) ⊤ Verwendung Die Regel im Textbeweis… Es ist immer gültig, ⊤ anzunehmen. Deshalb betrachten wir ⊤ stets als bereits ohne Weiteres (trivial) bewiesen. Sehr oft benutzen wir die Regel zusammen mit (Subst), um zu sagen, dass eine Unterscheidung, die wir gleich treffen, logisch immer wahr ist. Kombiniert mit (Subst) schreiben wir z.B. • Es √ gilt (logisch) √stets, dass 2 ∈ Q oder 2 ∈ / Q. • Ohne Annahmen können √ wir schließen, dass 2 ∈ Q √ / Q. oder 2 ∈ √ • Trivialerweise gilt 2 ∈ Q √ oder 2 ∈ / Q. √ ⊤ (W) 2∈Q∨ √ 2∈ /Q (Subst) . .. Mit Hilfe der Regel Trivial Wahr alleine können wir nur beweisen, dass ⊤ immer gilt. Gleichzeitig ist ⊤ immer eine legale Annahme. Ob wir etwas Wahres annehmen, spielt keine Rolle, denn wir haben ja bereits gezeigt, dass es beweisbar wahr ist. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 73 Implikation-Beweis φ→ψ (→:Bew) falls φ =⇒ ψ gilt Verwendung Die Regel im Textbeweis… Diese Regel dient zum Beweisen einer Implikation. Die Nebenbedingung der Regel sagt, dass wir sie anwenden dürfen, sofern wir einen Beweis für ψ finden können, unter der Prämisse φ. Dies ist sozusagen ein Nebenbeweis, den wir führen müssen, um die Regel anwenden zu dürfen. Die Regel selbst hat keine Prämissen, da alles alleine aus dem Nebenbeweis folgt. Sie ist daher stets ein Blatt eines Beweisbaumes. √ √ • Annahme: 2 ∈ Q. Dann/Damit ist … √ • A: 2 √∈ Qa. • Gelte 2 ∈ Q. Dann … aMathematiker lieben möglichst kurze Abkürzungen. A ist Mathematiker-Deutsch für Annahme 2∈Q→1=0 .. . Die Schlussregel Implikation-Beweis ist eine der häufigsten verwendeten Schlussregeln in Beweisen überhaupt. Viele der wichtigen Sätze der Mathematik und Informatik sind als Implikationen formuliert. Hier ein Beispiel aus der Analysis 1 bzw. MFI 1. Beispiel Satz von Bolzano-Weierstraß: Jede beschränkte, reelle Zahlenfolge enthält mindestens eine konvergente Teilfolge. Dabei sind hier die Implikationen in den Anforderungen versteckt, zum Beispiel ist “jede beschränkte, reelle Zahlenfolge” eigentlich die Implikation “für jede Zahlenfolge F gilt: wenn F reell ist und F beschränkt ist, dann gilt”*. Wir können mit Hilfe der Regel Implikation-Beweis beweisen, dass zum Beispiel 4 ∈ Z → 4 ∈ Z gilt: 4∈Z→4∈Z (→:Bew) Der dazugehörige Nebenschluss 4 ∈ Z =⇒ 4 ∈ Z ist eindeutig gegeben, da wenn die Prämisse gilt, auch die Konklusion gilt. Also haben wir 4 ∈ Z → 4 ∈ Z. Die nachfolgende Regel tritt, wie einige weitere Regeln auch, in zwei Varianten auf: eine, die einen Ausdruck durch einen anderen ersetzt, und eine, bei der wir den äquivalenten Ausdruck mit einer Konjunktion hinzufügen. Dabei ist die folgende Regel essentiell, um logisches Gleiches innerhalb eines Beweises ersetzen zu dürfen. Wir haben bereits erwähnt, dass wir sie meistens in Kombination mit der Regel Trivial Wahr verwenden, um beliebige bereits bewiesene Aussagen in Beweisen verwenden zu dürfen. *Wenn Sie das Beispiel nicht direkt verstehen, ist dies nicht schlimm. Hier trotzdem eine kurze Erklärung: Folgen sind definiert wie in der Schule auch. Eine folge heißt reell, wenn alle Folgenglieder reelle Zahlen sind. Außerdem heißt eine Folge beschränkt, wenn es eine reelle Zahl x gibt, so dass alle Folgenglieder kleiner oder gleich x sind Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 74 Substitution φ ψ (Subst) φ φ∧ψ falls [φ≡ψ] gilt Verwendung Die Regel im Textbeweis… Diese Regel erlaubt uns, logisch gleiche Ausdrücke zu ersetzen. Wir können hier also alle Gesetze der Logik anwenden, die wir in Kapitel 2 kennen gelernt haben. 5∈ / N∨5∈Q 5∈N→5∈Q • 5∈ / N ∨ 5 ∈ Q ist logisch äquivalent zu 5 ∈ N → 5 ∈ Q nach der Regel “Definierbarkeit” zu →. • Nach den Gesetzen der Logik können wir 5∈ / N ∨ 5 ∈ Q äquivalent umschreiben zu 5 ∈ N → 5 ∈ Q nach der Regel “Definierbarkeit” zu →. (Subst)wegen (Def. →) Bei Regeln, die eine Nebenbedingung besitzen, sollten wir auch immer kurz begründen, weshalb die Nebenbedingung erfüllt ist. Nun können wir unseren Satz 4 ∈ Z → 4 ∈ Z auch auf eine andere Art beweisen: (W) ⊤ (Subst)wegen Tertium non dator ¬(4 ∈ Z) ∨ 4 ∈ Z (Subst)wegen Def. → 4∈Z→4∈Z Logisch-folgt φ φ1 ··· ψ φn φ φ1 · · · φ∧ψ φn (Impl) falls [φ∧φ1 ∧···∧φn →ψ≡⊤] gilt Verwendung Die Regel im Textbeweis… Diese Regel findet selten Anwendung. Sie wird hauptsächlich benutzt, um die Gültigkeit anderer Diese Regel findet sich eigentlich nie im Textbeweis. (kürzerer) Schlussregeln zu begründen. Die soeben betrachtete Regel ist eine sehr mächtige Regel, da sie erlaubt, quasi alles, was ein logisch gültiger Schluss ist, auch als Schlussregel zu verwenden. Die meisten der nachfolgenden Regeln sind in der Tat eigentlich nur Anwendungen dieser Regel. Es ist jedoch eine gute Idee, diese Regel selbst nur sehr sparsam zu verwenden, da es für den Leser nicht sehr hilfreich ist, wenn man etablierte Wege beim Beweisen verlässt, ohne dies sinnvoll zu müssen, da dies den Beweis oft sehr schwer nachvollziehbar macht. Fazit: die vorangegangenen Regeln sowie die nachfolgenden genügen für vermutlich alle Beweise, die uns in den ersten Semestern begegnen werden. Manchmal Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 75 jedoch ist es notwenig, alle Register der Logik zu ziehen und mit der obigen Regel zu arbeiten. Wir wenden uns nun einigen Regeln zu, die wir nicht mit der Regel (Impl) (und auch mit sonst keiner anderen) beweisen können. Die folgenden Regeln dienen dazu den Bezug zwischen konkreten und quantifizierten Aussagen herzustellen und müssen daher viel unserer Intuition überlassen bleiben. All-Instanziierung ∀x : φ (φ)[x := v] (∀:Anw) [v ∈ U ] Verwendung Die Regel im Textbeweis… Häufig in Kombination mit der Regel (→:Anw): ∀x : P (x) → Q(x) ∀x : P (x) P (8) → Q(8) P (8) Q(8) • Da die Aussage für alle natürliche Zahlen gilt, gilt sie auch für 7. • Aus Satz 42 folgt, dass 6 eine natürliche Zahl ist. All-Beweis (φ)[x := v̇] gilt für ein unbestimmtes v̇ ∈ U (∀:Bew) ∀x : φ Verwendung Die Regel im Textbeweis… Wir wollen zeigen, dass alle natürlichen Zahlen größer als 0 sind. Wir arbeiten mit einem komplett unbestimmten Objekt v̇ ∈ U , und zeigen, dass die Aussage wahr ist. Danach folgern wir als letzten Schritt . .. Dort folgt die Regel immer als erster Schritt, um zu zeigen, dass eine Aussage für alle Objekte aus U gilt. Wir ernennen v̇ zu unserer unbestimmten Variable, mit der wir fortan stellvertretend für alle Elemente aus U arbeiten werden. v̇ ∈ N → v̇ ≥ 0 ∀x : x ∈ N → x ≥ 0 Wir schreiben: • Sei v̇ ∈ U beliebig (aber fest). • Betrachte ein beliebiges v̇ ∈ U . Wir haben nun die beiden Regeln kennengelert, die die Einführung und Elimination von Allquantoren erlauben. Mit der Einführung eines Allquantors meint man den Allquantor-Beweis während die Elimination die Verwendung eines Allquantors bezeichnet. Dies entspricht nur leider meistens nicht (!!) der Anwedungsweise der Regeln. Wir verwenden die Regel All-Beweis meisten von unten nach oben, wir führen die Konklusion auf die Prämissen zurück und arbeiten mit den Prämissen weiter. Während wir die Regel All-Instanziierung meistens umgekehrt nutzen. Wir kennen ein konkretes Objekt, welches wir einsetzen wollen, und nutzen den Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 76 bereits bewiesenen all-quantifizierten Satz als Prämisse und leiten daraus eine konkrete Konklusion her, die einen Allquantor weniger enthält. Mit unseren neuen Regeln können wir zum Beispiel für ein beliebiges einstelliges Prädikat P folgendes zeigen: (W) ⊤ (Subst) P (ẋ) ∨ ¬P (ẋ) (∀:Bew) ∀x : P (x) ∨ ¬P (x) Wir nehmen nun an, dass ∀x : P (x) → Q(x) und ∀y : P (y) gilt und wir wollen ∀z : Q(z) zeigen. Dies funktioniert wie folgt: ∀x : P (x) → Q(x) ∀y : P (y) P (ż) → Q(ż) P (ż) (∀:Anw) (∀:Anw) (→:Anw) Q(ż) (∀:Bew) ∀z : Q(z) Existenz-Instanziierung ∃x : φ (∃:Anw) (φ)[x := v̇] gilt für ein nicht näher bestimmtes v̇ ∈ U Verwendung Wir verwenden die Regel häufig im Kontext von Aussagen z.B. über gerade bzw. ungerade Zahlen. Wollen wir zum Beispiel zeigen, dass wenn eine natürliche Zahl x gerade ist ihr Nachfolger ungerade ist, so verwenden wir die Regel, um eine mathematische Gleichheit zwischen ẋ und 2 · k̇ zu beweisen. Da es sich bei der Aussage um eine Implikation handelt, dürfen wir annehmen, dass ẋ gerade ist. Die Regel im Textbeweis… • Sei k̇ ∈ M passend. • Wir wissen, dass ẋ gerade ist, also gibt es eine natürliche Zahl k̇, so dass ẋ = 2 · k̇. ∃k ∈ N : ẋ = 2 · k ẋ = 2 · k̇ Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 77 Existenz-Beweis (φ)[x := v] gilt für ein konkretes v ∈ U, das wir persönlich genau kennen (∃:Bew) ∃x : φ Verwendung Die Regel im Textbeweis… Wir müssen zeigen, dass es ein v gibt, welches die Behauptung erfüllt. …Damit haben wir ein konkretes Element gefunden, welches die Behauptung gefüllt und damit ist die Aussage bewiesen. Die vier Operatorregeln müssen in Kombination sehr behutsam verwendet werden, vor allem, wenn wir nicht konkrete Zahlen wie 7 verwenden, sondern nur Variablen, die für konkrete Zahlen stehen, wie ẋ. Daher müssen wir uns genau überlegen, was bei den Regeln passiert. Die Regeln All-Instantiierung erlaubt es uns, auszusuchen welchen Wert wir einsetzen. Wir dürfen uns aussuchen, mit welchem Wert wir in der Konklusion weiterarbeiten möchten. Sehr ähnlich dazu verhält sich die Regel Existenz-Beweis: Wir dürfen das Objekt auswählen mit dem wir die Konklusion beweisen wollen. Dahingegen sind die beiden anderen Regeln schwieriger zu handhaben. Nutzen wir die Regel Existenz-Instanziierung, so wissen wir nicht, welches Objekt die Regel erfüllt, sondern nur, dass es solch ein Objekt gibt. Daher bezeichnet ẋ in diesem Fall ein konkretes Objekt, welches wir nicht kennen. Bei der Regel All-Beweis verhält es sich ähnlich. Möchten wir eine allquantifizierte Aussage beweisen, müssen wir die Aussage für alle möglichen Belegungen der quantifizierten Variable gleichzeitig. Also steht hier ẋ zwar für einen konkreten Wert, aber gleichzeitig für alle möglichen konkreten Werte. Wir können einen Ausdruck, der so eine Variable enthält, nur dann umformen, wenn der Schritt für alle Belegungen der Variablen, die möglich sind, gilt. Intuition Wir haben zwei intuitive Bilder für die Quantorenregeln hier vorbereitet: (a) Wir können die Quantorenregeln mithilfe eines Weltenmodells besser verstehen. Stellen Sie sich vor, Sie betrachten eine Welt, in der nur der Ausdruck ∀x : ∃y : P (x, y) existiert. Um das Beispiel etwas konkreter zu machen, nehmen wir an, dass P (x, y) := x < y. Diese Aussage bedeutet dann, dass es für jede Zahl eine Zahl gibt, die größer ist. Wir bearbeiten unsere Welt nun mit der Regel (∀:Bew), um den Allquantor zu beweisen. Dazu kopieren wir unsere Welt so oft, wie es Zahlen im Unversum zum Allquantor gibt. Dies sehen Sie in Abbildung 20 in der zweiten Zeile. Wir haben nun für jede Zahl, die im Universum Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 78 zur Variable x vorkommt, eine Welt konstruiert, in der nur der Ausdruck ∃y : P (unsere Zahl, y) vorkommt. In jeder dieser Welten wenden wir nun parallel die Regel (∃:Bew) an, um den Existenzquantor zu beweisen. Da wir jedoch in verschiedenen Welten arbeiten, darf die Zahl verschieden sein. Wie man in Abbildung 20 in der dritten Zeile sehen kann. Somit können wir die Aussage beweisen, da für jede Zahl n, die Zahl n + 1 größer ist. Betrachten wir nun die Aussage ∃y : ∀x : P (x, y). Diese bedeutet intuitiv, dass es eine größte Zahl im Universum gibt. Achtung: Diese Aussage ist über den Mengen N, Z, Q und R eindeutig falsch! Wenn wir versuchen, diese Aussage zu beweisen, stoßen wir auf das folgende Problem. Zunächst müssen wir dieses Mal die Regel (∃:Bew) anwenden. Wir ersetzen in unserer einen existierenden Welt die Variable y durch eine konkrete Zahl, mit der wir versuchen wollen, unsere Aussage zu beweisen (da es mit keiner Zahl funktioniert, haben wir hier exemlarisch die 100 genommen). Nun wollen wir den Allquantor beweisen. Dazu kopieren wir erneut unsere Welt so oft, wie es Zahlen im Universum zur Variable x gibt und setzen in jeder Welt eine andere Zahl ein. So kommen wir zum Beispiel zu den Welten 1 < 100, 13 < 100 bzw. 1023 < 100, wie in Abbildung 21. Wir sehen hier also, dass die Variable y im Gegensatz zum obigen Beispiel in jeder Welt den gleichen Wert hat. Zusammenfassung: Wenn wir die Regel (∀:Bew) anwenden, dann müssen wir – wenn wir von unten nach oben arbeiten – für jedes Objekt aus dem Universum eine neue Welt erschaffen und in jeder Welt ein anderes Objekt einsetzen. Wollen wir die Regel stattdessen von oben nach unten anwenden, so muss es nicht nur für jedes Objekt aus dem Universum so eine Welt geben, sondern die Welten dürfen sich auch nur an der Stelle der Variable, die wir allquantifizieren wollen unterscheiden. Bei der Regel (∃:Bew) hingegen, verändern wir die Anzahl der existierenden Welten nicht. Wir ersetzen nur in jeder bestehenden Welt die existenz-quantifizierte Variable durch einen Wert, den wir in dieser Welt brauchen, um den Beweis zu führen (wie zum Beispiel oben für jede Zahl n durch n + 1). (b) Wir können uns Beweisen auch vorstellen wie ein Spiel gegen einen allwissenden Gegner. Wenden wir die Regel (∀:Bew) an, so darf unser Gegner uns zu jeder Zeit das Objekt aus dem Universum für die allquantifizierte Variable einsetzen, welches für uns am schlechtesten ist. Er muss sich hier vorher nicht festlegen (da es ja jedes Objekt aus dem Universum in unseren Beweis erfüllen muss). Bei der Regel (∃:Bew) haben wir die Entscheidungsfreiheit was wir tun, genau so auch bei der Regel (∀:Anw) – wir dürfen ganz allein entscheiden, welches Objekt aus dem Universum wir einsetzen. Wir sollten hier natürlich die besten Objekte für uns auswählen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 79 Schließlich bei der Regel (∃:Anw) darf wieder unser Gegner entscheiden, welches Objekt er uns gibt. Wir wissen nur, dass das Objekt unsere Behauptung erfüllt, mehr dürfen wir darüber nicht annehmen. Beweisen heißt in diesem Kontext dann, dass wir den Beweis führen können, egal was unser Gegner tut. ∀x : ∃y : P (x, y) P (x, y) := x < y (∀:Bew) … 1< … n< 13 < (∃:Bew) (∃:Bew) 2 (∃:Bew) n+1 14 Abbildung 20: Veranschaulichung der Quantorenregeln für ∀x : ∃y ∃y : ∀x : P (x, y) P (x, y) := x < y (∃:Bew) eine konkrete Zahl! < 100 (∀:Bew) 1 13 1023 Abbildung 21: Veranschaulichung der Quantorenregeln für ∃y : ∀x Versuch es selbst! – Aufgabe 23: Auf die Reihenfolge kommt es an! Sei P ein beliebiges, zweistelliges Prädikat. Welche der beiden Aussagen ∀x : ∃y : P (x, y) → ∃y : ∀x : P (x, y) bzw. ∃y : ∀x : P (x, y) → ∀x : ∃y : P (x, y) kann man beweisen? Versuchen Sie Ihre Antwort so genau wie möglich zu begründen. Wir kommen nun zu ein paar einfacheren, aber wichtigen Regeln. Die Regeln erklären, wie wir die anderen Verknüpfungsarten von Aussagen in Beweisen auflösen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 80 und-Einführung/und-Beweis (∧:Bew) φ ψ φ∧ψ Verwendung Die Regel im Textbeweis… Wann immer wir ψ annehmen (oder gezeigt Im Textbeweis wird diese Regel haben), so dürfen wir diese Formel immer verwenden. nicht sehr oft angewandt, da wir dort oft nicht zwischen φ ∧ ψ und φ und ψ unterscheiden. Falls doch, so sagen wir einfach: da φ und ψ gilt, gilt auch φ ∧ ψ. und-Beseitigung/und-Benutzung φ∧ψ ψ (∧:Anw) Verwendung Die Regel im Textbeweis… Diese Regel brauchen wir oft, wenn wir einen Satz benutzen, der uns mehr Eigenschaften eines bestimmten Objekts liefert, als wir brauchen. Nehmen wir an, wir wollten zeigen, dass 26 durch 2 teilbar ist, verwenden dabei jedoch einen Satz, der uns sagt, dass man 26 durch 2 teilen kann, und das Ergebnis größer als 5 ist. Hier beschreiben wir einfach, was die Regel aussagt in Worten, und sagen sowas wie: da es ein k gibt, so dass k ≥ 5 und 6 = 2k, so gibt es ebenfalls ein k, so dass k ≥ 5.a ∃k : 6 = 2 · k ∧ k ≥ 5 6 = 2 · k̇ ∧ k̇ ≥ 5 6 = 2 · k̇ (∃:Anw) (∧:Anw) aWir erwähnen diese Regel in Textbeweisen selten explizit, da sie so offensichtlich erscheint. Dennoch verwenden wir sie, auch wenn das oft unerwähnt bleibt. Wir können den ungebrauchten Anteil “∧ k ≥ 5” nach der Regel einfach wegwerfen. Wir haben soeben gesehen, dass wir für das logische Und zwei Regeln haben. Eine, um es einzuführen, und eine, um es zu beseitigen. Für das logische Oder werden wir im Folgenden nur eine Regel kennenlernen, um es einzuführen. Es gibt keine entsprechende Beseitigungsregel! Versuch es selbst! – Aufgabe 24: Kurze Fragen zu Schlussregeln Folgende “Regel” gilt nicht! Weshalb? φ∨ψ φ Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 81 Wir brauchen die Regeln und-Einführung bzw. und-Beseitigung/und-Benutzung zum Beispiel um die Aussagen folgender Sätze zu beweisen (die Konklusion ist ein “und”) oder um die Prämissen der folgenden Sätze zu zerlegen.* • Banach’scher Abbildungssatz: Zu Funktionen f : A → B und g : B → A existiert eine disjunkte Zerlegung A1 , A2 und B1 , B2 von A bzw. B, so dass f (A1 ) = B1 und g(B2 ) = A2 . (Analysis 1) • Satz von Cantor-Bernstein-Schröder: Ist eine Menge A höchstens gleichmächtig zu einer Menge B, und gleichzeitig B höchstens so gleichmächtig wie A, dann sind die beiden Mengen sogar gleichmächtig. (Lineare Algebra 2) • Wenn p und q eine Quadratzahl ist, dann ist auch p · q eine Quadratzahl. • Die Summe zweier rationalen Zahlen ist wieder rational. • Die Summer zweier ungeraden Zahlen ist gerade. • Die Summe einer geraden und einer ungeraden Zahl ist wieder ungerade. Die beiden Regeln sind erfahrungsgemäß in ihrer Anwedung einfacher als die Regeln für die Quantoren. Trotzdem: Immer angeben, wenn diese Regel verwendet wird! oder-Einführung/oder-Beweis (∨:Bew) φ φ∨ψ Verwendung Die Regel im Textbeweis… Die Verwendung der Regel ist eher spärlich. Wir Da die Aussage φ gilt, gilt auch die brauchen die Regel meistens dann, wenn wir eine Aussage auf eine bestimme Form bringen wollen. Aussage φ ∨ ψ. Zum Beispiel wissen wir, dass ∀x : P (x) und dass ∀x : P (x) ∨ ∃y : Q(y) → ∀z : R(z) gilt. Wollen wir nun auf ∀z : R(z) schließen, so können wir mit der Regel in den Ausdruck ∀x : P (x) ein ∨ einfügen, so dass die Prämisse der Implikation passt. *Am Ende des Vorkurses werden Sie in der Lage sein, die folgenden beiden Sätze zu verstehen. Die Beweise beider Sätze sind deutlich schwieriger und nicht ohne Weiteres zu führen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 82 modus ponens φ φ→ψ ψ φ φ→ψ φ∧ψ (→:Anw) Verwendung Die Regel im Textbeweis… Diese Regel erlaubt uns Implikationen so zu gebrauchen, dass wir aus ihrer Prämisse auf ihre Konklusion schließen. Häufig liegt die Implikation in Form eines mathematischen Satzes vor. Nehmen wir an, Satz 42 aus einer Vorlesung besagt: Wenn x gerade ist, so ist x eine natürliche Zahl. Ein Ausschnitt aus einem Beweis, in dem wir diese Schlussregel anwenden, könnte dann so aussehen: ∀x : g(x) → x ∈ N g(6) g(6) → 6 ∈ N 6∈N (∀:Anw) (→:Anw) “…also muss 366 eine gerade Zahl sein. Zusammen mit Satz 42 folgt damit, dass 366 eine natürliche Zahl ist.…” Wir sehen, dass diese Schlussregel nur implizit erwähnt wird. Dadurch, dass man weiß, dass Satz 42 die Form einer Implikation hat, ist klar, dass (→:Anw) angewandt werden muss. Man hält also nur fest, dass φ gilt (“…also muss k eine gerade Zahl sein.”) und dass der Satz (in Form einer Implikation) auf φ angewandt wird. Modus Ponens ist nicht anderes als die Implikations-Anwendung. Ihr Name ist historisch bedingt. Auch die Implikationsanwendung erscheint uns relativ natürlich aufgrund der Logik: Gilt die Prämisse einer Implikation, so können wir daraus die Konklusion folgern. Intuition Betrachten wir nochmals die Wahrheitstabelle für die Implikation: φ ψ φ→ψ w w w w f f f w w f f w Da die Implikation äquivalent zu ⊤ und die Prämisse wahr ist, ist die einzige Zeile, die übrig bleibt, die folgende: w w w Wie wir sehen, muss also die Konklusion wahr sein. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 83 Wir lernen nun noch Schlussregeln kennen, die bekannte Beweisverfahren widerspiegeln. In vielen Vorlesungen werden Sie diese Beweisverfahren wieder hören (meistens jedoch ohne formale Regel und ohne Erklärung, warum die Regel korrekt ist). Die folgenden Schlussregeln braucht man im Allgemeinen nicht. Sie erlauben uns jedoch, effizienter und natürlicher mit den unseren Beweisen umzugehen. Fallunterscheidung φ1 ∨ · · · ∨ φn φ1 → ψ ψ ··· φn → ψ (FU) Verwendung Die Regel im Textbeweis… Fallunterscheidungen verwendet man dann gerne, wenn man dadurch neue Informationen gewinnen Fallunterscheidung: Fall 1: Fall 2: ... Fall n: kann. Es soll zum Beispiel gezeigt werden, dass der Betrag einer ganzen Zahl z immer positiv ist. Nun macht man eine Fallunterscheidung nach z = 0, z > 0 und z < 0, weil wir in diesen Fällen direkt eine Aussage mithilfe der Definition des Betrags treffen können. Um einen gültigen Beweis zu führen, ist es wichtig, dass die Veroderung aller Fälle äquivalent zu ⊤ ist. hypothetische Fallunterscheidung φ1 → ψ · · · φn → ψ φ1 ∨ · · · ∨ φn → ψ (H-FU) Verwendung Die Regel im Textbeweis… Die Anwendung der Regel ist sehr ähnlich zu der Wie bei der Regel (FU) auch. Regel (FU). Sie wird hauptsächlich genutzt, um Implikationen zu beweisen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 84 hypothetischer Syllogismus /Transitivität φ→ψ ψ→ξ φ→ξ ((→:Bew)-2) Verwendung Die Regel im Textbeweis… Wir wissen zum Beispiel, dass (∀x : P (x)) → (∀y : Q(y)) und (∀y : Q(y)) → (∀z : R(z)) gilt. Die Wir wissen, dass φ → ψ und dass ψ → ξ gilt. Damit wissen wir auch, Regel erlaubt es uns nun, auf (∀x : P (x)) → (∀z : R(z)) zu schließen. dass φ → ξ gilt. Widerspruch φ→ξ falls [ξ≡⊥] ¬φ (Widersp.) Verwendung Die Regel im Textbeweis… Wir wollen zeigen, dass 0 ∈ R eindeutig ist. Dazu nehmen wir an, dass 0 nicht eindeutig ist: Sei ¬φ zu zeigen. Annahme: φ gilt. (Nun führen wir einige Beweis- ẋ + ẏ = ẋ ∧ ẏ ̸= 0 → ⊥ (Widersp.) (Subst) (∀:Bew) ¬(ẋ + ẏ = ẋ ∧ ẏ ̸= 0) ẋ + ẏ = ẋ → ẏ = 0 (∀x ∈ R : ∀y ∈ R : x + y = x → y = 0) schritte, bis wir zu einer widersprüchlichen Aussage ξ kommen, d.h. zu einer Aussage ξ ≡ ⊥.) Das ist ein Widerspruch! (Hier zeichnen viele Mathematiker einen kleinen Blitz.) Damit ist die Behauptung ¬φ gezeigt. Kontraposition φ→ψ ¬ψ → ¬φ (KontraP.) Verwendung Die Regel im Textbeweis… Man verwendet die Aussage dann, wenn man Beweis durch Kontraposition. Wir die Intuition hat, dass die andere Richtung einfacher ist. Häufig verwendet man Kontraposition zeigen, dass aus ¬ψ die Aussage ¬φ folgt. in Kombination mit Implikationsbeweis und Widerspruchsbeweis: Wir beweisen φ → ψ mit Kontraposition. Wir können annehmen, dass ¬ψ gilt. Wir führen die Annahme, dass φ gilt nun zum Widerspruch. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 85 Wir haben bisher noch keine Umformungen in Gleichungen etc. berücksichtigt, dies werden wir nun im Folgenden nachholen. Wie gehe ich mit Umformungen von nicht logischen Ausdrücken um, z.B. mit arithmetischen Gesetzen? Sehr oft müssen wir in Beweisen Gleiches durch Gleiches ersetzen. So schreiben wir in der Arithmetik ganz natürlich Dinge wie 3 + (3 + 3) = 3 + 6 = 9. Hierbei haben wir 3 + 3 durch 6 ersetzt, und dann 3 + 6 durch 9. Denken wir zurück, was wir in Kapitel 2 gelernt haben: es gibt viele verschiedene Arten von Gleichheiten, die wir alle Unterscheiden. So haben wir z.B. semantisch (oder logisch) Gleich (als Zeichen ≡) deutlich unterschieden von absolut gleich (als Zeichen =). Auch beim Rechnen müssten wir dies strenggenommen tun, da obige Ausdrücke natürlich syntaktisch höchst verschieden sind, also eigentlich nicht absollut gleich sind. Sie sind jedoch semantisch gleich, da sie die selbe Zahl repräsentieren (nämlich die 9). Da es sehr mühsam ist, stets zwischen all den vielen verschiedenen Gleichheitszeichen zu unterscheiden, und jedesmal ein neues Symbol einzuführen, benutzen wir für so ziemlich alles, was wir als “gleich” empfinden*, das selbe Zeichen, nämlich =. Wichtig ist dabei jedoch, stets im Kopf zu behalten, dass wir nicht immer genau die selbe Gleichheit vor uns haben, sondern nur das selbe Symbol (“Gleicher Name, aber andere Person”). Alle diese Gleichheiten haben jedoch eine wichtige Eigenschaft gemeinsam: Wenn wir in der Mathematik schreiben, dass a = b ist (mit dem Zeichen =), so kann ich a in jedem beliebigen größeren Ausdruck gegen b austauschen und umgekehrt, ohne die Bedeutung des gesamten Ausdrucks zu verändern. Aber Achtung: Nicht jede Äquivalenzrelation hat diese Eigenschaft! Von Zeit zu Zeit werden ihnen Theorien begegnen, wo Dinge zwar als “gleich” betrachtet werden, man diese aber nicht ohne weiteres gegeneinander austauschen darf. Wir schreiben dann dort aber auch nicht das Symbol = um die Gleichheit zu bezeichnen! Äquivalenzrelationen, die die Austauscheigenschaft besitzen, nennt man auch Kongruenzrelationen. Wann immer wir in der Mathematik das Symbol = für eine Gleichheit benutzen, dann gilt, dass = eine Äquivalenzrelation und eine Kongruenzrelation ist. Wie gehen wir damit nun in Beweisen um? Welche Regel wenden wir an? An sich können wir keine der Regeln, die wir kennengelernt haben, sinnvoll anwenden, um in einer Aussage z.B. 3 + 3 durch 6 zu ersetzen. Das liegt daran, dass 3 + 3 und 6 selbst keine logischen Aussagen sind, sondern nur als Teil einer logischen Aussage in einem Prädikat vorkommen. Unsere Regeln sprechen jedoch ansich nur über Aussagen. Dennoch können wir mathematische Gleichheiten in unseren Beweisen verwenden, und müssen dies sogar sehr oft. Wir ziehen dabei eigentlich jedoch keine logischen Schlüsse, sondern schreiben Ausdrücke einfach nur um, indem wir Gleiches durch Gleiches ersetzen. *besser: was der erfahrene Mathematiker als gleich empfindet Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 86 Beispiel Wir haben die logische Aussage ṅ = 6k̇ + 2 für ṅ und k̇ ∈ N. Wir wollen daraus schließen, dass es ein l˙ ∈ N gibt, so dass ṅ eine gerade Zahl ist, also dass gilt ṅ = 2 · l.˙ Man beachte zunächst, dass der Ausdruck ṅ = 6k̇ + 2 tatsächlich eine logische Aussage ist, da wir eine Gleichheit wie eine Prädikatanwendung = (ṅ, 6k̇ + 2) betrachten können, die uns (für konkrete ṅ und k̇) eindeutig wahr (w) oder falsch (f) liefert. Jetzt wollen wir mathematisch wie folgt umformen: 6k̇ +2 = 2·3k̇ +2 = 2·3k̇ +2·1 = 2·(3k̇ +1). Da wir wissen, dass wir Gleiches durch Gleiches ersetzen dürfen, schreiben wir die Aussage ṅ = 6k̇ + 2 um zu der Aussage ṅ = 2 · (3k̇ + 1), und wir folgern dass ∃l : k̇ = 2l gilt! Als wir soeben die Aussage ṅ = 6 · k̇ + 2 zu der Aussage ṅ = 2 · (3 · k̇ + 1) umgeschrieben haben, haben wir Gleiches durch Gleiches ersetzt. Jedoch mit welcher Beweisregel? Die einzige Regel die noch irgendwie in Frage kommen könnte, ist die Regel (Subst). Diese passt jedoch nicht, da wir dort nur Aussagen durch gleiche Aussagen ersetzen dürfen, wobei gleich hier auch heißt: gleich bezüglich ≡. Wir haben jetzt jedoch arithmetische Ausdrücke durch arithmetische Ausdrücke ersetzt. Das ist etwas ganz anderes. Wie wir gesehen haben, besitzen wir leider keine passende Regel für solche Ersetzungen. Unsere Logik kann uns diese auch nicht liefern, da wir ja keine logischen Aussagen betrachten, sondern Ausdrücke der Arithmetik (oder einer anderen spannenden Theorie der Mathematik, je nachdem, worüber wir Beweise führen). Diese Regel formal komplett richtig aufzuschreiben ist etwas hässlich. Wir verlassen uns dabei auf unse gute Intuition, und halten einfach fest: In jeder Aussage darf Gleiches durch Gleiches ersetzt werden, ohne die Aussage in ihrem Wahrheitsgehalt zu verändern! Um solche Umformungen auch in unsere Textbeweise und Beweisbäume gut einbauen zu können, formulieren wir folgende (etwas intuitiv gehaltene Regel): Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 87 Gleiches-durch-Gleiches (=-Subst) φ falls [A=B] (φ)[A := B] d.h., falls sich die Konklusion aus der Prämisse φ ergibt, indem man in φ einen Ausdruck A durch einen Ausdruck B ersetzt, und wir wissen, dass mathematisch A = B gilt. Verwendung Die Regel im Textbeweis… Um die Regel anwenden zu können, müssen wir also stets zeigen, dass die Gleichheit gilt. Dies müssen wir sehr oft in einem Nebenbeweis zeigen. Dabei ist, wie immer, jeder Schritt gut zu begründen. Im Textbeweis schreiben wir ganz analog zum Beweisbaum im Beispiel: Aus ṅ = 6k̇ + 2 folgt ṅ = 2 · (3k̇ + 1) da 6k̇ + 2 = 2·3k̇+2 = 2·3k̇+2·1 = 2·(3k̇+1)a. ṅ = 6k̇ + 2 ṅ = 2 · (3k̇ + 1) aauch hier müssten alle Umformungen begründet werden. Wir lassen sie hier nur aus Platzgründen weg. (=-Subst) wegen ⋆1 wobei ⋆1 folgende mathematische Gleichheit bedeutet 6k̇ + 2 (2 · 3 = 6 wg. elementaren Rechenregeln) =2 · 3k̇ + 2 (da 1 neutrales Element bzlg. Multiplikation)) =2 · 3k̇ + 2 · 1 (Distributivgesetz) =2 · (3k̇ + 1) In den Beweisbäumen markieren wir Wahrheiten, die aus diesen Definitionen stammen durch die Regel (Def). Diese Regel erlaubt es uns, Beweisbäume an ihren Blättern abzuschließen, so wie wir es bisher z.B. mit den Regeln (W) getan haben. In Beweisen dürfen wir Aussagen aus Definitionen stets als wahr annehmen, da eine Definition ja eben sagt: “ich beschließe, dass dies so und so ist!” Definitionen sind also Wahrheiten per Befehl, und damit nicht anzweifelbar. Wenn A eine Aussage der Definition ist, so schreiben wir in einem Baum z.B. (Def) A … .. . Wir haben die Regel (Def) bisher noch nicht aufgeschrieben, weil sie strengenommen eigentlich nichts anderes ist wie die Regel (Subst) und (W) anzuwenden. Die Regel (Def) ist also streng genommen nicht notwendig, und wir können ihre Verwendung in einem Baum der Form (Def) A … .. . Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 88 immer ersetzen durch Regelanwendungen der Form (W) ⊤ (Subst) A … .. . Umformungen von Definitionen Wollen wir in einem Beweisbaum zum Beispiel “x gerade” zu ∃k ∈ Z : 2 · k = x umformen, so markieren wir diesen Umformungsschritt nicht mit der Regel (Def), sondern mit der Regel (Subst), da wir logisches Gleiches durch logisch Gleiches ersetzen. Wollen wir aber sagen, dass “x ∈ M ” gilt, weil wir die Menge M gerade als {x} definiert haben, so könnten wir x ∈ M im Beweisbaum mit der Regel (Def)abschließen. Um auch Beweise abschließen zu können, bei denen auf beiden Seiten einer arithmetischen Gleichung das Gleiche steht, führen wir zuletzt die folgende Regel ein: Gleiches-ist-Gleich right=(=-Refl) (=-Refl) A=A Verwendung Die Regel im Textbeweis… Im Textbeweis schreiben wir zum Beispiel: “Da auf beiden Seiten der Gleichung das Gleiche steht, ist die Behauptung bewiesen.” Nun da wir alle Regeln zum Beweisen zusammen haben, wird es Zeit für einen Überlick. Wir beginnen mit etwas Intuition und einem möglichen Vorgehen fürs Beweisen. Intuition Wir fassen hier nochmals einige wichtige Punkte zusammen, die Sie beim Arbeiten mit Beweisregeln im Hinterkopf behalten sollten! (a) Natürlichsprachliche Definitionen (in Deutsch) sind unumgänglich, wenn wir die Grundgesetze der Mathematik festlegen wollen. Sie beschreiben stets die abstrakten gedanklichen Objekte, die wir nicht präziser fassen können, als sie mit unserer normalen Sprache zu beschreiben. (b) Wir führen Logiken als eine formale Sprache ein, die es uns erlaubt, diese natürlichsprachlichen Beschreibungen ab sofort durch forma- Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 89 le Symbole darzustellen. Die natürlichsprachlichen Definitionen verschwinden damit nicht, wir ersetzen sie nur durch eine neue Schreibweise (also z.B. ∧ anstelle von “und”). (c) Schlussregeln sind Regeln, die uns erlauben, gedanklich stattfindende Denkprozesse formal aufzuschreiben. Dazu ist es notwendig, Übersetzungen zwischen Gedankenwelt und formaler Formelwelt zu haben (die Regeln ((∀:Anw)),((∀:Bew)), ((∧:Anw)),((∧:Bew)) etc.). (d) Der natürlichsprachliche Anteil in den Schlussregeln ist daher notwendig und unumgänglich. Wir können jedoch, wo es uns sinnvoll erscheint, natürlichsprachliche Zusammenhänge als Formel umschreiben, um so zu zeigen, dass eine Schlussregel tatsächlich sinnvoll ist. Wir verbinden dabei stets die Prämissen durch Konjunktionen (∧), und schreiben den Strich der Schlussregel um zu einer Implikation (→). Da es manchmal sehr umständlich ist, Schlussregeln mit einem Strich zu schreiben, und wir sie manchmal gerne auch innerhalb einer normalen Textzeile schreiben wollen, erlauben wir statt des Striches auch die Notation =⇒. Wir schreiben dann die Regel ((∧:Bew)) beispielsweise als “φ und ψ (gilt) =⇒ φ ∧ ψ (gilt)”. Wir wollen hier noch einige Tipps im Umgang mit Beweisen geben, die gerade am Anfang sehr hilfreich sein können. In der Praxis … Umgang mit Beweisen • Regel 1: Nimm nichts als offensichtlich oder selbstverständlich an! • Regel 2: Jeder Beweisschritt ist die Anwendung einer Schlussregel! • Regel 3: Wahr ist nur, was nach Definition gilt und was bereits bewiesen wurde (vorausgegangene Beweisschritte und Sätze etc.). Sonst nichts! • Wahr nach Annahme ist jede Behauptung, auch falsche! Wenn wir solche Dinge benutzen, dann jedoch nur in folgenden Fällen: Wir wollen eine Implikation beweisen, und nehmen dafür die Prämisse an! ODER: Wir wollen zeigen, dass die Annahme in Wirklichkeit gar nicht gilt, und nehmen an, dass sie es tut, um zu einem Widerspruch zu gelangen. Daher ist es wichtig, nichts für offensichtlich zu halten! (Offensichtlich ist oft nur: wahr nach meiner Annahme, aber leider doch falsch) • Im strengen Sinne ist eine Aussage nur dann trivial, wenn sie direkt nach ihrer Definition wahr ist, ohne dass irgendein logischer Schluss benötigt wird. Im weiteren Sinne wird dieses Wort benutzt, um auszudrücken, dass der Beweis extrem kurz und einfach ist, und man ihn deswegen nicht aufschreibt. Wir sollten dies absolut vermeiden! Streichen Sie das Wort “trivial” aus Ihrem aktiven Wortschatz, wenn Sie mit Beweisen zu tun haben. Gilt etwas nach Definition, dann schreiben sie einfach “gilt nach Definition”, statt von “trivial” zu reden. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 90 • Ein Beweis ist eine Folge von Implikationen die von w ausgehen, und zur Aussage selbst führen. 3.5 Beispiele für einfache Beweise Wir geben Ihnen hier eine Übersicht über einfache Aussagen und ihre Beweise. In den Übungsaufgaben finden Sie ähnlich schwierige Beweise. Sowohl hier also auch in den Übungsaufgaben sind die Beweise nach Schwierigkeit sortiert. Jede natürliche Zahl ist auch rational. Prädikatenlogisch formuliert heißt n die Aussage: ∀x ∈ N : x ∈ Q ≡ ∀x ∈ N : ∃n ∈ Z : ∃m ∈ N∗ : x = m . Textbeweis: Sei ẋ eine beliebige natürliche Zahl. Es gilt: ẋ = ẋ1 . Nach Definition ist 1 ∈ N und ẋ ∈ N und damit auch in Z. Nach der Definition von “rational” ist somit die Aussage bewiesen. Ableitungsbaum: Der Ableitungsbaum sieht wie folgt aus: (W) ⊤ (Subst) ẋ = ẋ (=-Subst) ẋ = (∃:Bew) ẋ 1 ∃m ∈ N∗ : ẋ = (∃:Bew) ẋ m ∃n ∈ Z : ∃m ∈ N∗ : ẋ = (∀:Bew) n m ∀x ∈ N : ∃n ∈ Z : ∃m ∈ N∗ : x = n m Wenn p und q Quadratzahlen sind, dann ist auch p · q eine Quadratzahl. Wir gehen für diesen Beweis in mehreren Schritten vor: Prädikat: Wir definieren uns ein Prädikat Quadratzahl: P (x) := “∃n ∈ N : x = n2 ” Aufstellen der Aussage: Nun stellen wir die Aussage: ∀p ∈ N : ∀q ∈ N : P (p) ∧ P (q) → P (p · q) auf. Textbeweis: Seien ṗ und q̇ beliebige natürliche Zahlen. Wir können annehmen, dass ṗ und q̇ Quadratzahlen sind, d.h. dass es natürliche Zahlen k̇ ˙ k̇· l). ˙ und l˙ gibt, so dass ṗ = k̇ 2 und q̇ = l˙2 . Dann gilt ṗ· q̇ = k̇ 2 · l˙2 = (k̇· l)·( ˙ Damit ist der Existenzquantor (mit k̇ · l) und damit die Aussage bewiesen. Beweisbaum: Der “Hauptbeweisbaum” sieht wie folgt aus: (→:Bew) (∃n ∈ N : ṗ = n2 ) ∧ (∃n ∈ N : q̇ = n2 ) → (∃n ∈ N : ṗ · q̇ = n2 ) (∀:Bew) ∀q ∈ N : (∃n ∈ N : ṗ = n2 ) ∧ (∃n ∈ N : q = n2 ) → (∃n ∈ N : ṗ · q = n2 ) (∀:Bew) ∀p ∈ N : ∀q ∈ N : (∃n ∈ N : p = n2 ) ∧ (∃n ∈ N : q = n2 ) → (∃n ∈ N : p · q = n2 ) Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 91 Der Beweis der Implikation sieht wie folgt aus: (W) ⊤ (Subst) ṗ · q̇ = ṗ · q̇ (=-Subst) ṗ · q̇ = k̇ 2 · l˙2 (=-Subst) ˙ · (k̇ · l) ˙ ṗ · q̇ = (k̇ ′ · l) (∃:Bew) ∃n ∈ N : ṗ · q̇ = n2 Schließlich müssen wir noch die beiden Anwendungen von (=-Subst) begründen. Die erste Umformung von unten begründet sich mit der Assoziativität und Kommutativität der Multiplikation, für den zweiten Schritt brauchen wir noch zwei Beweisbäume, die mit den Annahmen, die wir aus dem Implikationsbeweis erhalten, enden: ∃k ∈ N : ṗ = k 2 ∧ ∃k ∈ N : q̇ = k 2 (Subst) ∃k ∈ N : q̇ = k 2 ∧ ∃k ∈ N : ṗ = k 2 (∧:Anw) ∃k ∈ N : ṗ = k 2 (∃:Anw) ṗ = k̇ 2 ∃k ∈ N : ṗ = k 2 ∧ ∃k ∈ N : q̇ = k 2 (∧:Anw) ∃k ∈ N : q̇ = k 2 (∃:Anw) q̇ = l˙2 a teilt b genau dann, wenn b kongruent 0 modulo a ist. Wir gehen auch in diesem Beweis in mehreren Schritten vor. Prädikate: “a teilt b” ist ein zweistelliges Prädikat, welches wir mit T bezeichnen und wie folgt definieren: T (a, b) :=“∃k ∈ Z : a · k = b”. “b kongruent 0 modulo a” ist ebenfalls ein zweistelliges Prädikat. Im Folgenden nennen wir es M und nutzen die folgende Definition: M (a, b) := “∃k ∈ Z : 0 = k · a + b”. Aufstellen der Aussage: ∀a ∈ Z : ∀b ∈ Z : T (a, b) ↔ M (a, b) Textbeweis: Seien ȧ,ḃ beliebige ganze Zahlen. “⇒”: Wir nehmen an, dass ȧ die Zahl ḃ teilt, d.h. es gibt ein k̇ in Z, so dass ȧ · k̇ = ḃ. Wir können in dieser Gleichung ḃ auf beiden Seiten subtrahieren und erhalten so 0 = ȧ · k̇ − ḃ. Multiplikation der Gleichung mit −1 liefert 0 = −(ȧ · k̇) + ḃ. Umformungen liefern dann 0 = ȧ · (−k̇) + ḃ. Damit haben wir ein k in Z gefunden (nämlich −k̇), welches den Existenzquantor von M (ȧ, ḃ) erfüllt. “⇐”: Wir nehmen an, dass M (ȧ, ḃ) gilt, also dass 0 = ȧ · k̇ + ḃ für ein k̇ aus Z. Subtraktion von ȧ· k̇ liefert −(ȧ· k̇) = ḃ. Wir können die Gleichung umformen zu ȧ · (−k̇) = ḃ. Damit haben wir ein k gefunden (nämlich −k̇), welches den Existenzquantor von T (ȧ, ḃ) beweist. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 3 Schließen und Beweisen 92 Da wir beide Implikationen bewiesen haben, folgt die Behauptung. Beweisbaum: Der Hauptbeweisbaum sieht (→:Bew) wie folgt aus: (→:Bew) T (ȧ, ḃ) → M (ȧ, ḃ) M (ȧ, ḃ) → T (ȧ, ḃ) (∧:Bew) (T (ȧ, ḃ) → M (ȧ, ḃ)) ∧ (M (ȧ, ḃ) → T (ȧ, ḃ)) (Subst) T (ȧ, ḃ) ↔ M (ȧ, ḃ) (∀:Bew) ∀b ∈ Z : T (ȧ, b) ↔ M (ȧ, b) (∀:Bew) ∀a ∈ Z : ∀b ∈ Z : T (a, b) ↔ M (a, b) Da die Beweisbäume für die beiden Implikationsbeweise sehr ähnlich sind, werden wir nur der ersten von beiden hier angeben: ḃ = ȧ · k̇ (=-Subst) 0 = ȧ · k̇ − ḃ (=-Subst) 0 = −(ȧ · k̇) + ḃ (=-Subst) 0 = ȧ · (−k̇) + ḃ Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Beweisen, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Beweisen zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen 4 Mengen Menge! Dieser Begriff kommt Ihnen wahrscheinlich schon aus der Schule bekannt vor. Da gab es Lösungsmengen, Definitionsmengen, Mengen von Zahlen, Punkten, und anderen Objekten, Wertemengen und noch viele andere Arten von Mengen. Obwohl Sie also das Konzept der “Menge” schon kennen, betrachten wir in diesem Kapitel erneut Mengen. Dies liegt daran, dass wir zum einen die Verbindung von Logik und Mengen herausarbeiten wollen, und damit einen Schritt über die Schulmathematik hinausgehen, auf der anderen die Informatik und die Mathematik ohne Mengen nicht existieren könnten. Ein fundiertes Grundwissen und eine gute Intuition über Mengen ist für jeden Informatiker und Mathematiker (fast) unerlässlich. Wir wollen nun aber das Kapitel beginnen mit einer Definition des Konzept der Menge. Menge Eine Menge ist eine Zusammenfassung bestimmter, wohl unterschiedener Objekte unserer Anschauung oder unseres Denkens, welche die Elemente der Menge genannt werden, zu einem Ganzen. Die Objekte können beliebige Dinge sein, z.B. Zahlen, Punkte, Gegenstände, Körper, sogar wiederum Mengen selbst. Die Tatsache, dass wir Mengen scheinbar nur durch deutsche Worte beschreiben können, sollte uns hier zurecht stutzig machen. Mengen sind, ähnlich wie Zahlen oder Liebe (siehe Vorwort) ein abstraktes Konzept des Geistes, welches schwer ist, mit Worten konkret zu fassen. Wie wir noch sehen werden, hat genau diese Art Mengen zu definieren, aber ein gemeines Problem, auf das wir noch am Ende des Kapitels eingehen werden. Da das Problem aber für viele praktische Anwendungen keine Rolle spielt, genügt uns diese Definition erst einmal und wir werden sie im Folgenden genauer betrachten. Wir schlüsseln nun auf, was die Definition von Menge uns sagt. Bestimmte, wohl unterschiedene Objekte unserer Anschauung oder unseres Denkens heißt salopp formuliert nur, dass in eine Menge nur das reingehört, was wir sehen oder uns vorstellen und eindeutig von allen anderen Dingen unterscheiden können. Niemand verbietet uns, nur Zahlen in eine Menge zu legen, wie die folgenden beiden Beispiele zeigen. Ein grundlegendes Konzept von Mengen ist auch, dass eine Menge ein Objekt nur maximal einmal enthalten kann. Egal wie häufig ich etwas in eine Menge reinstecke, es wird immer nur einmal enthalten sein. Dies korrespondiert mit der Idee, dass jedes Objekt des Denkens nur ein einziges Mal existiert. Die Zahl 10 (nicht ihr Symbol!) gibt es nur einmal. Es gibt keine zwei verschiedenen Dinge, die 10 sind. Höchstens verschiedene Darstellungen, wie 10, 1 + 9 oder 3 + 7. Daher gibt es auch keinen Sinn, ein solches Objekt mehrmals in eine Menge tun zu wollen. 93 Menge Elemente der Menge 4 Mengen 94 Beispiel (a) {1, a, 2, ∅} ist eine Menge mit den Elementen 1, 2, a und ∅, welches selbst eine Menge ist (die leere Menge). (b) In Abbildung 22 wollen wir das Konzept der Menge nochmals auf andere Art veranschaulichen. Wir betrachten für dieses Beispiel zwei geometrische Objekte als unterscheidbar, wenn sie nicht übereinander liegen. Dann gilt für unsere Darstellung: Die Ansammlung von geometrischen Objekten ganz links ist keine Menge, da das rot-braune Dreieck und das blaue Rechteck übereinander liegen. Die Ansammlung in der Mitte und auf der rechten Seite bezeichnen beide Mengen. Wir können alle Objekte voneinander unterscheiden, wir können diese Elemente alle sehen. Darüber hinaus ist es sogar die gleiche Menge: Die Dopplung des blauen Rechtecks in der rechten Menge spielt keine Rolle, da eine Menge jedes Element nur einmal enthält. Abbildung 22: Visualisierung einer Menge Im Folgenden wollen wir verschiedene Arten kennenlernen, wie man Mengen aufschreiben kann. Aber egal wie wir eine Menge aufschreiben, die Definition von Mengen müssen wir im Hinterkopf behalten. Sie sollten sich vorher noch eigenständig ein paar Gedanken über die Definition des Konzepts “Menge” machen. Dabei kann Ihnen Aufgabe 25 helfen. Versuch es selbst! – Aufgabe 25: Diskussion über die Definition von Mengen Stellen Sie sich vor, es gibt eine Sprache, die Sie nicht verstehen. Sie bekommen nun die Schriftzeichen und sollen diese in eine Menge packen. Kann es Fälle geben, in denen ein und das selbe Schriftzeichen mehrfach in einer Menge auftreten kann? Wenn ja, konstruieren Sie so einen Fall. Ansonsten erklären Sie, warum es keinen solchen Fall geben kann. Für die Physiker unter Ihnen: Diskutieren Sie inwieweit man Quanten in Mengen zusammenfassen kann? Oder “Schrödinger’s Katze”? Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 95 4.1 Schreibweisen von Mengen Im Wesentlichen unterscheidet man zwei verschiedene Aufschreibweisen für Mengen. Die Schreibweise, die Sie vermutlich aus der Schule kennen, ist die Aufzählung. Wir listen alle Elemente auf, und drücken die Tatsache, dass wir sie zu einer Menge zusammenfassen, durch geschweifte Klammern um alle Elemente herum aus. Im folgenden Beispiel schreiben wir zwei verschiedene Mengen aufzählend auf. Beispiel (a) Die Zeichenfolge {1, 2, 3, 4} bezeichnet die Menge mit den Elementen 1, 2, 3 und 4. Ebenso bezeichnet der Ausdruck {1, 4, 2, 3} diese Menge. Die Reihenfolge, in der wir die Elemente aufschreiben, spielt für die Menge selbst keine Rolle. Ebenso wenig wie häufig wir ein Element aufschreiben, wenn wir es mindestens einmal aufschreiben. Auch {1, 1, 1, 1, 2, 3, 4, 4, 4} ist die selbe Menge. (b) Die Menge von geometrischen Objekten aus Abbildung 22 würden wir dann wie in Abbildung 23 notieren. Aus der Schule kennen Sie diese Schreibweise vermutlich vor allem zur Notation von Lösungsmengen. Haben Sie zum Beispiel die Gleichung x + 7 = 9 gelöst, so haben sie wahrscheinlich die Lösungsmenge notiert als L = {2} notiert. { , , , , , } Abbildung 23: Aufzählende Notation einer Menge Auch wir haben diese Schreibweise schon verwendet, zum Beispiel wenn wir die Menge der geraden bzw. ungeraden Zahlen ({0, 2, 4, 6, 8, . . . } bzw. {1, 3, 5, 7, . . . }) angeben wollten *. Die Beispiele offenbaren jedoch zwei Probleme beim aufzählenden Aufschreiben von Mengen. Zum einen handelt es sich um eine Art “Intelligenztest”, da vom Leser erwartet wird, dass er genau weiß, wie die Reihe von Zahlen fortzusetzen ist. Versuch es selbst! – Aufgabe 26: Ein Anfang mit vielen Enden Stellen Sie sich vor, es ist nur die Menge {1, 2, . . . } gegeben. Wie viele verschiedene Möglichkeiten finden Sie die Menge fortzusetzen?. Finden Sie auch verschiedene Möglichkeiten die Menge {1, 2, 4, . . . } und {1, 2, 4, 8, . . . } fortzusetzen? Zum anderen eignet sich die Darstellung nicht, um formale Beweise über Mengen zu führen, da wir die “Punkte (…)” nicht formal fassen können. Dies macht es uns zum Beispiel schwer, Argumente über die Menge der geraden Zahlen zu führen. Daher führen wir im Folgenden Mengen auf Logik (genauer gesagt auf Prädikate) zurück, da sich, wie wir im vorangegangenen Kapitel gesehen haben, Logik sehr gut in Beweisen verwenden lässt. *Achtung: Ihre Intuition über Zahlen hat Ihnen hier geholfen die restlichen Elemente der Menge zu erraten! Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Aufzählung 4 Mengen Prädiktenschreibweise 96 Für Mengen mit vielen Elementen, insbesondere mit unendlich vielen Elementen, benutzt man daher die sogenannte Prädiktenschreibweise. Ist U unser Universum und P ein Prädikate über U, so ist {x | P (x)} eine prädikate Schreibweise für eine Menge. {x | P (x)} ist zu lesen als x (aus dem Universum U) ist in der Menge enthalten, wenn P (x) gilt, also P (x) zu wahr auswertet. Versuch es selbst! – Aufgabe 27: Aufzählend vs. Prädikativ Wir können übrigens jede aufzählende Schreibweise auch in Prädiktenschreibweise aufschreiben. Wie? Im Vorkurs und auch später im Studium werden die meisten Mengen in prädikativer Schreibweise angegeben. Daher werden wir einige Zeit darauf verwenden, die prädikative Schreibweise und alles, was darauf aufbaut, genauer zu beleuchten. Beispiel Im folgenden Beispiel sei das Universum U = R • {1, 2, 3, 4} = {x | x = 1 ∨ x = 2 ∨ x = 3 ∨ x = 4} (in ähnlicher Art und Weise kann jede endliche Menge in eine prädikate Schreibweise gebracht werden). • Die Menge der Quadratzahlen Q ist definiert als Q := {n2 | n ∈ N}. Zum Beweisen ist es natürlich von Vorteil, das Prädikat (genauer, die Aussageform) innerhalb der Menge möglichst formal aufzuschreiben, d.h. als logische Formel. Später werden, vor allem wenn die daraus resultierende logisch Formel eindeutig herzuleiten ist, das Prädikat mit natürlicher Sprache beschrieben. 4.2 Wichtige Prädikate über Mengen Wenn wir Beweise über Mengen führen, dann müssen wir häufig über die Elemente der Menge reden. Die folgende Definition zeigt, dass wir über Elemente einer Menge nur annehmen dürfen, dass sie das Prädikat der Menge erfüllen. Die Prädikatenschreibweise hilft uns nun dabei, die “ist-Element-von”-Beziehung exakt aufschreiben. Definition 21 (“ist-Element-von” - Beziehung) Sei M = {x | P (x)}. Dann v ∈ M := P (v). Die “ist-Element-von”-Beziehung ist ein zweistelliges Prädikat, welches ein Element aus dem Universum U und eine Menge nimmt und einen Wahrheitswert zurückgibt.* *Wir können als Universum nicht U × Menge aller Mengen nehmen, warum, sehen wir am Ende dieses Kapitels. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 97 Beispiel Betrachten wir zum Beispiel die Menge der geraden Zahlen G := {x | x ist eine gerade Zahl} = {x ∈ Z | ∃k ∈ N : x = 2 · k}. Das Prädikat der Menge kann man definieren als P (x) := ∃k ∈ N : x = 2 · k. Dann wertet zum Beispiel P (1) zu f aus, da 21 keine natürliche Zahl ist. P (2) hingegen wertet zu w aus, da 2 · 1 = 2 gilt und damit der Existenzquantor bewiesen ist. Versuch es selbst! – Aufgabe 28: Bevor Sie weiterlesen... …versuchen Sie formal zu beweisen, was wir im Beispiel eben skizziert haben. Wir werden nun einmal vorführen wie man zeigen kann, dass zum Beispiel 1 nicht in der Menge der geraden Zahlen enthalten ist. Die Hauptbeweisidee ist, dass es die Aussage ∃k ∈ Z : 2 · k = 1 logisch äquivalent zu falsch ist. Wir führen einen Beweis durch Widerspruch. Beweis. Behauptung: 1 ist nicht in G enthalten Ableitungsbaum: (→:Bew) 1∈G→⊥ (Widersp.) 1 ̸∈ G 1∈G (Subst) ∃k ∈ Z : 2 · k = 1 (Subst) ⊥ Textbeweis: Um einen Widerspruch zu erreichen, nehmen wir an, dass 1 ∈ G gilt. Nach Definition gilt dann: ∃k ∈ Z : 2 · k = 1. Dies ist aber nicht möglich, also logisch äquivalent zu ⊥. Also haben wir einen Widerspruch. Wenn wir über Mengen und ihre Elemente reden, dann nehmen wir stets (implizit) an, dass alle Elemente aus einer Grundmenge U, dem Universum, stammen. Diese Menge U kann beliebig kompliziert sein, und selbst wiederum beliebig verschachtelte Mengen enthalten. Selbst wenn wir ein Element v nicht genauer mit Hilfe des ∈ Operators einschränken, dann nehmen wir immer an, dass v ∈ U gilt. Versuch es selbst! – Aufgabe 29: Mengenprädikate Ist ein Mengenprädikat, also ein Prädikat, welches eine Menge wie oben definiert, immer einstellig? Eine besondere Menge, die uns sehr häufig begegnen wird, ist die leere Menge ∅. Sie enthält kein Element. Wenn wir sie mit Hilfe der Prädikatenschreibweise definieren wollen, dann ist das Prädikat P , genauer die Aussageform, die sie spezifiziert, P (x) := ⊥. Denn damit gilt für alle v ∈ U, dass P (v) ≡ ⊥, und damit v ̸∈ ∅. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 4 Mengen 98 Definition 22 (Leere Menge) ∅ := {x | ⊥} Um die leere Menge zu definieren funktionieren auch alle Prädikate, die logisch äquivalent zu ⊥ sind, z.B. beschreiben die Mengen {x | 1 = 2} bzw. {x | ⊤ ≡ ⊥} ebenso die leere Menge. Intuition Im Folgenden wollen wir Mengen mit Töpfen vergleichen. Stellen wir uns einen Topf mit Essen darin vor, so haben wir eine Menge mit Elementen, die selbst keine Mengen sind. Wir gehen davon aus, dass wir keinen TopfEintopf essen möchten. Wir können das Essen aus verschiedenen Töpfen zusammenbringen oder das Essen aus einem Topf trennen (z.B. das Suppenfleisch aus der Suppe herausnehmen). Versuchen wir aber nun Töpfe platzsparend im Schrank unterbringen, so stapeln wir sie oft ineinander. Das können wir mit Mengen von Mengen vergleichen. Beim Spülen haben wir sogar Töpfe, die wiederum Töpfe und Essen gleichzeitig enthalten. Auch dies hat eine Entsprechung in der Mengenlehre: Wir können Mengen haben, die sowohl Nicht-Mengen als auch Mengen enthalten. Wir wollen nun nochmals die verschiedenen Mengenkonzepte, die wir mit Töpfen dargestellt haben, an einem konkreten mathematischen Beispiel verdeutlichen: {1, 2, 3, 4} ist eine Menge, die Elemente enthält (Topf mit Essen), {∅, {∅}} ist eine Menge von Mengen, die sogar wieder eine Menge mit einer Menge enthält (Töpfe im Schrank stapeln) und {1, 2, 3, 4, ∅, {∅}} ist eine Menge, die beides enthält – sowohl Elemente als auch Mengen (die Situation beim Spülen). Versuch es selbst! – Aufgabe 30: Darstellungen von Mengen Überlegen Sie sich den Unterschied zwischen 2, {2}und{{2}}. Teilmengenbeziehung Im Folgenden definieren wir Prädikate zwischen Mengen. Wir beginnen mit der sogenannten Teilmengenbeziehung. Wir nennen A eine Teilmenge von B, falls jedes Element von A auch in B enthalten ist. Um diesen Umstand symbolisch und formal festzuhalten, definieren wir einen Vergleichsoperator ⊆, der zwei Mengen nimmt, und w oder f. Anders gesagt ist ⊆ ein zweistelliges Prädikat über Mengen. Definition 23 (Teilmengenbeziehung (Inklusion)) A ⊆ B := ∀x : x ∈ A → x∈B Oft begegnet uns eine andere prädikatenlogische Charakterisierung der Teilmengenbeziehung. Deshalb wollen wir sie auch hier festhalten: Satz 2 (Äquivalente Charakterisierung der Teilmengenbeziehung) A ⊆ B ≡ ∀x ∈ A : x ∈ B* *machen Sie sich klar, dass dies eine einfache prädikatenlogische Umformung der Aussage ist. OffTopic: Wie müssten Sie die Aussage ∃x ∈ A : P (x) umformen, wenn Sie sie in die Form ∃x : x ∈ A . . . bringen wollen? Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 99 Intuition Intuitiv dürfte die Teilmengenbeziehung für Sie nichts Neues zu sein. Bereits in der Schule lernen Sie die folgende Inklusionshierarchie kennen: N⊆Z⊆Q⊆R Achtung: Die Inklusion, die wir hier angeben, ist eine abkürzende Schreibweise für N ⊆ Z ∧ Z ⊆ Q ∧ Q ⊆ R. Das bedeutet, dass jede natürliche Zahl auch eine ganze, rationale bzw. reelle Zahl ist. Die Umkehrung gilt übrigens nicht: √ Nicht jede reelle Zahl ist auch rational (siehe 2 ̸∈ Q). Eine weitere wichtige Beziehung zwischen Mengen, ist die Gleichheit. Über die Teilmengenbeziehung kann man auch Gleichheit von Mengen definieren. Allgemein sieht man zwei Mengen als gleich an, wenn sie die gleichen Elemente behalten. Definition 24 (Mengengleichheit) A = B ↔ A ⊆ B ∧ B ⊆ A. Intuitiv sind zwei Mengen A und B also gleich, wenn jedes Element der Menge A auch in der Menge B und jedes Element der Menge B auch in der Menge A enthalten ist. Bisher haben wir als Inklusion nur die Teilmengenbeziehung gesehen, bei der zwei Mengen auch gleich sein dürfen, d.h. A = B für zwei Mengen A und B impliziert, dass A ⊆ B. In vielen Kontexten wollen wir aber auch die echte Inklusionen ausdrücken können, d.h. eine Teilmengenbeziehungen, bei denen die beiden Mengen nicht gleich sind. Dafür verwendet man die folgende Definition. Definition 25 (Echte Teilmengenbeziehung (echte Inklusion)) A ⊊ B := A ⊆ B ∧ ¬(A = B) Eine alternative Schreibweise ist auch A ⊂ B. Allerdings verwenden manche Autoren diese Schreibweise auch für A ⊆ B. Man muss hier also bei späteren Vorlesungen und in anderen Büchern aufpassen, was genau gemeint ist. In diesem Skript werden wir diese Schreibweise daher (zumindest absichtlich) nicht verwenden. Beispiel Die Inklusion, die wir eben schon einmal angegeben haben, ist eine echte, es gilt also: N⊊Z⊊Q⊊R Die Inklusion ist echt, weil z.B. −1 ̸∈ N, 1 2 ̸∈ Z und √ 2 ̸∈ Q. Wir wollen im Folgenden zwei Aussagen beweisen, die zentrale Eigenschaften der Mengenprädikate charakterisieren. Satz 3 (Wichtige Teilmengenbeziehungen) • ∀M : M ⊆ M • ∀M : ∅ ⊆ M Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Gleichheit 4 Mengen 100 Beweis von Satz 3. • ∀M : M ⊆ M : (→:Bew) ẋ ∈ Ṁ → ẋ ∈ Ṁ (∀:Bew) ∀x : x ∈ Ṁ → x ∈ Ṁ (Subst) Ṁ ⊆ Ṁ (∀:Bew) ∀M : M ⊆ M Nun müssen wir noch die Implikation ẋ ∈ Ṁ → ẋ ∈ Ṁ beweisen. Da die Prämisse und Konklusion übereinstimmen, ist dies sehr einfach. Prinzipiell reicht es hier auch aus, nichts zu beweisen, sondern den Implikationsbeweis als abgeschlossen zu betrachten. ẋ ∈ Ṁ (Subst) ẋ ∈ Ṁ Sei Ṁ eine beliebige Menge (∀:Bew). Wir müssen zeigen, dass ∀x : x ∈ M → x ∈ M gilt ((Subst) mit der Definition von “⊆”). Sei ẋ ∈ M beliebig ((∀:Bew), (→:Bew)). Nun müssen wir zeigen, dass dann auch x ∈ M gilt. Da das gerade unsere Annahme ist, folgt die Behauptung*. • ∀M : ∅ ⊆ M : (→:Bew) ẋ ∈ ∅ → ẋ ∈ Ṁ (∀:Bew) ∀x : x ∈ ∅ → x ∈ Ṁ (Subst) ∅ ⊆ Ṁ (∀:Bew) ∀M : ∅ ⊆ M Nun müssen wir die Implikation beweisen: ẋ ∈ ∅ (Subst) ⊥ (Impl) ẋ ∈ Ṁ Und so können wir den Beweis als Text notieren: Sei Ṁ eine beliebige Menge (∀:Bew). Wir müssen hier nun zeigen, dass ∀x : x ∈ ∅ → x ∈ M gilt (Subst). Sei ẋ ∈ ∅ beliebig (∀:Bew) (→:Bew). Dies ist *Der entsprechende Beweisbaum für den Schluss von x ∈ M auf x ∈ M ist minimal, da die Prämisse schon gleich der Konklusion ist. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 101 aber für alle ẋ ∈ U nach Definition der leeren Menge falsch ((=-Subst) mit der Definition von “∈”). Damit wird die Implikation in der Definition für alle ẋ wahr und die Aussage gilt. Bemerkung 9. Beachten Sie, dass ∅ ⊆ M für jede beliebige Menge M gilt, die leere Menge also Teilmenge jeder Menge ist. Insbesondere gilt also auch ∅ ⊆ ∅. Achtung: Das ist nicht das selbe wie zu sagen: ∅ ∈ M . Diese Aussage gilt im Allgemeinen nicht. So ist z.B. ∅ ∈ / ∅, da die leere Menge nichts enthält, und damit auch nicht die leere Menge. Verwechseln Sie also nicht die Begrifflichkeiten “Teilmenge sein”, und “Teil einer Menge sein (= Element einer Menge sein)”. Intuition Wir wollen nochmals die wichtigen Konzepte dieses Kapitels mithilfe von Töpfen visualisieren: Ein Topf A ist Teiltopf von einem Topf B, falls alles, was in A drin ist, auch in B ist. D.h. um Topf A aus Topf B zu enthalten, darf höchstens weniger als B, aber nichts anderes darin sein. Ein Topf ohne Inhalt entspricht der leeren Menge. Bemerkung 10. Ganz oft spielt die leere Menge in mathematischen Aussagen und Beweisen eine ganz besondere, aber auch sehr seltsame Rolle. Betrachten wir einmal alle Mengen, die ausschließlich gerade Zahlen enthalten. Eine solche Menge wäre z.B. {2, 4, 10, 84}, oder aber auch {x ∈ N | ∃k ∈ N : x = 2 · k}. Ebenso ist aber auch ∅ eine solche Menge! Überlegen wir uns einmal genau, weshalb: Wenn eine Menge M ausschließlich gerade Zahlen enthalten soll, dann muss jedes ihrer Elemente x gerade sein (also das Prädikat gerade(x) muss w liefern). Formal, mithilfe des Prädikats gerade, können wir das dann so schreiben: ∀x ∈ M : gerade(x). Mit Hilfe unserer Umformungsregeln erhalten wir nun ∀x ∈ M : gerade(x) ≡ ∀x : x ∈ M → gerade(x) ≡ ∀x : x ∈ / M ∨ gerade(x). Wenn nun M = ∅ gilt, dann wissen wir, dass x ∈ / ∅ ≡ ⊤ gilt, daher können wir in diesem Fall schreiben ∀x : ⊤ ∨ gerade(x), was wiederum äquivalent ist zu ∀x : ⊤ ≡ ⊤. Also erfüllt jedes beliebige Element der leeren Menge (von denen es ja gar keine gibt) die Eigenschaft gerade. Dies geht mit jeder beliebigen Eigenschaft, nicht nur mit geraden Zahlen. Merke: Die leere Menge erfüllt jede Eigenschaft, die nur von den Eigenschaften ihrer Elemente abhängt! Anders ist dies jedoch, wenn die gewünschte Eigenschaft nicht alleine von den Eigenschaften der Elemente abhängt. So ist die leere Menge keine Menge, die alle geraden Zahlen enthält. Dazu müsste sie ja auch wirklich Elemente enthalten, da wir wissen, dass es gerade Zahlen gibt. Alle geraden Zahlen zu enthalten ist eine Eigenschaft einer Menge, die nicht alleine von den Eigenschaften der einzelnen Elemente abhängt. Noch etwas genauer gesagt: Wann immer in der Menge etwas existieren muss (also explizit oder implizit mit einem Existenzquantor quantifiziert wird), dann erfüllt die leere Menge diese Eigenschaft nicht. Ganz trivial gilt dies zum Beispiel für die Eigenschaft ∃x ∈ N : x ∈ ∅, die für die leere Menge nicht gilt. Im folgenden Abschnitt werden wir ein weiteres Merkmal von Mengen kennenlernen, nämlich die Anzahl ihrer Elemente. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 4 Mengen 102 4.3 Kardinalität oder Mächtigkeit von Mengen Wenn wir praktische Anwendungen mit Hilfe von Mengen notieren wollen, wie zum Beispiel die Nutzer einer Internet-Platform (hier soll ja kein Nutzer zweimal vorkommen), ist vor allem auch die Anzahl der Elemente einer Menge sehr wichtig. Kardinalität Kardinalität Die Anzahl der unterschiedlichen Elemente einer endlichen Menge M bezeichnet man als deren Kardinalität oder Mächtigkeit. Wir schreiben |M |, um die Kardinalität einer Menge aufzuschreiben. Für endliche Mengen ist die Kardinalität einer Menge sehr einfach zu bestimmen, wie die folgenden Beispiele zeigen. Beispiel (a) |{1, 2, 3, a}| = 4. (b) |∅| = 0. (c) |{∅}| = 1 (d) |{{{{∅}}}}| = 1 (e) |{{{{∅}, ∅}}}| = 1 (f) |{{{{∅}, ∅}}, ∅}| = 2 Aber auch bei unendlichen Mengen gibt es Unterschiede der Anzahl der Elemente. Ja, das heißt, dass es verschiedene “unendlich” gibt. Dies wollen wir im Folgenden genauer fassen. Die Menge N aller natürlichen Zahlen z.B. enthält unendlich viele Elemente. Den Begriff der Kardinalität für unendliche Mengen zu definieren ist nicht so einfach. Wir beginnen daher mit einigen verblüffenden Beispielen. So gilt z.B. N ⊊ N ∪ {∅}, da ∅ ∈ / N. Jedoch ist die Kardinalität beider Mengen gleich! Ebenso ist die Kardinalität von N, Z und Q gleich! Die Kardinalität von R ist jedoch echt größer als die dieser Mengen. Versuch es selbst! – Aufgabe 31: Kardinalität Welches Vorwissen haben Sie schon zur Kardinalität unendlicher Mengen? Können Sie sie noch definieren? Falls nicht, wie würden Sie sie definieren? Die Definition der Kardinalität baut auf dem Konzept der “Funktion” auf. Wir wollen hier kurz die Intuition dieser Idee vorwegnehmen, jedoch im folgenden Kapitel nochmals darauf zurückgehen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 103 Intuition Aus der Schule kennen sie vielleicht noch bijektive Funktionen. Hier eine kurze Beschreibung: Bijektive Funktionen sind Mengen, bei denen jedes Element der einen Menge auf exakt ein Element der anderen Menge abgebildet werden. Bijektive Funktionen sind zum Beispiel die Identität f : N → N, x 7→ x oder f : N → {n2 | n ∈ N}, x 7→ x2 . Zwei unendliche Mengen A und B haben nun die gleiche Kardinaliät, wenn es eine Bijektion von A nach B gibt. Wie wir im nächsten Kapitel zeigen werden, kann man sehr einfach Bijektion von N nach Z und von N nach Q finden, aber keine Bijektion von N, Z oder Q nach R. 4.4 Potenzmenge Zu einer Menge M bezeichnet P(M ) die Potenzmenge von M . Die Potenzmenge einer Menge ist die Menge aller Teilmengen. Definition 26 (Potenzmenge) P(M ) := {Y | Y ⊆ M } Die Potenzmenge zu konstruieren, ist schon für kleine Mengen relativ aufwendig. Das folgende Beispiel für eine drei-elementige Menge verdeutlicht dies schon sehr gut. Beispiel Für M = {1, 2, a} gilt: P(M ) = {∅, {1}, {2}, {a}, {1, 2}, {1, a}, {2, a}, {1, 2, a}} Die “Aufwendigkeit”, die wir eben schon erwähnt haben, lässt sich formal auch sehr gut fassen. Versuch es selbst! – Aufgabe 32: Mächtigkeit der Potenzmenge Versuchen Sie selbst, bevor Sie weiterlesen, eine Hypothese darüber aufzustellen, was die Mächtigkeit der Potenzmenge einer endlichen Menge ist. Zur Verdeutlichung, wie man solche Behauptungen aufstellt, verdeutlichen wir hier das Vorgehen: Die Idee ist, anhand einiger einfacher Beispiele, eine Vermutung aufzustellen, die man schließlich beweisen kann. Wir beginnen mit der Menge mit der kleinsten Kardinalität und machen dann die Kardinalität Schritt für Schritt größer. • Die Kardinalität 0 hat nur die leere Menge, die Potenzmenge der leeren Menge, ist {∅} (Kardinalität 1) • Die Kardinalität 1 haben alle Mengen mit genau einem Element, zum Beispiel {1}. Die Potenzmenge dieser Menge ist {∅, {1}} (Kardinalität 2). Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Potenzmenge 4 Mengen 104 • Die Kardinalität 2 haben alle Mengen mit genau zwei Elementen, zum Beispiel {1, 2}. Die Potenzmenge dieser Menge ist {∅, {1}, {2}, {1, 2}} (Kardinalität 4) Solche einfachen Beispiele kann man nun aufstellen, bis man eine Idee hat, was der allgemeine Zusammenhang sein könnte (sofern es einen gibt). Die Beispiele legen die folgende Vermutung, die wir in Kapitel 6 beweisen. Satz 4 (Kardinalität der Potenzmenge) Sei M endlich. Dann ist |P(M )| = 2|M | . Durch diesem Zusammenhang der Kardinalität einer Menge und der ihrer Potenzmenge lässt sich eine alternative Notation für P(M ) erklären. In der Literatur findet man daher häufig für die Potenzmenge von M auch die Schreibweise 2M finden. Wie schon bei der Teilmengenbeziehung werden wir hier einige wichtige Sätze zeigen und beweisen. Satz 5 (Wichtige Eigenschaften der Potenzmenge) (a) ∅ ∈ P(M ), M ∈ P(M ) (b) M ⊆ M ′ impliziert |P(M )| ≤ |P(M ′ )| (c) |P(M )| ≥ 1 Bemerkung 11. Bevor wir diesen Satz nun gleich beweisen wollen, eine kurze Anmerkung zur Notation von Sätzen. Bisher haben wir alle Sätze als prädikatenlogische Ausdrücke geschrieben. Wir hätten hier also über M und M ′ mit einem ∀-Quantor quantifizieren t müssen. Da dies die Lesbarkeit erschwert, lässt man ∀Quantoren, die auf der äußersten Ebene eines Satzes gelten, meist komplett weg. Mit anderen Worten heißt dies, dass nicht explizit quantifizierte Objekte stets implizit ∀-quantifiziert sind. Ebenso schreibt man gerne deutsche Phrasen wie “impliziert”, oder “genau dann wenn” anstelle der logischen Wörter → oder ↔, wenn genau klar ist, welcher Operator gemeint ist. Man sollte sich diese Wörter zu Beginn immer in ihre logische Pendants übersetzen, und sich dabei stets bewusst machen, dass jeder mathematische Satz ein prädikatenlogischer Ausdruck ist, egal ob dieser mit Operatoren, oder mit deutschen Worten beschrieben ist. Beweis von Satz 5. (a) ∅ ∈ P(M ) bereits bewiesen ∀M : ∅ ⊆ M (∀:Anw) ∅ ⊆ Ṁ (Subst) ∅ ∈ P(Ṁ ) (∀:Bew) ∀M : ∅ ∈ P(M ) Textbeweis Sei Ṁ eine beliebige Menge. Zu zeigen: ∅ ∈ P(Ṁ ) Erklärungen Schlussregel (∀:Bew) Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 105 Textbeweis Erklärungen Schlussregel Wir haben bereits bewiesen, dass ∅ eine Teilmenge jeder Menge und damit insbesondere auch von Ṁ ist. (∀:Anw) Mit der Definition der Potenzmenge folgt dann, dass ∅ enthalten sein muss. □ (Subst) (b) M ⊆ M ′ impliziert |P(M )| ≤ |P(M ′ )| (→:Bew) Ṁ ⊆ Ṁ ′ → P(Ṁ ) ⊆ P(Ṁ ′ ) 2-mal(∀:Bew) ∀M : ∀M ′ : M ⊆ M ′ → P(M ) ⊆ P(M ′ ) Nun müssen wir die Implikation noch beweisen: (→:Bew) Ẋ ∈ P(Ṁ ) → Ẋ ∈ P(Ṁ ′ ) (∀:Bew) ∀X : X ∈ P(Ṁ ) → X ∈ P(Ṁ ′ ) (Subst) P(Ṁ ) ⊆ P(Ṁ ′ ) Nun müssen wir erneut eine Implikation beweisen: (→:Bew) ẏ ∈ Ẋ → ẏ ∈ Ṁ ′ (∀:Bew) ∀y : y ∈ Ẋ → y ∈ Ṁ ′ (Subst) Ẋ ⊆ Ṁ ′ (Subst) Ẋ ∈ P(Ṁ ′ ) Wir müssen schließlich noch einen letzten Implikationsbeweis führen, der mit Annahmen endet, die wir bisher aus den Implikationsbeweisen erhalten haben: Ẋ ∈ P(Ṁ ) Ṁ ⊆ Ṁ ′ (Subst) ∀y : y ∈ Ṁ → y ∈ Ṁ ′ ∀y : y ∈ Ẋ → y ∈ Ṁ ẏ ∈ Ẋ (∀:Anw) (→:Anw) ẏ ∈ Ẋ → ẏ ∈ Ṁ (∀:Anw) ẏ ∈ Ṁ (→:Anw) (Subst) ẏ ∈ Ṁ → ẏ ∈ Ṁ ′ ẏ ∈ Ṁ → ẏ ∈ Ṁ ′ ẏ ∈ Ṁ ′ Textbeweis: Seien Ṁ und Ṁ ′ beliebige Mengen und es gelte Ṁ ⊆ Ṁ ′ . Dann ist jedes ẋ aus Ṁ auch in Ṁ ′ . Wir müssen zeigen, dass jede Teilmenge von Ṁ auch eine Teilmenge von Ṁ ′ ist. Da aber jedes Element von Ṁ auch ein Element von Ṁ ′ ist, ist insbesondere jedes Element jeder Teilmenge von Ṁ Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 4 Mengen 106 auch Element von Ṁ ′ , womit jede Teilmenge von Ṁ auch Teilmenge von Ṁ ′ ist. Die Aussage ist somit bewiesen. (c) |P(M )| ≥ 1 (W) ⊤ (=-Subst) Ṁ = ∅ ∨ Ṁ ̸= ∅ (→:Bew) Ṁ = ∅ → P(Ṁ ) ≥ 1 (FU) (→:Bew) Ṁ ̸= ∅ → P(Ṁ ) ≥ 1 |P(Ṁ )| ≥ 1 (∀:Bew) ∀M : |P(M )| ≥ 1 Für die beiden Implikationsbeweise geben wir nur noch einen Textbeweis, da sie sehr ähnlich zu einigen der bereits geübten Beweise sind: Sei Ṁ eine beliebige Menge. Wir machen eine Fallunterscheidung: Ṁ = ∅: Wir haben gesehen, dass jede Menge die leere Menge als Teilmenge hat, damit auch insbesondere die leere Menge. Also hat die Potenzmenge von Ṁ = ∅ die leere Menge als Teilmenge und damit Kardinalität 1. Ṁ ̸= ∅: Wir haben gesehen, dass jede Menge die leere Menge und sich selbst als Teilmenge hat, was hier mindestens zwei verschiedene Mengen sind. Also hat P(Ṁ ) mindestens Kardinalität 2. Damit ist die Aussage bewiesen.□ Versuch es selbst! – Aufgabe 33: Zusammenhang zwischen Textbeweis und Ableitungsbaum Da dieser Beweis sehr ähnlich zu den bereits geführten ist„ überlassen wir Ihnen das Eintragen der verwendeten Schlussregel in die Tabelle. Textbeweis Erklärungen Schlussregel Sei Ṁ eine beliebige Menge. Fallunterscheidung: Sei Ṁ = ∅. Dann hat ∅ sich selbst als Teilmenge (bereits bewiesen). Damit ist die Kardinalität von P(∅) mindestens 1. Sei Ṁ ̸= ∅, dann hat M mindestens sich selbst und ∅ als Teilmengen (bereits bewiesen). Damit hat die Potenzmenge von Ṁ mindestens Kardinalität 2. □ Versuch es selbst! – Aufgabe 34: Kardinalität der Potenzmenge Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 107 Gilt |P(M )| > |M | für alle endlichen Mengen M ? Beweisen Sie diese Aussage oder widerlegen Sie sie durch ein Gegenbeispiel. Hinweis: Sie dürfen alle bisherigen Sätze über Mengen verwenden. Im folgenden Abschnitt lernen wir noch eine andere spezielle Menge kennen, die vor allem im Kapitel 5 eine wichtige Rolle spielt. 4.5 Produktmenge Eine Anordnung (a, b) zweier Elemente a ∈ A und b ∈ B nennen wir geordnetes Paar, oder einfach nur Paar. Eine Anordnung von n Elementen aus eventuell verschiedenen Mengen, nennt man n-Tupel. Für n = 3 nennen wir das Tupel Tripel, für n = 4 Quadrupel. Allgemein nennt man eine solche Anordnung von Elementen Tupel, Die Menge aller Paare (a, b) für a ∈ A und b ∈ B nennt man das Produkt von A und B, bzw. das kartesische Produkt oder das Kreuzprodukt. Wir schreiben A×B für das Kreuzprodukt. Die prädikative Schreibweise des Kreuzproduktes findet sich in der folgenden Definition. Definition 27 (Kreuzprodukt) A×B := {(a, b) | a ∈ A ∧ b ∈ B}. Wir schreiben n-mal z }| { 2 auch A × A = A (bzw. A × A × · · · × A = An ). Beispiel Auch das Kreuzprodukt ist sehr aufwendig zu notieren. Dies sieht man schon am folgenden Beispiel: Sei A = {1, 2} und B = {a, b, c}. Dann ist: A × B = {(1, a), (1, b), (1, c), (2, a), (2, b), (2, c)} und B × A = {(a, 1), (a, 2), (b, 1), (b, 2), (c, 1), (c, 2)}a. aDamit ist das Kreuzprodukt nicht kommutativ Versuch es selbst! – Aufgabe 35: Kreuzprodukt mit der leeren Menge Überlegen Sie sich für eine beliebige Menge A, was A × ∅ und was ∅ × A ist. Letzteres Produkt heißt auch n-stelliges Produkt und ist definiert als A1 × A2 × · · · × An : {(a1 , a2 , a3 , . . . , an ) | a1 ∈ A1 ∧ a2 ∈ A2 ∧ . . . , an ∈ An } = {(a1 , a2 , . . . , an ) | ∀i ∈ {1, 2, . . . , n} : ai ∈ Ai }. Definition 28 (Gleichheit auf Tupeln) Zwei Tupel (a1 , . . . , an ) und (b1 , . . . , bm ) (für n und m natürliche Zahlen) sind genau dann gleich, wenn n = m und sie an allen Stellen übereinstimmen, d.h. ai = bi für alle 0 < i ≤ n. Zum Beispiel ist (1, 2, 3, 4) ̸= (1, 2) und (1, 2, 3) ̸= (3, 2, 1). Deshalb ist ein Tupel nicht mit einer Menge zu verwechseln, denn es gilt: {1, 2, 3} = {1, 3, 2}. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular geordnetes Paar Tupel Kreuzprodukt 4 Mengen 108 Wir wollen im Folgenden wichtige Eigenschaften des Kreuzproduktes nennen, die wir später noch brauchen werden. Da die Beweise aber einige kombinatorische Argumente benötgen, wollen wir sie hier nicht aufführen. Satz 6 (Eigenschaften des Kreuzprodukts) (a) Es gilt: A × B ̸= B × A für A ̸= B und A ̸= ∅ und B ̸= ∅. (b) ∅ × A = ∅ (c) |A × B| = |A| · |B| (d) |A1 × A2 × ... × An | = |A1 | · |A2 |... · |An | Versuch es selbst! – Aufgabe 36: Intuition Überlegen Sie sich intuitive Argumente für die Behauptungen aus dem Satz 6. Ein Beispiel: Wenn A ̸= B, dann gibt es in einer der beiden Mengen ein Element v, welches nicht in der anderen vorkommt. Ohne Einschränkung der Allgemeinheit gelte v ∈ A (ansonsten tausche im Folgenden A und B). Dann gibt es in A × B ein Paar, welches an erster Stelle v stehen hat, dies ist jedoch in B × A nicht möglich. Bisher können wir nur sehr eingeschränkt mit Mengen arbeiten. Daher definieren wir im folgenden Kapitel weitere Operationen auf Mengen. 4.6 Mengenoperationen Die Potenzmenge und das Kreuzprodukt verändern die Struktur der Mengen sehr stark. Zum Beispiel wird aus einer Menge M , die nur Nicht-Mengen enthält unter Anwendung der Potenzmenge eine Menge von Mengen. Das Kreuzprodukt macht aus einer Menge, die vielleicht auch nur Nicht-Paare enthält, eine Menge von Paaren. Dies ist bei den folgenden Operationen anders: Diese Operationen lassen die Art von Elementen prinzipiell gleich. Gab es vorher nur Elemente, die keine Mengen sind, so ist dies auch nach der Anwendung der folgenden Operationen so. Definition 29 (Mengenoperationen) Sei die Grundmenge U und seien A, B ⊆ U Vereinigung: A ∪ B := {x ∈ U | x ∈ A ∨ x ∈ B} Durchschnitt: A ∩ B := {x ∈ U | x ∈ A ∧ x ∈ B} Differenz: A \ B := {x ∈ U | x ∈ A ∧ x̸∈B} (Wir schreiben auch A − B) Symmetrische Differenz: A⊕B := {x ∈ U | (x ∈ A∧x̸∈B)∨(x ∈ B ∧x̸∈A)} = {x ∈ U | x ∈ A ⊕ x ∈ B} Komplement: A := {x ∈ U | x ∈ / A} Venn-Diagrammen Die Operationen auf Mengen lassen sich graphisch mit sogenannten VennDiagrammen darstellen (siehe Abbildung 24). Dabei werden zwei Mengen als sich überlappende Kreise dargestellt und die durch die Operation beschriebene resultierende Menge farbig markiert. Achtung: Venn-Diagramme dienen nur zur Intuition und sind kein Beweis! Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 109 B B A A B A Abbildung 24: A ∩ B, A \ B und A ∪ B Versuch es selbst! – Aufgabe 37: Intuition – Mengenoperationen (a) Ergänzen Sie die Venn-Diagramme für die symmetrische Differenz und das Komplement. (b) Finden Sie eine intuitive Beschreibung für jede Mengenoperation, zum Beispiel für die Vereinigung: Jedes Element von A ∪ B ist in mindestens einer der beiden Mengen A und B enthalten. Mithilfe der vorgestellten Mengenoperationen kann man noch eine weitere wichtige Beziehung zwischen Mengen definieren. Diese sagt aus, dass zwei Mengen kein einziges gemeinsames Element haben. Diese Eigenschaft wird in der Mathematik und Informatik immer wieder gebraucht (z.B. bei σ-Additivität und Partitionen). Definition 30 (Disjunkt) Zwei Mengen A und B heißen disjunkt, wenn sie elementfremd sind, also A ∩ B = ∅. Satz 7 (Gleichheit von Mengen) Zwei Mengen A = {x ∈ U | φ} und B = {x ∈ U | ψ} heißen genau dann gleich, wenn φ ≡ ψ. Intuitiv ist auch Disjunktheit zweier Mengen sehr einfach zu überprüfen, wie das folgende Beispiel zeigt. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular disjunkt gleich 4 Mengen 110 Beispiel Sei die Grundmenge U = {a, b, c, d, e, f, π} und Teilmengen A = {a, b, c, d}, B = {b, c, e, π} und C = {e, f, π} gegeben. So ist A ∩ B = {b, c}, A ∩ C = ∅, B \ A = {e, π}, B ⊕ C = {b, c, f }, A ∪ C = {a, b, c, d, e, f, π} = U und B ∪ C = {b, c, e, f, π}. A und C sind disjunkt. Um die Arbeit mit Mengenoperationen in Beweisen (z.B. auch mit disjunkten Mengen) und im praktischen Arbeiten leichter zu machen, formulieren wir ähnlich wie für logische Operatoren eine Reihe von Gesetzen. Diese lassen sich, wie wir noch sehen werden, ähnlich wie die logischen Gesetze beweisen. Satz 8 (Eigenschaften der Mengenlehre) Für eine Grundmenge U und A, B, C ∈ P (U) gelten folgende Gesetze • A∪B =B∪A Kommutativität • A∩B =B∩A • (A ∪ B) ∪ C = A ∪ (B ∪ C) = A ∪ B ∪ C Assoziativität • (A ∩ B) ∩ C = A ∩ (B ∩ C) = A ∩ B ∩ C Identität • A∪∅=A • A∩U =A Dominanz • A∩∅=∅ • A∪U =U Idempotenz • A∪A=A • A∩A=A Komplement • A=A • A∪A=U Distributivität • A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) • A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) Absorption • A ∪ (A ∩ B) = A • A ∩ (A ∪ B) = A Gesetze von de Morgan • A ∩ B = (A ∪ B) • A ∪ B = (A ∩ B) Wir beweisen im Folgenden einige ausgewählte Gesetze: Beweis (A ∪ B = B ∪ A). Wir beweisen mit Hilfe von Satz 7, dass A ∪ B = B ∪ A für beliebige Mengen A und B. Seien also Ȧ und Ḃ beliebig ((∀:Bew), (∀:Bew)). Mit Hilfe unseres Satzes ist zu zeigen, dass die Prädikate der Mengen gleich sind ((=Subst) mit der Definition der Prädikate von Vereinigungsmenge): Sei ẋ beliebig in Ȧ ∪ Ḃ: ẋ ∈ Ȧ ∪ Ḃ ≡ ẋ ∈ Ȧ ∨ ẋ ∈ Ḃ ≡ ẋ ∈ Ḃ ∨ ẋ ∈ Ȧ ≡ ẋ ∈ Ḃ ∪ Ȧ Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 111 Beweis (A ∪ B = A ∩ B). Nun wollen wir mit Hilfe von Satz 7 beweisen, dass (A ∪ B) = A ∩ B für beliebige Mengen A und B. Dazu formen wir dieses Mal die Prädikate direkt in der Menge um, dann müssen wir den Allquantor nicht auflösen. Dazu wenden wir (Subst) und (=-Subst) mit der Definition von der Mengenoperation an: ({x ∈ U | x ∈ A ∨ x ∈ B}) = {x ∈ U | ¬(x ∈ A ∨ x ∈ B)} = {x ∈ U | ¬(x ∈ A) ∧ ¬(x ∈ B)} = {x ∈ U | x̸∈A ∧ x̸∈B} = {x ∈ U | x̸∈A} ∩ {x ∈ U | x̸∈B} = A ∩ B Beweis (A ∩ B = A ∪ B). Seien Ȧ und Ḃ beliebige Mengen ((∀:Bew),(∀:Bew)). Wir zeigen (Ȧ ∩ Ḃ) = Ȧ ∪ Ḃ, indem wir beide Richtungen von ⊆ zeigen ((=-Subst) mit der Definition von “=” auf Mengen). Im Folgenden wenden wir hauptsächlich (=-Subst) an, um Definitionen aufzuösen, und (Subst), um Aussagen in logisch äquivalente zu überführen. Seien Ȧ und Ḃ beliebig. Sei ẋ ∈ (Ȧ ∩ Ḃ) beliebig, so ist also ẋ̸∈Ȧ ∩ Ḃ. Dann ist ẋ̸∈Ȧ oder ẋ̸∈Ḃ. Damit ist ẋ ∈ Ȧ oder ẋ ∈ Ḃ, also ist ẋ ∈ Ȧ ∪ Ḃ. Sei nun ẋ ∈ Ȧ ∪ Ḃ beliebig, ẋ ist also ẋ ∈ Ȧ oder ẋ ∈ Ḃ, d.h. es ist ẋ̸∈Ȧ oder ẋ̸∈Ḃ. Damit ist insbesondere ẋ̸∈Ȧ ∩ Ḃ, d.h. es ist ẋ ∈ (Ȧ ∩ Ḃ). Beweis (A ∪ (B ∩ C) = (C ∪ B) ∩ A). Wir schreiben jeweils an das Ende der Zeile das Gesetz, mit dem wir die Gleichheit zwischen dieser und der darauf folgenden Zeile begründen können. (A ∪ (B ∩ C)) De Morgan = A ∩ (B ∩ C) De Morgan = A ∩ (B ∪ C) Kommutativität = (C ∪ B) ∩ A Damit haben wir die Behauptung gezeigt. Versuch es selbst! – Aufgabe 38: Zusammenhang Logik und Mengen Versuchen Sie den Zusammenhang zwischen der Mengenlehre und der Logik darzustellen. Was war zuerst da - Mengenlehre oder Logik? Können Sie es sich auch umgekehrt vorstellen, also die Logik über Mengen zu definieren? Wir haben nun das grundlegende Handwerkszeug der Mengenlehre zusammen, was für die meisten Anwendungen absolut ausreichend ist. Trotzdem widmen wir uns nun noch kurz dem Problem der Mengenlehre, welches wir bereits angekündigt haben. 4.7 Probleme der Mengenlehre Die Mengenlehre, so wir wie sie bisher kennengelernt haben, nennt man auch naive Mengenlehre. Dies liegt daran, dass der ihr zugrundeliegende Mengenbegriff einfältig ist. Wir haben gesagt, dass eine Menge eine Gruppierung von Objekten des Denkens ist. Wir können damit auch die folgenden Mengen erdenken. • Sei X die Menge aller Mengen, die sich selbst nicht enthalten. • Sei Y die Menge aller Mengen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 4 Mengen 112 Das Problem der Menge X ist, dass man nicht entscheiden kann, ob X in sich selbst enthalten ist, also X ∈ X (nicht: X ⊆ X) gilt. Nehmen wir an, X ∈ X, dann impliziert dies nach der Definition von X direkt X ∈ / X, was ein logischer Widerspruch zu unserer Annahme ist. Andersherum, wenn wir annehmen, X ∈ / X, dann muss gelten X ∈ X, was wiederum ein Widerspruch ist. Wir haben also mit X eine Menge geschaffen, die sich selbst weder enthält, noch nicht enthält, was aber wiederum ebenfalls logisch nicht sein kann. Dies entspricht damit keiner uns sinnvoll erscheinenden Vorstellung von Mengen. Wir haben bereits gesehen, dass wir Mengen über Mengen bauen können. Eine solche Menge ist z.B. {{{∅, {∅}}}, ∅}. Wenn wir eine Menge “aufmachen”, die in ihr enthaltenen Mengen betrachten, und diese wiederum aufmachen, und dies immer weiter so machen, dann erwarten wir intuitiv, dass wir letzten Endes immer an leeren Mengen ankommen, die nichts mehr enthalten. Das heißt, es kann immer nur endliche Ketten der Form X1 ∋ X2 · · · ∋ Xn geben, wobei die Xi alles Mengen sind. Die Menge Y , die wir oben definiert haben, enthält sich jedoch nach Definition selbst. Daher gilt Y ∋ Y ∋ Y ∋ · · · . Diese Menge Y ist mit einer Matroschka-Puppe vergleichbar, die jedoch nicht irgendwann eine kleinste Puppe enthält, sondern die man unendlich oft öffnen kann, um wieder eine weitere Puppe zu finden. Die Widersprüchlichkeit um die Menge X wird Russel’s Parádoxon genannt, und ist benannt nach seinem Entdecker Bertrand Russel. Er wollte damit beweisen, dass die bis dahin in der Mathematik verwendete Mengenlehre* nicht widerspruchsfrei war. Die Erkenntnis hatte die mathematische Welt sehr erschüttert. Diese scheinbar so elementare und gottgegeben erscheinende Theorie der Mengen hatte ihre Wahrhaftigkeit verloren. Bemerkung 12. Da solche Konstruktionen des Geistes, wie die Menge aller Mengen dennoch denkbar sind, und damit mathematische Objekte sind, arbeiten Mathematiker auch damit. Man nennt sie Klassen. Wenn wir uns nicht sicher sind, dass etwas eine Menge ist, dann nennen wir es einfach eine Klasse. Jede Menge ist damit auch eine Klasse, aber nicht jede Klasse eine Menge. Wir können mit Klassen im Prinzip die selben Dinge tun, wie auch mit Mengen. Wir können sie also auch vereinigen oder schneiden. Klassen werden Ihnen in Ihrem Studium doch kaum, oder auch nie, begegnen, deshalb brauchen sie sich nur zu merken, dass man beim naiven Bauen von Mengen aufpassen muss, dass dabei wirklich noch eine Menge herauskommt. Die daraufhin entstandene axiomatische Mengenlehre basiert auf einer Anzahl von Axiomen, die sehr exakt festlegen, was Mengen sind, und welche Eigenschaften diese haben. Genau genommen gibt es nicht nur eine solche Mengenlehre, sondern eine Vielzahl verschiedener Mengenlehre. Diejenige, die der intuitiven, also der naiven Mengenlehre am nächsten kommt, ohne ihre Widersprüchlichkeit zu enthalten, ist die Zermelo-Fraenkel-Mengenlehre, benannt nach ihren beiden Entdeckern. Ihr Hauptmerkmal ist es, dass Mengen nur aus Mengen aufgebaut sind, es also keine Urobjekte, so etwas wie z.B. Zahlen gibt, die von den Mengen verschieden wären. Alle mathematischen Dinge sind damit Mengen. Tatsächlich kann man die natürlichen Zahlen aus Mengen sehr einfach konstruieren, und aus diesen Zahlen kann man alle anderen Zahlen konstruieren. Das zweite Merkmal, dass Russel’s Parádoxon vermeidet, ist das Verbot von Mengen, die eine unendlich *Eben diese, die wir hier eingeführt haben. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 113 lange Kette der Form X1 ∋ X2 · · · hervorbringen würden. Man nennt das Axiom, das diese Ketten ausschließt, Fundiertheitsaxiom. Somit ist Y , wie wir es oben naiv definiert haben, keine Menge. Insbesondere bedeutet dies für uns auch, dass die naive Vorstellung eines Universum U, das wir anfangs eingeführt haben, nur bedingt gilt. Wenn wir beliebige Mengen über Mengen betrachten wollen, dann gibt es U nicht. Daher haben wir in diesem Skript bei allgemeinen Aussagen auch öfter auf die explizite Nennung von U verzichtet. Bemerkung 13. Es gibt heute auch mehrere axiomatische Mengenlehren, die das Fundiertheitsaxiom nicht besitzen. Es darf dort also auch Mengen geben, bei der wir unendlich viele Matroschka-Puppen ineinander gestapelt finden können. Damit es hierbei zu keinen Paradoxien kommt, müssen natürlich weitere Axiome zur Theorie von Zermelo-Fraenkel hinzugefügt werden, und bestehende variiert werden†. Mengen sind die Fundamente der Mathematik. Doch was eine Menge genau ist, kann niemand sagen. Vielmehr gibt es eine Vielzahl von Möglichkeiten zu definieren, was eine Menge ist. Keine dieser Definitionen ist richtiger oder wahrer als eine andere. Wir haben also hier wieder einmal entdecken müssen, dass die Mathematik keine absolut gültige Wahrheit verkündet, und alle Objekte der Mathematik immer nur von einer relativen Perspektive aus existieren, und ihre Aussagen ebenso nur eine relative Gütligkeit besitzen. In der Mathematik, ebenso wie in der “realen” Welt, scheint uns Wahrheit und Wirklichkeit also nichts festes und absolut existierendes zu sein, sondern nur das, was der Mehrheit der Menschen zu einer bestimmten Zeit, an einem bestimmten Ort, und in einer bestimmten Situation als sinnvoll und dienlich erscheint. Intuition Die Menge aller Menge müssten Sie mit dem Topf aller Töpfe vergleichen, aber wir würden nie annehmen, dass es einen Topf gibt, der alle Töpfe, die man sich nur denken kann, enthält. Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Mengen, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Mengen zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. †Einige dieser Mengenlehren haben einen starken Bezug zur Theorie der Bisimulationen, die Sie im vierten Semester in der Vorlesung Nebenläufige Programmierung kennenlernen werden. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen 5 Relationen Relationen sind mathematische Objekte, die ausdrücken, dass zwei Elemente zweier (verschiedener) Mengen miteinander in einer bestimmten Beziehung stehen. Eine allgemein bekannte Beziehung ist z.B. die Ordnungsbeziehung ≤ zweier Zahlen. So ist z.B. 4 ≤ 7.43. Wir sagen damit, dass 4 und 7.43 auf eine gewisse Weise geordnet sind, und eben nicht andersherum. Eine andere Art von Beziehung zwischen Objekten, die uns inzwischen sehr bekannt sein sollte, ist die semantische Gleichheit zweier logischer Ausdrücke. So ist z.B. ⊤ ≡ p ∨ ¬p. Die beiden syntaktischen Objekte ⊤ und p ∨ ¬p stehen in der Beziehung zueinander, dass beide – semantisch gesehen – gleich sind. Syntaktisch sind sie jedoch höchst verschieden. Auch in der echten Welt lassen sich viele Dinge mit Relationen modellieren, zum Beispiel sind die “Freundesbeziehung” bei Facebook und die“Follower-Beziehung” bei Twitter Beispiele für Relationen. Auch der Zusammenhang zwischen Studenten und Matrikelnummern an der Universität ist eine Relation. Tatsächlich modelliert man genau diese Zusammenhänge gerne als Relationen, um sie mathematisch darzustellen und so zu analysieren, zu verifizieren und zu verbessern. In der Informatik selbst spielen Relationen in vielen Gebieten eine wichtige Rolle, so zum Beispiel bei Datenbanken. Gerade relationale Datenbanken - hier steckt die Relation sogar schon im Namen - sind nichts anderes als große Relationen, die meist einem Objekt mehrere Eigenschaften zuordnen. Auch Graphen, die als anschauliches Bild von Relationen dienen, betrachtet man häufig in der Informatik. Man kann mit ihnen das Straßennetz für Navigationssysteme modellieren, Fahr- und Flugpläne optimieren und sogar die Zusammenhänge zwischen Proteinen in der Biologie modellieren. Um Algorithmen, die diese Probleme lösen können anzuwenden und um über die Korrektheit zu argumentieren, brauchen wir häufig bestimmte Eigenschaften der Relation. Relationen spielen aber in vielen Bereichen noch eine weitaus wichtigere Rolle: Gleichheiten und Ordnungen, wie wir sie oben dargestellt haben, sind essentielle Bestandteile der Mathematik und Informatik – und Relationen. Deshalb spielt dieses Kapitel eine sehr große Rolle für Ihr späteres Studium! Im Folgenden werden wir nun daher formal definieren, was Relationen mathematisch genau sind, und welche besonderen Eigenschaften sie haben können. Definition 31 (Relationen) Seien A und B beliebige Mengen. Eine Teilmenge R ⊆ A×B heißt eine binäre Relation über A und B. Wir schreiben für (a, b) ∈ R auch aRb*. Wir nennen A Quellmenge und B Zielmenge der Relation R. Wenn A = B gilt, dann sagen wir auch, A ist die Grundmenge der Relation. Wie wir anhand der Definition sehen, sind binäre Relationen über die Produktmenge zweier Mengen (das Kreuzprodukt) definiert. Daher sind also Relationen Mengen von Paaren. Da diese Paare eine Ordnung haben, also für a ̸= b das Paar (a, b) nicht gleich zu (b, a) ist, gibt man auch den Beziehungen, die die Relationen ausdrücken eine Richtung. Ist zum Beispiel (a, b) ∈≤, so ist “a kleiner gleich b” *Man nennt diese Art der Darstellung auch Infix-Notation. 115 Relationen 5 Relationen 116 (und insbesondere nicht “b kleiner gleich a”). Das nächste Beispiel zeigt eine weitere unendliche Relation. Beispiel (a) sei R ⊆ {2, 3} × N definiert als R = {(a, b) | a teilt b} = {(2, 2), (2, 4), (2, 6), . . . , (3, 3), (3, 6), (3, 9), . . . }. Diese Relation setzt die Zahlen 2 und 3 mit all denjenigen natürlichen Zahlen in Verbindung, die sie jeweils teilen. Wie Sie an diesem Beispiel sehen können, kann man die prädikative Schreibweise von Mengen auch für Relationen verwenden, um anzugeben, welche Paare in der Relation enthalten sind. (b) Relationen müssen nicht immer “sinnvoll” sein. Eine mögliche Relation ist z.B. R ⊆ {0, 1, 2} × {a, b, c}, die wir definieren als R = {(0, a), (0, b), (1, b), (1, c), (2, b)} Es ist also z.B. 1 R b und 2 R a. Für (a, b)∈R / schreiben wir auch a ̸R b. Weder die komplette Quellmenge A, noch die komplette Zielmenge B muss in einer Relation vorkommen. So ist z.B. auch ∅ ⊆ A × B eine Relation, ebenso wie {(1, 1)} ⊆ N×N eine Relation auf der Menge der natürlichen Zahlen ist. Wir unterscheiden im Folgenden deshalb zwischen der Quellmenge und der Teilmenge der Quellmenge, die tatsächlich in der Relation verwendet wird. Ebenso unterscheiden wir zwischen der Zielmenge und ihre tatsächlich in der Relation verwendeten Elementen. Definitionsbereich DR Wertebereich WR Definition 32 (Definitions- und Wertebereich) Der Definitionsbereich DR einer Relation R ist definiert als DR := {x ∈ A | ∃y ∈ B : (x, y) ∈ R} und der Wertebereich WR ist definiert als WR := {y ∈ B | ∃x ∈ A : (x, y) ∈ R}. Die Definition von Quell- und Zielmenge, Definitions- und Wertebereich variiert von Vorlesung zu Vorlesung und von Buch zu Buch. Häufig wird auch gar keine Unterscheidung gemacht. Achten Sie deshalb genau auf die Verwendung dieser Begriffe. Beispiel (a) Die bekannte strikte Ordnungsrelation auf natürlichen Zahlen < ist eine Relation auf N. Mit anderen Worten, < ⊆ N × N. Es ist also < = {(0, 1), (0, 2), . . . , (1, 2), (1, 2), . . . }. Hier gilt DR = N und WR = N \ {0}, da jede Zahl aus N mindestens einmal links in einem Paar aus < vorkommt, und es aber keine natürliche Zahl gibt, die echt kleiner als 0 ist. (b) In der Relation R = {(1, 2), (2, 3), (2, 1)} auf den natürlichen Zahlen haben wir DR = {1, 2} und WR = {1, 2, 3}. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 117 (c) Leere Relation: ∅ ⊆ A × B. Sie enthält kein einziges Paar aus der Quellbzw. Zielmenge. Es gilt damit W∅ = D∅ = ∅. (d) Universelle Relation: (A × B) ⊆ A × B. Diese Relation enthält alle Paare aus A × B. Offensichtlich gilt DA×B = A und WA×B = B. (e) Inverse Relation: Zu einer Relation R ⊆ A × B heißt R−1 := {(b, a) | (a, b) ∈ R} ⊆ B × A die inverse Relation bzw. die Umkehrrelation, z.B. ist > die Umkehrrelation zu < auf N. Es gilt DR−1 = WR , WR−1 = DR . Leere Relation Universelle Relation Inverse Relation Schon in der Einleitung dieses Kapitels haben wir angedeutet, dass es für Relationen verschiedene Darstellungsarten gibt, von denen vor allem Graphen in der Informatik sehr wichtig sind. In anderen Anwendungen können aber auch andere Darstellungen hilfreich sein. Deshalb werden wir im folgenden Abschnitt alle gängigen Darstellungen von Relationen einführen. 5.1 Darstellung von Relationen Da Relationen zunächst ja einfach Mengen von Tupeln sind, können wir endliche Relationen einfach durch Aufzählung ihrer Tupel darstellen, beispielsweise als R = {(1, 2), (2, 3), (1, 3)}, aber auch die prädikative Schreibweise ist möglich, da es sich im Grunde nur spezielle Mengen handelt. Es bietet sich jedoch an, zum besseren Verständnis von Relationen, alternative Darstellungsformen zu nutzen, die die Strukturen der Relationen graphisch veranschaulichen. Eine Variante ist als Wertetabelle (Wertematrix) bekannt: Wertetabelle Beispiel 1 1 0 2 0 3 0 2 1 0 0 3 1 1 0 Wir tragen sowohl als Spalten als auch als Zeilen die Grundmenge ein (handelt es sich um eine Relation über zwei verschiedenen Mengen A und B (A×B), so tragen wir A in Zeilen und B ins Spalten ab). Haben wir das Paar (a, b) in der Relation, so tragen wir a als Zeile und b als Spalte ab und schreiben in der entsprechenden Zelle eine 1, gibt es dieses Paar nicht, tragen wir eine 0 ein. Eine ähnliche Darstellung, die in der Informatik ein paar Vorteile hat ist die Darstellung als Werteliste. Sie nimmt bei Relationen mit großer Grundmenge aber wenigen Paaren sehr viel weniger Platz im Speicher ein als die Matrixdarstellung: Beispiel 1: 2 3 2: 3 3: Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Werteliste 5 Relationen Pfeilbild 118 Wir listen einfach für jeden Wert a der Quellmenge auf, für welche Werte b der Zielmenge das Paar (a, b) in der Relation vorkommt. Wir werden häufig nur noch Relationen betrachten, die als Quell- und Zielmenge die gleiche Menge nutzen, also Relationen R ⊆ A × B, wobei A und B Mengen sind mit A = B. Für solche Mengen ist die intuitivste Darstellung jedoch die als Pfeilbild bekannte. Ist die zu betrachtende Relation über einer Grundmenge M definiert, also Teilmenge von M × M , so stellen wir die Elemente von M als Knoten (“Element im Kreis”) da, die wir durch Pfeile verbinden. Dabei geht ein Pfeil von Knoten a zu Knoten b genau dann wenn (a, b) in der Relation liegt. Beispiel 2 1 3 Knoten Kanten Graphen Wir sprechen in diesem Zusammenhang von Knoten, den Werten der Grundmenge, und Kanten, die von einem Knoten a zu einem Knoten b verlaufen. Damit repräsentieren Kanten gerade die Paare (a, b) in der Relation. Solche “Gebilde” nennt man in der Informatik auch Graphen*. Auch für andere Relationen kann man diese Schreibweise in einer etwas anderen Variante nutzen: Ist die Relation über zwei verschiedenen Mengen A und B definiert, also eine Teilmenge von A × B, so zeichnen wir Elemente der Menge A untereinander auf der linken Seite, und die Elemente von B auf der rechte Seite. Dann verbinden wir wie oben Elemente von links nach rechts mit Pfeilen, wenn die entsprechenden Paare in der Relation liegen. Wir haben in der Einleitung bereits als prominente Beispiele von Relationen ≤ und ≡ genannt. Diese Relationen sind sehr speziell. Zum Beispiel gilt für jedes Paar (a, b) in ≤, dass (b, a) nur dann in ≤ vorkommt, wenn a = b. Oder für ≡ gilt, dass wenn φ ≡ ψ, dann gilt auch ψ ≡ φ. Unter anderem diese Eigenschaften zeichnen diese Relationen aus und machen sie in der Mathematik und Informatik so nützlich. Im folgenden Abschnitt wollen wir alle diese wichtigen Eigenschaften formal fassen. 5.2 Eigenschaften von binären Relationen R Mathematikern und Informatikern sind allgemeine Relationen normalerweise zu allgemein. In vielen Fällen kann man ohne besondere Eigenschaften Relationen nicht zur Modellierung von Zusammenhängen nutzen, da keine Aussagen möglich sind. Zum Beispiel wäre es schwierig Facebook mit einer Relation zu modellieren, wenn aus “Adam ist mit Eva befreundet” nicht auch folgen würde “Eva ist mit Adam befreundet”. Einige dieser wichtigen Eigenschaften wollen wir Ihnen im Folgenden vorstellen. Definition 33 (Eigenschaften von Relationen) Sei R ⊆ A × B. R heißt links-total • links-total, wenn ∀a ∈ A : ∃b ∈ B : (a, b) ∈ R gilt. Mit anderen Worten DR = A. *Binäre Bäume, die wir in Kapitel 1 kennengelernt haben, sind spezielle Arten von Graphen. Daher kommt auch die gleiche Bezeichnung mit Knoten und Kanten Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 119 • rechts-total (auch: surjektiv), wenn ∀b ∈ B : ∃a ∈ A : (a, b) ∈ R gilt. Mit anderen Worten WR = B. • links-eindeutig (auch: injektiv), wenn ∀a, c ∈ A : ∀b ∈ B : (a, b) ∈ R ∧ (c, b) ∈ R → a = c. Das bedeutet, jedes Element aus B hat maximal einen Partner in A. • rechts-eindeutig (auch: funktional), wenn ∀a ∈ A : ∀b, c ∈ B : (a, b) ∈ R ∧ (a, c) ∈ R → b = c. Das bedeutet, jedes Element aus A hat maximal einen Partner in B. • Relationen, die sowohl injektiv also auch surjektiv sind, heißen bijektiv. Wir haben im bisherigen Kapitel schon einige Relationen, die diese Eigenschaften erfüllen, gesehen und wollen diese im Folgenden nochmals zusammenfassen. Versuch es selbst! – Aufgabe 39: Eigenschaften von Relationen Bevor Sie weiterlesen: Überlegen Sie sich, welche der bisher vorgestellten Relationen welche der eben definierten Eigenschaften erfüllen. Beispiel • ∅ ist weder links-total noch rechts-total, falls ∅ nicht über ∅×∅ definiert ist. (Überlegen Sie sich hier, wieso das der Fall ist.) • ≤ und < sind sowohl links-total als auch rechts-total auf R × R, da es für jedes Element in R ein Element ist, welches größer ist (zum Beispiel für ein ẋ aus R ist x + 1 ein Element von R und echt größer und somit auch größer gleich). • {(1, 1), (1, 2), (1, 3)} ist links-total und rechts-total bezüglich der Quellmenge {1} und der Zielmenge {1, 2, 3}. Sie ist jedoch weder linksnoch rechts-total wenn Quell- und Zielmenge N sind, da zum Beispiel kein Paar in der Relation enthalten ist, welches in der ersten Komponente eine 2 hat und es auch kein Paar gibt, welches an der zweiten Stelle eine 4 hat. Bemerkung 14. Die Eigenschaften “links-total” und “rechts-total” beziehen sich auch immer auf Quell- und Zielmenge. Bestes Beispiel ist die Relation R = {(1, 2), (2, 3), (1, 3)} aus dem letzten Beispiel - über der Menge {1} × {1, 2, 3} besitzt sie beide Eigenschaften, über N × N keine. Wenn wir eine Relation R graphisch veranschaulichen, dann können wir – wie bereits beschrieben – die Elemente von A untereinander auf eine Seite schreiben, und die aus B auf die andere (auch wenn A = B gilt), und dann die Verbindungen, die durch R gegeben sind, durch einen Pfeil darstellen. An diesen Bildern kann man dann, wie man in Abbildung 25 sehen kann, gut die Eigenschaften Injektivität, Funktionalität, Rechts- und Linkstotalität ablesen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular rechts-total links-eindeutig rechts-eindeutig bijektiv 5 Relationen 120 1 1 2 2 (a) nicht-injektiv, nicht rechts-total 1 1 2 2 (b) nicht-funktional, nicht links-total Abbildung 25: Gegenbeispiele für Eigenschaften bei Relationen aus {1, 2} × {1, 2} In der Praxis … Wie erkennt man rechts-totale und links-totale Relationen anschaulich? Betrachten wir die graphische Darstellung von Relationen, so haben wir eine rechts-totale Relation, wenn auf jeden Knoten der Zielmenge mindestens ein Pfeil zeigt, und eine links-totale Relation, wenn von jedem Knoten der Quellmenge mindestens ein Pfeil ausgeht. Ein etwas anschaulicheres Beispiel: Es stehen sich Team A und Team B gegenüber. Team A wirft Wasserbomben mit roter Farbe auf Team B - dies soll jetzt eine Relation über Team A × Team B sein und ein Paar (a, b) ist genau dann enthalten, wenn a eine Wasserbombe mit Farbe auf b wirft. Die Relation ist nun links-total, wenn jedes Teammitglied aus Team A eine Wasserbombe wirft und rechts-total, wenn jedes Mitglied von Team B mit roter Farbe getroffen wurde. Wie erkennt man rechts-eindeutige (funktionale) bzw. linkseindeutige(injektive) Relationen anschaulich? Wir haben bereits ein Beispiel dafür gesehen wie Relationen aussehen, die nicht injektiv bzw. nicht funktional sind. Pfeilbilder injektiver Relationen erkennt man daran, dass maximal ein Pfeil pro Knoten eingeht, d.h. auf einen Knoten zeigt maximal ein Pfeil. Funktionale Relationen erkennt man hingegen daran, dass pro Knoten maximal ein Pfeil ausgeht. Betrachten wir wieder die Teams: Die Relation ist funktional, wenn jeder aus Team A maximal eine Wasserbombe mit Farbe wirft und rechts-total wenn jedes Mitglied von Team B maximal einmal getroffen wird. Der Begriff der Relation ist für Sie vielleicht nicht so neu, wie Sie gedacht haben, denn aus der Schule kennen Sie bereits Funktionen. Funktionen sind nichts anderes als funktionale Relationen! Im Folgenden wollen wir diesen Begriff daher näher betrachten und in unseren Kontext mit Relationen übertragen. Bemerkung 15. funktionale Relationen (a) Funktionen sind nicht unbedingt (links-)total, Funktionen sind zunächst nur funktionale Relationen. Im Folgenden werden wir Abbildung sagen, wenn wir nur über (links-)totale Funktionen reden wollen. (b) Funktionen, die Ihnen unter anderem aus der Schule bekannt sind, sind mathematisch nichts anderes als spezielle Relationen. Es sind Relationen, Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 121 die funktional und links-total sind sind. Funktionen, die nicht links-total sind, nennt man partielle Funktionen. Die Eigenschaften Surjektivität und Injektivität sind typische Eigenschaften von Funktionen, und werden auch meistens in diesem Kontext gebraucht. Funktionen werden normalerweise nicht infix notiert, d.h. wenn (a, b) ein Element einer Funktion f ist, schreiben wir nicht a f b, sondern wie gewohnt f (a) = b. Wir werden am Ende des Kapitels nochmals auf Funktionen zurückkommen. Versuch es selbst! – Aufgabe 40: Semantik arithmetischer Ausdrücke mit Division Vervollständigen Sie mithilfe Ihres Wissens über partielle Funktionen die Definition der Semantik arithmetischer Ausdrücke um Division. Hinweise: (a) Ist die Semantik eines Ausdrucks φ undefiniert, so gibt es kein Paar (φ, ψ) in der funktionalen Relation J·K, die arithmetische Ausdrücke auf ihre Semantik abbildet. Damit ist J·K partiell. (b) Die Semantik eines Ausdrucks φ ist genau dann undefiniert, wenn in dem Ausdruck irgendwann durch Null geteilt wird – auch wenn dies nur in einem Teilausdruck passiert. (c) Die Regel für Division kann so aussehen: { a falls ∃a, b ∈ Q : JφK = a ∧ b ̸= 0 ∧ JψK = b Jφ ÷ ψK = b undefiniert sonst Obwohl wir Funktionen erst am Ende des Kapitels betrachten, haben wir die Unterscheidung in Funktionen und Relationen jetzt eingeführt, da wir im Folgenden Eigenschaften betrachten, die selten auf Funktionen, sondern meistens auf Relationen verwendet werden*. Wir werden die verwendeten Relationen sogar noch weiter eingrenzen: Die meisten Relationen, die nicht funktional sind, und denen wir in der Mathematik begegnen werden, haben die selbe Quell- und Zielmenge, d.h. für eine beliebige Menge A ist eine solche Relation R Teilmenge von A × A. Eigenschaften solcher Relationen werden wir mit der folgenden Definition einführen. Definition 34 (Eigenschaften von Relationen (fortgesetzt)) Sei R ⊆ A × A. R heißt • reflexiv, wenn ∀a ∈ A : (a, a) ∈ R. Dies bedeutet, dass jedes Element aus der Grundmenge A zu sich selbst in Beziehung stehen muss. Die kleinste Menge, die dies erfüllt, ist IdA := {(a, a) | a ∈ A}, die sogenannte Identitätsrelation†. • irreflexiv, wenn ∀a ∈ A : (a, a) ∈ / R. Hier verbieten wir alle Paare (a, a) in unserer Relation. Beachten Sie, dass irreflexiv nicht das selbe ist wie nicht reflexiv! *Das heißt nicht, dass diese Eigenschaften dort keinen Sinn geben. Sie werden auf Funktionen einfach nur sehr, sehr selten verwendet! †Machen Sie sich klar, dass jede echte Teilmenge von IdA nicht reflexiv ist! Denken Sie dabei insbesondere auch über den Fall nach, wenn A = ∅ gilt. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular reflexiv irreflexiv 5 Relationen symmetrisch antisymmetrisch transitiv 122 • symmetrisch, wenn ∀a, b ∈ A : (a, b) ∈ R → (b, a) ∈ R. • antisymmetrisch, wenn ∀a, b ∈ A : (a, b) ∈ R ∧ (b, a) ∈ R → a = b. • transitiv, wenn ∀a, b, c ∈ A : (a, b) ∈ R ∧ (b, c) ∈ R → (a, c) ∈ R. Auch hier können wir anhand der Pfeilbilddarstellung anschaulich die Bedeutung der Begriffe erklären (siehe Abbildung 26 (a) transitiv (b) reflexiv b (c) symmetrisch, nicht transitiv (d) symmetrisch, transitiv Abbildung 26: Eigenschaften für Relationen über einer Grundmenge A In der Praxis … Wie erkennen wir an der graphischen Darstellung die oben definierten Eigenschaften? reflexiv: Jeder Knoten hat eine Kante zu sich selbst. (Graph (b)) irreflexiv : Es gibt keinen Knoten, der eine Kante zu sich selbst hat. (Graphen (a), (c) und (d)) transitiv : Alle Knoten a, von denen man zu einem Knoten c über zwei Kanten (a, b) und (b, c) gelangen kann, haben auch eine direkte Kante von a nach c. (Graph (a)) symmetrisch : Existiert zwischen Knoten a und b eine Verbindung, so kann man sowohl von a nach b als auch von b nach a kommen. (Graph (c), (d)) antisymmetrisch : Man kann entweder nur von a nach b oder von b nach a kommen. (Graph (b)) Wir haben bereits erwähnt, dass diese Eigenschaften für Relationen, die sich wie ≤ und ≡ verhalten, sehr wichtig sind. Genauer gesagt sind diese Relation sogar Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 123 ganz bestimmte Kombinationen dieser Eigenschaften, die wir im Folgenden betrachten. Definition 35 (Äquivalenzrelationen) Eine Relation R auf A heißt Äquivalenzrelation, wenn sie reflexiv, transitiv und symmetrisch ist. Äquivalenzrelation Wie der Name schon sagt, stehen bei einer Äquivalenzrelation zwei Dinge in Beziehung, die zueinander äquivalent - also gleich - sind. Wir haben schon einige Äquivalenzrelationen gesehen: (a) Logische Äquivalenz ≡ (b) Gleichheit = auf Zahlen (c) Gleichheit = auf Mengen Versuch es selbst! – Aufgabe 41: Beispiele für Äquivalenzen Überlegen Sie sich, warum diese drei Relationen Äquivalenzrelationen sind. Sie müssen dazu alle drei Eigenschaften der Definition - Reflexivität, Transitivität und Symmetrie - nachprüfen. Warum sind diese drei Eigenschaften für eine Gleichheit sinnvoll? Gleichheit In der Informatik verwendet man Äquivalenzrelationen, um von bestimmen “Dingen” nur solche zu betrachten, die unter einem bestimmten Gesichtspunkt verschieden sind - seinen es Zahlen (z.B. betrachtet man 12 nur einmal, obwohl es verschiedene Darstellungen gibt), Mengen oder auch komplexe Systeme (wie Computer, Flugzeuge), die ein Verhalten zeigen. Um sinnvoll mit der Gleichheit umzugehen, betrachtet man nicht die “Dinge” selbst, sondern nur eine Klasse von äqivalenten Dingen (wie zum Beispiel 12 = 24 = 48 = . . . ) mit einem Repräsentanten ( 12 ). Definition 36 (Äquivalenzklassen) Sei R eine Äquivalenzrelation auf A. Die Menge [x] = {y|xRy} heißt Äquivalenzklasse mit Repräsentanten x. Äquivalenzklasse Die bekanntesten Äquivalenzklassen sind, wie wir schon skizziert haben, Brüche. Wir lernen sehr schnell, dass sich zum Beispiel 12 und 24 unter allen Umständen gleich verhalten. Wir wissen, dass es egal ist, welche der beiden Repräsenationen wir zum Rechnen benutzen. Kürzen und Erweitern, was wir aus der Bruchrechnung kennen, sind Operationen auf Brüchen, die die Äquivalenzklasse erhalten, da sie nur die Repräsentation ändern. Wir haben auch schon Ordnungsrelationen, die wir gleich definieren werden, im Verlauf des Vorkurses kennengelernt. Ordnungsrelationen dienen, wie der Name schon sagt, dazu, Menge zu vergleichen und anzuordnen, wir ordnen zum Beispiel reelle Zahlen mit ≤, ≥. Definition 37 (Ordnungsrelation) Eine Relation R auf A heißt Ordnungsrelation, wenn sie reflexiv, transitiv und antisymmetrisch ist. Sie werden sich vielleicht wundern, warum wir < und > nicht als Beispiele für Ordnungsrelationen genannt haben. Wenn Sie sich die Definition von Ordnungsrelations nochmals genau anschauen, sehen Sie, dass eine Ordnungsrelation unter Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Ordnungsrelation 5 Relationen 124 anderem auch reflexiv sein muss, was weder für < noch für > gilt. Häufig verwendet man für < und > den Begriff strikte Ordnung. Formal nennt man eine Relation strikte Ordnung, wenn sie irreflexiv, transitiv und antisymmetrisch ist. Versuch es selbst! – Aufgabe 42: Beispiele für Ordnungsrelationen Überlegen Sie sich weitere Ordnungsrelationen, die Sie kennen. Warum sind diese drei Eigenschaften für eine Ordnung sinnvoll? Selbst Mengen sind mithilfe der Teilmengenrelation geordnet. Versuch es selbst! – Aufgabe 43: ⊆ ist eine Ordnungsrelation Beweisen Sie: ⊆ ist eine Ordnungsrelation auf Mengen. Die ≤-Ordnung auf Zahlen hat noch eine besonders schöne Eigenschaft: Je zwei Zahlen sind miteinander vergleichbar. Egal welche Zahlen wir haben, wir können entscheiden welche von beiden größer bzw. kleiner ist. total Definition 38 (Total und Linear) Sei R eine Ordnungsrelation über der Menge A. R heißt total oder linear genau dann, wenn für alle a, b ∈ A mit a̸=b entweder (a, b) ∈ R oder (b, a) ∈ R. Wir können uns eine totale Ordnung wie folgt vorstellen: Betrachten wir die beiden natürlichen Zahlen 4 und 100, dann gilt zum Beispiel: (4, 100) ∈≤, aber (100, 4) ̸∈≤. Somit haben wir nur eines der √ möglichen Paare in unserer Relation. Auch für andere Zahlen wie −42.5 √ und 7 2 können √wir entscheiden welche von beiden kleiner ist. Hier gilt: (−42.5, 7 2) ∈≤, aber ( 7 2, −42.5) ̸∈≤ Versuch es selbst! – Aufgabe 44: Totalordnung Ist ⊆ eine Totalordnung auf Mengen? Beweisen Sie Ihre Behauptung. Intuition Im sprachlichen Umgang erkennen wir relativ einfach, ob eine Relation eine Ordnungsrelation oder eine Äquivalenzrelation ist, indem wir darauf achten, was wir mit der Relation erreichen möchten. Wollen wir eine hierarchische Ordnung auf den Elementen der Grundmenge etablieren, dann handelt es sich mit großer Wahrscheinlichkeit um eine Ordnungsrelation. Möchten wir hingegen aber die Elemente, nach Ähnlichkeit zusammenfassen, z.B. eine Menge von Tieren nach Merkmalen wie “hat Wirbersäule” und “hat keine Wirbelsäule” oder Pflanzen nach “fleischfressend” und“nicht fleischfressend” ordnen, dann haben wir es vermutlich mit einer Äquivalenzrelation zu tun. Wir können für Totalordnungen noch eine weitere Eigenschaft definieren. Dazu betrachten wir das folgende Beispiel: Die 0 hat in der Relation ≤ eine besondere Stellung. Sei dazu a ∈ N. Dann gilt - egal welche Zahl a ist - (0, a) ∈ R. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 125 Definition 39 (Minimales Element) Sei R eine Totalordnung auf einer Menge A. Sei U ⊆ A eine nicht-leere Teilmenge. x ∈ U heißt minimales Element in U , wenn ∀x′ ∈ U : (x′ , x) ∈ R → x = x′ . y ∈ U ist Minimum von U , falls ∀x ∈ U : (y, x) ∈ R. minimales Element in U Minimum von U Besonders schön finden die meisten Mathematiker und Informatiker sogenannte wohlfundierte Relationen - wir werden in Kapitel 6 noch sehen wieso. Dieser Begriff macht eine besondere Aussage über die Existenz von minimalen Element als “Fundament” von Teilmengen. Definition 40 (Wohlfundiertheit) Sei R eine Ordnung auf der Menge A. R heißt wohlfundiert, falls jede nicht-leere Teilmenge von R ein minimales Element besitzt *. Eine wohlfundierte Totalordnung nennt man auch Wohlordnung wohlfundiert Wohlordnung Der Begriff der Wohlordnung mag Ihnen erst einmal umständlich und einschränkend wirken, aber auf den natürlichen Zahlen haben wir bereits damit einer gearbeitet - nämlich der ≤-Relation. Warum es sich eine Totalordnung handelt, haben wir bereits intuitiv begründet. Aber auch die Aussage über die Existenz minimaler Elemente können wir uns intuitiv sehr einfach überlegen: Wann immer ich eine Menge von natürlichen Zahlen habe (und nicht unbedingt die komplette Menge der natürlichen Zahlen), kann man einscheiden, welches das kleinste Element ist. Nach unten (zur 0 hin) können die Elemente nicht immer kleiner werden, da es keine kleinere Zahl als die 0 gibt. Versuch es selbst! – Aufgabe 45: Wohlordnungen auf unendlichen Mengen Ist ≤ eine Wohlordnung auf den ganzen Zahlen? Können Sie eine (andere) Wohlordnung auf den ganzen Zahlen einführen? Rund um die Wohlfundiertheit herum gibt es einige wichtige Theoreme und Axiome in der Mathematik: Genau auf diese Wohlordnungen bezieht sich das sogenannte Wohlordnungssaxiom. Es besagt, dass es für jede Menge M eine Relation R ⊆ M × M gibt, die eine Wohlordnung ist. Wichtig ist, dass es sich um ein Axiom handelt, also um eine Aussage, die erst einmal nicht als solche beweisbar ist, sondern je nach Kontext nur angenommen wird. Intuition Man kann wohlgeordnete Mengen daran erkennen, dass es von einem Startpunkt aus nicht möglich sein darf unendlich oft abzusteigen, d.h. wir dürfen keine Kette der folgenden Form finden: Sei R eine Relation auf der Menge M . Sei x ∈ R. Es darf keine unendliche Folge von verschiedenen Werten in M geben, so dass von x ausgehend zunächst (y, x) ∈ R, dann (z, y) ∈ R für y, z ∈ R und so weiter. In der graphischen Repräsentation erkennen wir eine unendliche Kette daran, dass wir im Graphen unendlich weit laufen (und dabei kleiner werden) können ohne einen Knoten wiederzusehen. *Die nicht-leere Teilmenge ist die Menge U aus der vorangehenden Definition. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Wohlordnungssaxiom Axiom 5 Relationen 126 Wir haben bisher nur über Eigenschaften von Relationen geredet, wollen nun aber auch eine sehr nützliche Operation, die zwei Relationen zu einer verbindet, vorstellen. Diese Definition wird uns im letzten Abschnitt dieses Kapitels helfen, teilweise einfachere äquivalente Eigenschaften für die hier vorgestellten Eigenschaften zu finden. 5.3 Relationskomposition Relationskomposition Ein folgendes Szenario ist zum Beispiel typisch für Datenbanksysteme: Betrachten wir einmal die Studenten einer Universität. Jeder Student hat eine Matrikelnummer. Als Relation können wir das in etwa so modellieren: Sei R die StudentMatrikelnummern-Beziehung. Dann ist R ⊆ Studenten × Matrikelnummern. Nun werden nach einer Vorlesung die Noten in Abhängigkeit von den Matrikelnummern herausgegeben, wir haben also eine Relation S ⊆ Matrikelnummern × Noten. Nun wollen wir wissen, welcher Student welche Note erhalten hat. Dazu betrachten wir zunächst welcher Student, welche Matrikelnummer hat, merken uns die Matrikelnummer und schauen dann, welche Note dieser Matrikelnummer zugeordnet ist. Diesen Vorgang nennen wir Relationskomposition. Definition 41 (Komposition) Seien M, N und P Mengen und R und S Relationen mit R ⊆ M × N und S ⊆ N × P . Die Komposition der Relationen R ◦ S ist definiert wie folgt: (x, z) ∈ R ◦ S ↔ ∃y : (x, y) ∈ R ∧ (y, z) ∈ S Die Relationskomposition ist also nichts weiter als zwei Relationen über gemeinsame Punkte zusammenzubringen, z.B. können zwei Paare der Form (a, b) und (b, c) über den gemeinsamen Punkt b zu (a, c) zusammengefügt werden, die andere Richtung zu (b, b) ist aber nicht möglich. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 127 Beispiel Seien die Relationen R = {(1, 4), (2, 3), (3, 1), (1, 2)} und S = {(4, 2), (1, 3), (3, 1), (2, 4)} gegeben. Die Komposition R ◦ S ist nun definiert als {(1, 2), (2, 1), (1, 4), (3, 3)}. In der Praxis … Betrachten wir erneut die Relationen R = {(1, 4), (2, 3), (3, 1), (1, 2)} und S = {(4, 2), (1, 3), (3, 1), (2, 4)}. Im Pfeilbild schreiben wir drei Spalten mit jeweils den Zahlen von 1 bis 4. Zwischen den ersten beiden Spalten tragen wir R, zwischen den letzten beiden Spalten S ab. Die Paare in R ◦ S sind genau die Zahlen, die über zwei Pfeile miteinander verbunden sind, so zum Beispiel (1, 2). Wir können nämlich von 1 nach 4 und schließlich von 4 zu 2 laufen. 1 1 1 2 2 2 3 3 3 4 4 4 Die gesamte Komposition von R und S lautet: {(1, 2), (2, 1), (3, 3), (1, 4)}. Funktionskomposition Die Komposition auf Funktionen ist umgekehrt definiert: Seien M , N und P Mengen und seien f : N → P und g : M → N Funktionen. Dann ist (f ◦ g)(x) := f (g(x)). Betrachten wir f und g als Relationen, so würde (x, z) ∈ f ◦g genau dann gelten, wenn es ein y ∈ N gibt, so dass (x, y) ∈ f und (y, z) ∈ g. Damit ist die Komposition genau umgekehrt definiert. 5.4 Alternative Definitionen Nun wollen wir wie bereits angekündigt, einige alternative Definitionen von Transitivität usw. vorstellen. Satz 9 (Alternative Charakterisierungen von Transitivität, Symmetrie und Antisymmetrie) Sei R eine Relation auf einer Menge A. Sei außerdem Ref (A) := {(x, x) | x ∈ A}. (a) R ist transitiv, wenn R ◦ R ⊆ R. (b) R ist antisymmetrisch, wenn R ∩ R−1 ⊆ Ref (A). (c) R ist symmetrisch, wenn R−1 ⊆ R. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 5 Relationen 128 In manchen Kontexten - vor allem in Beweisen und Algorithmen - kann es sinnvoll sein, diese Definition zu verwenden. Viele dieser Definitionen eignen sich auch dazu, aus einer gegebenen Relation eine Obermenge zu konstruieren, die diese Eigenschaften erfüllt. Obwohl dieses Verfahren in der Informatik sehr häufig anwendet wird, führen selbst einfache Beispiele hier zu weit. Versuch es selbst! – Aufgabe 46: Beweis von Satz 9 Beweisen Sie die Äquivalenz der Definitionen und der alternativen Charakterisierungen. Der nächste und letzte Abschnitt dieses Kapitels ist die Fortführung von Kapitel 4. Wir haben dort bereits angekündigt, die Kardinalität unendlicher Mengen hier formal korrekt zu definieren. 5.5 Kardinalität unendlicher Mengen Wir haben im letzten Kapitel gesehen, dass die Kardinalität endlicher Mengen sehr einfach zu definieren und zu bestimmten ist (als Anzahl der Elemente der Menge). Diese Unterscheidung gibt jedoch auf unendlichen Mengen keinen Sinn. Wir haben schon erwähnt, dass wir die Kardinalität von unendlichen Mengen mithilfe von bijektiven Funktionen definieren. Wie genau dies funktioniert, zeigt die folgende Definition. Definition 42 (Kardinalität unendlicher Mengen) Zwei Mengen M und N sind genau dann gleichmächtig, wenn es eine bijektive Abbildung f : M → N gibt. Zwei unendliche Mengen haben also genau dann die gleiche Kardinalität, wenn es eine 1-zu-1-Beziehung zwischen ihren Elementen gibt, d.h. wenn wir für jedes Element genau einen eindeutigen Partner finden können. Der Beweis des folgenden Satzes zeigt eine sehr bekannte Konstruktion solch einer 1 − zu − 1-Beziehung. Satz 10 (N und Z sind gleichmächtig) Die Mengen N und Z sind gleichmächtig. Beweis von Satz 10. Wir definieren die folgende Abbildung: f : N → Z, 0 falls x = 0 f (x) = − x2 falls x gerade x+1 falls x ungerade 2 Die Abbildung sieht dann wie folgt aus: x f (x) 0 0 1 1 2 −1 3 2 4 −2 ... Wir geben nun noch ein intuitives Argument, warum diese Funktion von N nach Z geht, injektiv und surjektiv ist: Wir haben für jede natürliche Zahl einen Fall, der Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 129 ihr einen Wert zuweist (da jede natürliche Zahl größer gleich 0 entweder gerade oder ungerade ist). Die Zahlen, die wir konstruieren sind in Z, da wir gerade Zahlen halbieren (was in Z nach Definition von “gerade” liegt) bzw. den Nachfolger einer ungeraden Zahl – der wieder gerade ist – halbieren, was ebenfalls wieder in Z liegt Auch die Multiplikation mit −1 verlässt Z nicht*. x Die Abbildung ist injektiv, da für eine gerade Zahl x gilt: x2 ̸= x+2 2 = 2 + 1. Analog x+1 x+3 x+1 gilt für eine ungerade Zahl x, dass 2 ̸= 2 = 2 + 1. Die Abbildung ist surjektiv, da es für natürliche Zahl n eine Zahl gibt, so dass x+1 2 = n (nämlich 2 · n − 1) bzw. für jede ganze Zahl z < 0 eine natürliche Zahl, so dass z = − x2 (nämlich −2· (da z < 0, ist −z > 0 und somit auch −2 · z > 0). Mit diesem Beweis wollen wir das Kapitel über Relationen beenden und uns dem letzten Kapitel widmen, in dem wir eine der wichtigsten Beweistechniken der Informatik vorstellen. Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Relationen, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Relationen zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. *Wir sagen, dass Z unter Multiplikation mit −1 abgeschlossen ist. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular sind Beweisen Mengen Sprachen sind Relationen nutzen ist eine Art von sind braucht braucht Induktion Logik Funktionen 6 Induktion Schon in Kapitel 3 haben wir einige der wichtigsten Beweistechniken, die man in der Mathematik und Informatik verwendet, kennengelernt. Gerade in der Informatik benutzt man aber auch häufig das Prinzip der wohlfundierten Induktion. Die Induktion ist dabei ein Beweisprinzip auf wohlgeordneten Mengen. Was das genau heißt, wann wir es einsetzen und wie die Induktion funktioniert, wollen wir in diesem Kapitel herausfinden. 6.1 Die Idee der wohlfundierten Induktion Stellen Sie sich vor, dass Sie ein Biologe in einer Welt mit perfekter Zellteilung sind, d.h. wenn sich eine Zelle in zwei teilt, haben sie exakt das gleiche Erbgut. In einer Ihrer zahlreichen Studien haben Sie eine einzigartige Gattung von Einzellern erschaffen - sie sind eckig und blau. Wenn wirklich alle Einzeller eckig und blau wären, wäre das eine absolute Sensation. Die Frage, die Sie sich also stellen, ist: Wie beweise ich, dass alle Ihre Einzeller eckig und blau sind? Und genau diese Frage können wir mit dem Prinzip der wohlfundierten Induktion lösen. Betrachten Sie dazu einmal Abbildung 27. Sie sehen dort ganz unten, die beiden Einzeller, die Sie initial erschaffen haben und darüber alle Einzeller, die sich durch Zellteilung daraus ergeben haben. Ein Pfeil von einem Einzeller A zu einem Einzeller B sagt dabei aus, dass B aus A durch Zellteilung entstanden ist. … Generation 2 Generation 1 Generation 0 Abbildung 27: Stammbaum eckiger, blauer Einzeller Wenn Sie nun zeigen können, dass • die Generation 0 eckig und blau ist, • und sich diese beiden Eigenschaften vom Eltern-Einzeller zu den beiden Kinder-Einzellern vererben (egal in welcher Generation), dann haben Sie tatsächlich gezeigt, dass alle Einzeller eckig und blau sind. 131 wohlfundierten Induktion 6 Induktion 132 Versuch es selbst! – Aufgabe 47: Korrektheit des Induktionsprinzips Überlegen Sie sich, bevor Sie weiterlesen, warum Sie so tatsächlich zeigen, dass alle Einzeller eckig und blau sind. Wir nehmen an, dass es einen Einzeller gibt, der mindestens eine von beiden Eigenschaften nicht erfüllt. Für das Auftreten dieses Einzellers gibt es zwei Möglichkeiten – in Generation 0 und nicht in Generation 0. Diese zunächst sehr sinnlos wirkende Fallunterscheidung hat einen enormen Vorteil: Die Generation 0 unterscheidet sich von allen anderen, da sie keine Vorgänger-Generation hat. Und diesen Vorteil nutzen wir bei der folgenden Argumentation. Von den Einzellern in Generation 0 haben Sie jedoch gezeigt, dass Sie eckig und blau sind, d.h. dass diese Möglichkeit unter unseren beiden “bewiesenen” Aussagen von oben in einem Widerspruch endet. Nehmen wir also an, dass ein Einzeller in Generation n für n > 0 nicht eckig und blau ist. Da sich die Eigenschaften “Form” und “Farbe” vererben und wir keine spontanen Mutationen haben, muss auch der Eltern-Einzeller aus der Generation n−1 nicht eckig und blau sein. Falls n−1 = 0, sind wir wieder bei einem Widerspruch angelangt. Ansonsten wenden wir unser Argument für Generation n für die Generation n − 1 an, d.h. wenn in Generation n − 1 ein Einzeller nicht eckig und blau ist, dann ist auch sein Eltern-Einzeller in Generation n − 2 nicht eckig und blau. Nach n Iterationen dieses Arguments gelangen wir so immer zu der Einsicht, dass auch in Generation 0 ein nicht eckiger und blauer Einzeller existiert haben muss, was im Widerspruch zu unseren bewiesenen Aussagen steht. Damit haben wir nun also tatsächlich gezeigt, dass wenn • die Generation 0 eckig und blau ist, • und sich diese beiden Eigenschaften vom Eltern-Einzeller zu den beiden Kinder-Einzellern vererben (egal in welcher Generation), alle Einzeller eckig und blau sind. Im Folgenden wollen wir einmal kurz argumentieren, wie unsere Vererbungshierarchie zu einer wohlfundierten Ordnungsrelation wird. Als kurze Erinnerung: Eine Ordnung heißt wohlfundiert, wenn es keine unendlich lang absteigenden Ketten gibt. Achtung: Eine wohlfundierte Ordnung muss nicht notwendigerweise total sein. Man kann aus dem Stammbaum der Einzeller nun wie folgt eine Ordnungsrelation konstruieren: Zunächst soll unsere Relation dazu für jeden Einzeller x ein Paar (x, x) enthalten. Dann fügen wir Paare (x, y) wann immer x ein Vorfahr von y ist. Während der erste Schritt dazu dient, Reflexivität herzustellen, dient der zweite Schritt dem Herstellen von Transitivität, ohne dabei Antisymmetrie zu verletzen. Unsere Ordnung ist wohlfundiert, da jede Teilmenge ein kleinstes Element enthält (wir kommen insbesondere von jedem Einzeller aus in endlich vielen Schritten zu Generation 0). Das heißt, dass unsere Einzeller-Vererbung nur ein Beispiel für eine beliebige, wohlfundierte Ordnungsrelation ist und wir unser Vorgehen sehr einfach auf jede beliebige, wohlfundierte Menge (d.h. auf eine Menge zusammen mit einer wohlfundierten Ordnungsrelation) übertragen können. Gegeben eine wohlfundierte Ordnungsrelation R auf einer Menge M können wir eine Aussage der Form ∀x : P (x) für ein beliebiges Prädikat P auf M zeigen, in Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 133 dem wir die Aussage P (x) für alle minimalen Elemente P (x) zeigen und folgende Implikation beweisen: Wenn die Aussage für alle y gilt, die bezüglich der Relation R echt kleiner als x sind, dann gilt die Aussage auch für x selbst. Auf die Relation kommt es an! Wie die wohlfundierte Induktion abläuft, hängt nicht nur von der Menge selbst ab, sondern insbesondere auch von der darauf definierten wohlfundierten Ordnung. Wie wir in den folgenden Kapiteln sehen werden, kann es für eine Menge mehrere wohlfundierte Ordnungen geben. Nachdem wir nun die intuitive Idee der wohlfundierten Induktion betrachtet haben, wollen wir im folgenden Abschnitt die wohlfundierte Induktion formal fassen. 6.2 Wohlfundierte Induktion Das Prinzip der wohlfundierten Induktion haben wir eben schon intuitiv formuliert. Für eine Menge X und eine wohlfundierte Ordnungsrelation R lässt sich das Prinzip als Schlussregel so fassen: ∀x ∈ X : (∀y ∈ X : (y, x) ∈ R \ {(x, x) | x ∈ X} → P (y)) → P (x) ∀x ∈ X : P (x) Diese Schlussregel sagt aus, dass wir auf die Aussage ∀x ∈ X : P (x) schließen können, wenn wir gezeigt haben, dass für alle x ∈ X gilt: Wenn für alle kleineren bezüglich der Relation R die Aussage P (y) gilt, dann gilt auch P (x). In der Praxis geht man dann so vor, wie wir das eben gezeigt haben: Man zeigt die Behauptung für die minimalen Elemente. Da diese keinen Vorgänger haben, reduziert sich die Prämisse für diese Elemente nämlich darauf, dass P (x) gilt. Für alle anderen Elemente z zeigt man dann, dass wir mit dem Wissen, dass das Prädikat P wahr wird für alle kleineren Elemente y, auf das Richtigkeit von P (z) schließen können. Wenn wir also den Beweis für ein Element führen, welches nicht minimal ist, dürfen wir annehmen, dass die Aussage für alle kleineren Elemente schon gilt. Was theoretisch sehr kompliziert klingen mag, ist in der Anwendung sehr einfach. Als Beispiel werden wir einen Beweis über die Eigenschaften von aussagenlogischen Ausdrücken führen. Dazu betrachten wir ihre duale Form. Um den Beweis zu vereinfachen, schränken wir zunächst die Menge aller logischen Ausdrücke auf L′ ein. L′ ∋ φ, ψ := ⊤ | ⊥ | ¬φ | φ ∧ ψ | φ ∨ ψ Wir erlauben also im Folgenden als aussagenlogische Operatoren nur Konjunktion und Disjunktion sowie die Negation. Außerdem werden wir keine Aussagenvariablen mehr zulassen, weshalb wir in der Semantik auch auf Belegungen verzichten. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular duale Form 6 Induktion 134 Versuch es selbst! – Aufgabe 48: Einschränkung Können wir trotz obiger Einschränkung noch alle Aussagen darstellen, die wir in Kapitel 2 gesehen haben? Die duale Formel dual(φ) zu dem Ausdruck φ ∈ L′ erhält man mit Hilfe der folgenden, rekursiv definierten Regeln: dual(⊤) := ⊥ dual(⊥) := ⊤ dual(¬φ) := ¬dual(φ) dual(φ ∨ ψ) := dual(φ) ∧ dual(ψ) dual(φ ∧ ψ) := dual(φ) ∨ dual(ψ) Die duale Formel zu ⊤ bzw. ⊥ ist also gerade ⊥ bzw. ⊤. Negation bleibt einfach erhalten, während die duale Formel Konjunktion und Disjunktion vertauscht (⊤∧ ⊤) ∨ (⊥ ∧ ¬⊥) hat als duale Formel daher (⊥ ∨ ⊥) ∧ (⊤ ∨ ¬⊤). Wie Sie an diesem Beispiel erkennen können, ist es wichtig die Klammerung explizit hinzuschreiben, da (⊥ ∨ ⊥) ∧ (⊤ ∨ ¬⊤) nicht der gleiche Ausdruck wie ⊥ ∨ ⊥ ∧ ⊤ ∨ ¬⊤ ist. Wir beschäftigen uns nun damit, wie wir eine wohlfundierte Ordnungsrelation auf dualen Ausdrücken erhalten. Intuition induktiv kleiner Die Ordnung, die auf dualen Ausdrücken definiert ist, hat als minimale, aber untereinander unvergleichbare Elemente ⊤ und ⊥. Alle weiteren Objekte vergleichen wir ähnlich wie Teilmengen. Wir sagen in der Teilausdrucksordnung R gilt (φ, ψ) ∈ R genau dann, wenn φ = ψ oder wir finden einen Teilausdruck ρ, d.h. einen Ausdruck der im Strukturbaum vielleicht mehrere Ebenen unterhalb der Wurzel liegt, so dass ρ = φ gilt. Zum Beispiel hat ⊤ ∧ ⊥ ∧ ⊥ als Teilausdruck ⊤ ∧ ⊥, da ∧ links klammert. Betrachten wir ein komplexeres Beispiel: ⊤ ∧ ⊥ ∨ ⊤ ∨ ¬⊥ ∧ ⊤. Auch hier gibt es ⊤ ∧ ⊥ als Teilausdruck, wir können aber auch ⊥ ∧ ⊤ finden. Alle Teilausdrücke, die wir in einem Ausdruck finden können und die nicht der Ausdruck selbst sind, nennen wir im Folgenden induktiv kleiner. Versuch es selbst! – Aufgabe 49: Wohlfundierte Ordnungsrelation Beweisen Sie, dass die Ordnung auf Ausdrücken tatsächlich eine wohlfundierte Ordnungsrelation ist. Wir wollen die folgenden beiden Aussagen über duale Formeln mithilfe wohlfundierter Induktion beweisen. Häufig stehen Induktionsbeweise für sich allein, d.h. meistens wendet man initial die Schlussregel für Induktion an. Daher haben Induktionsbeweise auch eine sehr strikte äußere Form, die wir im Folgenden markieren werden. Auch wenn ohne diese äußere Form Ihr Beweis vielleicht nicht falsch wird, sollten Sie sich auf jeden Fall daran halten, da es das Nachvollziehen Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 135 Ihres Beweises nicht nur für Sie selbst sondern auch für alle anderen deutlich vereinfacht. (1) ¬φ ≡ dual(φ) (2) φ ↔ ψ ≡ dual(φ) ↔ dual(ψ) Beweis zu Äquivalenz (1). Beweis durch wohlfundierte Induktion über φ ∈ L′ : Nach dem Prinzip der wohlfundierten Induktion können wir nun annehmen, dass die Aussage für alle induktiv kleineren Objekte gilt. Fallunterscheidung: φ = ⊤: dual(φ) = dual(⊤) =⊥ ≡ ¬⊤ Definition dual Doppelte Negation ≡ ¬φ φ = ⊥: dual(φ) = dual(⊥) =⊤ ≡ ¬⊥ Definition dual Doppelte Negation ≡ ¬φ φ = ¬φ′ : dual(φ) = dual(¬φ′ ) = ¬dual(φ′ ) ≡ ¬(¬φ′ ) Definition dual Induktion für φ′ ≡ ¬φ φ = φ′ ∧ ψ ′ : dual(φ) = dual(φ′ ∧ ψ ′ ) = dual(φ′ ) ∨ dual(ψ ′ ) ≡ ¬φ′ ∨ ¬ψ ′ ≡ ¬(φ′ ∧ ψ ′ ) ≡ ¬φ Definition dual Induktion für φ′ und ψ ′ De Morgan φ = φ′ ∨ ψ ′ : dual(φ) = dual(φ′ ∨ ψ ′ ) = dual(φ′ ) ∧ dual(ψ ′ ) ≡ ¬φ′ ∧ ¬ψ ′ ≡ ¬(φ′ ∨ ψ ′ ) ≡ ¬φ Definition dual Induktion für φ′ und ψ ′ De Morgan Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 6 Induktion 136 Intuition In diesem Beweis verwenden wir zwei verschiedene Gleichheiten. Wenn wir über exakte syntaktische Gleichheiten argumentieren, um zum Beispiel die Definition von dual(⊤) zu ⊥ aufzulösen, so verwenden wir =. Wir wollen damit ausdrücken, dass dual(⊤) und ⊥ auch syntaktisch exakt das selbe Objekt bezeichnen. Abstrahieren wir dann vom Ausdruck selbst und wollen nur noch über die semantische Gleichheit argumentieren, so verwenden wir ≡. Alle Umformungen, die wir aufgrund aussagenlogischer Gesetze tätigen, müssen mit ≡ notiert werden, da der Ausdruck syntaktisch nicht mehr der selbe ist und nur seine Semantik erhalten bleibt. Häufig werden Induktionsbeweise auch als Hilfsbeweise geführt, d.h. eine zentrale Aussage wird mit Induktion bewiesen und dann weiterverwendet. Hier ein Beispiel: Beweis zu Äquivalenz (2). dual(φ) ↔ dual(ψ) ≡ ¬φ ↔ ¬ψ ≡ (¬φ → ¬ψ) ∧ (¬ψ → ¬φ) ≡ (ψ → φ) ∧ (φ → ψ) ≡ (φ → ψ) ∧ (ψ → φ) ≡φ↔ψ Satz (1) Definition ↔ Kontraposition Kommutativität Definition ↔ Damit ist Behauptung (1) bewiesen. strukturelle Induktion In der Informatik nennt man diese Form der Induktion, da sie über induktiv definierten Strukturen geführt wird, gerne auch strukturelle Induktion. Bevor wir uns noch einmal genauer induktive Definitionen und ihren Zusammenhang zur Induktion anschauen, wollen wir ein weiteres Beispiel für wohlfundierte Induktion geben. Die Teilbarkeitsrelation definiert auf den natürlichen Zahlen größer 1 eine wohlfundierte Ordnungsrelation. Die minimalen Elemente dieser Ordnung sind die Primzahlen (da sie außer 1, welche wir nicht betrachten, und sich selbst keinen Teiler besitzen), d.h. für jede Primzahl p ist in der Ordnung (p, p) enthalten und ansonsten kein Paar, welches p an zweiter Stelle enthält. Für jede weitere Zahl x gibt es ein paar (y, x) in der Relation, wenn y ein Teiler von x ist. In Abbildung 28 finden Sie die Teilbarkeitsrelation veranschaulicht für die Zahlen von 2 bis 10. Damit die Abbildung übersichtlicher bleibt, haben wir alle Paare, die die sich durch den transitiven Abschluss ergeben würden, weggelassen (hier nur das Paar (2, 8), da (2, 4) und (4, 8) schon enthalten sind). Wir zeigen nun mithilfe wohlfundierter Induktion, dass jede natürliche Zahl eine Primzahlzerlegung besitzt. Beispiel Die Primfaktorzerlegung ist die Zerlegung einer natürlichen Zahl in ein Produkt, welches nur aus aus Primfaktoren besteht: Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 137 (a) (b) (c) (d) 10 = 2 · 5 20 = 2 · 2 · 5 121 = 11 · 11 556 = 2 · 2 · 139 8 4 6 2 9 10 3 5 7 Abbildung 28: Teilbarkeitsrelation für die Zahlen von 1 bis 10 Beweis (Existenz der Primfaktorzerlegung). Beweis durch wohlfundierte Induktion über n ∈ N \ {0, 1}: Nach dem Prinzip der wohlfundierten Induktion können wir nun annehmen, dass die Aussage für alle induktiv kleineren Objekte gilt. Fallunterscheidung: Fall 1: Sei p eine Primzahl. p besitzt als Primfaktorzerlegung das einstellige Produkt p. Fall 2: Sei n eine natürliche Zahl und keine Primzahl. Dann lässt sich n schreiben als k1 · k2 , wobei k1 , k2 ̸= 1, n. Mit Induktion wissen wir, dass k1 und k2 eine Primfaktorzerlegung besitzen. Das Produkt der Primfaktorzerlegung von k1 mit der Primfaktorzerlegung von k2 ist eine Primfakorzerlegung von n nach Definition. Damit haben wir die Existenz der Primfaktorzerlegung für jede natürliche Zahl gezeigt. Versuch es selbst! – Aufgabe 50: Eindeutigkeit der Primfaktorzerlegung Beweisen Sie mit wohlfundierter Induktion die Eindeutigkeit der Primfaktorzerlegung, d.h. zeigen Sie, dass es für jede Zahl eine bis auf Reihenfolge eindeutige Primfaktorzerlegung gibt. Hinweis: Multiplikationen mit 1 kommen in der Primfaktorzerlegung nicht vor. In diesem Abschnitt haben wir gesehen, dass wohlfundierte Induktion ein sehr allgemeines und vielseitiges Prinzip ist. Prinzipiell haben Sie damit nun alles gelernt, was man über Induktion wissen muss. Wir wollen in den folgenden Kapiteln Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 6 Induktion 138 trotzdem einige Spezialfälle vorstellen, da sie in der Mathematik und Informatik sehr häufig verwendet werden. Beginnen werden wir dabei jedoch, wie wir schon angekündigt haben, mit induktiven Definitionen. 6.3 Induktive Definitionen Induktive Definitionen sind uns geläufiger als man denken würde. Schon als Kind haben wir Objekte induktiv zusammengebaut, zum Beispiel wenn wir mit einem Baukasten gespielt haben, und aus vielen kleinen Bausteinen Häuser und Türme zusammengebaut haben. Um uns an das Prinzip der induktiven Definition anzunähern, wollen wir genau das Beispiel des Bauens mit einem Baukasten benutzen. Zunächst wollen wir einen einfachen Turm bauen, der nur aus einer Sorte von Steinen besteht. Stellen Sie sich also vor, Sie wollen einem kleinen Kind erklären, wie man so einen Turm baut. Wie würden Sie vorgehen? Vielleicht so ähnlich: “Nimm einen großen Bauklotz, und lege ihn hin. Danach nimm noch so einen Bauklotz, und lege ihn vorsichtig auf den anderen. Nimm doch noch einen Bauklotz, und legen ihn wieder auf den Turm! Jetzt hast du einen noch größeren Turm. Das kannst du jetzt immer so weiter machen, um einen noch größeren Turm zu bekommen!” .. . Turm der Turm der Größe n + 1 Größe n Abbildung 29: Turmbauen heißt induktiv Definieren Beim Turmbauen können wir einige wichtige Beobachtungen machen, die sich allgemein auf induktive Definitionen übertragen lassen. (a) Wenn man schon einen Turm hat, dann kann man einen Stein darauf legen, und bekommt so einen neuen Turm (der genau einen Stein höher geworden ist). (b) Wir können somit beliebig(!) hohe Türme bauen, allerdings wird jeder Turm immer nur endlich hoch sein. (c) Den kleinsten und einfachsten Turm bekommt man, indem man einfach einen einzelnen Stein auf dem Boden platziert. Nicht nur das Bauen von Türmen, sondern auch Zählen lässt sich induktiv definieren. Betrachten Sie dazu die folgende Sprache N . terminales Element z}|{ N ∋ φ ::= O | Sφ Wir identifizieren hier O mit 0 und S als eine Funktion, die einen Wert nimmt und eins dazu addiert (S steht hier für Successor). Wir würden also SO mit 1 und Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 139 S(S(S(S(S(S(S0)))))) mit 7 identifizieren. Damit haben wir eine Sprache N definiert, die sich wie die natürlichen Zahlen verhält. Wir können die natürlichen Zahlen also durch die Addition von 1 induktiv konstruieren. Dies ist vor allem bei induktiven Definitionen in Abhängigkeit von natürlichen Zahlen sehr hilfreich - so zum Beispiel auch bei Folgen, einem Spezialfall von Funktionen. Folgen sind Funktionen von den natürlichen Zahlen in eine beliebige Menge. Mit Hilfe der induktiven Definition der natürlichen Zahlen können wir rekursive Folgen definieren, wie zum Beispiel a0 := 1, an+1 := an + 1 Da wir wissen, dass wir durch Addition alle natürlichen Zahlen konstruieren können (im nächsten Abschnitt werden wir das noch formaler sehen), sehen wir, dass unsere Folge als Funktion korrekt auf allen natürlichen Zahlen definiert ist. Speziellere Folgen sind die Summe bzw. das Produkt von n Summanden bzw. Faktoren. Da wir in der Mathematik sehr häufig Summen und Produkte betrachten, wollen wir Summen und Produkte einmal formal definieren: Definition 43 (Summen und Produkte) Sei (an )n∈N eine Folge von Zahlen und n und m ∈ N. Das Summenzeichen duktiv wie folgt definiert: n ∑ i=m n ∑ i=m n ∑ ai = 0 n<m ai = an n=m ai = an + i=m n−1 ∑ ai i=m n ∏ i=m n ∏ i=m ai = 1 n<m ai = an n=m ai = an · n−1 ∏ ai ist in- Summenzeichen ∑ n>m i=m Analog folgt die Definition des Multiplikationszeichens n ∏ ∑ ∏ : n>m i=m Die leere Summe und das leere Produkt, wenn m > n ist, hat genau diese Werte, da wir durch eine Addition mit 0 bzw. durch eine Multiplikation mit 1 unsere Werte nicht ändern. Versuch es selbst! – Aufgabe 51: Addition und Multiplikation auf der Sprache N Überlegen Sie sich, wie Sie rekursiv nach unserer Sprache zwei natürliche Zahlen addieren und multiplizieren können. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Multiplikationszeichens ∏ : 6 Induktion 140 All diese induktiven Definitionen liefern uns den Spezialfall der strukturellen Induktion. Ein Beispiel für eine strukturelle Induktion ist der Beweis über die duale Form, den wir im letzten Abschnitt geführt haben. Verwenden wir jedoch die strukturelle Induktion, so müssen wir nicht mehr argumentieren, wie die zugehörige wohlfundierte Ordnungsrelation aussieht. Man verwendet dann immer die Teilausdrucksordnung, die wir ebenfalls schon vorgestellt haben. Was Sie aus diesem Kapitel mitnehmen sollten: Induktive Definitionen erlauben uns, sehr einfach eine wohlfundierte Induktion zu führen, ohne explizit eine wohlfundierte Ordnungsrelation aufstellen zu müssen. Um zu kennzeichnen, dass man eine wohlfundierte Induktion mit der kanonischen wohlfundierten Ordnungsrelation führen möchte, schreibt man zu Beginn des Beweises “Beweis durch strukturelle Induktion” anstatt “Beweis durch wohlfundierte Induktion”. Das Vorgehen bei der strukturellen Induktion ändert sich im Vergleich zur wohlfundierten Induktion ansonsten nicht: Wir beweisen die Behauptung zunächst für alle induktiv kleinsten Elemente (bei induktiven Definitionen, die wir mithilfe der Backus-Naur-Form aufschreiben, sind das Elemente, die man mit Fällen ohne Metavariablen bildet). Dann beweisen wir, dass alle Möglichkeiten, wie wir kleinere Ausdrücke zu größeren zusammensetzen können, die Behauptung erhalten. Intuition Wir haben dies bei dualen Formeln ebenfalls angewendet: ⊤ und ⊥ sind die einzigen beiden Fälle in der Backus-Naur-Form, die keine Metavariablen enthalten. Damit sind Sie die induktiv kleinsten Ausdrücke. Aussagenlogische Ausdrücke lassen sich in unserer eingeschränkten Sprache nur durch Konjunktion, Disjunktion und Negation vergrößern. Daher haben wir gezeigt, dass, wenn kleinere Ausdrücke die Behauptung erfüllen und wir diese mit Konjunktionen, Disjunktionen und Negation vergrößern, dass die neuen größeren Ausdrücke immer noch die Behauptung erfüllen. Im letzten Abschnitt dieses Kapitels möchten wir den einfachsten, aber auch häufigsten Spezialfall der Induktion betrachten, die natürliche Induktion. 6.4 Natürliche Induktion natürliche Induktion Wir betrachten nun die Menge der natürlichen Zahlen mit der Wohlordnung ≤. Da wir schon gesehen haben, wie wir die natürlichen Zahlen induktiv konstruieren, ist das Wissen über die Wohlordnung nicht von großer Bedeutung, um die natürliche Induktion zu verstehen. Die Konstruktion und Ordnung der natürlichen Zahlen ist uns einfach sehr vertraut. Deshalb müssen wir sie auch nicht mehr explizit erwähnen, wenn wir einen Beweis mithilfe natürlicher Induktion führen. Wir beweisen mit Hilfe der natürlicher Induktion Aussagen, indem wir sie für das minimale Element der Menge beweisen, die wir gerade betrachten * und dann zeigen, dass die Aussage, falls sie für n ∈ N gilt auch für n + 1 gilt. In den meisten Fällen beweisen wir Aussagen über N oder N∗ und beweisen zunächst die Aussage für n = 0 oder n = 1. *≤ ist eine Wohlordnung, deshalb existiert das minimale Element auch tatsächlich Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 141 Auch die Induktion können wir als Inferenzregel auffassen. Sei dazu P ein Prädikat auf den natürlichen Zahlen und 0 das minimale Element der Menge, die wir betrachten (sehr oft wird dies die 0 oder die 1 sein). P (0) ∀n ∈ N : P (n) → P (n + 1) ∀n ∈ N : P (n) Die Schlussregel gibt unser Vorgehen genau vor: (a) Beweise die Aussage für 0. (b) Beweise dann, dass unter der Annahme, dassP (n) gilt, auch P (n + 1) wahr ist. Die Idee der natürlichen Induktion ist viel älter als der Prinzip der wohlfundierten Induktion. Die folgenden fünf Axiome – genannt Peano-Axiome – erlauben es uns, die natürlichen Zahlen zu konstruieren. (a) 0 ∈ N † (b) n ∈ N → (n + 1) ∈ N (c) n ∈ N → (n + 1) ̸= 0 (d) n, m ∈ N → ((n + 1) = (m + 1) → n = m (e) Sei M eine Menge. 0 ∈ M ∧ (∀m ∈ M : (m ∈ M → (m + 1) ∈ M ) → N ⊆ M Das fünfte Axiom ist auch bekannt als Induktionsaxiom. Wir zeigen bei der Induktion auf N eigentlich, dass die Menge X := {n | n ∈ N ∧ P (n)} eine Obermenge der natürlichen Zahlen ist und so unser Prädikat für alle natürlichen Zahlen wahr wird. Versuch es selbst! – Aufgabe 52: Fehlschluss Wo findet sich der Fehler in folgender Argumentation: Um das Prinzip der natürlichen Induktion anzuwenden, müssen wir unter anderem zeigen, dass wenn eine Aussage für n gilt, diese auch für n + 1 gilt. Damit können wir im Allgemeinen keine Aussagen über die Menge der geraden Zahlen beweisen, da für jede gerade Zahl n die Zahl n+1 nicht gerade ist, und daher die Aussage für n = 1 im Allgemeinen eh nicht gilt. Das beste und wohl bekannteste Beispiel für die natürliche Induktion ist der Ben ∑ n · (n + 1) . Wir markieren nun in oranweis der Behauptung: ∀n ∈ N : i= 2 i=0 ge alle Wörter und Formulierungen, die für einen formal korrekten Beweis vorhanden sein müssen. Auch bei Beweisen durch Induktion müssen wir alle unsere Schritte wie auch bei anderen Beweisen begründen. †Es macht keinen Unterschied, hier mit 1 zu beginnen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Induktionsaxiom 6 Induktion 142 Beweis. Behauptung: ∀n ∈ N : n ∑ i= i=0 n · (n + 1) 2 Beweis durch natürliche Induktion über n ∈ N Induktionsverankerung: n = 0 n ∑ i i=0 = 0 ∑ i Annahme n = 0 i=0 Definition Summe =0 = 0·(0+1) 2 Multiplikation mit 0 Induktionsannahme: Die Behauptung gilt für ein festes, aber beliebiges n ∈ N: n ∑ i= i=0 n · (n + 1) 2 Induktionsschritt: n → n + 1 * n+1 ∑ i i=0 = = = = n ∑ i + (n + 1) i=0 n·(n+1) 2 +n+1 (n + 1) · ( n2 (n+1)·(n+2) 2 Definition Summe Induktionsannahme + 1) Ausklammern Bruchrechnung Rufen wir uns die Schlussregel für Induktion noch einmal in den Sinn und betrachten, wie der Beweis eben abgelaufen ist. Was die Induktion uns liefert, ist eine zusätzliche Annahme im Induktionsschritt. Wir dürfen einfach annehmen, dass die Aussage, die wir gerade beweisen, für alle kleineren Argumente schon gilt. Dabei heißt kleiner hier bezüglich unserer Relation. Auf den natürlichen Zahlen entspricht das eben gerade intuitiv der ≤-Relation. Betrachten wir ein weiteres Beispiel für Induktion, um zu zeigen, dass das Schöne an Induktion ist, dass wir mit ihr fast alle Aussagen, die von natürlichen Zahlen abhängen, beweisen können. Betrachten wir dazu einmal eine rekursiv definierte Folge der Fibonacci-Zahlen. F0 := 0 F1 := 1 Fn := Fn−1 + Fn−2 für n>1 Wir sehen, dass die Berechnung eines Folgenglieds auf den beiden Elementen vor dem aktuellen beruht. *Korrekterweise müsste hier eigentlich ∀n ∈ N : ∑n i=0 i= n·(n+1) 2 → ∑n+1 i=0 i= n+1·(n+2) 2 Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 143 Beispiel Die ersten 10 Folgenglieder der Fibonacci-Folge ergeben sich wie folgt: 0 1 0+1=1 1+1=2 1+2=3 2+3=5 3+5=8 5 + 8 = 13 8 + 13 = 21 13 + 21 = 34 Beweis. Behauptung: ∀n ∈ N>0 : n ∑ Fi2 = Fn · Fn+1 . i=1 Beweis durch natürliche Induktion über n ∈ N>0 . Induktionsverankerung: n = 1. F12 =1 Definition der Fibonacci-Zahlen = F1 · F2 Multiplikation Induktionsannahme: Die Behauptung gilt für ein festes n ∈ N: n ∑ Fi2 = Fn · Fn+1 i=1 Induktionsschritt: n → n + 1 n+1 ∑ Fi2 i=1 = n ∑ 2 Fi2 + Fn+1 Definition Produkt i=1 2 = Fn · Fn+1 + Fn+1 Induktionsannahme = Fn+1 · (Fn + Fn+1 ) Ausklammern = Fn+1 · Fn+2 Definition der Fibonacci -Zahlen Somit ist die Behauptung gezeigt. Braucht man nicht nur das Element, das genau um 1 kleiner ist, sondern ein beliebiges kleineres Argument, so muss man (zum Glück) kein neues Beweisprinzip erlernen. Es ändert sich lediglich die Formulierung in der Induktionsannahme: Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 6 Induktion 144 Induktionsannahme: Die Behauptung gilt für alle m ∈ N mit m ≤ n für ein festes n ∈ N: n ∑ i= i=0 n · (n + 1) 2 Versuch es selbst! – Aufgabe 53: Natürliche und starke Induktion Überlegen Sie sich zunächst, wie man das natürliche Induktionsprinzip aus dem Prinzip der wohlfundierten Induktion herleiten kann und dann, warum es nichts ändert, alle kleineren Elemente zu betrachten. starke Induktion Diese Form der Induktion nennen wir starke Induktion. Für die eingeführten Fibonacci-Zahlen gibt es auch eine geschlossene, also nicht rekursive Definition. Für diesen Beweis brauchen wir die Annahme, dass die Aussage für mehrere Vorgänger bereits gilt. Daher wenden wir nun die starke Induktion an. Als Faustregel hierfür gilt: Wir müssen so viele Induktionsanfänge beweisen wie wir im Induktionsschritt Vorgänger zurück schauen wollen. Beweis. Behauptung: Fn = √1 5 √ · [( 1+2 5 )n − √ (1− 5 n ) ] 2 Beweis über starke Induktion über n ∈ N Induktionsanfang: n = 0 und n = 1 √ √1 · [( 1+ 5 )0 2 5 √ = 1−1 5 − √ (1− 5 0 ) ] 2 P otenzgesetz =0 Multiplikation = F0 Definition Fibonacci-Zahlen und Annahme √1 5 = = √ (1− 5 1 ) ] 2 √ √ 1+ 5−1+ 5 2 √ 2· 5 2 * √ · [( 1+2 5 )1 − √1 5 √1 5 · · Bruchaddition Zusammenfassen =1 Bruchmultiplikation = F1 Definition Fibonacci-Zahlen und Annahme Induktionsannahme: Die Behauptung gilt für alle m ∈ N mit m ≤ n für ein festes n ∈ N. *Hier haben wir uns die Symmetrie und Transitivität der Gleichheit von Nutzen gemacht und umgekehrt angefangen. So ist die Aussage einfacher zu beweisen. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular 145 Fn+1 = Fn−1 + Fn = = = = √1 5 √1 5 √1 5 √1 5 · · · · √ [( 1+2 5 )n−1 √ [( 1+2 5 )n−1 √ [( 1+2 5 )n−1 √ [( 1+2 5 )n+1 √ √ √ − ( 1−2 5 )n−1 ] + √15 · [( 1+2 5 )n − ( 1−2 5 )n ] √ √ √ · ( 1+2 5 + 1) − (1−2 5 )n−1 · ( 1−2 5 + 1)] √ √ √ · ( 1+2 5 )2 − (1−2 5 )n−1 · ( 1−2 5 )2 ] √ − (1−2 5 )n+1 ] Definition Fibonacci-Zahlen Induktionsannahme für n und (n-1) Ausklammern Eigenschaft goldener Schnitt Potenzgesetz † Wir fordern hier eine etwas stärkere Aussage in der Prämisse der Schlussregel. Sei dazu P wieder ein Prädikat auf natürlichen Zahlen. Die Schlussregel für starke Induktion lautet: ∀x ∈ N : (∀y ∈ N : y < x → P (y)) → P (x) ∀x ∈ N : P (x) Intuition Natürliche und starke Induktion finden nur Anwendung, wenn wir als Menge die natürlichen Zahlen gemeinsam mit den Wohlordnung ≤ verwenden. Möchten wir zum Beispiel eine andere wohlfundierte Ordnungsrelation verwenden, so müssen wir wohlfundierte Induktion verwendeten und auch die wohlfundierte Ordnungsrelation explizit angeben. Dies haben wir zum Beispiel bei der Existenz der Primfaktorzerlegung gemacht, um auf den natürlichen Zahlen die Teilbarkeitsrelation bei der Induktion zu verwenden. Kapitelende Bearbeiten Sie nun die Übungsaufgaben zum Kapitel Induktion, die Sie unter www.vorkurs-mathematik-informatik.de finden. Wenn Sie die Übungsaufgaben bearbeitet haben, vergleichen Sie Ihre Lösungen mit den dort angegebenen. Versuchen Sie dann, die Liste von Begriffen und Fähigkeiten zum Kapitel Induktion zu bearbeiten, die Ihnen ein Gefühl vermitteln soll, ob Sie alles Wichtige im Kapitel gelernt und verstanden haben. †Es ist hier nicht so wichtig, dass Sie jeden einzelnen Schritt verstehen. Sie sollen einfach nur ein Gefühl dafür bekommen, wann man Induktion sinnvoll anwenden kann. Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular Index Äquivalenzklasse, 123 Äquivalenzrelation, 123 Abbildung, 120 ableiten, 65 Albleitungsbaum, 67 antisymmetrisch, 122, 127 arithmetische Ausdrücke, 8 arithmetischer Ausdruck, 8 atomare Aussage, 22 aufzählend, 95 Ausdruck, 2 Aussage, 20 Aussageform, 43 Aussageformen, 42 Aussagenlogik, 1, 20, 23 Aussagenvariable, 22 Backus-Naur-Form, 2, 5 Belegung, 26 benutzend, 50 Beweisen, 63 bijektiv, 119 binäre Relation, 115 binärer Baum, 3 Blatt, 3 definierend, 50 Definition, 68 Definitionsbereich, 116 disjunkt, 109 duale Form, 133 Element, 93 erfüllbar, 35 falsch, 25 funktional, 119, 121 Gültigkeitsbereich, 53 Gesetzen der Aussagenlogik, 1 Grammatiken, 2 Graph, 118 Grundmenge, 115 höherstufig, 28 hinreichend, 32 Individuenvariablen, 43 Induktionsaxiom, 141 induktiv, 5, 25 induktiv kleiner, 134 injektiv, 119 innerer Knoten, 3 inverse Relation, 117 irreflexiv, 121 Kalkül, 65 Kante, 3 Kanten, 118 Kardinalität, 102 Klammersparregeln, 13 Knoten, 118 Konklusion, 64 Kontradiktion, 36 Konzept, i, 19 Korollar, 69 Kreuzprodukt , 107 leere Relation, 117 Lemma, 69 links-eindeutig, 119 links-total, 118, 121 linksassoziativ, 25 Logik, 19 logisch gleich, 35 Mächtigkeit, 102 Menge, 93 Mengengleichheit, 99 Metavariable, 5 minimales Element, 125 Minimum, 125 Multiplikationszeichen, 139 natürliche Induktion, 140 147 Index notwendig, 32 Operator, 22 Ordnungsrelation, 123 Paar, 107 partielle, 121 Pfeilbild, 118 post-fix, 55 Potenzmenge, 103 Prädikat, 49 Prädikate, 49 prädikativ, 96 Prämisse, 64 Pradikatenlogik, 41 148 wahr, 25 Wahrheitstafel, 28 Wertebereich, 116 Werteliste, 117 Wertetabelle, 117 wohlfundiert, 125 wohlfundierte Induktion, 131 Wohlordnung, 125 Wurzel, 3 Zeichen, 2 Zielmenge, 115 Quellmenge, 115 rechts-total, 119 rechtsassoziativ, 25 reflexiv, 121 Relationskomposition, 126 Satz, 2, 69 Schließen, 63 Schluss, 19 Schlussregel, 64 Semantik, 2 Sprache, 1, 19 starke Induktion, 144 Strukturbaum, 9 strukturelle Induktion, 136 Summenzeichen, 139 surjektiv, 119 symmetrisch, 122, 127 Syntax, 2 Syntaxbaum, 9 Tautologie, 36 Teilbäume, 10 Teilmenge, 98 total, 124 transitiv, 122, 127 Tupel, 107 ungebunden, 52 universelle Relation, 117 Universum, 42 Variablen, 7 Venn-Diagramm, 109 Wörter, 2 Anmerkungen? → www.vorkurs-mathematik-informatik.de → Kontaktformular