Mathematik-Vorkurs für Informatiker 2011 Christian Eisentraut Universität des Saarlandes 26. September 2011 Vorwort Endlich ist es soweit: Sie studieren Informatik! Endlich werden sie alles erfahren, was sie jemals über Hardware, Webbrowser und World of Warcraft wissen wollten. Aber leider scheint das nicht so ganz zu stimmen: Sie sitzen hier, im Mathematischen Vorkurs. Mathematik. Warum um alles in der Welt brauchen Sie jetzt einen mathematischen Vorkurs, wo sie doch mindestens 12 Jahre lang Mathematik in der Schule hatten, und vielleicht sogar direkt ohne Unterbrechung zu studieren beginnen? Ok, alles Wissen aus Stufe 11 und 12 ist nicht mehr ganz da, aber kann man das nicht im Studium lernen? Warum also dieser mathematische Vorkurs? Zuallerst 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 tut, sondern die Informatik ist selbst nichts anderes als Mathematik. Ja, tatsächlich, Hardware, Webbrowser, World of Warcraft, 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 millionenmal 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ühlt 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 2 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 ich Ihnen zuvor darüber erzählt habe, 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 (sowas wie zehn gegenüber drei Zehen) beschreiben. Zahlen können aber 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 Anzahl anzugeben. Aber das werden Sie im Studium noch genauer erfahren. 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, ich meine 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 weiss, 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 unterschiedlichen Lebewesen zur abstrakten Klasse Baum zusammenzufassen. Ähnlich interessant ist es, das 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 dem eingangs erwähnten Stämmen stammen, würden dann beide einfach sagen, die Kerze steht im Norden. Dabei wird Lage immer nur nach Himmelrichtungen bestimmt. Aufgabe 0.1 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? 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. 3 Es ist ein Denken, dass 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. Nur Sie selbst können dies trainieren, durch beständiges Arbeiten mit mathematischen Ideen, und dem Versuch, diese korrekt aufzuschreiben. Genau das wollen wir gemeinsam beginnen. Sie fragen sich immer noch, weshalb Informatik eigentlich Mathematik sein soll? Hardware, Webbrowser und World of Warcraft 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. Innerhalb der Vorlesung Programmierung 1 an der Universität des Saarlandes, werden sie sehr schnell begreifen, dass sowohl Programmieren, als auch die Hardware, die diese Programme ausführt, nichts anderes ist als eine in mehr oder weniger materielle Form gegossene Mathematik. 4 1 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 von logischem Denken. 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. Sogar unser harmloser logischer Schluss mit der Sonne war nicht korrekt. 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 können, dass es draußen hell ist, und trotzdem kalt. Genau diese Denkfehler eliminiert die mathematisch Logik, indem sie uns nur solche Schlüsse zu ziehen erlaubt1 , wenn sie wirklich richtig sind2 . 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. Die erste solche Sprache, die wir kennenlernen werden, ist die Aussagenlogik. Wir können mit ihr schon viele Dinge beschreiben, und auch wichtige gültige logische Denkregeln beschreiben. 1 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 dabei eine große Hilfe. 2 Was dabei richtig und falsch ist, ist letzten Ende 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. 5 1 Logik 1.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. 1.1.1 Aussagen Definition 1.1 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. Beispiel 1.1 • „Blau ist eine Farbe.“ Dies ist eine Aussage, und sie ist wahr. • „ Alle Drachen können fliegen.“ Dies ist eine Aussage, obwohl sie nicht sehr realitätsnah ist. Aber entweder alle Drachen können fliegen, oder es gibt einen Drachen, der dies nicht kann. • 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. • „Stimmt es, dass Blau eine Farbe ist?“ Dieser Satz ist keine Aussage, es ist eine Frage. Fragen können niemals Aussagen sein. 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 nochmal 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 6 1 Logik 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 1.2 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 eine 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. Aufgabe 1.1 Betrachten Sie die Konjunktionen 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? Durch die Einführung solcher Bindewörter, die wir in der Logik Junktoren 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 das selbe versteht wie wir, wenn wir eine Aussage aufschreiben. Im Folgenden wollen wir die Logik, die eine mathematische Sprache ist, exakt definieren. Tatsächlich lieben Informatiker mathematische Sprachen viel mehr als “richtige” Mathematiker. Fast immer, wenn der Informatiker eine neue Struktur in seinem Kopf entstehen lässt, kommt dabei eine Sprache heraus. Sollten Sie jetzt so langsam bedenken überkommen, weil Sie in Ihrer Schulzeit am liebsten Französisch, Englisch, Latein, 7 1 Logik Griechisch und Spanisch gleichzeitig und für immer abgewählt hätten, dann kann ich Sie beruhigen. Mathematische, oder fast besser informatische Sprachen sind anders als diese natürliche 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 mathematisch Sprachen nicht lieben, Informatiker aber um so mehr. Jede Programmiersprache ist übrigens eine mathematische Sprache. Ich hoffe, es geht Ihnen jetzt wieder besser! Eine Sprache besteht immer aus den zwei grundlegenden Aspekten Syntax und Semantik. Die Syntax einer Sprache beschriebt, wie die Sätze einer Sprache geformt sein dürfen, also wie sich komplexe Sätze aus einfacheren Sätzen bilden lassen3 . Die Semantik einer Sprache ist ihre Bedeutung. Jeder Satz einer Sprache muss eine eindeutig festgelegte Bedeutung haben. Im Falle der Aussagenlogik bedeutet das, jede Aussage muss eindeutig entweder wahr bedeuten, oder falsch. 1.1.2 Syntax Die grundlegenden Bestandteile der Syntax einer Sprache sind Wörter. Ein typisches Wort in einer Programmiersprache ist das Wort if. Wenn wir mehrere Worte sinnvoll, das heißt nach den Regeln einer Grammatik aneinander Reihen, dann erhalten wir einen Ausdruck. So ist z.B. in der Programmiersprache Pascal (Nein, ihr Tutor ist keine Programmiersprache!) 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. Wenn wir über formale Sprachen reden, dann reden wir jedoch häufig nicht über die Zeichen, sondern nur über die Worte, und betrachten diese als die kleinste Einheit der Syntax einer Sprache. Nur wenn wir in Programmierung 1 über die Syntax von Programmiersprachen reden, dann werden wir uns auch intensiv mit Zeichen beschäftigen müssen. 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.” selbst4 . Die Menge der atomaren Aussagen wäre damit soetwas wie {Wahr, Falsch, Die Sonne scheint, Blau ist eine Farbe, . . . }. 3 4 In Programmierung 1 werden wir den Begriff Syntax genauer definieren Dies sind natürlich keine korrekten deutschen Sätze. Aber sowas ist uns Informatikern natürlich egal, solange jeder weiß, was gemeint ist. 8 1 Logik In dieser Menge finden dann alle erdenklichen Aussagen, die nicht aus anderen Aussagen zusammengesetzt sind. Da wir als Mathematiker und Informatiker immer bestrebt sind, unnötigen Balast 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. Definition 1.2 (Atomare Aussagen) Die Menge der atomaren Aussagen Atom besteht aus den elementare Aussagen >(steht für wahr) und ⊥(steht für falsch), sowie aus Aussagevariablen p, q, r, p1 ,2 . . . , q1 . . . , r1 . . . . 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 zusammengesetzte Aussagen, die wir im folgenden kennenlernen werden. In unserer Vorstellung (die wir Mathematiker und Informatiker gerne Intuition nennen), 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 Junktoren 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 Junktoren wollen wir auch beschreiben, wie genau wir sie verwenden dürfen, um kompliziertere Sätze in unserer Sprache Aussagenlogik zu bilden. Die Regeln, die uns sagen, wie wir aus einfachen Aussagen und Junktoren neue komplexere Aussagen bilden dürfen, nennt man die Grammatik der Sprache. Wir schreiben die Grammatik in der sogenannten Backus-Naur-Form (BNF) auf, die in der Informatik zum Beschreiben sehr vieler Grammatiken verwendet wird. Definition 1.3 Die Menge aller Aussagen A ist gegeben durch folgende Grammatik, wobei x ∈ Atom, A 3 φ, ψ ::= > | ⊥ | x | ¬φ | φ ∧ ψ | φ ∨ ψ | φ ⊕ ψ | φ → ψ | ψ ↔ φ Wir wollen jetzt erklären, was diese ominöse Zeile uns alles erzählt. Wir definieren mit dieser einen Zeile eine Menge A von Objekten, die wir Aussagen nennen wollen. Wir setzen dabei die gesamte Menge aller Aussagen fest. Also alles, was wir eine Aussage nennen wollen ist in A enthalten, und auch nur das! Der letzte Halbsatz ist dabei sehr wichtig. Wenn wir in der Mathematik nicht explizit sagen, dass etwas nicht in einer Menge enthalten ist, dann dürfen wir nicht annehmen, dass es dort nicht vielleicht doch 9 1 Logik drinnen ist. Auch, oder gerade dann, wenn wir eigentlich denken zu wissen, was in einer bestimmten Menge sein soll. Halten wir also zuerst fest, dass die Backus-Naur Form einer Sprache die Menge aller Sätze (die unserem Fall Aussagen heißen) in einer Sprache exakt definiert. Mit dem Ausdruck A 3 φ, ψ sagen wir, dass φ und ψ jeweils ein Element aus der Menge A bezeichnen soll. Das heisst nicht, dass nur φ und ψ in dieser Menge vorkommen, sondern φ und ψ sind jeweils nur ein Symbol, was für ein beliebiges Element aus dieser Menge steht. Man nennt hierbei φ und ψ auch Metavariablen. Sie sind variable Bezeichner für einen Ausdruck aus A, sie sind jedoch selbst kein Ausdruck! Normalerweise schreiben wir φ ∈ A um zu sagen, dass φ ein Element der Menge A ist, aber da es sich an dieser Stelle andersherum besser schreiben lässt, drehen wir die Sache einfach um. Solange jeder weiss, was eine Notation bedeuten soll, sind wir da gerne flexibel. Die Zeichen ::= besagen einfach, dass dies jetzt eine Syntaxdefinition in Backus-Naurform ist. Was danach kommt, ist eine Sammlung aller Ableitungsregeln für Wörter aus unserer Sprache. Jede Ableitungsregel wird von den anderen durch einen vertikalen Strich | getrennt. Die Zeichen, die in einer Ableitungsregel dann auftauchen, sind entweder • Konstanten-Symbole, bei uns hier > und ⊥, • Operator-Symbole, bei uns ¬, ∧, ∨, ⊕, →, und ↔, • Symbole, die für die Wörter stehen, die wir gerade eben definieren wollen, bei uns das φ und das ψ, oder • Objekte, die wir bereits anderswo definiert haben, wie bei uns die Aussagevariable p. Hierbei steht p stellvertretend für alle Objekte aus Atom. Die Junktoren, 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. Die Art mit dir wir hier Worte bilden, nennt sich induktiv. Die BNF ist eine induktive Definition einer unendlichen Menge von Wörtern (hier: Aussagen). Induktiv bedeutet, dass wir komplizierte Ausdrücke aus einfacheren zusammensetzen. Dabei ist es wichtig, dass wir definieren, was die einfachsten Ausdrücke sind, die selbst nicht zusammengesetzt sind. In unserem Fall sind dies die Aussagenvariablen und die Konstanten > und ⊥. Was die BNF knapp ausssagt, lässt sich mit relativ vielen Worten so ausdrücken: a: Jede Aussagenvariable und die Konstanten > und ⊥ sind Aussagen (atomare Aussagen). b: Sind φ und ψ Aussagen, dann sind auch ¬φ, φ ∧ ψ, φ ∨ ψ, φ → ψ, φ ↔ ψ, φ ⊕ ψ Aussagen. 10 1 Logik c: Die Sprache der logischen Ausrücke, also die Menge A, ist genau (also nicht mehr und nicht weniger als) die Menge mit den Eigenschaften (a) und (b). Induktive Definitionen sind in der Informatik allgegenwärtig. Jede Programmiersprache ist (syntaktisch betrachtet), induktiv definiert. Übrigens üblicherweise sogar mit Hilfe der Backus-Naur-Form. Sehr viele Datenstrukturen, die wir in Programmierung 1 kennenlernen werden, sind induktiv definiert, z.B. Listen und Bäume. Man sagt dann für Listen einfach 1. o ist eine Liste (atomare Ausdruck). 2. Wenn l eine Liste ist, dann ist auch ∗l eine Liste (induktive Definition). Listen sind dann alle Objekte, die folgende Form haben: o, ∗o, ∗ ∗ o, ∗ ∗ ∗o, . . . . Die natürlichen Zahlen sind übrigens genauso aufgebaut. 0 entspricht dann o, 1 entspricht ∗o und so weiter. Aber mehr dazu in Programmierung 1. Beispiel 1.3 Ausdrücke, die in A enthalten sind, und damit Aussagen, sind z.B. • >∧p • (¬⊥) ∨ >. • (p ∨ q) ∧ (> → (⊥ ⊕ q)) Die Klammern dienen dazu, um die Struktur des Ausdrucks zu verdeutlichen. Beispiel 1.4 Keine Aussagen sind z.B. • >⊥. Es gibt keine Ableitungsregel, bei der zwei atomare Aussagen direkt nebeneinander stehen dürften. Jeder Regel bei der mehr als eine atomare Aussage entstehen kann, enthält auch einen Operator. • > ∧ φ. Dies ist keine Aussage, weil φ weder eine Konstante (>,⊥), noch eine atomare Aussage 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 φ ∈ A”, dann ist auch > ∧ φ ∈ A. Allerdings ist dann > ∧ φ immer noch keine Aussage, sondern es steht nur für eine Aussage, die einer bestimmten Form genügt. Eine solche Aussage wäre z.B. > ∧ ⊥, oder > ∧ (p ∧ q), aber nicht ⊥ ∧ ⊥ oder > ∨ ⊥. 11 1 Logik Strukturbäume Wir können die zuweilen recht komplizierten Strukturen von Aussagen graphisch darstellen, und uns damit klarer machen, wie sie induktiv aufgebaut sind. In der Programmierung (nicht nur in Programmierung 1) benutzen wir diese Darstellung als Baum dazu, um Algorithmen zu implementieren, die mit Aussagen, oder Ausdrücken anderer Sprachen arbeiten. Diese Algorithmen nennt man dann rekursiv. Sie beginnen ihre Arbeit ganz oben in der Struktur (der Wurzel des Strukturbaums), und rufen sich immer wieder selbst für die Teilstrukturen auf. Diesen Vorgang nennt man rekursiv (von lateinisch recurrere, zurücklaufen). Beispiel 1.5 a: Der Strukturbaum der Formel ¬p ∨ ((q ↔ ¬(r ↔ p)) ∧ s) ist ∨ ¬ ∧ p ↔ s ¬ q ↔ r p b: Der Strukturbaum der Formel ¬(p ∨ q) ↔ (¬(r ↔ (p ∧ s))) ist ↔ p ¬ ¬ ∨ ↔ q ∧ r p s Bemerkung 1.1 (Klammersparregeln) Die äußersten Klammern eines Ausdrucks können stets weggelassen werden. Ansonten können Klammern weggelassen werden, wann man sie anhand folgender Prioritätsregeln 12 1 Logik über Operatorenbindungen wieder rekonstruieren kann. In folgender Liste bindet ¬ am stärksten, ↔ am schwächsten. 1. Negation ¬ 2. Und ∧ 3. Oder ∨ 4. eXklusives Oder ⊕ 5. Implikation → 6. Äquivalenz ↔ Konjunktion und Disjunktion 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. Bemerkung 1.2 Achtung: p∧q∧r = (p∧q)∧r ist nicht das selbe wie p∧(q∧r)! Wie wir noch sehen werden, sind beide Ausdrücke zwar semantisch gleich, syntaktisch sind sie jedoch verschieden, da ihre syntaktische Struktur anders aufgebaut ist. Beispiel 1.6 • ¬p ∨ > ∧ ⊥ = (¬p) ∨ (> ∧ ⊥) • p ∨ q → ¬r ∧ p → q = (p ∨ q) → ((¬r) ∧ p) → q) Beispiel 1.7 a: Die Formel ((p → ¬q ∧ (r ↔ (p ∨ r)))) → (r ↔ p) Lässt sich schreiben als: (p → ¬q ∧ (r ↔ ¬(p ∨ r)) → (r ↔ p) b: Die Formel (¬p → q) ↔ (p∨(¬p∧¬q)) lässt sich darstellen als ¬p → q ↔ p∨¬p∧q. Da diese kurze Form recht unübersichtlich ist, würde man manche Klammern eventuell stehen lassen: (¬p → q) ↔ p ∨ (¬p ∧ ¬q) c: Die Formel ((¬(¬p)) ↔ q) ∨ (p ∧ (¬q)) lässt sich schreiben als (¬¬p ↔ q) ∨ p ∧ ¬q bzw. besser lesbar als (¬¬p ↔ q) ∨ (p ∧ ¬q). Manchmal ist es besser Klammern zu setzen, auch wenn sie nicht unbeding notwendig sind, um Aussagen besser lesbar zu machen. 13 1 Logik 1.1.3 Semantik Die Semantik einer Sprache ist ihre Bedeutung. Dabei weisen wir syntaktischen Ausdrücken ein mathematisches Objekt zu. Wir schreiben diese Zuweisung als eine mathematische Abbildung, die wir mit zwei eckigen Klammern J·K bezeichnen. Tatsächlich sagt man zu diese Klammern gerne Semantikklammern. Wenn φ ∈ A, also φ eine syntaktische Aussage ist, dann bezeichnet fortan JφK die Semantik von φ. Die mathematischen Objekte, die wir als Semantik für unsere Ausdrücke festlegen werden, sind einzig 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 A, der Menge aller syntaktischen Aussagen, nach {w, f }, der Menge der Wahrheitswerte. Wir notieren dies prägnant mathematisch als J·K : A → {w, f }5 . Wir definieren die J·K induktiv, dem syntaktischen Aufbau von Aussagen folgend. Auf diese Weise können wir sehr einfach jedem Element aus A einen Wert aus {w, f } zuweisen, obwohl A eine unendliche Menge ist. Um uns das Leben etwas einfacher zu machen, definieren wir zuerst J·K auf Aussagen, die keine Variablen enthalten, und danach für beliebige Aussagen. Definition 1.4 (geschlossene und offene Ausdrücke) Wir nennen einen aussagenlogischen Ausdruck (sprich: eine Aussage) offen, wenn er (mindestens) eine Aussagenvariable enthält. Andernfalls (also wenn er keine einzige Variable enthält), nennen wir ihn geschlossen. Definition 1.5 (Semantik geschlossener Aussagen) Seien im folgenden φ, ψ ∈ A geschlossene Aussagen. Dann ist die semantische Abbildung J·K : A → {w, f } wie folgt induktiv definiert: 1. J>K = w 2. J⊥K = f ( w wenn JφK = f 3. J¬φK = f wenn JφK = w ( w wenn JφK = w und JψK = w 4. Jφ ∧ ψK = f ansonsten ( f wenn JφK = f und JψK = f 5. Jφ ∨ ψK = w ansonsten 5 Wir werden im Laufe des Vorkurs noch genaueres über Mengen und Abbildungen erfahren 14 1 Logik w wenn JφK = w und JψK = f 6. Jφ ⊕ ψK = w wenn JφK = f und JψK = w f ansonsten ( f wenn JφK = w und JψK = f 7. Jφ → ψK = w ansonsten f 8. Jφ ↔ ψK = f w wenn JφK = w und JψK = f wenn JφK = f und JψK = w ansonsten Beispiel 1.8 TODO::::ODOT Wir wollen uns nun beliebigen Ausdrücken, also auch offenen Ausdrücken zuwenden. Bekanntermaßen können Aussagenvariablen intuitiv für beliebige Aussagen stehen. Aus der formalen Sicht interessiert uns an Aussagen ja nur, ob sie wahr, oder falsch sind, sprich, ob ihre Semantik w oder f ist. Wir können also offenen Termen erste eine Semantik geben, wenn wir Variablen entweder mit f oder mit w belegt haben. Sei ab sofort V die Menge aller Aussagenvariablen, sprich V = Atom \ {>, ⊥}. Definition 1.6 (Belegung) Eine Belegung von Aussagenvariablen ist eine Abbildung b : V → {w, f }. Wir nenen die Menge aller Belegungen B. Beispiel 1.9 TODO::::ODOT Wir können nun die Semantik beliebiger Ausdrücke in Abhängigkeit von einer Belgung b definieren. Wir schreiben daher J·Kb , um diesen Sachverhalt klarzumachen. Wir haben es also jetzt streng genommen nicht mehr mit einer Semantik zu tun, sondern mit einer ganzen Familie von Semantiken, nämlich einer Semantik J·Kb für jede Belegung b. Definition 1.7 (Semantik beliebiger Aussagen) Seien im folgenden φ, ψ ∈ A. Dann ist die semantische Abbildung J·Kb : A → {w, f } wie folgt induktiv definiert: 1. J>Kb = w 2. J⊥Kb = f 3. JpKb = b(p), wobei p ∈ V 15 1 Logik ( w 4. J¬φKb = f wenn JφKb = f wenn JφKb = w 5. . . . (vollkommen analog zu Definition 1.5) Es folgen einige interessante Bemerkungen zu einigen Junktoren, zusammen mit ein paar Beispielen. Zur Erinnerung an die Semantik der Operatoren präsentieren wir sie hier nochmal in ein wenig informellerer Schreibweise als sogenannte Wahrheitstafel. Die Negation (Symbol ¬ ) p ¬p 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. p ∨ q kann man darstellen als ¬(¬p ∧ ¬q). Das heisst, egal welche Belegung ich für p und q wähle, die beiden Ausdrücke haben immer den selben Wahrheitswert. Die Implikation (Wenn-Dann-Verknüpfung; Symbol: →) p W W F F q W F W F p→q W F W W Dieser Junktor repräsentiert die Grundidee jeglichens logischen Schließens: Eine Aussage folgt aus einer anderen!, oder mit Aussagenvariablen: q folgt aus p. Hierbei bezeichnen wir p als Prämisse oder Voraussetzung bzw. Hypothese und q als Folgerung bzw. Konklusion. Beachten Sie, dass also die Aussage, die gefolgert wird, rechts vom Junktor steht. Für den mathematisch Ungeübten gibt es hier jedoch die verwirrende Tatsache, dass obwohl dieser Junktor intuitiv soetwas bedeutet wie, wenn p wahr ist, dann ist auch q wahr, muss zwischen den Aussagen, für die p und q jeweils stehen, keinerlei sinnvoller Zusammenhang bestehen. Beispiel 1.10 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. 16 1 Logik 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 rülpsen.6 . Diese Tatsache können wir als eine Implikation verstehen: Wenn ein Mensch ein Mann ist, dann rülpst dieser Mensch . Dies ist eine Implikation über zwei Aussageformen: (Mensch x ist Mann) → (Mensch x rülpst). Erinnern Sie sich daran: wir glauben fest an diese Aussage7 . Nun nehmen wir einen Mann, nennen wir ihn Christian, und wir wollen beweisen, dass Christian rülpst. Wenn wir Christian in die Aussageform einsetzen, erhalten wir die Implikation Christian ist rülpst . | {z ein Mann} → Christian | {z } 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 Christian rülpst. 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, dann 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 erste Zeile in der Wahrheitstafel, die zum Junktor → gehört, Sinn ergibt. 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 rülpsen. Können wir 6 7 Falls Sie daran Zweifeln, ist das kein Problem. Tun Sie die nächsten Minuten einfach so als ob. 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 1.2 werden wir sehen, wie wir sowas dann doch zu einer korrekten Aussage hinbiegen. 17 1 Logik nun irgendetwas über Julias Verdauungstätigkeiten aussagen? Können wir also ebenfalls schließen, dass sie rülpst? Oder können wir vielleicht schließen, dass sie garantiert nicht rülpst? Tatsächlich sagt unsere Implikation nichts über Julia aus, da sie kein Mann ist. Also sollte unsere Semantik der Implikation ebenfalls keine Aussage über Julias Rülpsverhalten zulassen. Und tatsächlich ist das so! Nehmen wir an Julia rülpst tatsächlich. 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 nicht rülpst. 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!). Bemerkung 1.3 Ein wichtiger Merksatz der Logik ist: Aus Falschem kann man alles Beliebige folgern! Beispiel 1.11 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 kausalen Zusammenhang. Beim mathematischen „Wenn - Dann“ ist das nicht zwingend der Fall. Beispiel 1.12 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 p → q sind 18 1 Logik • p impliziert q • p ist hinreichend für q • p ist hinreichende Bedingung für q. • q ist notwendig für p. • q ist notwendige Bedingung für p. • p nur dann wenn q. • p dann wenn q. Wir sollten sie uns unbedingt merken, und auch genau verstehen, in welche Richtung die Implikation jeweils dabei geht. Verwechselungsgefahr besteht dabei oft bei den Ausdrücken notwendige und hinreichende Bedingung. Eine Bedingung p ist hinreichend für q, wenn das Erfülltsein von p stets garantiert, dass auch q erfüllt ist. Dabei ist p alleine dafür vollständig ausreichend, und nichts anderes ist mehr nötig. Beispiel 1.13 Ein Streichholz in eine Kerzenflamme zu halten ist hinreichend dafür, dass das Streichholz sich enflammt. Für ein und die selbe Bedingung q kann es jedoch mehrere hinreichende Bedingungen p geben. Beispiel 1.14 Ein Streichholz in einen brennenden Hochofen zu werfen ist ebenfalls hinreichend dafür, dass das Streichholz sich entzündet. Beispiel 1.15 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 vorhanden sein müssen, damit eine andere Bedinung ü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 nicht8 . 8 Eine Bedingung kann auch gleichzeitig notwendig und hinreichend sein. Dann genügt sie natürlich. Diesen Sachverhalt schreibt man logisch als Äquivalenz p ↔ q. 19 1 Logik Beispiel 1.16 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! 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 ein ist. Beispiel 1.17 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. Bemerkung 1.4 Wir bezeichnen die Aussage q → p als die Umkehrung der Aussage p → q, ¬p → ¬q als ihr Inverses und ¬q → ¬p als ihre Kontraposition. Die Äquivalenz („Genau - Dann - Wenn“ - Verknüpfung; Symbol: ↔) p F W F W q F F W W p↔q W F F W Bemerkung 1.5 Andere Bezeichnungen für p ↔ q: • p gilt dann und nur dann wenn q gilt 20 1 Logik • p ist hinreichend und notwendig für q • q ist hinreichend und notwendig für p • p gdw q (genau dann wenn) • p iff q (if and only if ) Beispiel 1.18 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 logisch richtig, da das Saarland nicht am Meer liegt, und auch 1 < 0 nicht gilt. Bemerkung 1.6 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 genausowenig. Dennoch sind beide Aussagen logisch äquivalent, da beide den selben Wahrheitswert haben. Das Problem, das man als NichtMathematiker mit solchen logischen Verknüpfungen hat, ist der, dass man meisst annimmt, dass Aussagen, die logisch äquivalent sind, irgendeinen inhaltlichen, oder kausalen Zusammenhang haben müssten. 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 Meeresspiegels9 Bemerkung 1.7 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 aussagenlogischem Ausdruck zusammen Sinn ergeben. Und doch können wir mit Ihnen arbeiten, sie umformen. Solange bis wir sie auf eine Form begracht 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! 9 Zumindest schiene bisher die globale Erwärmung die plausibleste Ursache. Vielleicht werden wir aber irgendwann entdecken, dass dies alles tatsächlich nur an 1 < 0 liegt. 21 1 Logik 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 falsch sind. Wenn wir Aussageformen haben, also Ausdrücke, die noch Aussagevariablen enthalten, dann sind sie in ihrer Bedeutung gleich, genau dann wenn sie für jede Belegung von Aussagevariablen den selben Wahrheitswert repräsentieren. Definition 1.8 (logische Gleichheit ≡) Zwei Aussagen φ und ψ aus A sind genau dann logisch gleich, geschrieben, φ ≡ ψ, wenn für alle Belegungen b ∈ B gilt, dass JφKb = JψKb . Erfüllbarkeit Ein Ausdruck heißt erfüllbar, wenn es eine Belegung b ∈ B gibt, so dass JφKb = w. Allgemeingültig - Tautologie Eine Ausdruck φ heißt allgemeingültig, tautologisch bzw. Tautologie, φ ≡ >, dass heisst, φ für alle Belegungen wahr ist. Unerfüllbar - Kontradiktion Ein Ausdruck heißt unerfüllbar, kontradiktorisch bzw. Kontradiktion, wenn φ ≡ ⊥. Beispiel 1.19 In Beispiel 1.1.10.5 haben wir: 1. ¬¬p ist erfüllbar. 2. p ∧ (q ∧ r) ist erfüllbar, und zwar nur für p = q = r = w. 3. ⊥ ist die einfachste Kontradiktion, und > die einfachste Tautologie. 4. p ∧ ¬p ist eine Kontradiktion. 5. p ∨ ¬p ist eine Tautologie. 6. p ∧ q → p ist eine Tautologie. 22 1 Logik 1.1.4 Gesetze der Aussagenlogik Satz 1.1 Seien φ, ψ und χ Ausdrücke im Aussagenkalkül. Dann gelten folgende Regeln bzw. Gesetze: Identität: • φ∧>≡φ • φ∨⊥≡φ Dominanz: • φ∨>≡> • φ∧⊥≡⊥ Idempotenz: • φ∧φ≡φ • φ∨φ≡φ Assoziativität: • φ ∧ (ψ ∧ χ) ≡ (φ ∧ ψ) ∧ χ • φ ∨ (ψ ∨ χ) ≡ (φ ∨ ψ) ∨ χ Damit auch:(φ ∧ ψ) ∧ χ ≡ φ ∧ ψ ∧ χ bzw. (φ ∨ ψ) ∨ χ ≡ φ ∨ ψ ∨ χ Kommutativität: • φ∨ψ ≡ψ∨φ • φ∧ψ ≡ψ∧φ • φ↔ψ≡ψ↔φ Distributivität: • φ ∧ (ψ ∨ χ) ≡ (φ ∧ ψ) ∨ (φ ∧ χ) • φ ∨ (ψ ∧ χ) ≡ (φ ∨ ψ) ∧ (φ ∨ χ) • φ → (ψ ∧ χ) ≡ (φ → ψ) ∧ (φ → χ) • φ → (ψ ∨ χ) ≡ (φ → ψ) ∨ (φ → χ) Negation: • ¬(φ ∧ ψ) ≡ ¬φ ∨ ¬ψ (Gesetz von de Morgan) • ¬(φ ∨ ψ) ≡ ¬φ ∧ ¬ψ (Gesetz von de Morgan) 23 1 Logik • ¬(¬φ) ≡ φ (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). Wir können nun leicht neue Regeln herleiten. Beispiel 1.20 a: Es gilt: ¬(φ → ψ) ≡ φ ∧ ¬ψ Beweis 1.1 ¬(φ → ψ) ≡ ¬(¬φ ∨ ψ) ≡ ¬(¬φ) ∧ ¬ψ) ≡ φ ∧ ¬ψ q.e.d b: Es gilt auch: ¬(φ ↔ ψ) ≡ (φ ∧ ¬ψ) ∨ (¬φ ∧ ψ) Beweis 1.2 ¬(φ ↔ ψ) ≡ ¬((φ → ψ) ∧ (ψ → φ)) ≡ ¬(φ → ψ) ∨ ¬(ψ → φ) ≡ ¬(¬φ ∨ ψ) ∨ (¬ψ ∨ φ) ≡ (φ ∧ ¬ψ) ∨ (ψ ∧ ¬φ) ≡ (φ ∧ ¬ψ) ∨ (¬φ ∧ ψ) q.e.d Aufgabe 1.2 Machen Sie sich zu jeder Umformung oben klar, welches Gesetz angwandt wurde. Wenn wir Beweise schreiben (vorallem, 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. 24 1 Logik 1.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 Junktoren zu neuen komplexeren Aussagen verknüpfen. Obwohl wir damit bereits interessantere 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. Mit der Prädikatenlogik lernen wir eine Erweiterung der Aussagenlogik kennen, bei der wir Aussagen, über ein und das selbe Objekt so zusammensetzen können, dass klar wird, dass es sich in jeder Teilaussage auch jeweils um das selbe Objekt handelt. Wir schaffen damit erstmals eine sinnvolle Verknüpfung zwischen Teilaussagen, so dass diese erst zusammen tatsächlich mehr aussagen als einzeln, und ihre Verknüpfung nicht mehr so willkürlich erscheint. Tatsächlich ist die Prädikatenlogik eine 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 nicht10 , 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. Beispiel 1.21 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“. Wir nennen solche Sätze mit “Loch” eine Aussageform. Sätze, wie wir sie im letzten Beispiel gesehen haben, werden in der Mathematik sehr häufig verwendet: 10 durch Ausprobieren aller möglichen Belegungen 25 1 Logik Definition 1.9 Ein Satz, der eine oder mehrere Variablen enthält und nach Einsetzen von konkreten Werten aus einer festgelegten Grundmenge, die Universum genannt wird, zu einer Aussage wird, nennt man eine Aussageform. 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 näturlichen, 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. 1.2.1 Syntax Definition 1.10 Die Menge aller prädikatenlogischen Aussagen P ist gegeben durch folgende Grammatik: P 3 φ, ψ ::=> | ⊥ | P (x1 , . . . , xk ) | ∀x : φ | ∃x : φ | ¬φ | φ ∧ ψ | φ ∨ ψ | φ ⊕ ψ | φ → ψ | ψ ↔ φ Die Aussagenvariablen p der Aussagenlogik sind nun verschwunden. Stattdessen finden wir unter anderem die neue Phrase P (x1 , . . . , xn ) vor. Dies ist die sogenannte Aussagenform. Sie besteht aus zwei Teilen, dem Prädikt P , und den Individuenvariablen x1 bis xn . Ein Prädikat kann beliebig viele Indiviudenvariablen besitzen, was wir durch die Punktschreibweise verdeutlichen. Wir wollen uns bald anschauen, was ein Prädikat formal genau ist. Merken wir uns aber soweit nur, dass ein Prädikat im Prinzip nichts anderes ist als ein Satz mit Löchern x1 bis xn , den man durch Auffüllen der Löcher (Individuenvariablen) mit Werten aus dem Universum zu einer Aussage machen kann. Dafür verwendet man auch die folgende Notation: P : x > 0 bzw. P (x) := x > 0. Dabei ist x im Universum enthalten. Beispiel 1.22 Möchten wir von einer beliebigen Menge an Städten fragen, ob sie im Saarland liegen oder nicht, so können wir diese mit Hilfe einer Aussageform tun. Sei so zum Beispiel unser Universum U = {Saarbücken, Hanoi} und das dazugehörige Prädikat L(s) := Die Stadt s liegt im Saarland. Dann ist L(Saarbrücken) eine wahre Aussage und L(Hanoi) eine falsche Aussage. Die anderen beiden neuen Phrasen sind ∀x : φ und ∃x : φ. Diese erlauben uns, Aussageformen zu Aussagen zu machen. Dabei unterscheiden wir die folgenden beiden Arten: 1. Eine bestimmte Eigenschaft wird von allen Objekten des Universums erfüllt. (∀) 26 1 Logik 2. Eine bestimmte Eigenschaft wird von mindestens einem Objekten des Universums erfüllt. (∃) 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. 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 11 . Betrachten wir doch nun doch einmal als Universum die Menge aller Vorkursteilnehmer. Sei unser Prädikat P (x) := x studiert an der Universität des Saarlandes. Dann sind die Aussagen ∀x : P (x) und ∃x : P (x) wahr, wohingegen die Aussagen ∀x : ¬P (x) und ∃x : ¬P (x) falsch sind. Das heißt alle Teilnehmer des Vorkurses studieren an der Universität des Saarlandes, inbesondere gibt es also auch mindestens einen, der hier studiert. Gleichzeitig studieren aber nicht nur nicht alle Teilnehmer nicht hier, sondern kein Teilnehmer wird nicht an der Universität des Saarlandes studieren. 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 Prädikate. Beispiel 1.23 Betrachten wir das Prädikat 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ädikte 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 1.24 Sei erneut Q(x, y) := x liebt y. 1. ∀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 nicht, wenn wir die Quantoren, oder die Variablen vertauschen. Die Aussage bleibt genau die gleiche, wenn wir schreiben ∀y∀x : Q(x, y). 11 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. 27 1 Logik 2. ∃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. 3. ∀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 Nachbarns 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. 4. ∃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). 5. ∀y∃x : Q(x, y). Im Verhältnis zu Beispiel 3 haben wir nun nicht die Quantoren getauscht, sondern die Variablen. Diese Aussage sagt nun, dass jeder Mensch von einem (anderen) Menschen geliebt wird. Das ist eine komplett neue Aussage, die wir bisher noch nicht hatten. 6. ∃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. 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. 1.2.2 Semantik Die Semantik der Prädikatenlogik bleibt bei den uns bereits aus der Aussagenlogik bekannten Junktoren (∧, ∨, . . . ) und Konstanten (>, ⊥). Wir werden im Folgenden sehen, dass eine vollständig formale Definition der Semantik prädikatenlogischer Formeln nicht so einfach ist, wie bei der Aussagenlogik. Dennoch ist es möglich, eine formale Semantik 28 1 Logik zu definieren. Ohne ein Mehrwissen über mathematische Strukturen ist dies jedoch kaum möglich, und würde uns hier nur unnötig verwirren. In Programmierung 1 werden wir das Konzept kaskadierter Funktionen kennenlernen. Diese bieten uns eine gute Grundlage, die Semantik der Prädikatenlogik aufzuschreiben. Bis dahin werden wir aber mit einer guten Portion Intution Vorlieb nehmen müssen, was genau prädiktenlogische Formel bedeuten. Einige grundlegende, und sehr wichtige Bestandteile der Semantik wollen wir jedoch dennoch erklären. Definition 1.11 Ein Prädikat P ist eine Funktion der Form U × · · · × U → {w, f } von der Grundmenge U in die Menge der Wahrheitswerte {w, f }. 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 disjunkte 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. Für das zuvor in Beispiel 1.22 definierte Prädikat L ist Uf = {Hanoi} und Uw = {Saarbrücken}. Beispiel 1.25 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 Menge 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 Prädikatsymbol 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 bestimme Funktion stehen sollen. Daher schreiben wir Aussagenformen meistens nicht als P (x), sondern viel konkreter, z.B. direkt als x > 0, 29 1 Logik wenn wir mit P die Funktion ( w; (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 1.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). 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 andere Mathematiker entfern. 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 jedesmal 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. 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. 30 1 Logik 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. Beispiel 1.26 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! Beispiel 1.27 Betrachten wir den Ausdruck (∀x : P (x)) ∧ (∀x : Q(x)). In diesem Ausdruck treten zwei verschiedene Variablen auf, die jedoch den selben 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. Wir definieren nun rekursiv, wann ein benutzendes Aufteten einer Variable an welchen Quantor gebunden ist. Definition 1.12 (Bindungen) • Die benutzende Auftreten aller Individuenvariablen in einer Aussagenform P (x1 , . . . , xn ) sind ungebunden. • Im Ausdruck ∀x : φ werden alle ungebunden benutzenden Auftreten der Variable x im Ausdruck φ an ∀x : gebunden. • Im Ausdruck ∃x : φ werden alle ungebunden 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 Junktoren. 31 1 Logik Wir sagen eine Variable x ist gebunden, wenn alle ihre benutzenden Auftreten gebunden sind12 . Beispiel 1.28 Seien P (x) und Q(x, y) zwei beliebige Prädikate. 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 ein Prädikat nicht quantifiziert sein kann, obwohl ein Quantor davor steht. Aber nicht nur, wenn die Variablen sich unterscheiden, kann ein Prädikat nicht vollständig quantifiziert sein. Betrachten wir hierzu doch einmal das folgende Beispiel: Beispiel 1.29 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)) Den Teil eines prädikatenlogischen Ausdrucks, auf den sich ein Quantor bezieht, nennt man seinen Gültigkeitsbereich bzw. seinen Skopus. Es ist der längst mögliche sinnvolle Ausdruck nach dem Doppelpunkt. Beispiel 1.30 1. 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. 2. Im Satz (∀x ∈ N : x > 0) ∧ (x < 10) ist der Gültigkeitsbereich von ∀ das Prädikat x > 0. Wir erkennen dies daran, da der Ausdruck x > 0), und alles was danach kommt, 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. 12 man mache sich klar, dass diese alle an ein und den selben Quantor gebunden sein müssen. 32 1 Logik 3. Im Satz ∀x ∈ N : x ≤ 0 ∧ ∃x ∈ N : x < 10 ist der Gültigkeitsbereich des Allquantors der gesamte Teilausdruck nach dem Doppelpunkt. Dennoch wird nur die Variable x in x ≤ 0 von diesem Quantor gebunden, da der Existenzquantors eine Variable mit dem selben Namen definiert, und daher das Auftreten von x in x < 10 bereits gebunden ist. 4. 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. 1.2.3 Logische Äquivalenz von Prädikaten 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 1.13 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. Zwei logisch äquivalente 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. 1.2.4 Notation 1. ∀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. 2. Der Doppelpunkt nach definierenden Variablenauftreten kann weggelassen werden. 3. 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) 33 1 Logik • ∃Q(x) : P (x) ≡ ∃x : Q(x) ∧ P (x) In der Tat schreib man manchmal auch komplexere Prädikate noch vor den Doppelpunkt. So schreibt man z.B. ∀x ∈ N, x > 1 : ∃y ∈ N, y 6= 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 6= x ∧ y|x)). Wir sehen, dass die erste, weniger fomale 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. 1.2.5 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 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. 34 1 Logik 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 nochmal 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 alleV∧-Zeichen zu ∨-ZeichenWverkehren und die einzelnen Aussagen negiert werden, aus ¬ x ∈ U : P (x) wird also x∈U : ¬P (x), und damit gilt ¬(p ∧ q) ≡ ¬p ∨ ¬q. Man beachte, dass dies nur 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 1.31 Betrachten wir doch einmal die folgende Aussage: (∀ > 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 | ≤ > 0 Wichtige Implikationsgesetze Für ein Universum U und die Prädikate A(x), B(x), P (x, y) gelten folgende logischen Implikationen: 1. (∀x ∈ U : A(x)) → (∃x ∈ U : A(x)) 2. (∃x ∈ U : A(x) ∧ B(x)) → (∃x ∈ U : A(x)) ∧ (∃x ∈ U : B(x)) 3. (∀x ∈ U : A(x)) ∨ (∀x ∈ U : B(x)) → ∀x ∈ u : A(x) ∨ B(x) 35 1 Logik 4. (∀x ∈ U : A(x) → B(x)) → (∀x ∈ U : A(x)) → (∀x ∈ U : B(x)) 5. (∃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 1.32 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 passieren könnte, doch wir möchten festhalten, dass die Aussage falsch ist. Aufgabe 1.3 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 Äquivalenzen Nachdem wir nun einige Implikationen gesehen haben, die wir nicht umkehren dürfen, kommen wir zum Abschluss der Prädikatenlogik noch zu einigen Äquivalenzen. 1. ∃x ∈ U ∃y ∈ U : P (x, y) ≡ ∃y ∈ U ∃x ∈ U : P (x, y) 2. ∀x ∈ U ∀y ∈ N y ∈ U : P (x, y) ≡ ∀y ∈ U ∀x ∈ U : P (x, y) 3. ∃x ∈ U : (A(x) ∨ B(x)) ≡ (∃x ∈ U : A(x)) ∨ ∃x ∈ U : B(x)) 4. ∀x ∈ U : (A(x) ∧ B(x)) ≡ (∀x ∈ U : A(x)) ∧ (∀x ∈ U : B(x)) 1.3 Argumentieren und Beweisen Behauptungen 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. 36 1 Logik Doch Beweisen ist nicht nur Kreativität. Es ist vor allem auch ein Handwerk. So wie ein Schmid in frührer Zeit nur dann ein mächtiges Schwert schaffen konnte, wenn er den sicheren Umgang mit Feuer, Hammer und Amboss beherrschte, so kann auch nur derjenigen, einen korrekten, und damit vertrauenswürdigen Beweis finden, der die grundlegenden Regeln des Beweisens versteht. In diesem Abschnitt wollen wir daher unser Rüstzeug für unser Abenteuer durch die Mathematik und ihre Beweise schnüren, um für viele spannende Probleme und Erkenntnisse gewappnet zu sein (und natürlich nicht zuletzt für anstehende Klausuren). Zunächst wollen wir einmal klären, was genau, aus der Sicht des Beweisenden die Begriffe Satz und Beweis (und noch einige mehr), genau bedeuten. 1.3.1 “Definition, Satz, Beweis” – Begrifflichkeiten 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. Beispiel 1.33 • 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. Das Symbol := verwendet man übrigens gerne, um neue Symbole zu definieren. Im Prinzip ist es ein normales Gleichheitszeichen; der Doppelpunkt davor soll klarmachen, dass wir diese Gleichheit neu einführen und nichts ist, was aus Bekannten ableitbar wäre. Wir verwenden := nur bei Definitionen, nicht innerhalb von Sätzen oder Beweisen. • Sei p ↔ q := p → q ∧ q → p. Hier definieren wir den Junktor ↔ 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. Wir könnten es jedoch als einen Satz aufschreiben. Da müssten wir dann jedoch schreiben p ↔ q ≡ p → q ∧ q → p. Mehr zu Sätzen im Folgenden. Ein Satz, auch Theorem genannt, ist eine (prädikatenlogische)13 Aussage, die wahr ist, und zwar bewiesen war. Solange wir sie nicht bewiesen haben, ist sie nur eine Behauptung. Eine Behauptung zusammen mit einem Beweis für die Behauptung nennen wir also Satz. 13 wir sollten hier nicht zu streng sein. Es gibt z.B. auch Sätze über Prädikatenlogik. Diese können naturgemäß nicht sinnvoll in Prädikatenlogik selbst geschrieben sein. Wann immer möglich verwenden wir jedoch die Prädikatenlogik als Sprache, um Aussagen zu formulieren, um ihnen eine einheitliche und klare Bedeutung zu geben. 37 1 Logik Beispiel 1.34 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 umzuformen14 . In Prädikatenlogik würde der Satz dann wie folgt aussehen: ∀n ∈ N : (∃k ∈ N : n = 2k) → (∃k 0 ∈ N : n2 = 2k 0 ). Manchmal lassen wir Allquantoren in Sätzen weg, um den Ausdruck leichter lesbar zu machen. Alle ungebundenen Individuenvariablen eines Satzen sind jedoch eigentlich allquantifiziert. Wenn wir beweisen, müssen wir uns dies immer bewusstmachen, und am besten auch wiederum so aufschreiben. 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 einem Thema, richtig wichtig ist. Eine Lemma ist dagegen eine bewiesene Behauptung, die wir benötigen, um einen Satz zu beweisen. 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 15 , sind jedoch sehr bekannt und wichtig in der Mathematik geworden. Ein Korollar ist eine Behauptung, die sehr einfach aus einem Satz folgt. Oft ist es ein Spezialfall eines Satzes. Beispiel 1.35 Das Quadrat der Zahl 4 ist gerade. Dies wäre ein (extrem unattraktives) Korollar zum Satz aus Bsp. 1.34. Der Beweis folgt geradezu offensichtlich aus dem Satz.16 Nun zum Beweis. Ein Beweis ist eine Folge von logisch korrekten Schlussfolgerungen, 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 solange 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 kann. Wir verwenden daher im Beweis einige Hilfmittel, um uns das Leben leichter zu machen. 14 wir meinen: es jedem halbwegs geübten Mathematiker gelingt. Wir müssen das noch üben! hier geht es nicht um Aggressionstherapie, der gute Mann der’s gefunden hat, hieß so. 16 Stopp! 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. 15 38 1 Logik Werkzeuge des Beweisens Beim logischen Schließen, sprich dem Beweisen, wird mittels logischer Implikationen aus Ausdrücken, die bereits als wahr angenommen werden (können), die Gültigkeit eines neuen Ausdrucks gefolgert. Die bekannten Aussagen nennen wir die Voraussetzung, die sogenannten Prämissen, und die Folgerung bezeichnen wir als die Konklusion. Diese logischen Implikationen nennen wir auch (logische) (Schluss-)Regeln. Logische Schlussregeln, sowie ihre Verwendung im Beweis, kennzeichnen wir gerne durch den Doppelpfeil ⇒. Beispiel 1.36 Eine einfache, aber sehr wichtige Schlussregel ist der sogenannte modus ponens17 . Diese Regel besagt, dass wenn wir wissen, dass eine Aussage p gilt, und ebenso die Implikation p → q gilt, dann können wir folgern, dass auch q an sich gilt. Als Regel schreiben wir das mit Hilfe von ⇒ dann als p ∧ (p → q) ⇒ q. Eine (etwas künstliche) Anwendung wäre es z.B. zu schliessen, dass “die Vorlesung einfach spitze ist” (q), weil wir wissen, dass “wann immer Christian die Vorlesung hält, diese spitze ist” (p → q) und “Christian die Vorlesung hält” (p). Wir würden in diesem Minibeweis dann schreiben: (Christian hält die Vorlesung) und (wann immer Christian die Vorlesung hält, ist diese spitze) ⇒ die Vorlesung ist spitze. Jede Schlussregel die wir anwenden, muss gültig bezüglich der Logik sein (d.h. bzgl. Aussagen- bzw. Prädikatenlogik). Um dies sicherzustellen, müssen wir die Schlussregel als logische Formel schreiben, und zeigen, dass diese Formal eine Tautologie ist. Dies können wir dann entweder durch Anwendung der uns bekannten Gesetze tun, oder durch Anwendung der Semantik der Formel, z.B. durch Angabe einer Wahrheitstafel. Um aus einer Schlussregel eine logische Formel zu erhalten, ersetzen wir ⇒ einfach durch →.18 Beispiel 1.37 Modus ponens ist eine gültige Schlussregeln. Um dies sicherzustellen, ersetzen wir ⇒ durch → und erhalten p ∧ (p → q) → q. Mit Hilfe einiger Umformungen sehen wir, dass diese Aussage tatsächlich eine Tautologie ist, also logisch äquivalent zu >. Wenn eine Schlussregel in beide Richtungen gilt, d.h. wenn sowohl φ ⇒ ψ als auch ψ ⇒ φ eine gültige Schlussregel ist, dann schreiben wir auch φ ⇔ ψ. 17 18 eine Übersicht über alle Regeln folgt später. Dies funktioniert leider nicht so ganz bei manchen Schlussregeln der Prädiktenlogik, da wir dort deutsche Sprache verwenden müssen, um einige Schlussregeln aufzuschreiben. Dass diese gültig sind sieht man jedoch direkt durch betrachten der Semantik der Prädikatenlogik, was ebenso ausreichend ist. 39 1 Logik 1.3.2 Schlussregelsammlung Wenn wir beweisen, dann folgern wir ständig neues aus altem. Wir zeigen neues Behauptungen, indem wir sie aus bereits bewiesenen Behauptungen (Sätze) ableiten. Wir dürfen jedoch nicht beliebige Schlüsse ziehen. Ein Schluss, der uns in der normalen Welt ab und zu begegnet, ist z.B. der folgende: “Wenn wir wissen, dass alle Männer Angst vor Mäusen haben, dann hat meine Nachbarin keine Angst vor Mäusen.” Wir haben hier aus dem Satz: “Jeder Person x die ein Mann ist, hat auch Angst vor Mäusen”, und der Tatsache, dass “meine Nachbarin kein Mann ist” geschlossen, dass “meine Nachbarin keine Angst vor Mäusen hat”. Stellen wir das ganze einmal als logische Aussage dar. Sei M : M enschen → {w, f } ein Prädikat, das für einen Menschen x genau dann wahr ist, wenn x ein Mann ist. Sei A das Prädikat, das genau dann wahr ist, wenn x Angst vor Mäusen hat. Unser “logisches” Argument lautet dann: (∀x ∈ M enschen : M (x) → A(x)) ∧ ¬M (N achbarin) ⇒ ¬A(N achbarin) Die Frage ist nun, ist dies ein korrekter Schluss? Nur die Gesetze der Logik, die wir bisher kennengelernt haben, können uns eine zuverlässige Antwort geben. Um zu überprüfen, ob dieser Schluss korrekt ist, brauchen wir noch ein wenig mehr Wissen über einfachere Schlussregeln. Wir können mit diesen dann sehr leicht feststellen, dass obiger Schluss tatsächlich absolut falsch ist. Wenn wir auf diese Weise versuchen, einen Satz zu beweisen, dann geht das für uns immer übel aus. Wir beginnen mit ein paar einfachen Schlussregeln für quantifizierte Aussagen. Diese werden wir ständig benötigen, da quasi alle mathematischen Behauptungen Quantoren enthalten. Selbst unser Beispiel mit der Nachbarin enthält eine Teilaussage mit Quantoren. Schlussregeln bei quantifizierten Aussagen ∀ - Instantiierung Verwendung: Hast du einen Satz vor dir, der etwas für alle x ∈ U zeigt (mit Hilfe eines ∀-Quantors), dann benutzt man diese Regeln, um den Satz auf ein ganz konkretes Objekt c aus U anzuwenden. Allgemein lässt sich die Regel wie folgt beschreiben: Gelte P (x) für alle Elemente x im Universum U und sei c ein ganz konkretes Element in U , dann gilt auch P (c). Wir benötigen diese Regel, um einen bereits bewiesenen Satz, der eine Aussage über alle Elemente einer Menge macht, auf ein ganz spezielles Element der Menge anzuwenden. In unserem Beispiel oben würden wir dies nutzen, um aus dem Satz (∀x ∈ M enschen : M (x) → A(x)) eine konkrete Aussage über unsere Nachbarin zu machen, die selbst auch ein Mensch ist. Diese Aussage hieße dann: M (N achbarin) → A(N achbarin). Wir haben 40 1 Logik dabei das ∀-quantifizierte x durch das konkrete Objekt N achbarin ersetzt (und den ∀-Quantor dabei natürlich weggeworfen). Diese Regel dient also nicht direkt dazu, eine ∀-quantifizierte zu beweisen, sondern einen existierenden Satz innerhalb eines Beweises zu verwenden. Beispiel 1.38 Sei der Satz “∀x ∈ N : gerade(x) → gerade(x2 )” gegeben (und bewiesen). Wir wollen nun zeigen, dass 42 gerade ist, mit dem Wissen, dass 4 gerade ist. 4 ist also nun ein konkrete Wert aus dem Universum N. Wir benutzen die Schlussregeln, um den Satz für 4 nutzbar zu machen, und erhalten damit die Aussage: gerade(4) → gerade(42 ). Da wir nun auch Wissen, dass 4 gerade ist, können wir mit modus ponens (eine weitere Schlussregeln, die wir eingangs besprochen haben) folgern, dass in der Tat 42 gerade ist. ∃ - Instantiierung Verwendung: Hast du einen Satz vor dir, der besagt, dass es ein Element x ∈ U gibt, dass eine bestimmte Eigenschaft erfüllt, dann darf man diesem Element einen Namen geben (z.B. x, oder auch v, wie man will), und ab sofort damit arbeiten. Allgemein lässt sich die Regel wie folgt beschreiben: Gelte ∃x ∈ U : P (x), so gilt, es gibt ein spezielles (und festes) Element c ∈ U , so dass P(c) gilt. Wichtig dabei ist, dass, anders als bei der ∀-Instantiierung, wir jetzt uns nicht aussuchen dürfen, welches konkrete Element aus U wir verwenden möchten, da ein Satz, der nur sagt, ∃x : P (x) uns ja nicht verrät, wie dieses x genau aussieht, sondern nur, dass es so eines gibt. Beispiel 1.39 Gegeben folgender Satz: ∀n ∈ N∃x ∈ N : n · x = 0. Dieser Satz sagt, dass man zu jeder natürlichen Zahl n eine andere natürliche Zahl x finden kann, so dass n·x = 0 gilt. Durch unser Schulwissen, und eine gute Intution wissen wir vielleicht bereits, dass dieses x, von dem hier die Rede ist, nur die Zahl 0 sein kann. Aber der Satz selbst gibt das nicht her! Streng nach diesem Satz kann es also sein, dass es noch andere Zahlen gibt, für die das gilt. Und tatsächlich hat uns hier unsere Intuition wiedereinmal getäuscht! Was kann hier passieren: Nehmen wir an, wir brauchen die Eigenschaft, dass es zur Zahl 0 eine weitere Zahl x gibt, so dass 0·x = 0 gilt. Um den Satz jetzt anzuwenden, müssen wir zuerst mit der ∀-Instantiierung aus dem Satz folgende Aussage logisch ableiten: ∃x ∈ N N : 0 · x = 019 . Nun wenden wir die Regel ∃-Instantiierung an, und bekommen das folgende: 0 · c = 0 für ein bestimmtes, uns aber nicht näher bekanntes c ∈ N. Wenn wir dieses c nun im Laufen eines größeren Beweises benutzen würden, dass dürfen wir nicht annehmen, dass c = 0 gilt. Denn c könnte jetzt jede andere beliebige Zahl sein, die 0 · c = 0 erfüllt. Und das ist in diesem Fall wahr für jede natürliche Zahl. 19 Um den logischen Schluss hier klar zu machen, können wir schreiben: ∀n ∈ N∃x ∈ N : n · x = 0 ∃x ∈ N : n · x = 0 41 ∀−Inst. ⇒ 1 Logik Bemerkung 1.9 Existenzaussagen, also Sätze, die einen Existenzquantor enthalten, sind nicht konstruktiv. Das bedeutet, man weiss nur, dass es ein bestimmtes Objekt, das der Satz beschreibt, geben muss, aber niemand weiss, wie dieses Objekt aussieht. Manchmal ist es prinzipiell nicht möglich dieses Objekt überhaupt konkret zu bestimmen, auch nicht mit anderem Wissen als dem, was der Satz hergibt. ∀ - Generalisierung: Verwendung: Du hast eine Behauptung, die bewiesen werden soll. In dieser Aussage kommt ein ∀-Quantor vor. Dann zeige die Aussage für jedes beliebige (also alle, nicht nur die von dir ausgesuchten) Elemente x ∈ U . Dann kannst du daraus schliessen, dass es auch für alle x ∈ U gilt, wie es der Satz verlangt. Allgemein lässt sich die Regel wie folgt beschreiben: Gelte P(c) für ein vollständig allgemein gewähltes Element c ∈ U , dann gilt auch die Aussage ∀x ∈ U : P (x): Wichtig ist bei Anwendung dieser Regel, dass wir keinerlei absichtliche oder unabsichtliche Annahmen über das Element machen, dass wir auswählen. Denn nur so ist natürlich gewährleistet, dass die Aussage, die wir für dieses eine Element gezeigt haben, für alle andere ebenso gilt. Die Verwendung dieser Regel ist schon so offensichtlich, oder gar aus der Schule bekannt, dass man meist automatisch das richtige tut, ohne die Regel zu kennen. Beispiel 1.40 Wir wollen zeigen, dass gilt: ∀n ∈ N : n gerade → n2 gerade. Dann sagen wir normalerweise: wir zeigen n gerade → n2 gerade für ein allgemeines n ∈ N, und damit folgt die Aussage für alle n ∈ N. Und dabei tun wir nichts anderes, als die Schlussregel ∀Generalisierung anzuwenden. TODO::Hier fehlt noch viel dazwischen!::ODOT Definition 1.14 (Teilbarkeitsrelation) Die Teilbarkeitsrelation | ⊆ N × N ist definiert als | = {(a, b) | ∃k ∈ N : b = k · a} Satz 1.2 Die Teilbarkeitsrelation natürlicher Zahlen a|b, sprich a teilt b ist eine partielle Ordnung auf der Menge N. Beweis 1.3 Wir beginnen damit, die Behauptung schrittweise so aufzulösen, dass die verwendeten Begriffe in ihrer Definition dastehen, und wir damit genau wissen, was zu zeigen ist. z.z.: | ist reflexiv, transitiv und antisymmetrisch. Wir gehen Schrittweise vor, und zeigen Reflexivität, Transitivität und Antisymmetrie je einzeln. | reflexiv: Formal ist zu zeigen: 42 1 Logik ∀n ∈ N : n|n. Wir haben also nichts anderes getan, als die prädikatenlogische Definition von reflexiv zu nehmen, und auf | anzuwenden. Jetzt wissen wir also, was ganz genau hier zu zeigen ist. Sei v ∈ N beliebig.Wir bereiten hier die Verwendung der Schlussregel ∀-Generalisierung vor, indem wir den Satz mit einem festen, aber beliebigen v ∈ N zeigen. Nach der Definition von | gilt v|v genau dann, wenn ∃k ∈ N : v = k · v. Wir verwenden die Definition von | um wieder genauer zu wissen, was eigentlich zu zeigen ist. Wähle k = 1. Damit gilt v = 1 · v. Wir wenden hier die Schlussregeln ∃-Generalisierung an, indem wir zeigen, es gibt ein k, nämlich k = 1, dass die ∃-quantifizierte Aussage erfüllt. Wir machen dem Leser klar, dass wir die Regel ∃-Generalisierung anwenden, indem wir schreiben: Wähle k = 1. Das genügt. Der durchschnittliche Bremser kennt das Wort ∃-Generalisierung nicht, weiss aber, das man dies hier tun muss. Nur diese fiese Wort würde Ihn sehr verwirren. Da wir v beliebig aus N gewählt haben, gilt ∀n ∈ N : n|N . Wir machen dem Leser klar, dass wir hier also mit Hilfe der ∀-Generalisierung aus unserem Argument für v auf die ∀-quantifizierte Formel schließen dürfen . Also ist | reflexiv.Wir sagen: Der Teil-Beweis ist (unserer Meinung nach) fertig. Sowas wie q.e.d. in Worten, jedoch nur für den Teilbeweis. | transitiv: Formal zu zeigen ist: ∀n, m, l ∈ N : n|m ∧ m|l → n|l. Sei n, m, l ∈ N beliebig. Bisher läuft alles so wie oben im Teil für die Reflexivität auch. Als einzige (nicht essentielle) Variation verwenden wir bei unsere Wahl für die konkreten Werte aus N, mit denen wir nun die ∀-Generalisierung vorbereiten, die selben Symbole wie die, über die zuvor quantifiziert wurde, nämlich n, m, l. Beim Beweis der Refelxivität haben wir das n, über das quantifiziert wurde, noch durch ein v ∈ N konkretisiert, also einen neuen Buchstaben, ein neues Symbol gewählt. Das ist didaktisch sehr sinnvoll, leider macht das fast niemand. Wir sind uns im folgenden jedoch bewusst, dass n, m, l innerhalb der Prädikatenlogischen Formel eben noch Individuenvariablen waren, und wir nun die selben Buchstaben benutzen, um sie als Metavariablen für konkrete (uns aber nicht genau bekannte) Zahlen aus N zu verwenden. Nach der Definition von | gilt somit: ∃k1 ∈ N : m = k1 · n und ∃k2 ∈ N : l = k2 · m. wir haben nun die Prämisse (also das links von →) mit Hilfe der Definition von | umgeschrieben. Damit gilt auch ∃k ∈ N : l = k · n wie folgt:Wir zeigen nun, wie daraus die Konklusion (das rechts von →) folgt. Damit zeigen wir, dass die Implikation insgesamt gilt.. Wähle k = k2 · k1 .Wir können die ∃Aussage zeigen, indem wir ein konkretes k aus bereits bekannten Zahlen konstruieren, dass l = k · n zeigt. Wir wenden also hier die Schlussregeln ∃-Generalisierung an. Damit k=k ·k Ass. von · Annahme Annahme k · n =2 1 k2 · k1 · n = k2 · (k1 · n) = k2 · n = l.Wir begründen jeden Umformungsschritt. Entweder direkt über dem Gleichheitszeichen (was hier sehr hässlich wird, oder neben jeder Umformung am Rande des Blattes. Da wir den Beweis für beliebige n, m, l gezeigt haben, gilt auch ∀n, m, l : n|m ∧ m|l → n|l. Damit haben wir die Behauptung, dass | transitiv ist, bewiesen. | antisymmetrisch: Formal zu zeigen ist: ∀n, m ∈ N N : n|m ∧ m|n → m = n. Beweis durch Kontraposition.Mal was anderes! Wir zeigen also äquivalenterweise: ∀n, m ∈ N : 43 1 Logik m 6= n → n 6 |m∨m 6 |n.Achtung: Kontrapositionsbeweisen sind keine Widerspruchsbeweise. Wir nutzen nur eine äuqivalente Darstellung der Implikationsaussage, um leichter damit arbeiten zu können. k Damit der Bremser das auch weiss, schreiben wir zur Sicherheit hinzu, was wir vorhaben zu tun, nämlich die Kontraposition zu zeigen, und dass das ganze äquivalent zur ursprünglichen Aussage ist. Sei n, m ∈ N beliebig, mit n 6= m.Auch hier wieder eine Anwendung der ∀-Generalisierung. Nix mit einem konkreten Gegenbeispiel wie 2 und 4. Das geht nicht! n und m müssen allgemein sein. Die Implikation nach dem Doppelpunkt in der ∀-Aussage erlaubt uns jedoch, direkt die Prämisse, also n 6= m als Eigenschaft von n und m zu fordern. Damit muss gelten n > m oder m > n.Offensichtliches Schulwissen wird hier angewand. Eigentlich ist es gar nicht so offensichtlich, was wir hier tun, da wir von Ungleichheit zweier Zahlen darauf schliessen, dass die beiden Zahlen n und m geordnet sind, entweder in die eine, oder die andere Richtung. Dies können wir nur, weil wir bereits wissen, dass die Relation ≤ auf N eine totale Ordnungsrelation ist, und damit n 6= m auch n > m oder m < n impliziert. Bei natürlichen Zahlen scheint uns das alles sehr offensichtlich. Wenn wir es jedoch irgendwann mit komplizierteren Strukturen zu tun haben, dann müssen wir diesen scheinbar einfachen Schluss genau betrachten und evtl. als Zwischenschritt (als Lemma) beweisen. Sei o.B.d.A n > m. heisst: ohne Beschränkung der Allgemeinheit. Das will sagen. Wir haben hier eingentlich zwei Fälle zu unterscheiden, nämlich m > n und n > m. Da wir aber über n und m keinerlei Annahmen gemacht haben, die die beiden Zahlen unterscheiden würden, ist es egal, ob wir mit m > n oder n > m weiterarbeiten, beide Fälle gehen genau gleich. Wir wählen daher nur einen der beiden aus. Achtung: wenn es nicht ganz, ganz klar ist, dass beide Fälle wirklich genau gleich gehen, dann kein o.B.d.A. machen, sondern beide getrennt betrachten! Aus Schulwissen folgt, dass dann n|m ∈ N nicht gelten kann. Damit ist n|m ≡ ⊥ und damit ist n 6 |m ∨ m 6 |n wahr. Damit ist die Kontraposition bewiesen. Da wir n und m beliebig gewählt haben, gilt auch ∀n, m ∈ N : n 6= m → n 6 |m ∨ m 6 |n. Also ist | auch antisymmetrisch.Und wir sind fertig!!!! Ab dem Teil, wo wir anfingen, über Schulwissen zu reden, hat der Beweis ein wenig an Präzision verloren. Wir können ihn tatsächlich besser machen, ganz ohne uns auf (Pseudo?-)Schulwissen zubeziehen. Das wollen wir nun tun: Alternativer Beweis der Kontraposition ∀n, m ∈ N : m 6= n → n 6 |m ∨ m 6 |n: Sei n, m ∈ N beliebig, mit n 6= m. Dann ist zu zeigen, dass n 6 |m oder m 6 |n. Beweis durch Fallunterscheidung:Fallunterscheidung bedeutet, wir überlegen uns, was für eine beliebige Wahl von n und m, unter der Annahme n 6= m alles passieren kann. Wichtig ist dabei, dass wir wirklich alles bedenkten, und nicht irgendwelchen Fälle übersehen. Es gibt dann vier Fälle: 1. n 6 |m und m 6 |n 2. n 6 |m und m|n 44 1 Logik 3. n|m und m 6 |n 4. n|m und m|n In den ersten drei Fällen ist nichts zu zeigen, da dann direkt (n 6 |m) ∨ (m 6 |n) erfüllt ist. Betrachten wir den letzten Fall, dass n|m und m|n. Wenn n|m dann gilt nach Definition von |, dass ∃k ∈ N : m = k · n. Damit ist aber auch n = k1 · m. Wir benutzen nun eine einfach zu zeigende Tatsache der Zahlentheorie: Wenn x · b = y · b für b > 0, x, y ∈ R, dann ist x = y. Damit ist klar, dass k1 ∈ N gelten muss, falls m|n gilt, da es wegen unseres Satzes aus der Zahlentheorie keine Zahl k 0 6= k1 geben kann, so dass n = k 0 · m. Aber k1 ∈ N gilt nur, wenn k = 1, und damit k1 = 1. Dies impliziert aber n = 1 · m = m, also n = m, was ein Widerspruch zu unserer Annahme ist, dass n 6= m. Damit kann der vierte Fall nicht auftreten, und alles ist gezeigt. q.e.d 45 2 Mengen Eine Menge1 ist eine Zusammenfassung bestimmter, wohlunterschiedener 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. Beispiel 2.1 {1, a, 2, ∅} ist eine Menge mit den Elementen 1, 3, a und ∅, welches selbst eine Menge ist (die leere Menge). Ein grundlegend Konzept von Menge ist es, 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 einzigen 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, aber nur Objekt das 10 ist. Daher gibt es auch keinen Sinn, ein solches Objekt mehrmals in eine Menge tun zu wollen. 2.1 Schreibweisen von Mengen Wir verwenden zwei Schreibweisen für Mengen. Die Schreibweise, die meistens für Mengen mit nur wenigen Elemente gebraucht wird, ist die Aufzählung. Man listet alle Elemente auf, und drückt die Tatsache, dass wir sie zu einer Menge zusammenfassen, durch geschweifte Klammern aus. Beispiel 2.2 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. Ebensowenig 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. Für Mengen mit vielen Elementen, insbesondere mit unendlich vielen Elementen, benutzt man die Prädiktenschreibweise. Diese ist, wie wir noch sehen werden, auch besser zum Beweisen zu gebrauchen als die aufzählende Schreibweise.2 1 die Tatsache, dass wir Mengen scheinbar nur durch deutsche Worte beschreiben können, sollte uns hier zurecht stutzig machen. Wie wir noch sehen werden, hat diese Art Mengen zu definieren, ein gemeines Problem. Zum Glück ist dieses Problem für (fast) alle praktischen Aspekte unwichtig. 2 Wir können übrigens jede aufzählende Schreibweise auch in Prädiktenschreibweise aufschreiben. Wie? 46 2 Mengen Beispiel 2.3 • N = {0, 1, 2, 3, ...} = {x | x ist eine natürliche Zahl}. • Die Menge G der geraden Zahlen ist beschreibbar als G = {x | x ist eine gerade Zahl} = {x ∈ Z | ∃k ∈ R : x = 2 · k}. Zum Beweisen ist es natürlich von Vorteil, das Prädikat (genauer, die Aussageform) innerhalb der Menge möglichst formal aufzuschreiben. Mit Hilfe der Prädiktenschreibweise können wir auch die elementare Beziehung zwischen Elementen und Mengen, die “ist-Element-von”-Beziehung exakt aufschreiben. Wir definieren Definition 2.1 (“ist-Element-von” - Beziehung) Sei M = {x | P (x)}. Dann v ∈ M := P (v). 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 wir ein Element v nicht genauer mit Hilfe des ∈ Operators einschränken, dann nehmen wir immer an, dass v ∈ U gilt. Eine weitere besondere Menge, die uns sehr häufig begegnet, 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 6∈ ∅. Definition 2.2 (leere Menge) ∅ := {x | ⊥} 2.2 Mengenvergleiche 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 (im semantischen Sinne) zurückliefert. Anders gesagt, ist ⊆ ein zweistelliges Prädikat! Definition 2.3 A ⊆ B := ∀x : x ∈ A → x ∈ B Oft begnet uns eine andere prädikatenlogische Charakterisierung dieser Beziehung. Deshalb wollen wir sie auch hier festhalten Satz 2.1 A ⊆ B ≡ ∀x ∈ A : x ∈ B 3 3 machen Sie sich klar, dass dies eine einfache prädikatenlogische Umformung der Aussagen ist. OffTopic: Wie müssten Sie die Aussage ∃x ∈ A : P (x) umformen, wenn Sie sie in die Form ∃x : x ∈ A . . . bringen wollen? 47 2 Mengen Zwei Mengen sind gleich, wenn die eine Teilmenge der anderen ist. Definition 2.4 A = B := A ⊆ B ∧ B ⊆ A. Bemerkung 2.1 Das Gleichheitszeichen in A = B ist natürlich ein anderes als das Gleichheitszeichen, das ebenso aussieht, wir aber schon bei anderer Gelegenheit in der Vorlesung verwendet haben, und gerne “Gott gegebene Gleichheit” genannt haben. Dies ist ein typischer Fall von Überladung von Symbolen: das selbe Symbol, zwei verschiedene Dinge, die es bezeichnet. Machen Sie sich hier bitte erneut klar, wie wichtig es ist, ein Symbol nicht mit dem Ding-an-sich, für das es steht zu verwechseln. Manchmal wollen wir sicherstellen, dass A ⊆ B, aber nicht A = B. Wir definieren Definition 2.5 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 aufpassen. In diesem Skript werden wir diese Schreibweise daher (absichtlich zumindest) nicht verwenden. Wir kommen nun zu zwei scheinbar sehr offensichtlichen Aussagen, die wir jedoch beweisen müssen, um an Sie glauben zu dürfen. Wie wir sehen, ist der Beweis ansich gar nicht so einfach, wie man denkt. Sich mit diesen scheinbar offensichtlichen Beweisen genau zu beschäftigen schärft ungemein den Blick dafür, wie man formal korrekt beweist. Wir werden die Beweise daher sehr genau durchgehen. Satz 2.2 • ∀M : M ⊆ M • ∀M : ∅ ⊆ M Wir nennen die ⊆-Beziehung zwischen Mengen auch Inklusionsbeziehung oder kurz Inklusion. Beweis 2.1 ( von Satz 2.2) Bemerkung 2.2 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)”. 48 2 Mengen Bemerkung 2.3 Die leere Menge ist jedoch tatsächlich ein wunderlich Ding. Ganz oft spielt sie 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 auch ∅ eine solche Menge! Überlegen wir uns nochmal genau, weshalb: Wenn eine Menge M ausschlißlich gerade Zahlen enthalten soll, dann muss jedes ihrer Elemente x gerade sein (gerade(x)). 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 equivalent ist zu ∀x : > ≡ >. Also erfüllt jedes beliebige Element der leeren Menge (die es ja gar nicht 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. 2.3 Kardinalität oder Mächtigkeit von Mengen Die Anzahl der unterschiedlichen Elemente einer Menge M bezeichnet man als deren Kardinalität oder Mächtigkeit. Wir schreiben |M |, um die Kardinalität einer Menge zu bezeichnen. Beispiel 2.4 1. |{1, 2, 3, a}| = 4. 2. |∅| = 0. 3. |{∅}| = 1 4. |{{{{∅}}}}| = 1 5. |{{{{∅}, ∅}}}| = 1 6. |{{{{∅}, ∅}}, ∅}| = 2 | · | ist nur definiert für Mengen mit endlich vielen Elementen. Eine Menge kann jedoch auch unendliche viele Elemente enthalten. Die Menge N aller natürlichen Zahlen z.B. 49 2 Mengen enthält unendlich viele Elemente. Den Begriff der Kardinalität für unendliche Mengen zu definieren ist nicht so einfach. So gilt z.B. N ( N ∪ {∅}, da ∅ ∈ / N. Jedoch ist die Kardinalität beider Mengen gleich! Eben so ist die Kardinalität von N, Z und Q gleich! Die Kardinalität von R ist jedoch echt größer als die dieser Mengen. Wir werden darauf nochmal genauer in Kapitel ?? eingehen. 2.4 Potenzmenge Zu einer Menge M bezeichnet P(M ) die Potenzmenge von M , also die Menge aller Teilmengen. Definition 2.6 P(M ) := {Y | Y ⊆ M } Beispiel 2.5 Für M = {1, 2, a} gilt P(M ) = {∅, {1}, {2}, {a}, {1, 2}, {1, a}, {2, a}, {1, 2, a} Satz 2.3 Sei M endlich. Dann ist |P(M )| = 2|M | . Den Beweis für diesen Satz werden wir in Kapitel ?? sehen. Durch diesem Zusammenhang der Kardinalität einer Menge und ihrer Potenzmenge kann man sich eine alternative Notation für P(M ) erklären, bei der wir die Potenzmenge von M als 2M schreiben. Satz 2.4 1. ∅ ∈ P(M ), M ∈ P(M ) 2. M ⊆ M 0 impliziert |P(M )| ≤ |P(M 0 )| 3. |P(M )| ≥ 1 Bemerkung 2.4 (Notation von Sätzen) Bevor wir diesen Satz nun gleich beweisen wollen, eine kurze Anmerkung zur Notation von Sätzen. Bisher haben wir alle Sätze als prädikatenlogischen Ausdruck geschrieben. Wir hätten hier also über M und M 0 mit einem ∀-Quantor quantifizieren 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 heisst dies, das nicht explizit quantifizierte Objekte stets impliziert ∀-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 Junktor 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 Junktoren, oder mit deutschen Worten aufgeschrieben ist. 50 2 Mengen Beweis 2.2 (von Satz 2.4) Die erste Behauptung folgt sehr leicht aus den Definitionen. Zur Übung wollen wir ihn dennoch aufschreiben. ∅ ∈ P(M ) ≡ ∅ ⊆ M ≡ >, nach der Definition von ∈ und P sowie Anwendung von Satz 2.2. Der Beweis für M ∈ P(M )) geht vollständig analog4 . Für die zweite Behauptung kann man keinen vollständig formalen Beweis angeben, da wir | · | selbst nicht komplett formal definiert haben, sondern nur als die Anzahl ihrer Elemente bezeichnen. Daher genügt es hier zu argumentieren, dass aus M ⊆ M 0 folgt, dass alle Elemente aus M auch in M 0 enthalten sein müssen, und daher mindestens so viele Elemente in M 0 sein müssen, wie auch in M 5 . Die letzte Behauptung können wir wie folgt beweisen. Für ∅ gilt nach Definition von P, dass ∅ ∈ P(∅). Somit ist |P(∅) ≥ 1. Sei nun M eine beliebige Menge6 . Nach Satz 2.2 gilt, dass ∅ ⊆ M . Nach der bereits bewiesenen zweiten Behauptung dieses Satzes muss also gelten, dass |P(M )| ≥ |P(∅)| ≥ 1. Mit Hilfe der ∀-Generalisierung ist damit die Aussage gezeigt. q.e.d 2.5 Produktmenge Eine Anordnung (a, b) zweier Elemente a ∈ A und b ∈ B nennen wir geordnetes Paar. Eine Anordnung von n Elementen aus eventuell verschiedenen Mengen, nennt man nTupel. Für n = 3 nennen wir das Tupel Tripel, für n = 4 Quadrupel. 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. A×B = {(a, b) | a ∈ A ∧ b ∈ B}. Wir schreiben auch A×A = A2 (bzw. A×A×· · ·×A = An ). Letzteres ist ein n-stelliges Produkt. A1 × A2 × · · · × An : {(a1 , a2 , a3 , . . . , an ) | a1 ∈ A1 ∧ a2 ∈ A2 ∧ . . . , an ∈ An } = {(a1 , a2 , . . . , an ) | ∀i ∈ {1, 2, . . . , n} : ai ∈ Ai } Zwei Tupel (a1 , . . . , an ) und (b1 , . . . , bn ) sind genau dann gleich, wenn n = m und sie an allen Stellen übereinstimmen. Zum Beispiel ist (1, 2, 3, 4) 6= (1, 2) und (1, 2, 3) 6= (3, 2, 1). Es ist aber die Menge {1, 2, 3} = {1, 3, 2}. Beispiel 2.6 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)} Satz 2.5 1. Es gilt: A × B 6= B × A für A 6= B. 2. ∅ × A = ∅ 4 Wir dürfen nur behaupten, ein Beweis ginge analog zu einem anderen Beweis, wenn die notwendigen Änderungen rein syntaktisch sind, und tatsächlich kein einziger neuer Gedanke oder Schritt für den Beweis notwendig ist 5 Man kann endliche Mengen auch induktiv definieren (wir werden das in Programmierung 1 tun). Dann ist es möglich, solche Aussagen komplett formal durchzubeweisen 6 Beachten Sie, dass wir an dieser Stelle implizit eine ∀-Generalisierung im Beweis anwenden. 51 2 Mengen 3. |A × B| = |A| · |B| 4. |A1 × A2 × ... × An | = |A1 | · |A2 |... · |An | Beweis 2.3 Übung! q.e.d 2.6 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 ∈ A | x6∈B} (Wir schreiben auch A − B) Symmetrische Differenz: A ⊕ B := {x ∈ U | (x ∈ A ∧ x6∈B) ∨ (x ∈ B ∧ x6∈A)} = {x ∈ U | x ∈ A ⊕ x ∈ B} Komplement: A := {x ∈ U | x ∈ / A} Definition 2.7 Zwei Mengen A und B heißen disjunkt, wenn sie elementfremd sind, also A ∩ B = ∅. Beispiel 2.7 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, π} und B ∪ C = {b, c, e, f, π} = U . A und C sind disjunkt. Satz 2.6 Für eine Grundmenge U und A, B, C ∈ P (U ) gelten folgende Gesetze a: Kommutativität • A∪B =B∪A • A∩B =B∩A b: Assoziativität • (A ∪ B) ∪ C = A ∪ (B ∪ C) = A ∪ B ∪ C • (A ∩ B) ∩ C = A ∩ (B ∩ C) = A ∩ B ∩ C c: Identität 52 2 Mengen B B A A B A Abbildung 2.1: A ∩ B, A \ B und A ∪ B • A∪∅=A • A∩U =A d: Dominanz • A∩∅=∅ • A∪U =U e: Idempotenz • A∪A=A • A∩A=A f: Komplement • A=A • A∪A=U g: Distributivität 53 2 Mengen • A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) • A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) h: Absorption • A ∪ (A ∩ B) = A • A ∩ (A ∪ B) = A i: Gesetze von de Morgan • A ∩ C = (A ∪ B) • A ∪ B = (A ∩ B) Die Gesetze gleichen den Gesetzen über die logische Äquivalenz im Prädikatenkalkül. Beide Strukturen sind sogenannte „Boolesche Algebren“. Beweis 2.4 Sei x ∈ A ∪ B ↔ x ∈ A ∨ x ∈ B ↔ x ∈ B ∨ x ∈ A ↔ x ∈ B ∪ A q.e.d Beweis 2.5 Es ist (A ∪ B) = ({x ∈ U | x ∈ Ao rx ∈ B}) = {x ∈ U | ¬(x ∈ A ∨ x ∈ B)} = {x ∈ U | ¬(x ∈ A)¬(x ∈ B)} = {x ∈ U | x6∈Ax6∈B} = {x ∈ U | x6∈A} ∩ {x ∈ U | x6∈B} = A∩B q.e.d Beweis 2.6 Wir zeigen (A ∩ B) = A ∪ B mittels ⊆. Sei x ∈ (A ∩ B), so ist also x6∈A ∩ B. Dann ist x6∈A oder x6∈B. Damit ist x ∈ A oder x ∈ B, also ist x ∈ A ∪ B. x ∈ A ∪ B, xo ist also x ∈ A oder x ∈ B, d.h. es ist x6∈A oder x6∈B. Damit ist insbesondere x6∈A ∩ B, d.h. es ist x ∈ (A ∩ B). q.e.d Kleine Anwendung der Gesetze: Es gilt (A ∪ (B ∩ C)) = (C ∪ B) ∩ A Beweis 2.7 (A ∪ (B ∩ C)) = A ∩ (B ∩ C) = A ∩ (B ∪ C) = (C ∪ B) ∩ A. q.e.d 2.7 Probleme der Mengenlehre Die Mengenlehre, so wir wie sie bisher kennengelernt haben, nennt man auch naïve 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. 54 2 Mengen • Sei X die Menge aller Mengen, die sich selbst nicht enthalten. • Sei Y die Menge aller Mengen. 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 widerum 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 letzen Endes immer an leeren Mengen ankommen, die nichts mehr enthalten. Das heisst, es kann immer nur endliche Ketten der Form X1 3 X2 · · · 3 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 3 Y 3 Y 3 · · · . 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 Mengenlehre7 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. Die daraufhin entstandene axiomatische Mengenlehre basiert auf einer Anzahl von Axiomen, die sehr exakt festlegen, was Mengen sind, und welche Eigenschaften diese haben. Genaugenommen gibt es nicht nur eine solche Mengenlehre, sondern eine Vielzahl verschiedener Mengenlehre. Diejenige, die der intuitiven, also der naïven Mengenlehre am nächsten kommt, ohne ihre Widersprüchlichkeit zu enthalten, ist die Zermelo-FraenkelMengenlehre, benannt nach ihren beiden Entdeckern. Ihr Hautpmerkmal ist es, dass Mengen nur aus Mengen aufgebaut sind, es also keine Urobjekte, soetwas 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 lange Kette der Form X1 3 X2 · · · hervorbringen würden. Man nennt das Axiom, dass diese Ketten ausschließt Fundierungsaxiom. 7 Eben diese, die wir hier eingeführt haben. 55 2 Mengen Somit ist Y , wie wir es oben naïv definiert haben, keine Menge. Insbesondere bedeutet dies für uns auch, dass die naïve 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 2.5 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 naïven Bauen von Mengen aufpassen muss, dass dabei wirklich noch eine Menge herauskommt. Bemerkung 2.6 Es gibt heute auch mehrere axiomatische Mengenlehren, die das Fundiertheitsaxiom nicht besitzen. Es darf dort also auch Mengen geben, bei der wir unendlich viele MatroschkaPuppen ineinander gestapelt finden können. Damit es hierbei zu keinen Parádoxien kommt, müssen natürlich weitere Axiome zur Theorie von Zermelo-Fraenkel hinzugefügt werden, und bestehende variiert werden8 . 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 wiedereinmal 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. 8 Einige dieser Mengenlehren haben einen starken Bezug zur Theorie der Bisimulationen, die Sie im vierten Semester in der Vorlesung Nebenläufige Programmierung kennenlernen werden. 56 3 Relationen Relationen sind mathematische Objekte, die ausdrücken, dass zwei Elemente zweier (verschiedener) Mengen mit einander in einer bestimmten Beziehung stehen. Eine jedem bekannte Beziehungen 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 gleich sind, unter dem Gesichtspunkt ihrer semantischen Bedeutung. Syntaktisch sind sie jedoch höchst verschieden. Es gibt unendlich viele Relationen. Zwei der am häufigsten vorkommenden Typen von Relationen sind Ordnungsrelationen, so wie ≤, und Äquivalenzrelationen, so wie ≡. Im Folgenden werden wir nun formal definieren, was Relationen mathematisch genau sind, und welche besonderen Eigenschaften sie haben können. Definition 3.1 (Relationen) Seien A und B beliebige Mengen. Eine Teilmenge R ⊆ A × B heißt eine binäre Relation von A und B. Wir schreiben für (a, b) ∈ R auch a R b1 . Wir nennen A Quellmenge und B Zielmenge der Relation R. Wenn A = B gilt, dann sagen wir auch, A ist die Grundmenge der Relation. Beispiel 3.1 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. Beispiel 3.2 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 6R 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 1 Man nennt diese Art der Darstellung auch Infix-Notation. 57 3 Relationen eine Relation auf der Menge der natürlichen Zahlen ist. Wir unterscheiden jedoch zwischen der Quellmenge und der Teilmenge der Quellmenge, die tatsächlich in der Relation verwendet wird. Ebenso unterscheiden wir zwischen der Zielmenge und ihren tatsächlich in der Relation verwendeten Elementen. Definition 3.2 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}. Beispiel 3.3 1. Die bekannte strike 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 auch WR = N, da jede Zahl aus N mindesten einmal links in einem Paar aus < vorkommt, und ebenso jede Zahl mindestens einmal rechts in einem Paar vorkommt. 2. In der Relation S = {(1, 2), (2, 3), (2, 1)} auf den natürlichen Zahlen haben wir DS = {1, 2} und Ws = {1, 2, 3}. Beispiel 3.4 (Besondere Relationen) 1. Leere Relation: ∅ ⊆ A × B. Sie enthält kein einziges Paar aus der Quell- bzw. Zielmenge. Es gilt damit W∅ = D∅ = ∅. 2. Universelle Relation: (A×B) ⊆ A×B. Diese Relation enthält alle Paare aus A×B. Offensichtlich gilt DA×B = A und WA×B = B. 3. 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 . 3.1 Eigenschaften von binären Relationen R Definition 3.3 Sei R ⊆ A × B. R heisst • links-total, wenn ∀a ∈ A : ∃b ∈ B : (a, b) ∈ R gilt. Mit anderen Worten DR = A. • rechts-total, 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. 58 3 Relationen • 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. Beispiel 3.5 • ∅ ist weder links-total noch rechts-total. • ≤ und < sind sowohl links-total als auch rechts-total auf R × R. • {(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 links- noch rechts-total wenn Quellund Zielmenge N sind. Wenn wir eine Relation R graphisch veranschaulichen, dann können wir die Elemente von A untereinander auf eine Seite schreiben, und die aus B auf die andere, und dann die Verbindung, die durch R gegeben ist durch einen Pfeil darstellen. 1 1 1 1 2 2 2 2 (a) nicht-injektiv, nicht rechts-total (b) nichtfunktional, nicht links-total Abbildung 3.1: Gegenbeispiele für Eigenschaften bei Relationen aus {1, 2} × {1, 2} Bemerkung 3.1 Funktionen, die ihnen unter anderem aus der Schule bekannt sind, sind mathematisch nichts anderes als spezielle Relationen. Es sind Relationen, die funktional und linkstotal sind sind. Funktionen, die nicht links-total sind, nennt man partielle Funkionen. Die Eigenschaften Surjektivität und Injektivität sind typische Eigenschaften von Funktionen, und werden auch meistens in diesem Kontext gebraucht. Wir werden am Ende des Kapitels nochmals auf Funktionen und einige Besonderheiten bei ihrer Notation zurückkommen. Viele interessante Relationen, vielleicht die meisten Relation, die nicht funktional sind, und denen wir in der Mathematik begegnen werden, haben die selbe Quell- und Zielmenge. Wir definieren nun die besonderen Eigenschaften solcher Relationen. Definition 3.4 Sei R ⊆ A × A. R heisst • 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ätsrelation2 . 2 Machen Sie sich klar, dass jede echte Teilmenge von IdA nicht reflexiv ist! 59 3 Relationen • 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! • symmetrisch, wenn ∀ab ∈ A : (a, b) ∈ R → (b, a) ∈ R. • antisymmetrisch, wenn ∀a, b, c ∈ A : (a, b) ∈ R ∧ (b, a) ∈ R → a = b. • transitiv, wenn ∀a, b, c ∈ A : (a, b) ∈ R ∧ (b, c) ∈ R → (a, c) ∈ R. Graphisch stellen wir Relationen über A × A dar als eine Menge von Punkten, die mit Pfeilen verbunden sind, ganz ähnlich wie zuvor bei allgemeinen Relationen über A×B. Da diesesmal jedoch A = B gilt, ist es nicht mehr sinnvoll, die Elemente aus der Quellmenge links, und die Elemente aus der Zielmenge rechts zu schreiben. Stattdessen ordnen wir die Elemente aus A beliebig so an, wie es uns hilft, die Zusammenhänge der Relation besser zu verstehen. (a) transitiv (b) Reflexiv (c) symmetrisch, aber nicht transitiv (d) symmetrisch und transitiv Abbildung 3.2: Eigenschaften für Relationen über einer Grundmenge A. Definition 3.5 (Äquivalenzrelationen) Eine Relation R auf A heißt Äquivalenzrelation, wenn sie reflexiv, transitiv und symmetrisch ist. 60